Pull to refresh
8K+
3
Дмитрий Ващенко@Dvasch

Тренер Jmix

13,5
Rating
5
Subscribers
Send message

«Я запаниковал и удалил прод»: как ИИ-агенты троллят разработчиков за их же токены

Level of difficultyEasy
Reading time8 min
Reach and readers3K

Слышал про агентов, которые удалили базу? Думаешь, это где-то далеко и у тебя так не будет? Под спойлером весёлые истории про агентную разработку, от платины до повседневной жизни. Залетай, есть мемы с котятами и бесплатные конфеты.

Читать далее

Агент написал Джеймикс, тоже плохой

Reading time12 min
Reach and readers6.1K

Часть 2 из 2. В первой части был холивар про самодельные фреймворки. Здесь — цифры: мы дали ИИ‑агенту построить одно и то же приложение на Джеймиксе и на голом Spring и честно сравнили результаты.

Читать далее

Ты уже написал свой Джеймикс, только плохой

Level of difficultyEasy
Reading time11 min
Reach and readers6.1K

Открой свой Spring-проект, которому больше двух лет. Найди пакет commoncore или framework — а он там есть, я почти уверен. Загляни внутрь.

Ты увидишь BaseEntity с idcreatedDate и version. Увидишь AbstractCrudController<T, ID>, от которого наследуются все твои контроллеры. Увидишь самодельный слой прав — что-нибудь вроде @CheckPermission поверх PermissionEvaluator. Увидишь свой SoftDeleteRepository и аудит-слушатель на JPA-события.

Поздравляю: ты написал фреймворк. Свой, внутренний, недокументированный (себя-то не обманывай), поддерживаемый одним человеком (который уже собеседуется в другую компанию). И построил ты его ровно для того, чтобы не брать «тяжёлый и навязчивый» opinionated-фреймворк — ты сделал это «ради контроля».

Давай честно поговорим про этот контроль.

Читать далее

AI‑агент для склада в Джеймикс. Часть 2: write‑tools, безопасность, метаданные

Level of difficultyMedium
Reading time40 min
Reach and readers7.3K

write‑tools, безопасность, метаданные

Это вторая часть статьи по Sping AI в Джеймикс. Короткая аннотация первой — на случай, если прошло время или вы её не читали: мы собрали read‑only агент внутри Джеймикс‑приложения. Пользователь задаёт вопрос на естественном языке; ChatClient из Spring AI крутит agent loop — дёргает @Tool‑методы, пока не наберёт достаточно данных для ответа. Каждый tool данные читает через DataManager с явным fetch plan‑ом, поэтому почти полностью остаётся внутри рамок системы безопасности Джеймикс и возвращает только нужные модели поля. UI — обычный Джеймикс‑вью, без REST‑прослойки. Также, в первой части мы убедились, что выбор модели — не деталь: модель без надёжного native tool calling ломает всю схему. Если первую часть не читали — начните с неё, код ниже строится как продолжение.

В этой части мы дадим агенту право менять данные. И вот здесь, в отличие от первой половины, начинают всплывать вопросы, которые ни Spring AI, ни большинство туториалов по агентам обычно не поднимают: под каким пользователем выполняется tool, что делать с транзакциями, как аудировать действия, инициированные моделью, и как заставить агента работать с вашей доменной моделью без ручного перечисления сущностей в промпте.

Это не косметические изменения, а ровно те решения, что отделяют демо от приложения, которое можно показывать заказчику.

Полный исходник всего, что мы здесь обсуждаем, лежит здесь: https://github.com/jmix‑edu/ai‑warehouse — можно клонировать и сразу запустить.

Что добавляем

Читать далее

AI-агент для склада в Джеймикс. Часть 1

Level of difficultyMedium
Reading time32 min
Reach and readers8.5K

Это первая из двух статей про построение AI-агента внутри Джеймикс-приложения. Джеймикс (или Jmix, ex. CUBA) - высокоуровневый фреймворк для разработки корпоративных приложений на Java, автор не будет слишком сильно в него погружаться, в наше время любой запрос к AI даст Вам всю нужную информацию. В этой части мы соберем минимальный, но рабочий пример: пользователь задает вопрос на естественном языке, агент решает, какие операции вызвать на бэкенде, дергает их и возвращает осмысленный ответ. В качестве предметной области возьмем склад - сценарий, узнаваемый для большинства бизнес-приложений и достаточно широкий, чтобы во второй части обсудить уже не только чтение, но и запись данных, безопасность, fetch plans и метаданные.

Зачем это вообще нужно? Данные корпоративного приложения живут за списками и формами с фильтрами. Это отлично работает, когда пользователь знает, по каким полям фильтровать - и плохо для размытых, многокритериальных вопросов вроде "где у нас заканчивается кофе тёмной обжарки по северным складам?". Когда иначе пришлось бы открыть несколько экранов и руками свести результаты, AI-агент даёт возможность просто спросить - и собирает ответ из бэкенд-операций, которые у вас уже есть.

Почему строить это внутри Джеймикс-приложения, а не отдельным сервисом? В случае Джеймикса агент едет на том же доступе к данным и той же безопасности, что уже есть во фреймворке, его tools идут через DataManager, поэтому он видит ровно то, что разрешено текущему пользователю - никакого параллельного пути к данным, никакого обхода прав. Именно это свойство делает агента приемлемым в enterprise-контексте, и это поведение - сквозная нить обеих частей.

Читать далее

Знакомьтесь с Jmix AI Assistant: Инновация, которую стоит попробовать

Level of difficultyEasy
Reading time4 min
Reach and readers4K

Ситуация на меме на самом деле не страшная, но имеет место быть. Большие языковые модели набирают популярность, и компании все чаще смотрят в сторону их использования. Haulmont не стал исключением. 

В этой статье я хочу рассказать вам о нашем новом продукте – Jmix AI Assistant. Пока не понятно, кто увидит эту статью, и будет ли у этих замечательных людей базовое представление о фреймворке Jmix, так что с вашего позволения начну с его краткого описания. 

Читать далее

Information

Rating
629-th
Location
Санкт-Петербург и область, Россия
Date of birth
Registered
Activity