Автономный ИИ-агент собрал полноценный стек 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 и развертывание сервисов.
В конвейер было загружено тридцать статей, что позволило сразу протестировать сквозной процесс поиска и генерации. Обычно разработчику потребовался бы целый день на настройку каждого компонента; скорость работы поражает.
Ошибки, которые едва не все испортили
Уверенность агента была подвергнута испытанию пятью различными сбоями, которые обычно останавливают развертывание, выполняемое человеком:
- Ошибки учетных данных OpenSearch — агент указал неверный секретный ключ, из-за чего кластер отклонял подключения.
- Опечатка в регулярном выражении в URL — один неверный символ превратил рабочий эндпоинт в нерабочую ссылку, что нарушило работу загрузчика данных.
- Несоответствие имен моделей — коннектор ожидал другой идентификатор модели Ollama, что привело к ошибкам «model not found».
- Лимиты памяти JVM — массовая индексация исчерпала кучу Java (Java heap), что вызвало сбои из-за нехватки памяти (out-of-memory).
- Случайное удаление фрагментов модели — скрипт очистки ошибочно принял важные файлы за дубликаты и удалил их, поставив под угрозу весь конвейер.
Когда агент застрял, вмешалась «loop-police»
Вспомогательный «сторожевой пес» (watchdog) под названием loop-police следит за состоянием цикла. Когда во время бага с удалением файлов агент вошел в бесконечный цикл, loop-police обнаружила застой, прервала текущую ветку и принудительно вернула процесс к этапу согласования (Agreement). Затем агент признал ошибку, очистил поврежденное состояние и пересобрал конвейер с нуля. Цикл самовосстановления завершился без вмешательства человека, помимо первоначального утверждения плана.
Что это значит для разработчиков
- Скорость без потери контроля. Цикл позволяет инженерам задавать намерения, а затем передавать выполнение автономной системе, которая все равно следует утвержденному человеком плану.
- Встроенные механизмы защиты. Автоматизированный линтинг, тестирование и «сторожевой пес», способный прервать бесконечный цикл, снижают риск скрытых сбоев.
- Снижение порога входа. Команды, не обладающие глубокими знаниями в Helm, Kubernetes или векторном поиске, могут развернуть рабочий стек, просто описав свои потребности обычным языком.
Этот подход не является «серебряной пулей». Этап согласования (Agreement) по-прежнему требует опытного рецензента, способного заметить нереалистичные ожидания или проблемы с безопасностью. Цикл не заменяет экспертные знания в предметной области; он лишь превращает рутинную работу по настройке инфраструктуры в повторяющийся паттерн.
