智能體循環:AI智能體如何感知、思考和行動
智能體循環是驅動AI智能體從任務開始到最終答案的重複感知-思考-行動週期。在每次迭代中,智能體讀取上下文(觀察結果、工具結果、記憶),呼叫LLM推理下一步,執行工具或返回回應,然後循環。迭代限制、終止條件和錯誤處理決定了生產智能體是可靠的還是有風險的。OpenLegion在網格層強制執行硬上限,將失控循環轉變為確定性失敗。
什麼是智能體循環?
智能體循環是一種迭代執行模型,其中AI智能體交替觀察其環境,使用語言模型推理下一步行動,並執行該行動,重複進行直到滿足終止條件:任務完成、最大迭代次數或預算耗盡。
每個AI智能體,無論使用什麼框架,都運行這個循環的某種變體。循環是智能體執行的單元:一次通過感知→思考→行動的過程。簡單任務在2-3次迭代內完成。複雜任務可能運行15-30次迭代。
循環每次迭代有三個輸入和一個輸出:
| 輸入/輸出 | 內容 | 跨迭代累積? |
|---|---|---|
| 系統提示 | 智能體角色、指令、工具定義 | 否——每次執行固定 |
| 對話歷史 | 所有先前輪次:使用者訊息、助理思考、工具呼叫、工具結果 | 是——每次迭代增長 |
| 目前觀察 | 上一個行動的工具結果(第一次迭代:初始使用者訊息) | 是——每次迭代追加 |
| 輸出 | 下一個行動:工具呼叫、澄清請求或最終回應 | 否——每次迭代一個輸出 |
上下文累積是循環的主要成本驅動因素。參見如何透過每個智能體的支出上限控制智能體循環成本。
三個階段詳解
感知——讀取上下文
感知階段是智能體循環的主要提示注入攻擊面。CVE-2024-5184(Synopsys CyRC,2024年6月)準確地展示了這一點:透過工具回應內容傳遞的提示注入攻擊劫持了智能體的下一個循環迭代。有關注入向量和防禦的完整處理,參見針對智能體循環中工具回應的提示注入攻擊。
思考——LLM推理步驟
思考阶段是LLM呼叫。輸出是以下之一:工具呼叫、最終回應或澄清請求。
思考階段的標準模型是ReAct模式(Yao等人,2022年,arXiv:2210.03629):在同一個LLM輸出中交替進行推理與行動。ReAct論文表明,將顯式推理與行動交替進行可顯著提高智能體在HotpotQA、FEVER和ALFWorld等基準測試中的任務準確性。
思考步驟成本: 對於GPT-4o,每百萬輸入令牌$2.50,每次迭代添加2,000個令牌的20次迭代執行,僅最後一次迭代的上下文視窗的輸入令牌成本就約為$1.05。
行動——工具執行或最終回應
行動階段執行在思考階段選擇的行動。有關工具實作模式和安全模型,參見智能體如何在每次循環迭代中執行工具。
循環終止——智能體何時停止
自然終止
當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)。解決方案是可測量的終止條件、明確的進度檢查和斷路器邏輯。
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智能體執行任務時運行的重複感知-思考-行動週期。在每次迭代中,智能體讀取當前上下文,呼叫語言模型決定下一個行動,執行該行動,然後重複,直到滿足終止條件。
智能體循環運行多少次迭代?
簡單任務通常在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月)演示——利用了智能體循環的感知階段。防禦需要明確的指令層次結構,強制系統提示對工具結果內容的權威性。
OpenLegion如何防止失控的智能體循環?
OpenLegion透過兩個執行層應用深度防禦。每個智能體的迭代限制在應用層強制執行。每個智能體的daily_budget和monthly_budget在每次LLM呼叫之前在網格路由器層強制執行。當循環迭代會超過剩餘預算時,請求在網路層被拒絕。
智能體循環和工作流有什麼區別?
智能體循環是每個智能體的迭代週期。工作流是一個多智能體管道,其中多個智能體被組合成一個具有顯式交接邏輯、編排和智能體間資料流的更大系統。
開始使用OpenLegion
OpenLegion在網格層強制執行預算上限和迭代限制——在智能體LLM推理帶外,不可透過提示注入覆蓋。
開始在OpenLegion上構建——內建硬循環限制和每個智能體的預算執行。
有關將多個智能體循環組合成生產系統的模式,參見智能體工作流如何將多個循環組合成生產管道。