Agent 不是一次性的提問,而是一個會自己跑的迴圈。
總論
迴圈是 agent 的執行單位。
每一圈包含三個動作:蒐集這一步需要的上下文、呼叫工具或產生輸出、檢查結果是否達標。達標就停,未達標就把新結果寫回上下文再跑一圈。設計 agent,本質就是設計這三個動作的內容與順序。
模型能力固定時,迴圈設計是主要槓桿。
同一個模型,配上會自我驗證、會裁剪上下文、有明確停止條件的迴圈,產出品質遠高於「把整段對話一路堆到爆 context」的樸素迴圈。多數 agent 失敗不是模型不夠強,而是迴圈讓它在錯誤的上下文裡空轉。
讓迴圈停下來,比讓它跑起來難。
啟動一個迴圈很容易;讓它在「做完了」時準確停下、在「卡住了」時不要無限重試,才是工程難點。收斂條件、驗證閘門、預算守衛,是把 demo 級 agent 推上生產的關鍵差異。
迴圈結構 Architecture
決定 agent 每一圈「想什麼、做什麼、如何分工」的骨架:基本 agentic 迴圈、ReAct、先規劃後執行、反思自審、協調者—工作者多代理。
迴圈結構
LOOP ARCHITECTURE · 迴圈的基本形狀
排名 01/05
參考 · Building Effective Agents基本 agentic 迴圈:蒐集 → 行動 → 驗證
一切迴圈模式的基底:模型在工具回饋的環境中持續自我導航
最小可用的 agent 迴圈只有一圈邏輯:把當前任務與環境狀態交給模型 → 模型決定呼叫哪個工具或產生何種輸出 → 把工具結果寫回上下文 → 檢查是否滿足停止條件,否則再跑一圈。與固定的工作流(workflow)不同,每一步該做什麼由模型在執行期決定,因此具備處理開放式任務的彈性,代價是需要明確的停止條件與護欄。先用這個樸素版本跑通,再按需要疊加後面的模式。
- ✓ 所有模式的基底
- Tool-use loop
- 動態決策
- 開放式任務
- /
- 05
- 核心
- Gather · Act · Verify
- 適用
- 開放式任務
- 前提
- 明確停止條件
排名 02
模式 · ReAct(Reason + Act)在每次行動前,先寫出推理
交錯「思考」與「行動」,讓決策過程留在上下文裡可被檢查
ReAct 在每一圈讓模型先產出一段明確的推理(為什麼要呼叫這個工具、預期得到什麼),再執行工具呼叫,然後把觀察結果接回下一輪推理。把思考顯式寫進上下文有兩個好處:降低盲目連續呼叫工具的機率,以及讓除錯時能看到每一步的決策依據。代價是 token 開銷增加,對簡單任務可能過重。
- Reason→Act→Observe
- 可除錯
- 減少盲目工具呼叫
- 節奏
- 思考→行動→觀察
- 取捨
- Token 開銷
排名 03
模式 · Plan-then-Execute先產出一份計畫,再逐步執行
把長任務拆成「規劃階段」與「執行階段」,降低中途迷路
先讓模型針對整個任務產出一份明確的步驟計畫,再由迴圈逐步執行每一步,必要時在某步失敗後重新規劃。對需要多步、有先後依賴的任務,先規劃能固定住整體方向,避免 agent 在中途被局部資訊帶偏。Claude Code 的 plan mode 即是此模式的具體實作:先審計畫、再放手執行。風險是計畫過早定死,遇到執行期才浮現的事實時需要明確的重規劃路徑。
- 規劃 / 執行分離
- 長任務
- 可重新規劃
- 階段
- Plan → Execute
- 適用
- 多步依賴任務
排名 04
模式 · Reflection(自我批判)產出後再跑一圈自我審查
用「生成 → 評審 → 修訂」的內迴圈提升單次產出品質
在交付前,讓模型(或另一個扮演評審角色的呼叫)對自己的產出提出具體缺陷,再據此修訂。把生成與評審分成兩個角色,能避免模型對自己的答案過度自信。對程式碼、長文、結構化資料特別有效,因為缺陷通常可被明確指出。務必設上限:固定迭代次數或「連續兩輪無新缺陷即停」,否則容易陷入反覆微調而不收斂。
- 生成→評審→修訂
- 品質把關
- 需設迭代上限
- 內迴圈
- Generate · Critique
- 風險
- 不收斂
排名 05
模式 · Orchestrator–Worker主迴圈派工,子代理各跑各的迴圈
把可平行、可獨立的子任務交給隔離上下文的 subagent
協調者迴圈負責拆解任務、分派給多個工作者代理、再彙整結果;每個工作者擁有自己獨立的上下文視窗,只回傳結論而非整段過程。這讓主迴圈的上下文保持精簡,並能平行處理彼此無依賴的子任務(如同時審查多個檔案、多角度查證同一主張)。適合「廣度掃描 + 收斂彙整」型任務;不適合子任務間需頻繁共享中間狀態的情形。
- 多代理平行
- 上下文隔離
- 扇出 / 彙整
- 結構
- 協調者 / 工作者
- 適用
- 可平行子任務
上下文 工程
迴圈跑越多圈,上下文越容易膨脹、失焦。這一節是控制「每一圈模型實際讀到什麼」的方法:壓縮、外部記憶、工具結果裁剪、子代理隔離、即時檢索。
上下文工程
CONTEXT ENGINEERING · 讓迴圈每一圈讀到對的東西
排名 01/05
主題 · Context Engineering上下文壓縮:逼近視窗上限前先摘要
長迴圈最常見的失敗點,是上下文塞滿後品質斷崖式下降
迴圈每跑一圈,工具輸出、中間推理、歷史訊息都在累積。當上下文逼近視窗上限,模型不僅變慢變貴,還會開始遺漏關鍵資訊。壓縮(compaction)的做法:在達到門檻時,把前段對話摘要成「已完成的事 + 關鍵決策 + 待辦」,丟掉冗長的原始工具輸出,只保留結論。關鍵是摘要什麼、丟什麼 — 保留決策與未解問題,捨棄可重新取得的原始資料。Claude Code 的自動 compaction 即依此運作。
- ✓ 長迴圈必備
- 摘要保留決策
- 捨棄原始工具輸出
- 門檻觸發
- /
- 05
- 時機
- 逼近視窗上限
- 保留
- 決策 · 待辦
- 捨棄
- 可重取原始資料
排名 02
模式 · External Memory把要記住的事,寫到上下文之外
用檔案或筆記當記憶,跨壓縮、跨工作階段保留狀態
上下文視窗是易失的工作記憶,壓縮或重啟後就沒了。把需要長期保留的內容(待辦清單、已確認事實、產出進度)寫進外部檔案,迴圈每圈再按需讀回,就能在不佔用視窗的前提下跨越壓縮邊界。常見實作是讓 agent 維護一份 todo.md 或結構化筆記檔;Claude Code 的 memory 與計畫檔即屬此類。原則:上下文放當前要用的,外部記憶放之後要用的。
- 檔案即記憶
- 跨壓縮保留
- to-do 持久化
- 載體
- 外部檔案
- 解決
- 易失工作記憶
排名 03
模式 · Tool Result Curation工具回傳的東西,不要原封不動塞回去
迴圈膨脹最快的來源,是未經裁剪的工具輸出
一次檔案讀取、API 回應或搜尋結果,可能塞進幾千 token,其中對當前決策有用的往往只有幾行。讓工具層先做裁剪:分頁、只回需要的欄位、用摘要取代全文、對大型結果回傳引用 ID 而非內容本身。設計工具時就把「回傳給模型的形狀」當成介面的一部分,而非把原始 payload 直接倒進上下文。這直接決定迴圈能跑多少圈才撞上視窗上限。
- 分頁 / 欄位過濾
- 摘要取代全文
- 回傳引用 ID
- 原則
- 回傳形狀即介面
- 效果
- 延後視窗上限
排名 04
模式 · Context Isolation把髒活外包給子代理的乾淨上下文
用 subagent 隔離大量探索,只把結論帶回主迴圈
有些子任務(翻遍整個程式庫找某個用法、讀十篇文件抽結論)會產生大量中間上下文,但主迴圈只需要最終結論。把這類工作交給一個子代理:它在自己的視窗裡盡情翻找,主迴圈只收到一段精煉答案,過程不污染主上下文。這與 Orchestrator–Worker 結構互補 — 前者談如何分工,這裡談為何分工:隔離是為了保護主迴圈的上下文預算。代價是子代理看不到主迴圈的全部背景,分派時要給足任務描述。
- 探索外包
- 只回結論
- 保護主上下文
- 用途
- 隔離大量探索
- 取捨
- 需充分任務描述
排名 05
模式 · Just-in-Time Retrieval需要時才取,而非預先全塞
給 agent 取資料的工具,而不是把所有資料前置灌進提示
與其在迴圈開始前把可能用到的文件全部塞進系統提示,不如給 agent 檢索與讀取的工具,讓它在某一圈真正需要時才去拿。這讓上下文只承載「當前這步用得到」的資訊,而非「整個任務可能用到」的全部。即時檢索 + 工具結果裁剪是控制長迴圈上下文成本的主要組合。前提是檢索工具要可靠且可被 agent 正確選用,否則它會反覆取錯資料而空轉。
- 按需檢索
- 取代前置灌入
- 壓低每圈成本
- 時機
- 執行期按需
- 前提
- 可靠檢索工具
收斂與控制
把 demo 級 agent 推上生產的關鍵:明確的停止條件、驗證閘門、人為檢查點、預算守衛、可觀測性、錯誤恢復。沒有這一層,迴圈會在該停時不停、該停時亂停。
收斂與控制
CONVERGENCE & CONTROL · 讓迴圈準時停、不空轉
排名 01/06
模式 · Termination Conditions明確定義「做完了」與「該放棄了」
沒有停止條件的迴圈,不是會空轉,就是會提早交差
每個迴圈都要回答兩個問題:什麼情況算成功完成、什麼情況該停止重試。常見的停止條件包括:通過驗證(測試綠燈、結構符合 schema)、達到迭代上限、連續數輪無新進展(loop-until-dry)、耗盡預算。沒有明確條件時,agent 要嘛在已完成後仍反覆動作,要嘛在第一個看似合理的結果就停。把停止條件寫成可程式判斷的規則,而非交給模型自行感覺,是迴圈可靠的前提。
- ✓ 迴圈可靠的前提
- 迭代上限
- loop-until-dry
- 可程式判斷
- /
- 06
- 成功條件
- 通過驗證
- 放棄條件
- 上限 · 無進展
- 原則
- 規則化,非靠感覺
排名 02
模式 · Verification Gates每一圈的產出,交給可信工具驗證
用測試、type check、schema 校驗當迴圈的真值來源
不要讓 agent 自己宣稱「完成了」就相信。在迴圈中插入確定性的驗證閘門:程式碼任務跑測試與 lint、結構化輸出做 schema 校驗、事實主張交給獨立的查證代理。驗證結果(而非模型的自我評估)才是決定續跑或停止的依據。這把「模型覺得對」轉成「工具證明對」,是 agent 從看起來能用到實際能用的分水嶺。驗證失敗時,把具體錯誤訊息寫回上下文,讓下一圈據此修正。
- 測試 / lint 閘門
- schema 校驗
- 獨立查證代理
- 真值來源
- 工具,非自評
- 失敗時
- 回寫錯誤訊息
排名 03
模式 · Human-in-the-Loop在不可逆動作前,把方向盤交回人手
高風險步驟設檢查點,由人確認後迴圈才繼續
完全自動的迴圈適合可逆、低風險的任務;一旦涉及刪除資料、發送對外訊息、動用花費或修改生產環境,就該插入人為檢查點:迴圈暫停、呈現它打算做什麼、等人核可後再繼續。設計重點是只在真正需要的節點打斷 — 太頻繁的確認會抵消自動化的價值,太少則放任風險。Claude Code 的權限提示與 plan mode 審核即是此模式:危險動作要人點頭,安全動作放手跑。
- 不可逆動作暫停
- 人為核可
- 節制打斷頻率
- 觸發
- 高風險 · 不可逆
- 設計
- 只在關鍵節點
排名 04
模式 · Budget Guards給迴圈一個硬上限
用 token、步數、時間或金額的上限,兜住失控的迴圈
自主迴圈最貴的失敗是無聲地燒掉預算:卡在某個無解狀態反覆重試,或在已偏離的方向上越走越遠。設定明確的資源上限 — 最大 token、最大工具呼叫次數、最長執行時間 — 並在每圈檢查;逼近上限時優雅收尾並回報已完成的部分,而非硬切。預算守衛與停止條件互補:停止條件管「做完就停」,預算守衛管「再做下去不划算就停」。對排程或無人值守的 agent 尤其必要。
- token / 步數上限
- 逼近時優雅收尾
- 無人值守必備
- 上限
- token · 步數 · 時間
- 行為
- 優雅收尾回報
排名 05
模式 · Observability每一圈都留下可追溯的紀錄
看不見迴圈在做什麼,就無法判斷它為何失敗
自主迴圈的失敗往往發生在第幾十圈的某個決策,事後若沒有紀錄就無從重現。把每圈的輸入摘要、工具呼叫、結果、與停止判斷記錄下來(結構化日誌或 trace),讓你能回放整段執行、定位是哪一步開始偏離。可觀測性不改變迴圈行為,但決定了你能不能改進它。對長時間執行、多代理、排程型 agent,這是除錯與成本歸因的基礎設施,不是事後補件。
- 逐圈 trace
- 可回放
- 成本歸因
- 紀錄
- 輸入 · 呼叫 · 結果
- 用途
- 回放 · 定位偏離
排名 06
模式 · Error Recovery把錯誤當成迴圈的輸入,而非終點
工具失敗、輸出不合格時,讓迴圈能退一步重試而非崩潰
真實環境的工具會超時、回傳錯誤、給出不合格式的結果。穩健的迴圈把這些當成正常輸入:捕捉錯誤、把錯誤訊息寫回上下文、讓模型在下一圈據此調整(換參數、換工具、或回報無法完成)。配合有限的重試次數與退避策略,避免對同一個失敗無限重撞。關鍵區分:可恢復的錯誤交給迴圈自行修正,不可恢復的錯誤明確上報並停止,而不是讓 agent 假裝成功繼續往下走。
- 錯誤回寫上下文
- 有限重試 + 退避
- 區分可否恢復
- 可恢復
- 迴圈自行修正
- 不可恢復
- 上報並停止
把模式組合成迴圈
應用組合
單一模式很少夠用。依任務類型選一組起手配置,先跑通最小迴圈,再按瓶頸疊加上下文與控制模式。
01 · 程式碼代理 · Coding Agent
基本迴圈 + 驗證閘門 + 錯誤恢復
以 蒐集 → 行動 → 驗證 為主幹,每圈用測試與 lint 當真值來源,失敗訊息回寫上下文讓下一圈修正。停止條件設為「測試全綠」或迭代上限。任務長時加上上下文壓縮。這是 Claude Code 寫程式時的迴圈骨架。
02 · 研究與報告 · Research
協調者—工作者 + 即時檢索 + 查證
主迴圈拆解問題、扇出多個隔離上下文的子代理各自檢索,回傳精煉結論;再用獨立查證代理對關鍵主張做驗證。以「連續無新發現即停」(loop-until-dry)收斂。適合多來源、需交叉查證的深度研究。
03 · 自動化任務 · Automation
先規劃後執行 + 人為檢查點
多步、有依賴的營運任務,先讓模型產出計畫、審過再執行。涉及刪除、對外發送、動用花費的步驟插入人為核可;其餘放手跑。執行期浮現新事實時走重新規劃路徑,而非硬推原計畫。
04 · 無人值守 · Scheduled / Headless
預算守衛 + 可觀測性 為底線
排程或背景執行的 agent,沒有人盯著,所以硬上限與逐圈 trace 不可省:設定 token/步數/時間上限,逼近時優雅收尾並回報;每圈留下可回放的紀錄,讓失敗能事後定位與成本歸因。
AI-First 設計與技術顧問公司。15+ 年、300+ 品牌。我們把 Claude、MCP、Agentic Commerce 接進 Headless CMS、Webflow、Shopify Plus 的企業級交付 — 讓 AI 透過 GEO (AEO) 找到你的品牌,讓 B2B ABM 把買家轉成營收。
解決方案
By Topic
資源
公司
© 2026 Tenten Inc. · 迴圈工程 Loop Engineering 手冊 · 由 Tenten 編寫與策展。內容為 agent 迴圈設計的通用工程模式,實作細節請以各自的框架與官方文件為準。轉載與引用請保留來源。