Фраза «мы сделали агента» обычно означает, что кто-то взял модель и написал к ней промпт. Агентом систему делает всё остальное: цикл принятия решений, набор инструментов, управление контекстом, границы полномочий и запись того, что произошло. Эту обвязку называют harness.
Различать их стоит по вполне практической причине. Модель за год поменяется дважды, подешевеет и станет умнее, а переключение на новую в аккуратно сделанной системе занимает вечер. Harness живёт дольше: он описывает, как устроена ваша работа, к каким системам агент имеет доступ, что ему разрешено без человека и по каким признакам видно, что он ошибся. Этот код вы пишете сами, и он остаётся вашим независимо от того, чью модель вы используете в следующем квартале.
Из чего он состоит
- Цикл определяет, что происходит после каждого шага: продолжать, переспросить, остановиться, позвать человека.
- Инструменты — то, что агент физически может вызвать. Здесь заканчивается магия и начинаются обычные интеграции с CRM, базой, почтой и внутренним API.
- Контекст решает, что агент видит сейчас и что помнит между запусками.
- Границы задают, чего он не может в принципе и где нужно обязательное подтверждение.
- Наблюдаемость отвечает на вопрос, что именно он сделал и почему.
Почему демо доезжает, а продакшен нет
В демо ничего из перечисленного не нужно. Сценарий один, данные подготовлены заранее, ошибиться негде, а если агент выдаст глупость, все посмеются и покажут следующий слайд.
В эксплуатации он встречает данные, которых не ожидал, чужой API, который отвечает ошибкой вместо документа, и файл не того формата. Тогда и выясняется, что цикл не умеет останавливаться, прав выдано с запасом, а восстановить последовательность действий невозможно, потому что её никто не записывал.
Отсюда вопрос, на котором заканчиваются корпоративные пилоты. Он звучит не «справится ли модель», а «кто отвечает, если агент ошибся». Ответить можно только через роль, лимит, обязательное подтверждение в дорогих местах и журнал каждого действия. Пока этого нет, служба безопасности справедливо не пускает систему в контур.
Как мы к этому пришли
Собирая агентов под разные процессы, мы каждый раз писали одну и ту же обвязку заново. В какой-то момент вынесли её в отдельный продукт — так появилась AgentArea, открытый слой контроля, который разворачивается внутри вашего контура. Два наших продукта работают на нём, и внедрение у клиента начинается не с пустого репозитория.