Агент является продуктовым циклом, а не prompt
Прежде чем писать код, стоит договориться, что вообще такое агент - потому что дальше вся книга строит именно его, а не "умный ответ". Специализированный агент получает цель, видит ограниченный набор данных и tools, выбирает следующий шаг, наблюдает результат и завершает работу одним из заранее известных исходов. Ключевое здесь - разделение ролей: модель принимает вероятностные решения, а приложение владеет правами и фактами.
Проще всего увидеть это как короткий цикл, к которому сводится любой ход агента.
- Запрос
- Решение
- Tool
- Наблюдение
- Исход
Каждая стрелка отвечает за своё. Запрос - это цель и контекст. Решение - вероятностный выбор модели: какой разрешённый tool вызвать, что уточнить, когда задача уже решена. Tool даёт агенту руки, наблюдение возвращает проверяемый результат, а исход - один из заранее описанных финалов. И на этом цикле сразу видно, кто за что отвечает: модель выбирает - какой разрешённый tool вызвать и когда остановиться; код обеспечивает аутентификацию, authorization, валидацию, транзакции, лимиты и подтверждения; данные доказывают, что политика действующая, заказ принадлежит клиенту, а действие можно выполнить.
Отсюда главная граница книги, к которой мы будем возвращаться в каждой главе.
Главная граница. Модель может предложить действие. Только доверенный серверный код решает, разрешено ли оно и как его выполнить.
Полезно с самого начала отличать агента от того, что агентом не является - большинство задач до него не дотягивают, и это хорошо.
Система · Кто выбирает следующий шаг · Когда достаточно
- Один API-вызов - Шага нет; Классификация, извлечение, краткий grounded answer
- Workflow - Ваш код; Порядок этапов известен заранее
- Agent loop - Модель внутри ограниченного runtime; Путь зависит от результатов tools
Читать таблицу стоит по колонке "кто выбирает следующий шаг". Один API-вызов шага не выбирает вовсе - этого хватает для классификации, извлечения или короткого grounded-ответа. Workflow идёт по порядку, заданному вашим кодом. И только agent loop отдаёт выбор шага модели внутри ограниченного runtime - когда путь решения заранее неизвестен. Агент - самый мощный и самый дорогой уровень; браться за него стоит, лишь когда задача его действительно требует.
С этого различения начинается инженерия агентов. И первый шаг - не выбрать модель, а сузить задачу до контракта.
Что отличает agent loop от workflow?