Разработка ИИ-агентов — это инженерия, а не промпты
Меня часто спрашивают, почему разработка с ИИ-агентами стоит дороже, чем «просто написать промпт». Отвечаю прямо: работа с агентами — это не печатанье красивых фраз и не игра со словами, а полная инженерия действий. За более чем 10 лет в разработке я понял простое правило — модель отвечает текстом, а агент выполняет задачу, и всё, что стоит между запросом и результатом, приходится проектировать руками. В этой статье я разберу, из чего реально складывается инженерия ИИ-агентов и почему промпт — это лишь верхушка айсберга.
Почему промпт — это только 10% работы
Промпт задаёт агенту роль и намерение, но не гарантирует результат. Как только агенту нужно обратиться к базе данных, вызвать внешний сервис или принять решение на основе актуальных данных, начинается настоящая инженерия. Именно здесь модель перестаёт быть «умным собеседником» и становится частью системы, за поведение которой отвечает разработчик.
Я оцениваю так: удачная формулировка задачи — это первые 10% результата. Ещё около 40% — это архитектура: пайплайны, суб-агенты, работа с данными и фреймворки оркестрации. И оставшиеся 50% — то, о чём редко говорят: тестирование, наблюдаемость, контроль действий и стоимость эксплуатации. Без этих слоёв агент работает как «магия, которая иногда срабатывает», а бизнесу нужна предсказуемость.
Важно. Хороший промпт не спасёт плохую архитектуру. Но грамотная инженерия способна вытянуть даже средний промпт, потому что вокруг модели выстроены проверки и данные.
Что такое инженерия действий
Инженерия действий — это проектирование того, как агент переходит от намерения к конкретному результату в реальных системах. Языковая модель предлагает шаг, а инженер отвечает на вопросы: какие инструменты доступны, в каком порядке они вызываются, что происходит при ошибке и как проверяется результат перед следующим действием.
По сути я строю управляемую автономность. Агент сам выбирает шаги, но в рамках заранее спроектированных границ: разрешённые операции, лимиты, обязательные проверки. Это принципиально отличает инженерный подход от «дал промпт и надеюсь». Как разработчик я отвечаю не за красивый ответ, а за то, что заявка действительно создана, статус обновлён, а данные записаны корректно.
Как я проектирую пайплайны агентов
Пайплайн — это маршрут, по которому запрос проходит путь до результата. Я не позволяю агенту делать всё в одном шаге, потому что это трудно отлаживать и невозможно контролировать. Вместо этого разбиваю задачу на этапы с понятными входами и выходами.
Типовой пайплайн, который я собираю, включает несколько стадий:
- Приём и нормализация запроса — привожу входные данные к единому формату.
- Планирование — модель выбирает шаги в рамках разрешённых инструментов.
- Поиск контекста — подтягиваю нужные данные через RAG или запросы к системам.
- Действие — вызов API, запись в CRM, формирование документа.
- Проверка результата — валидация перед тем, как отдать ответ или перейти дальше.
Каждый этап логируется, поэтому при сбое я вижу, где именно агент ошибся, и чиню конкретное звено, а не переписываю весь промпт наугад.
Суб-агенты: разделение ответственности
Когда задача слишком большая для одного агента, я использую суб-агентов. Это отдельные специализированные исполнители, каждый из которых отвечает за свою узкую зону: один ищет информацию, другой формирует черновик, третий проверяет результат на соответствие правилам.
Такой подход я взял из обычной инженерии: разделение ответственности упрощает поддержку и делает поведение системы предсказуемым. Главный агент-оркестратор ставит подзадачи, собирает результаты суб-агентов и принимает финальное решение. Это дороже в проектировании, зато система масштабируется без превращения промпта в нечитаемую «портянку» инструкций.
Совет. Не пытайтесь уместить всю логику в одного «супер-агента». Разбейте задачу на роли — так проще тестировать каждый компонент отдельно и находить причину ошибки.
Работа с базой данных и памятью
Агент без данных бесполезен. Поэтому значительная часть моей работы — это инженерия данных: как агент получает контекст, где хранит промежуточные результаты и как не выдумывает факты.
Я разделяю два уровня. Первый — оперативная память диалога и шагов, чтобы агент помнил, что уже сделал. Второй — доступ к знаниям компании через базы данных и векторный поиск. Чтобы агент отвечал фактами, а не общими знаниями модели, я подключаю RAG — поиск по вашим документам с последующей передачей найденного в контекст. Здесь важны корректные запросы к базе, индексация и обновление данных, иначе агент начнёт опираться на устаревшую информацию.
Фреймворки и оркестрация
Фреймворки для агентов берут на себя рутину: вызов инструментов, управление памятью, повторные попытки при ошибках и оркестрацию шагов. Я выбираю инструмент под задачу, а не наоборот, потому что каждый фреймворк накладывает свои ограничения на архитектуру.
Ключевые технологии, на которые я опираюсь в разработке:
- Языковые модели — GPT, Claude и понимание их сильных сторон под конкретную задачу.
- Фреймворки оркестрации — управление шагами, инструментами и состоянием агента.
- Векторные базы и RAG — работа с корпоративными знаниями.
- Программирование — чаще всего Python, интеграции по API и обработка данных.
Фреймворк ускоряет сборку, но не отменяет инженерию: за архитектуру, границы и проверки по-прежнему отвечает разработчик.
Слой контроля и безопасность действий
Отдельно проектирую слой контроля — набор правил и проверок, который определяет, что агенту разрешено делать. Именно он превращает автономного агента в безопасный инструмент.
Я задаю список разрешённых операций, лимиты на действия и обязательную валидацию перед необратимыми шагами. Например, агент может подготовить черновик документа сам, но отправку подтверждает по правилам. Такой подход снимает главный страх бизнеса — что нейросеть «сделает что-то не то». Поведение агента остаётся управляемым, потому что все критичные действия проходят через проверки.
Оставшиеся 50%: то, о чём молчат
Даже когда пайплайн собран, а суб-агенты работают, остаётся половина инженерии, которую не видно снаружи. Именно она отличает демо от продакшена.
| Направление | Что делаю | Зачем |
|---|---|---|
| Тестирование | Проверяю агента на реальных сценариях и краевых случаях | Чтобы поведение было стабильным, а не «иногда работает» |
| Наблюдаемость | Логирую шаги, вызовы инструментов и решения | Чтобы быстро находить причину сбоя |
| Стоимость | Контролирую число вызовов модели и объём контекста | Чтобы эксплуатация не съедала выгоду |
| Отказоустойчивость | Обрабатываю ошибки инструментов и повторные попытки | Чтобы один сбой не ломал весь процесс |
Эти задачи не про «поиграть со словами» — это классическая инженерия, перенесённая в мир агентов. Без неё система красиво выглядит на демо и разваливается на реальной нагрузке.
Часто задаваемые вопросы (FAQ)
| Вопрос | Ответ |
|---|---|
| Разве нельзя обойтись одним промптом? | Для простого ответа — да. Но как только нужны действия с данными и системами, начинается инженерия: пайплайны, проверки и интеграции. |
| Что важнее — модель или архитектура? | Архитектура. Сильная модель не спасёт систему без пайплайнов, контроля и работы с данными. |
| Зачем нужны суб-агенты? | Они делят большую задачу на роли, что упрощает тестирование и делает поведение предсказуемым. |
| Как агент работает с моими данными? | Через базы данных и RAG я подключаю ваши документы, чтобы агент опирался на факты, а не на общие знания модели. |
| С чего начать разработку агента? | С одной задачи и MVP: так проще проверить логику на реальном процессе до масштабирования. |
Заключение
Разработка с ИИ-агентами — это полноценная инженерия действий, а не печатанье промптов. Промпт задаёт намерение, но результат обеспечивают пайплайны, суб-агенты, работа с базой данных, фреймворки и слой контроля. Оставшиеся 50% — тестирование, наблюдаемость и стоимость — как раз и делают агента пригодным для реальной работы.
Если вы хотите не «поиграть с промптами», а получить управляемого агента под свою задачу, я помогу пройти путь от постановки цели до запуска. Начать можно с разработки AI-агентов или сразу с кастомных ИИ-агентов для бизнеса.
- Telegram: https://t.me/w1do_digital
- Email: uniqdeveloper@yandex.ru