Автономный ИИ-агент собрал полноценный стек Retrieval-Augmented Generation (RAG) примерно за двадцать минут и открыл черновик pull request, не написав ни единой строки кода вручную.

Почему важен «цикл» (loop)

Создание RAG-стека обычно подразумевает объединение поискового движка, модели эмбеддингов, языковой модели и связующего кода (glue code). Разработчики тратят часы на настройку Helm-чартов, исправление ошибок аутентификации и поиск несовпадающих имен моделей. В этом тесте автономный агент следовал пятиэтапному циклу, который требует согласования между человеком и агентом перед написанием любого кода.

Этап Что происходит
Предложение Агент читает промпт и составляет конкретный план, но пока не генерирует код.
Согласование Пользователь проверяет план, утверждает его или запрашивает изменения.
Реализация Агент реализует функционал в новой ветке.
Проверка черновика Агент запускает собственный линтинг и набор тестов, исправляя обнаруженные ошибки.
Черновик PR Код отправляется в репозиторий, и открывается pull request для финальной проверки человеком.

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

Сформированный стек

За двадцать минут агент собрал готовый к эксплуатации (production-ready) RAG-конвейер:

  • OpenSearch 3.7, настроенный для гибридного поиска (векторный + ключевые слова).
  • Локальная LLM через Ollama, выступающая в роли генеративного движка для ответов с использованием RAG.
  • Сервер FastMCP, предоставляющий языковой модели четыре пользовательских инструмента.
  • Скрипты Skaffold и Helm, автоматизирующие сборку контейнеров, создание манифестов Kubernetes и развертывание сервисов.

В конвейер было загружено тридцать статей, что позволило сразу протестировать сквозной процесс поиска и генерации. Обычно разработчику потребовался бы целый день на настройку каждого компонента; скорость работы поражает.

Ошибки, которые едва не все испортили

Уверенность агента была подвергнута испытанию пятью различными сбоями, которые обычно останавливают развертывание, выполняемое человеком:

  1. Ошибки учетных данных OpenSearch — агент указал неверный секретный ключ, из-за чего кластер отклонял подключения.
  2. Опечатка в регулярном выражении в URL — один неверный символ превратил рабочий эндпоинт в нерабочую ссылку, что нарушило работу загрузчика данных.
  3. Несоответствие имен моделей — коннектор ожидал другой идентификатор модели Ollama, что привело к ошибкам «model not found».
  4. Лимиты памяти JVM — массовая индексация исчерпала кучу Java (Java heap), что вызвало сбои из-за нехватки памяти (out-of-memory).
  5. Случайное удаление фрагментов модели — скрипт очистки ошибочно принял важные файлы за дубликаты и удалил их, поставив под угрозу весь конвейер.

Когда агент застрял, вмешалась «loop-police»

Вспомогательный «сторожевой пес» (watchdog) под названием loop-police следит за состоянием цикла. Когда во время бага с удалением файлов агент вошел в бесконечный цикл, loop-police обнаружила застой, прервала текущую ветку и принудительно вернула процесс к этапу согласования (Agreement). Затем агент признал ошибку, очистил поврежденное состояние и пересобрал конвейер с нуля. Цикл самовосстановления завершился без вмешательства человека, помимо первоначального утверждения плана.

Что это значит для разработчиков

  • Скорость без потери контроля. Цикл позволяет инженерам задавать намерения, а затем передавать выполнение автономной системе, которая все равно следует утвержденному человеком плану.
  • Встроенные механизмы защиты. Автоматизированный линтинг, тестирование и «сторожевой пес», способный прервать бесконечный цикл, снижают риск скрытых сбоев.
  • Снижение порога входа. Команды, не обладающие глубокими знаниями в Helm, Kubernetes или векторном поиске, могут развернуть рабочий стек, просто описав свои потребности обычным языком.

Этот подход не является «серебряной пулей». Этап согласования (Agreement) по-прежнему требует опытного рецензента, способного заметить нереалистичные ожидания или проблемы с безопасностью. Цикл не заменяет экспертные знания в предметной области; он лишь превращает рутинную работу по настройке инфраструктуры в повторяющийся паттерн.