Агентный цикл: как агенты ИИ воспринимают, думают и действуют
Агентный цикл — это повторяющийся цикл восприятия-мышления-действия, который движет агентом ИИ от начала задачи до окончательного ответа. На каждой итерации агент читает контекст (наблюдения, результаты инструментов, память), вызывает LLM для рассуждения о следующих шагах, выполняет инструмент или возвращает ответ, затем повторяет. Ограничения итераций, условия завершения и обработка ошибок определяют, является ли производственный агент надёжным или создаёт риски. OpenLegion применяет жёсткие ограничения на уровне сетки, превращая неконтролируемые циклы в детерминированные сбои.
Что такое агентный цикл?
Агентный цикл — это итерационная модель выполнения, в которой агент ИИ поочерёдно наблюдает за своей средой, рассуждает о следующем действии с помощью языковой модели и выполняет это действие, повторяя до выполнения условия завершения: завершения задачи, максимального числа итераций или исчерпания бюджета.
Каждый агент ИИ, независимо от фреймворка, выполняет некоторый вариант этого цикла. Простые задачи завершаются за 2-3 итерации. Сложные задачи могут требовать 15-30 итераций.
У цикла три входа и один выход на итерацию:
| Вход/Выход | Содержимое | Накапливается по итерациям? |
|---|---|---|
| Системный промпт | Роль агента, инструкции, определения инструментов | Нет — фиксировано на запуск |
| История диалога | Все предыдущие ходы: сообщения пользователя, мысли ассистента, вызовы инструментов, результаты инструментов | Да — растёт с каждой итерацией |
| Текущее наблюдение | Результат инструмента из предыдущего действия (первая итерация: начальное сообщение пользователя) | Да — добавляется с каждой итерацией |
| Выход | Следующее действие: вызов инструмента, запрос уточнения или окончательный ответ | Нет — один выход на итерацию |
Накопление контекста — основной драйвер затрат цикла. Смотрите как контролировать затраты агентного цикла с помощью лимитов расходов на агента.
Три фазы подробно
Восприятие — чтение контекста
Фаза восприятия — главная поверхность атаки для инъекции промптов агентного цикла. CVE-2024-5184 (Synopsys CyRC, июнь 2024) демонстрирует это: атака инъекции промпта через содержимое ответа инструмента захватывает следующую итерацию цикла агента. Для полного описания векторов атак и защит смотрите атаки инъекции промптов, нацеленные на ответы инструментов в агентном цикле.
Мышление — шаг рассуждения LLM
Каноническая модель для фазы мышления — паттерн ReAct (Yao et al., 2022, arXiv:2210.03629): Reasoning + Acting, переплетённые в одном выходе LLM. Статья ReAct показала, что чередование явного рассуждения с действиями значительно улучшает точность задач агента на бенчмарках, включая HotpotQA, FEVER и ALFWorld.
Стоимость шага мышления: для GPT-4o по $2.50/M входных токенов, запуск из 20 итераций с добавлением 2,000 токенов на итерацию обходится примерно в $1.05 во входных токенах только для окна контекста последней итерации. Смотрите планирование агентов ИИ.
Действие — выполнение инструмента или окончательный ответ
Исполнитель инструментов должен проверить имя и параметры инструмента, выполнить в изолированном контексте и вернуть результат без изменений. Смотрите как агенты выполняют инструменты внутри каждой итерации цикла.
Завершение цикла — когда агенты останавливаются
Естественное завершение
Естественное завершение происходит, когда шаг мышления LLM выдаёт окончательный ответ вместо вызова инструмента.
Применение max_turns
Значения по умолчанию:
- OpenAI Agents SDK:
max_turns = 10(апрель 2026) - LangGraph:
recursion_limit = 25 - LangChain AgentExecutor:
max_iterations = 15, без ограничения по времени по умолчанию - AutoGen:
max_consecutive_auto_reply = 10на агента
Настройка max_turns для продакшена: измерьте 95-й процентиль числа итераций на 100 репрезентативных задачах; установите max_turns на P95 + 20% буфер.
Завершение на основе бюджета
Модель применения OpenLegion:
daily_budget(по умолчанию $50/день) иmonthly_budget(по умолчанию $200/месяц) настраиваются на агента вINSTRUCTIONS.md- Маршрутизатор сетки отслеживает накопленные расходы на агента в реальном времени
- Когда итерация цикла превысит оставшийся дневной бюджет, запрос отклоняется на уровне сетки до отправки провайдеру LLM
Завершение на основе ошибок
Три стратегии: прервать при ошибке, повторить с откатом, или использовать запасной вариант и продолжить.
Антипаттерны бесконечного цикла
Отчёт о состоянии агентов LangChain 2025 обнаружил, что 23% отказов агентов были вызваны бесконечными циклами вызовов инструментов — крупнейшая единая категория отказов.
Шторм вызовов инструментов
Происходит, когда шаг мышления агента многократно вызывает один и тот же инструмент без прогресса в выполнении задачи. Распространённые триггеры: неоднозначная спецификация задачи, отсутствие валидации результатов инструментов, круговое рассуждение.
Отравление контекста
Происходит, когда результат инструмента вводит в историю диалога контент, искажающий рассуждения LLM в последующих итерациях. Предотвращение: предобработка результатов инструментов — удаление HTML, обрезка документов до релевантных разделов.
Инъекция промпта через ответ инструмента
Наиболее критичный с точки зрения безопасности триггер бесконечного цикла: CVE-2024-5184 (Synopsys CyRC, июнь 2024). Защита: рассматривайте каждый результат инструмента как ненадёжный ввод.
Позиция OpenLegion: глубокая защита для управления циклом
Управление циклом — свойство безопасности, а не только операционное. Три конкретных числа, определяющих проблему:
23% отказов агентов связаны с бесконечными циклами вызовов инструментов (LangChain 2025). Решение — не более высокий лимит max_turns, а измеримые условия завершения, явные проверки прогресса и логика автоматических выключателей.
Умолчание OpenAI Agents SDK max_turns = 10; LangGraph recursion_limit = 25. Это начальные значения по умолчанию, а не производственные значения.
CVE-2024-5184 — это уязвимость управления циклом, а не просто уязвимость безопасности.
| Механизм управления циклом | OpenLegion | LangChain AgentExecutor | LangGraph | OpenAI Agents SDK |
|---|---|---|---|---|
| Ограничение итераций | max_turns в INSTRUCTIONS.md, применяется на сетке | max_iterations=15 (по умолчанию) | recursion_limit=25 | max_turns=10 (по умолчанию) |
| Завершение на основе бюджета | daily_budget + monthly_budget на агента, применяется на уровне сетки | Не встроено | Не встроено | Не встроено |
| Завершение при ошибке | Структурированная ошибка, возвращаемая оркестратору | Вызывает AgentExecutorError | Вызывает GraphRecursionError | Вызывает MaxTurnsExceeded |
| Защита от инъекций | Вызовы инструментов через прокси хранилища; полномочия системного промпта | handle_parsing_errors настраиваемый | Не встроено | Не встроено |
| Журнал аудита цикла | Каждая итерация журналируется с agent_id, моделью, вызовом инструмента, стоимостью | LangSmith (опционально) | LangSmith (опционально) | Панель управления OpenAI |
Для паттернов, объединяющих несколько циклов агентов в производственные системы, смотрите как агентные рабочие процессы объединяют несколько циклов в производственные конвейеры и паттерны проектирования агентного ИИ для оркестровки циклов и координации агентов.
Часто задаваемые вопросы
Что такое агентный цикл?
Агентный цикл — это повторяющийся цикл восприятия-мышления-действия, который каждый агент ИИ выполняет для решения задачи. На каждой итерации агент читает свой текущий контекст, вызывает языковую модель для определения следующего действия, выполняет это действие, затем повторяет до выполнения условия завершения.
Сколько итераций выполняет агентный цикл?
Простые задачи обычно завершаются за 2-5 итераций. Сложные задачи выполняют 10-30 итераций и более. Устанавливайте max_turns на основе эмпирического 95-го процентиля числа итераций для вашего конкретного агента на конкретном распределении задач с буфером 20%.
Что вызывает бесконечный агентный цикл?
Три основные причины бесконечных циклов: штормы вызовов инструментов, отравление контекста и инъекция промпта через содержимое ответа инструмента (CVE-2024-5184). Отчёт LangChain 2025 обнаружил, что 23% отказов агентов были вызваны бесконечными циклами вызовов инструментов.
Что такое паттерн ReAct в агентных циклах?
ReAct (Reasoning + Acting) — каноническая модель агентного цикла, введённая Yao et al. в 2022 году (arXiv:2210.03629). Паттерн структурирует каждую итерацию цикла как трёхчастный вывод LLM: Мысль, Действие и Наблюдение. Статья ReAct показала, что чередование явного рассуждения с действиями улучшает точность задач агента на HotpotQA, FEVER и ALFWorld.
Как инъекция промпта влияет на агентный цикл?
Инъекция промпта через содержимое ответа инструмента — продемонстрированная CVE-2024-5184 (Synopsys CyRC, июнь 2024) — эксплуатирует фазу восприятия агентного цикла. Защита требует явной иерархии инструкций, обеспечивающей полномочия системного промпта над содержимым результатов инструментов.
Как OpenLegion предотвращает неконтролируемые агентные циклы?
OpenLegion применяет глубокую защиту с двумя уровнями применения. Ограничения итераций на агента, настроенные в INSTRUCTIONS.md, применяются на уровне приложения. Daily_budget и monthly_budget на агента применяются на уровне маршрутизатора сетки перед каждым вызовом LLM. Когда итерация цикла превысит оставшийся бюджет, запрос отклоняется на сетевом уровне.
В чём разница между агентным циклом и рабочим процессом?
Агентный цикл — это итерационный цикл на агента. Рабочий процесс — это многоагентный конвейер, где несколько агентов, каждый выполняющий свои циклы, объединяются в большую систему с явной логикой передачи управления, оркестровкой и потоком данных между агентами.
Начните с OpenLegion
Агентный цикл — это место, где надёжность агента выигрывается или проигрывается. Значения по умолчанию фреймворков — max_turns=10, recursion_limit=25 — это отправные точки, а не производственные конфигурации.
OpenLegion применяет лимиты бюджета и ограничения итераций на уровне сетки — вне диапазона рассуждений LLM агента, не переопределяемые инъекцией промпта.
Начните строить на OpenLegion — жёсткие лимиты циклов и применение бюджета на агента встроены.
Для паттернов, объединяющих несколько циклов агентов в производственные системы, смотрите как агентные рабочие процессы объединяют несколько циклов в производственные конвейеры.