智能體工作流程:模式、安全與生產設計
智能體工作流程是一種多步驟AI流程,其中一個或多個智能體自主決定呼叫哪些工具、何時將子任務委派給其他智能體,以及如何根據中間結果調整方法。與每個步驟硬式編碼且只執行一次的固定流水線不同,智能體工作流程是動態的:智能體讀取環境、推理狀態並選擇下一個動作。這種自主性是其功能所在,也是攻擊面所在。
OpenLegion 是一個安全優先的 AI 智能體平台,將智能體工作流程設計視為工程學科:每個步驟在隔離容器中執行,憑證從不出現在智能體程序中,每個迭代迴圈都有在基礎設施層強制執行的硬停止條件。
什麼是智能體工作流程?
智能體工作流程是一種多步驟AI流程,自主智能體在其中選擇工具、委派子任務,並根據中間結果更新執行計畫,與每個步驟在設計時固定的靜態流水線形成對比。
TL;DR
- 四種核心模式:ReAct 迴圈、規劃與執行、反思迴圈、並行扇出。每種模式都有不同的故障模式。
- ReAct(Reason + Act,Yao et al. 2023)是應用最廣泛的模式,在 LangGraph、OpenAI Agents SDK、AutoGen 和 OpenLegion 中均有使用。
- 主要攻擊向量:透過工具結果進行提示注入(OWASP LLM Top 10 2025,LLM02)。惡意網頁或文件可以劫持智能體的下一個動作。
- 失控迴圈不是邊緣情況:沒有硬停止條件的反思迴圈或 ReAct 迴圈會一直執行直到耗盡預算。
- OpenLegion 緩解措施:每個智能體的步驟預算(硬迭代限制)、容器隔離(被入侵的步驟無法存取其他智能體的憑證)、零遙測。
- 步驟預算與令牌預算:兩者都很重要。令牌預算限制支出;步驟預算限制無界推理迴圈。
智能體工作流程與流水線的區別
傳統流水線執行固定序列:步驟1、步驟2、步驟3。開發者在設計時定義每個轉換。系統是確定性的:相同輸入產生相同執行路徑。
智能體工作流程在每個步驟引入決策點。智能體讀取目前狀態,選擇一個動作(呼叫工具、委派給其他智能體、產生最終回答,或重新迴圈),並更新狀態。執行路徑在執行時由模型決定,而非開發者。
這一區別有直接的安全影響。在固定流水線中,被入侵步驟的爆炸半徑限於該步驟的輸出。在智能體工作流程中,被入侵的步驟可以指示智能體採取額外動作:呼叫外部 API、滲漏資料、產生影響下游步驟的惡意輸出。AI 智能體安全指南涵蓋完整的威脅模型;本頁重點介紹工作流程模式選擇如何影響攻擊面。
智能體工作流程的四種核心模式
模式1:ReAct 迴圈(Reason + Act)
是什麼。 由 Yao et al.(2023)引入,ReAct 在單一迴圈中交織推理軌跡與動作呼叫。每個步驟,模型產生一個 Thought(對目前狀態的推理)、一個 Action(工具呼叫或委派)和一個 Observation(工具結果)。迴圈持續直到模型產生最終回答。
在哪裡使用。 ReAct 是 LangGraph、OpenAI Agents SDK、AutoGen 群組聊天和 OpenLegion 中的預設迴圈,是應用最廣泛的智能體工作流程模式。
故障模式:
- 無界迴圈:沒有硬迭代限制,ReAct 智能體可能無限迴圈。
- 透過觀察進行提示注入:Observation 步驟是主要攻擊面。OWASP LLM02(提示注入)是基於 ReAct 工作流程的最大風險。
- 上下文視窗膨脹:長 ReAct 鏈在上下文中積累思考/動作/觀察三元組。
OpenLegion 緩解:每個智能體的步驟預算(協調器強制的最大迭代次數)加容器隔離。
模式2:規劃與執行
是什麼。 規劃器智能體提前產生完整的任務分解。一個或多個執行器智能體隨後執行計畫的每個步驟,步驟之間不重新規劃。
相比 ReAct 的優勢。 將規劃與執行分離可以顯著降低令牌成本,繁重的推理只在規劃器中進行一次。執行路徑在開始前也是可檢查的。
故障模式:
- 計畫漂移:如果執行器在計畫中途遇到意外結果,可能會繼續使用過時計畫。
- 規劃器單點故障:破壞規劃器輸出的提示注入影響每個後續執行步驟。
- 無自適應重規劃:純規劃與執行無法處理中間結果實質性改變後續步驟內容的任務。
OpenLegion 緩解:規劃器和執行器在單獨的容器中執行,爆炸半徑限於規劃器容器輸出。
模式3:反思迴圈
是什麼。 智能體(或單獨的評論家智能體)評估自己的輸出並迭代直到達到品質閾值。常見於內容產生、程式碼撰寫和分析任務。
故障模式:
- 無停止條件的失控迭代:如果評論家總能找到改進之處,迴圈將無限執行。
- 自我強化錯誤:誤解任務的模型將產生強化誤解的批評。
- 成本放大:10輪反思迴圈的成本是基礎產生的10倍。
OpenLegion 緩解:每個智能體的步驟預算在基礎設施層強制執行最大反思次數。
模式4:並行扇出
是什麼。 多個智能體同時執行獨立的子任務。合成智能體等待所有並行分支完成,然後合併結果。
故障模式:
- 成本放大:N個並行智能體的成本是串行等價物的N倍。
- 合成中毒:惡意的分支輸出可能破壞合併結果。
- 並發和共享狀態衝突:CVE-2025-64168(Agno,CVSS 7.1)證明了這一點:非同步並發下共享會話狀態中的競態條件導致一個使用者的資料暴露給另一個使用者。
OpenLegion 緩解:每個並行智能體在自己的隔離 Docker 容器中執行,分支之間沒有共享可變狀態。
智能體工作流程的安全設計
威脅1:透過工具結果進行提示注入
工具結果是智能體工作流程中的主要注入向量。OWASP LLM02(提示注入)是2025年 Top 10 中 LLM 應用面臨的最大風險。對於智能體工作流程,由於智能體擁有工具存取權限,風險被放大,注入的指令可能導致現實世界的動作。
OpenLegion 在工具結果攝取時應用 Unicode 清理(針對雙向覆蓋、標籤字元和零寬字元的56個檢查點),加上容器隔離以限制成功注入的爆炸半徑。
威脅2:工具呼叫放大
在沒有步驟預算的 ReAct 迴圈中呼叫昂貴工具的智能體,可能在開發者注意到之前進行數百次工具呼叫。實際事件包括通宵執行的智能體向第三方服務產生數千次 API 呼叫,觸發意外帳單和速率限制暫停。
OpenLegion 兩者都強制執行:每個智能體的令牌預算(支出上限)和每個智能體的步驟預算(迭代上限)。任一限制達到時都會停止智能體。
威脅3:委派時憑證暴露
在智能體共享 Python 程序的框架中,智能體 B 預設可以存取智能體 A 的環境變數。被入侵的委派步驟可能暴露工作流程可用的所有憑證。
OpenLegion 透過 Mesh Host 使用 Vault 代理憑證注入。智能體 B 的容器只接收 fleet ACL 矩陣中明確分配給它的憑證,而非智能體 A 的憑證。
威脅4:無界遞迴和自我產生
允許智能體不限制地產生子智能體的工作流程可能被操縱為指數級遞迴。OpenLegion 對此進行限制:can_spawn 權限需要管理員明確授權,子智能體深度受 mesh 設定限制,fleet 範本定義最大智能體數量。
步驟預算與令牌預算:為何兩者都需要
令牌預算限制每個智能體每天的總支出。必要但不充分。令牌預算無法阻止 ReAct 迴圈使用廉價工具執行500次迭代。步驟預算限制推理迭代次數或工具呼叫次數,與令牌成本無關。
OpenLegion 兩者都實作:由 Zone 2 中的成本追蹤器強制執行的令牌預算,以及由協調器在基礎設施層強制執行的步驟預算。
為生產設計智能體工作流程
為任務選擇正確的模式
| 任務類型 | 推薦模式 | 原因 |
|---|---|---|
| 開放式研究 | 帶步驟預算的 ReAct 迴圈 | 需要自適應工具選擇;限制迴圈 |
| 結構化多步驟任務 | 規劃與執行 | 可檢查計畫;降低令牌成本 |
| 品質敏感的產生 | 帶步驟限制的反思迴圈 | 自我校正;硬停止防止失控迴圈 |
| 並行資料收集 | 扇出 + 合成 | 獨立子任務;每個智能體隔離 |
| 長文件處理 | 扇出 + 順序合併 | 並行化分塊處理 |
部署前定義停止條件
智能體工作流程中的每個迴圈都需要一個在基礎設施層強制執行的明確停止條件。如果由模型決定何時停止,提示注入可能阻止其停止。
在步驟邊界驗證輸出
每個步驟邊界都是在傳遞給下一步之前驗證輸出是否符合預期模式的機會。OpenLegion 的 fleet-model 協調在每個交接點應用輸出驗證器。實作細節見 AI 智能體協調指南。
將權限限制為所需最低限度
每個智能體只應擁有其特定步驟所需的工具和權限。權限過大的智能體會放大任何入侵的爆炸半徑。OpenLegion fleet 設定中的每個智能體 ACL 矩陣在協調器層面強制執行最小權限。
智能體工作流程框架:模式支援比較
| 框架 | ReAct | 規劃與執行 | 反思 | 扇出 | 步驟預算 | 容器隔離 |
|---|---|---|---|---|---|---|
| OpenLegion | 是 | 是 | 是 | 是 | 是(硬性) | 是(強制) |
| LangGraph | 是 | 是 | 是 | 是 | 無內建 | 否 |
| CrewAI | 是(Flows) | 是(Crews) | 有限 | 是(parallel) | 否 | 否(僅 CodeInterpreter) |
| OpenAI Agents SDK | 是 | 有限 | 有限 | 是(handoffs) | 否 | 否 |
| AutoGen | 是 | 是 | 是 | 是(group chat) | 否 | 僅程式碼用 Docker |
有關這些框架詳細的安全和架構比較,請參閱 AI 智能體框架比較。
OpenLegion 的觀點
智能體工作流程是大多數框架的安全負債在生產中顯現的地方。沒有步驟預算的 ReAct 迴圈已產生五位數、六位數的意外 API 帳單。CVE-2025-64168(Agno,CVSS 7.1,2025年10月)證明,共享 Python 程序的並發智能體工作流程在高非同步負載下可能將一個使用者的會話狀態暴露給另一個使用者。OWASP LLM02(提示注入,2025 Top 10)將工具結果注入識別為針對基於 ReAct 的智能體工作流程的主要攻擊向量。
OpenLegion 從架構上解決了三個屬性:硬步驟預算(協調器強制執行的最大迭代次數)、每個智能體的容器隔離(並行分支之間沒有共享可變狀態)、Vault 代理憑證注入(委派交接透過 Zone 2 路由)。這些不是設定選項,而是預設架構。
取捨:OpenLegion 約有59個 GitHub Star,而 LangGraph 約25,200個,CrewAI 約44,600個。有關這些模式在框架中如何實作的比較,請參閱 AI 智能體框架比較。
用硬性停止條件構建智能體工作流程,而非寄望於停止。
常見問題
什麼是智能體工作流程?
智能體工作流程是一種多步驟AI流程,其中一個或多個智能體自主選擇工具、將子任務委派給其他智能體,並根據中間結果調整執行計畫。與具有固定步驟的靜態流水線不同,智能體工作流程的執行路徑在執行時由模型推理決定。四種核心模式是 ReAct 迴圈、規劃與執行、反思迴圈和並行扇出,每種模式都有不同的故障模式和安全影響。
智能體工作流程中的 ReAct 模式是什麼?
ReAct(Reason + Act)由 Yao et al. 於2023年引入,在單一迴圈中交織推理軌跡與工具呼叫。每個步驟,模型產生 Thought(推理)、Action(工具呼叫)和 Observation(工具結果)。ReAct 是 LangGraph、OpenAI Agents SDK、AutoGen 和 OpenLegion 中的預設智能體工作流程模式。其主要故障模式是無界迭代和透過工具結果進行的提示注入。
如何防止智能體工作流程中的失控迴圈?
防止失控迴圈的唯一可靠方法是在基礎設施層強制執行停止條件,而不是依賴模型自行停止。需要兩種控制:步驟預算(協調器強制執行的最大迭代次數或工具呼叫次數)和令牌預算(成本追蹤器強制執行的最大支出)。僅令牌預算無法阻止廉價工具的高頻迴圈。僅步驟預算無法限制每次迭代高昂的 LLM 成本。OpenLegion 將兩者都作為硬性上限對每個智能體執行。
智能體工作流程中的規劃與執行是什麼?
規劃與執行將智能體工作流程分為兩個階段:規劃器智能體提前產生完整的任務分解,一個或多個執行器智能體執行每個步驟而不重新規劃。與 ReAct 相比,這降低了令牌成本(繁重的推理一次完成而非每步都進行),並使執行路徑在開始前可檢查。主要故障模式是計畫漂移:如果執行器遇到意外結果,可能會繼續使用過時計畫而非回報差異。
智能體工作流程中的主要安全風險是什麼?
主要攻擊向量是透過工具結果進行提示注入(OWASP LLM02,2025 Top 10)。當智能體讀取網頁、文件、資料庫記錄或外部 API 回應時,該內容作為受信任的輸入到達。惡意文件可能包含將智能體引導至意外動作的指令。緩解措施包括工具結果攝取時的 Unicode 清理、步驟邊界的輸出模式驗證,以及限制成功注入爆炸半徑的容器隔離。
並行扇出在智能體工作流程中如何工作?
並行扇出讓多個智能體同時處理獨立子任務,然後在合成步驟合併結果。它減少了可分解為獨立工作流程的任務的掛鐘時間。故障模式有成本放大(N個智能體成本是N倍)、合成中毒(惡意分支輸出破壞合併結果)、以及並發智能體共享可變程序狀態的框架中的共享狀態衝突。OpenLegion 讓每個並行智能體在具有自己狀態的隔離 Docker 容器中執行,防止共享狀態衝突並獨立限制每個分支。
智能體工作流程中的計畫漂移是什麼?
計畫漂移發生在規劃與執行工作流程中,當執行器智能體遇到意外中間結果時,繼續執行原始計畫而不是回報差異。緩解措施包括明確的計畫驗證檢查點、關鍵計畫步驟的人工審批門控、以及在繼續之前暴露差異的結構化交接協議。OpenLegion 的 fleet-model 協調在任何交接點透過頻道整合支援人在迴圈的檢查點。
智能體工作流程設計與 AI 智能體協調有何不同?
智能體工作流程設計關注步驟層面的結構:使用哪種模式(ReAct、規劃與執行、反思、扇出)、停止條件是什麼、如何驗證工具結果,以及每個步驟中憑證如何劃定範圍。AI 智能體協調關注 fleet 層面的協調:多個工作流程如何排序、智能體如何相互傳遞工作、跨多智能體系統如何管理共享狀態。AI 智能體協調指南涵蓋在此描述的工作流程模式之上執行的 fleet 層面協調原語。