Создание ИИ-агента: от промпта до продакшена
Как устроен путь от идеи до работающего агента: постановка задачи, выбор инструментов, цикл выполнения, тестирование до запуска и то, что нужно сделать перед выводом в прод.
Все статьи гида ИИ-агенты · 11
Создание агента редко упирается в модель. Оно упирается в постановку, инструменты и то, как система ведёт себя, когда что-то пошло не так.
Шаг 1. Постановка задачи
До кода нужно ответить на три вопроса.
Что считается выполненной задачей? Ответ должен быть проверяемым. «Обработал обращение» - не критерий. «Создан тикет с заполненными полями категории и приоритета» - критерий, его можно проверить программой.
Что агент не должен делать ни при каких условиях? Этот список превращается не в текст промпта, а в отсутствующие инструменты и в ограниченные права. Написанное в промпте ограничение соблюдается обычно, а не всегда.
Что происходит при неудаче? Остановиться и позвать человека, повторить, откатить. Отсутствие ответа на этот вопрос - самая частая причина того, что агент в проде ведёт себя странно.
И перед всем этим полезно спросить: а нужен ли здесь агент вообще. Если процесс известен целиком, дешевле и надёжнее сделать воркфлоу. Разбор критерия - в пилларе гида.
Шаг 2. Выбор инструментов
Инструменты определяют потолок агента. Он не сделает того, для чего у него нет инструмента, и сделает всё, для чего есть.
Принципы, которые окупаются:
- Инструмент делает одну вещь. «Работа с заказом» с пятью режимами внутри - плохой инструмент: агент будет путать режимы.
- Описание пишется для того, кто не видел вашей системы. Оно должно отвечать, когда инструмент применяется и когда не применяется. Это буквально то, по чему модель делает выбор.
- Опасное - отдельно. Чтение и запись разделены. Удаление либо отсутствует, либо требует подтверждения человеком.
- Ошибка возвращается текстом, а не исключением. Агент должен прочитать, что пошло не так, и попробовать иначе. Молчаливый провал он трактует как успех.
- Права минимальны. Отдельный пользователь базы, только нужные таблицы. Это единственное ограничение, которое действительно работает.
Шаг 3. Цикл
Цикл простой: модель выбирает инструмент, система его выполняет, результат возвращается модели, повторить. Практическая работа - в его границах.
Лимит шагов. Обязателен. Без него зациклившийся агент жжёт деньги, пока кто-нибудь не заметит.
Условие остановки. Явное: агент вызвал инструмент завершения либо сработал проверяемый критерий. «Модель написала, что закончила» - слабое условие, потому что она напишет это и в середине.
Обработка ошибок. Отличайте временную ошибку сети от логической. Первую повторяют с задержкой, вторую повторять бессмысленно: те же входные данные дадут тот же результат.
Идемпотентность. Каждое действие с внешним эффектом должно быть безопасно при повторе - см. идемпотентные пайплайны.
Логи по шагам. Что было в контексте, какой инструмент выбран, что вернулось. Без этого разбор инцидента невозможен: вы видите результат, но не видите, почему он такой.
Шаг 4. Тестирование до запуска
Агент недетерминирован, поэтому обычное «прогнали один раз, работает» здесь ничего не значит.
- Один и тот же вход несколько раз. Разброс поведения виден только так.
- Реальные данные, а не придуманные. Настоящие обращения содержат опечатки, обрывы и пустые поля, на которых демо разваливается.
- Сбои инструментов. Проверьте, что агент делает, когда API отвечает ошибкой или таймаутом. Обычно выясняется, что он сообщает об успехе.
- Граничные случаи. Пустой ввод, данных нет, данных слишком много.
- Стоимость и число шагов. Замерьте на реальной выборке. Именно здесь обнаруживается, что средняя задача занимает не пять шагов, а двадцать.
Шаг 5. Вывод в прод
Порядок, который снимает большую часть рисков:
- Режим наблюдения. Агент работает и предлагает, но действие выполняет человек. Неделя такого режима показывает реальную частоту ошибок.
- Узкий срез. Один тип задач, один клиент, малый объём.
- Верификация до расширения. Отчёт агента проверяется программой, а не читается человеком.
- Мониторинг. Число шагов, доля неудач, стоимость. Тихая деградация заметна только по цифрам.
- Расширение. Только после того, как первые четыре пункта отработали.
Подробнее про guardrails и верификацию - в статье про внедрение агентов. Пошаговый разбор на конкретной задаче - здесь. Общая картина - гид по ИИ-агентам.
Вопросы и ответы
С чего начинать создание ИИ-агента?
С формулировки критерия готовности, а не с выбора фреймворка. Пока не сформулировано, по какому признаку задача считается выполненной, агента невозможно ни отладить, ни принять. Фреймворк - последнее решение по важности и первое, которое обычно принимают.
Нужен ли фреймворк для агента?
Не обязательно. Цикл агента - это примерно тридцать строк кода: вызвать модель, выполнить запрошенный инструмент, вернуть результат, повторить. Фреймворк даёт готовую обвязку и абстракции, которые начинают мешать ровно тогда, когда нужно нестандартное поведение.
Сколько инструментов давать агенту?
Минимум, который закрывает задачу. Каждый лишний инструмент занимает контекст своим описанием и добавляет вариант неверного выбора. Двадцать инструментов - это почти всегда признак того, что задачу стоило разбить на несколько агентов или на воркфлоу.
Ещё по теме
- Что такое ИИ-агент и чем он отличается от чат-ботаГид
- Как создать ИИ-агента: пошаговый разбор на реальном кейсеРазбор одного агента от требований до работающей системы: схема, инструменты и их описания, первый прогон и правки по его итогам, и что в результате осталось не агентом.
- ИИ-агенты для бизнеса: где они окупаются, а где нетВ каких процессах ИИ-агент даёт реальную экономию, где дешевле обычная автоматизация или найм, как считать окупаемость честно и какие риски обычно не закладывают в расчёт.
- Разработка ИИ-агентов: стек, сроки и подводные камниИз чего складывается работа по разработке ИИ-агента, какой стек используется на практике, что занимает больше всего времени и как принимать результат, чтобы не получить демо вместо системы.
Сделаю под ключ
Соберу ИИ-агента под реальную задачу
С инструментами, памятью и логами, чтобы он работал в проде, а не только в демо.
от 1 500 $ · 1-2 недели