智能体循环:AI智能体如何感知、思考和行动
智能体循环是驱动AI智能体从任务开始到最终答案的重复感知-思考-行动周期。在每次迭代中,智能体读取上下文(观察结果、工具结果、记忆),调用LLM推理下一步,执行工具或返回响应,然后循环。迭代限制、终止条件和错误处理决定了生产智能体是可靠的还是有风险的。OpenLegion在网格层强制执行硬上限,将失控循环转变为确定性失败。
什么是智能体循环?
智能体循环是一种迭代执行模型,其中AI智能体交替观察其环境,使用语言模型推理下一步行动,并执行该行动,重复进行直到满足终止条件:任务完成、最大迭代次数或预算耗尽。
每个AI智能体,无论使用什么框架,都运行这个循环的某种变体。循环是智能体执行的单元:一次通过感知→思考→行动的过程。简单任务(从单次网络搜索回答问题)在2-3次迭代内完成。复杂任务(研究竞争对手、综合发现、起草报告)可能运行15-30次迭代。
循环每次迭代有三个输入和一个输出:
| 输入/输出 | 内容 | 跨迭代积累? |
|---|---|---|
| 系统提示 | 智能体角色、指令、工具定义 | 否——每次运行固定 |
| 对话历史 | 所有先前轮次:用户消息、助手思考、工具调用、工具结果 | 是——每次迭代增长 |
| 当前观察 | 上一个行动的工具结果(第一次迭代:初始用户消息) | 是——每次迭代追加 |
| 输出 | 下一个行动:工具调用、澄清请求或最终响应 | 否——每次迭代一个输出 |
上下文积累是循环的主要成本驱动因素。在20次迭代任务中每次迭代对2,000个令牌,最后一次迭代发送40,000个令牌作为输入上下文。模型定价是按令牌计算,而不是按任务计算。参见如何通过每个智能体的支出上限控制智能体循环成本。
三个阶段详解
感知——读取上下文
感知阶段组装智能体当前的世界视图:LLM在决定下一步做什么之前会读取的所有内容。包括系统提示、对话历史和当前观察(前一次迭代行动的工具结果)。
感知阶段是智能体循环的主要提示注入攻击面。CVE-2024-5184(Synopsys CyRC,2024年6月)准确地展示了这一点:通过工具响应内容传递的提示注入攻击劫持了智能体的下一个循环迭代。有关注入向量和防御的完整处理,参见针对智能体循环中工具响应的提示注入攻击。
思考——LLM推理步骤
思考阶段是LLM调用。输出是以下之一:
- 工具调用(结构化:工具名称+参数)
- 最终响应(自由文本)——智能体认为任务已完成
- 澄清请求(向用户发送的自由文本)
思考阶段的标准模型是ReAct模式(Yao等人,2022年,arXiv:2210.03629):在同一个LLM输出中交替进行Reasoning(推理)+Acting(行动)。ReAct论文表明,将显式推理与行动交替进行可显著提高智能体在HotpotQA、FEVER和ALFWorld等基准测试中的任务准确性。
思考步骤成本: 对于GPT-4o,每百万输入令牌$2.50,每次迭代添加2,000个令牌的20次迭代运行,仅最后一次迭代的上下文窗口的输入令牌成本就约为$1.05。参见AI智能体规划——智能体如何在循环开始前分解目标。
行动——工具执行或最终响应
行动阶段执行在思考阶段选择的行动。工具执行器必须验证工具名称、参数、在隔离上下文中执行,并返回未修改的结果。有关工具实现模式和安全模型,参见智能体如何在每次循环迭代中执行工具。
循环终止——智能体何时停止
自然终止
当LLM的思考步骤输出最终响应而不是工具调用时,发生自然终止。
max_turns执行
默认值:
- OpenAI Agents SDK:
max_turns = 10(2026年4月) - LangGraph:
recursion_limit = 25 - LangChain AgentExecutor:
max_iterations = 15,默认无时间限制 - AutoGen: 每个智能体
max_consecutive_auto_reply = 10
为生产配置max_turns: 基于100个代表性任务的第95百分位迭代次数测量;将max_turns设置为P95+20%缓冲。记录每次截断。
基于预算的终止
OpenLegion的执行模型:
daily_budget(默认$50/天)和monthly_budget(默认$200/月)在INSTRUCTIONS.md中按智能体配置- 网格路由器实时跟踪每个智能体ID的累计支出
- 当循环迭代会超过剩余日预算时,请求在到达LLM提供商之前在网格层被拒绝
基于错误的终止
三种策略:出错时中止、带退避重试,或回退并继续。
无限循环反模式
LangChain 2025年智能体状态报告发现,23%的智能体失败是由无限工具调用循环引起的——单一最大失败类别。
工具调用风暴
当智能体的思考步骤在没有向任务完成推进的情况下重复调用同一工具时发生。常见触发因素:任务规范模糊、工具结果验证缺失、循环推理。
上下文污染
当工具结果将内容引入对话历史,扭曲LLM在后续迭代中的推理时发生。预防:工具结果预处理——剥离HTML、将大型文档截断为相关部分、返回结构化摘要而不是原始内容。
通过工具响应的提示注入
最具安全关键性的无限循环触发器:CVE-2024-5184(Synopsys CyRC,2024年6月)。防御:将每个工具结果视为不可信输入。有关注入防御的完整处理,参见针对智能体循环中工具响应的提示注入攻击。
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 |
|---|---|---|---|---|
| 迭代限制 | INSTRUCTIONS.md中的max_turns,在网格层强制执行 | max_iterations=15(默认) | recursion_limit=25 | max_turns=10(默认) |
| 基于预算的终止 | 每个智能体的daily_budget+monthly_budget,在网格层强制执行 | 未内置 | 未内置 | 未内置 |
| 错误终止 | 返回给编排器的结构化错误 | 引发AgentExecutorError | 引发GraphRecursionError | 引发MaxTurnsExceeded |
| 注入防御 | 金库代理工具调用;系统提示权限 | handle_parsing_errors可配置 | 未内置 | 未内置 |
| 循环审计跟踪 | 每次迭代记录agent_id、模型、工具调用、成本 | LangSmith(可选) | LangSmith(可选) | OpenAI仪表板 |
有关将多个智能体循环组合成生产系统的模式,参见智能体工作流如何将多个循环组合成生产管道和循环编排和智能体协调的智能体AI设计模式。
常见问题
什么是智能体循环?
智能体循环是每个AI智能体执行任务时运行的重复感知-思考-行动周期。在每次迭代中,智能体读取当前上下文,调用语言模型决定下一个行动,执行该行动,然后重复,直到满足终止条件:自然完成、迭代硬限制(max_turns)、预算耗尽或不可恢复的错误。
智能体循环运行多少次迭代?
简单任务通常在2-5次迭代内完成。复杂任务运行10-30次甚至更多迭代。根据特定任务分布中特定智能体的经验P95迭代次数设置max_turns,并添加20%缓冲。
是什么导致智能体循环无限循环?
三个主要无限循环原因:工具调用风暴、上下文污染和通过工具响应内容的提示注入(CVE-2024-5184)。LangChain 2025年报告发现23%的智能体失败是由无限工具调用循环引起的。
智能体循环中的ReAct模式是什么?
ReAct(Reasoning + Acting)是Yao等人于2022年引入的标准智能体循环模型(arXiv:2210.03629)。该模式将每次循环迭代结构化为三部分LLM输出:思考、行动和观察。ReAct论文表明,将显式推理与行动交替进行可提高智能体任务准确性——在HotpotQA、FEVER和ALFWorld上进行了评估。
提示注入如何影响智能体循环?
通过工具响应内容的提示注入——由CVE-2024-5184(Synopsys CyRC,2024年6月)演示——利用了智能体循环的感知阶段。当工具检索外部内容时,该内容作为工具结果进入对话历史。如果内容包含注入的指令,LLM可能会在下一个思考步骤中处理这些指令。防御需要明确的指令层次结构,强制系统提示对工具结果内容的权威性。
OpenLegion如何防止失控的智能体循环?
OpenLegion通过两个执行层应用深度防御。在INSTRUCTIONS.md中配置的每个智能体的迭代限制在应用层强制执行。每个智能体的daily_budget和monthly_budget在每次LLM调用之前在网格路由器层强制执行。当循环迭代会超过剩余预算时,请求在网络层被拒绝。指示智能体"忽略预算限制"的提示注入无法覆盖网格路由器的预算检查。
智能体循环和工作流有什么区别?
智能体循环是每个智能体的迭代周期。工作流(或智能体工作流)是一个多智能体管道,其中多个智能体(每个运行自己的循环)被组合成一个具有显式交接逻辑、编排和智能体间数据流的更大系统。
开始使用OpenLegion
智能体循环是智能体可靠性得失的关键所在。框架默认值——max_turns=10,recursion_limit=25——是起点,而不是生产配置。
OpenLegion在网格层强制执行预算上限和迭代限制——在智能体LLM推理带外,不可通过提示注入覆盖。
开始在OpenLegion上构建——内置硬循环限制和每个智能体的预算执行。
有关将多个智能体循环组合成生产系统的模式,参见智能体工作流如何将多个循环组合成生产管道。