🤖 ИИ-агенты в Java: без бесконечных циклов и самописных state machine
Собрать агента для демо — задача на вечер. Выпустить его в прод — уже квест. LLM может зациклиться, дважды дёрнуть опасный тул, забыть состояние после рестарта или запросить аппрув, когда ожидаешь уже готовый результат.
Quarkus предложили оформлять такие процессы как явные workflow. В связке работают:
— Quarkus Flow — управляет переходами, повторами, ветвлениями и лимитами итераций;
— LangChain4j — описывает самих агентов;
— MCP — подключает поиск, базы данных и внешние API;
— AGENTS.md — хранит роли, формат ответа и правила поведения.
В демо Writer Agent ищет фактуру через Brave Search MCP, а Critic Agent ревьюит текст. Не прошёл проверку? Ещё один прогон. Но не до бесконечности — максимум три. Workflow собирается через @LoopAgent и @ExitCondition, а следить за процессом можно в Dev UI и OpenTelemetry.
💡Для Java-команд идея здравая: агенты остаются в привычном стеке, а вместо чёрного ящика появляются явные переходы, лимиты и точки контроля.
Правда, интеграция Quarkus Flow с LangChain4j пока в Preview. И один только AGENTS.md не заменит права на тулы, изоляцию и аудит. В проде агенту мало быть умным — ему нужны наблюдаемость и чёткие границы.
Разбор и пример кода на DZone
Post #703
620

- 🔥 2
- ❤ 1