← На главную

Объясняем агентный цикл: Inference Loop, Tool Loop и Human Loop

14.07.2026 14:39 · hackernews

Большинство думает, что агентный цикл — это один простой цикл. На самом деле это три цикла, надетых друг на друга. Автор разбирает их на примере гипотетического Тома, который хочет написать бывшей девушке Лейни, а мы его отговариваем.

Первый — Inference Loop (цикл инференса). Он отвечает за три вещи: вызывает API чат-комплекшена (у Anthropic, OpenAI, OpenRouter), передаёт запрос на использование инструмента во второй цикл, и управляет историей чата. API у всех провайдеров — stateless, то есть они не помнят предыдущих диалогов. Каждый раз надо отправлять всю переписку целиком. Именно поэтому большие разговоры «съедают» много токенов.

Второй — Tool Loop (цикл инструментов). LLM — это просто мозг в банке. Сами по себе они ничего не делают. Инструменты превращают их в агента. Модель может «попробовать» вызвать несколько инструментов за один раз. Задача этого цикла — найти нужную функцию по имени и параметрам, которые модель нагенерировала, и выполнить её. Но тут есть подводные камни: инструменты — это тоже сгенерированный текст, поэтому их названия и параметры могут быть галлюцинациями. Код должен быть защищён от левых вызовов (например, «инструмент не найден»). У каждого вызова есть tool_call_id (или tool_use_id у Anthropic) — без него API вернёт ошибку. У большинства провайдеров в результатах инструментов нет кодов ошибок, ошибку нужно передавать как обычный текст, например оборачивать в XML-теги <tool_call_error>Anthropic есть отдельное поле is_error).

Третий — Human Loop (человеческий цикл). Он технически не является программным циклом — это скорее блокирующий вызов, который ждёт решения человека: одобрить инструмент, запретить или направить модель в другую сторону. Это самая сложная часть. Код не может висеть часами в ожидании — что если сервер перезагрузится? Что если придут тысячи других запросов? Именно для таких задач существуют фреймворки вроде Temporal. Но этот цикл критически важен: только он может остановить Тома, чтобы он не отправил то самое письмо.

Итог: Inference Loop вызывает API и передаёт управление Tool Loop, тот обрабатывает вызов и отдаёт решение на одобрение Human Loop. Результат поднимается обратно. Эти три цикла — основа агентных систем, от RAG до автоматических проверок. Теперь иди и построй такой!

Читать оригинал →