一文搞懂!Loop Engineering 的演進史與本質

前兩天,我們分享了《重磅!Loop Engineering 實作手冊公開》,系統梳理了 Loop Engineering 的六個核心元件與落地方法。

今天來聊聊額外的內容:一是補上 Loop 的演進脈絡;二是補上對 Loop 本質的理解。我們就從最近這兩個判斷說起。

2026 年 6 月,Anthropic Claude Code 負責人 Boris Cherny 說了句讓人愣住的話:

"I don't prompt Claude anymore. I have loops that are running. They're the ones that are prompting Claude and figuring out what to do. My job is to write loops."

圖片

有意思的是,大多數開發者仍在打造完美的提示詞,而製作工具的人完全放棄了提示詞。

同一週,OpenClaw 的創辦人 Peter Steinberger 用另一種方式表達了同一件事:

"You shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents."

圖片

兩個人在不同場合、不同產品上,得出了同一個結論。這不像是巧合,更像是某種工程實踐自然走到了一個轉折點。

本文討論的問題是:Loop 它從哪裡來?解決的到底是什麼問題?以及對大多數人來說,現在該不該動手建一個?

一、Prompt → Context → Harness → Loop

要理解 Loop Engineering,得先理解它之前發生了什麼,弄清楚整條鏈路發生了什麼。

故事從 2024 年講起。那時候跟 AI 協作的方式很簡單:你寫一條 prompt,模型回你一段結果。Prompt Engineering 這個詞就是在這個階段被發明的——用措辭+例子+格式,能讓模型輸出你想要的東西。

這套方法有一個根本性的局限:你必須在一條訊息裡事先預見模型需要的一切。你得把背景、規則、示例、限制全塞進去。模型看到什麼就知道什麼,看不到的只能猜。

到了 2025 年初,人們意識到問題不出在 prompt 的措辭上,而在於模型拿到的資訊太少。Context Engineering(上下文工程)應運而生——不再糾結於怎麼「問」,而是精心構造模型「看到」的東西:system prompt 提供角色和規則,few-shot 示例校準輸出格式,RAG 檢索注入即時知識,結構化輸入讓模型精確理解需求邊界。

上下文做好了,模型不再猜了。但一個新問題浮出來:即使資訊完美,複雜任務一次做不完。重構一個模組需要先讀程式碼、再改介面、再更新呼叫端、再跑測試驗證——這不是一個 prompt 能搞定的事。模型需要多步執行,需要工具,需要在中間觀察結果再決定下一步。

於是 Harness Engineering 出現了。這個名字有點奇怪,但它描述的事情很具體:給 Agent 裝上工具——shell 命令、檔案系統讀寫、MCP 連接器、沙箱環境——然後給它一套重試機制和權限控制,讓它能在一次 session 內完成多步操作。Claude Code、Cursor、Codex 這些產品本質上都是 harness。你給它一個任務,它自己規劃步驟、呼叫工具、觀察結果、在失敗後重試。

Harness 解決了「單次 session 內的執行能力」問題。但它沒解決一個更大的瓶頸——人。

你有一個裝備精良的 Agent。它能讀程式碼、寫程式碼、跑測試、開 PR。但每天早上,是你打開電腦、檢查 CI 狀態、複製錯誤日誌、把日誌貼給 Agent、等它修完、review 結果、批准合併。第二天重複。第三天你可能就煩了。

此時 Agent 的能力不是瓶頸,人才是。

Loop Engineering 的出發點正基於此,把「人觸發 Agent → 人判斷結果 → 人決定下一步」這個循環中的人替換成一個自動化系統。這個系統能定時觸發、能驗證結果、能記住上次做到哪了、能決定繼續還是停止還是回報。

你不再是那個寫 prompt 的人。而是設計 prompt 系統的人。

圖片

二、讓 Loop 跑起來需要什麼

業界通用的 Loop 是六個元件,我們用一個具體場景來看。

假設你的團隊每天都會遇到 CI 紅了的情況——某個測試掛了,某個型別檢查報錯。沒有 Loop 時,流程是這樣的:早上打開電腦,看到 CI 紅了,把錯誤日誌複製出來,貼給 Agent,等它修完,跑測試,提 PR。明天重複。

有 Loop 時,流程變成:每天早上 8 點,系統自動醒來。接下來發生的事情,是一次完整的運行循環——

1、找到要做的事(Automations)。系統檢查 CI 狀態。全綠就什麼也不做。有失敗,就讀取錯誤日誌,確定今天的工作目標。這是觸發層——Loop 需要某種東西把它叫醒,可以是定時器(cron)、可以是事件(CI 失敗觸發 webhook)、也可以是 Agent 自己的心跳偵測。沒有這個,Loop 不會自己開始。

2、隔離:開一個乾淨的工作區(Worktrees)。系統在一個獨立的 git worktree 裡啟動修復。為什麼不直接在主分支上改?因為如果你同時跑三個修復任務,它們不能在同一個程式碼目錄裡互相覆蓋。每個子任務需要自己的副本,互不干擾。

3、讀規則:不從零開始(Skills)。Agent 啟動時先讀專案知識檔案——Codex 叫它 AGENTS.md,Claude Code 叫 CLAUDE.md,更細粒度的技能檔案叫 SKILL.md。不管叫什麼名字,做的是同一件事:把編碼規範、架構約定、常見坑點寫下來,Agent 每次啟動時自動讀取。否則每個 session 都在重新「學習」你的專案,浪費 token,浪費時間。

4、動手:連接真實世界(Connectors)。Agent 修完程式碼後,需要開 PR、關 ticket、通知你。這要求它能觸達外部系統——透過 MCP 連接 GitHub、Linear、Slack、資料庫,與外界互動或通知。

5、驗證:找另一個人打分(Sub-agents)。修完後自動跑測試。但這裡有個關鍵設計:寫程式碼的 Agent 不能自己驗證自己的程式碼——就像學生自己給自己批改考卷,它犯的錯誤恰恰是它發現不了的錯誤,需要用另一個 Agent 來檢查。

6、記住:寫下今天發生了什麼(Memory/State)。測試通過了就開 PR 並更新狀態檔案;沒通過就把「今天嘗試了什麼、卡在哪裡」寫進狀態檔案。下次 Loop 醒來時讀取這個檔案,就知道上次做到哪了、什麼試過失敗了。Agent 的上下文視窗每次都會清空,但磁碟可以用來儲存記憶知識庫。

這就是一次完整的 Loop 運行。你早上打開電腦看到的不再是「CI 紅了」,而是「這裡有個 PR 等你 review」或者「這個問題跑了兩天沒搞定,需要你看看」。

那這裡可能會問:這和 cron job 有什麼區別?看著就像一個定時執行的任務。

區別在於 cron 的邏輯是寫入時就確定的——if CI red then run fix script then commit,硬編碼的 if-else。Loop 內部的決策者是 LLM。同樣是「CI 紅了」,它可能判斷「這是個 flaky test,跳過」,也可能判斷「這涉及三個檔案的依賴變更,需要分步處理」。它的行為在執行時才確定,因為決策者有判斷力。

圖片

三、Loop 的本質:控制論

到目前為止,大多數關於 Loop Engineering 的討論把它當成一個編排問題來講——要用 Worktrees 做隔離,用 Connectors 做連接,用 Memory 做記憶。這些回答的都是怎麼組裝,而不是為什麼要這樣組裝。

回到剛才的 CI triage 例子。仔細看那個流程在做什麼:有一個目標(測試全通過),有一個執行動作(Agent 修復程式碼),有一個檢查(測試套件跑完報告偏差),有一個回饋(把失敗資訊送回去讓 Agent 再來一輪)。

這個結構似曾相識,家裡空調設定 25 度,壓縮機開始製冷,溫度感測器測量室溫,如果還沒到 25 度就繼續製冷,到了就停。汽車巡航定速設定 120 km/h,引擎調節輸出,車速感測器測量實際車速,如果偏低就加油,偏高就減。

這本質都是同一個結構:目標 → 執行 → 測量偏差 → 回饋修正 → 再測量。

這個結構有一個共同名字。控制論(Cybernetics / Control Theory)——研究「系統如何透過回饋維持目標狀態」的學科,1940 年代誕生,核心問題只有一個:怎樣讓一個系統在受到干擾時自動修正回目標。它把這類系統拆成三個角色:控制器決定做什麼,執行器去做,感測器檢查做得怎麼樣並把偏差送回控制器,三者構成閉環。

圖片

先看控制器。

閉環需要一個決策中心——讀取偏差訊號,決定下一步怎麼修正。這就是控制器(Controller)。在 Agent 場景下,控制器是整個編排邏輯:讀取驗證結果,判斷是否達標,如果沒達標就構造下一個 prompt 再跑一輪。

控制器要做出好的決策,面臨兩個困難。第一,它不知道你的專案怎麼做事——編碼規範、架構約定、工具用法,每次從零推導就慢且不穩定。於是就需要把這些規則寫下來,讓控制器每次啟動時直接拿到。這就是 Skills 存在的原因。第二,它不記得上次做到哪了——上下文視窗每次清空,今天不知道昨天已經試過什麼。於是就需要一個活在 session 之外的持久狀態。這就是 Memory/State 存在的原因。

再看執行器。

閉環需要一個角色把決策變成對真實世界的動作。這就是執行器(Actuator)。在 Agent 場景下,執行器是工具呼叫層——檔案編輯、shell 命令、API 呼叫。

執行器要精確操作,也面臨兩個困難。第一,它觸達不了外部世界——控制器說「開個 PR」,得真能連上 GitHub 才行。於是就需要讓執行器的手伸得夠遠。這就是 Connectors(透過 MCP 協定連接的外部服務)存在的原因。第二,多個 Agent 並行時會互相覆蓋——於是就需要隔離的操作空間。這就是 Worktrees 存在的原因。

最後感測器。

閉環需要一個角色在執行完成後測量結果、報告偏差。這就是感測器(Sensor)。在 Agent 場景下,感測器就是驗證,產出的是誤差訊號,看離目標還差什麼。

感測器面臨一個結構性困難:獨立性。如果做事的 Agent 同時充當驗證者,錯誤是相關的——導致 bug 的那個盲點,恰好也是讓它看不到 bug 的盲點。就像做完題後用同一個思路檢查,大概率發現不了錯誤。於是就需要另一個 Agent、甚至另一個模型來做檢查。這就是 Sub-agents 存在的原因。

還有一個不屬於三者中任何一個的東西:Automations(定時器、事件觸發、心跳偵測)。它是閉環的啟動條件——誰來按開始鍵讓回路轉起來。沒有它,三個角色再完善也不會自己主動運行。

至此,Loop Engineering 的六個元件有了歸屬。它們不是拼湊的零件,而是控制自然需要的基礎設施。因為控制器需要知識和記憶,所以有了 Skills 和 Memory;因為執行器需要觸達和隔離,所以有了 Connectors 和 Worktrees;因為感測器需要獨立性,所以有了 Sub-agents;因為閉環不會自己啟動,所以有了 Automations。

現在問一個控制工程早就在問的問題:這個閉環跑起來之後,會怎樣?

空調控制的被控對象是穩定的——加熱功率和溫度的關係不會突然變。而你控制的是個語言模型——同樣的輸入給兩次,輸出可能完全不同。隨機性越強,回饋修正就越不可或缺。

在這個系統上跑 Loop,有三種結局。

收斂到正確狀態——Agent 達到目標,驗證通過,且驗證沒有說謊,沒有幻覺,這是唯一好的結局。

收斂到錯誤狀態——Loop 停下來了,因為感測器報告「通過」,但感測器錯了:測試通過是因為測試本身寫得不對,構建通過是因為出問題的路徑沒被執行,審閱 Agent 通過是因為它太容易同意。這比永遠不停還糟糕,因為它帶著自信地停下了。

發散——Loop 達不到感測器接受的狀態,它越改越偏,最後到達上限退出。

當你想讓 AI 做些更複雜的事情,但是又對品質有要求時,你不能用「固定計劃」去掌控這個系統。而控制論給出的框架是:提高「收斂正確」結局的概率,或者限制後兩種結局的損失。

那在這三個角色裡,誰決定了收斂速度?是感測器。

同樣是做驗證,一個感測器只返回 pass/fail,控制器收到後只知道「還沒好」,不知道哪裡沒好,下一步修正近乎盲猜。但如果感測器返回的是「哪個測試案例掛了、哪個斷言失敗了、是哪個 diff 引入的」,控制器就不是在猜,而是在針對一個具體缺陷做修復。搜尋空間會被進一步壓縮。

大多數人的直覺是反的,花大錢買最強的模型來寫程式碼,然後用簡單的 chat 來做驗證,最後反覆幻覺,離目標越來越偏。而高槓桿的方式是去設計好的感測器,從而返回更豐富的訊號,而不僅僅關注模型更聰明。

這個邏輯就是:"Great prompt + weak verification" will fail; "mediocre prompt + strong verification" will converge. 感測器就是設計本身。

四、怎麼判斷你需不需要 Loop

既然感測器是關鍵,那麼判斷「你該不該建 Loop」的問題就轉化成了一個更具體的問題:

你能不能寫出一個不需要你盯著就能拒絕壞輸出的自動化檢查?

能——你就有閉環的前提。不能——「完成」就是主觀判斷。

即使能閉環,還有幾個現實限制。任務得重複——至少每週出現一次才值得自動化,否則你建的是個很貴的一次性腳本。Token 預算得能承受浪費——Loop 會重讀上下文、重試失敗路徑,無論是否產出成果,每一步探索都會消耗 token。Agent 得擁有足夠的工具觀察結果,否則是在瞎修。

有一類我們常常犯的錯誤,面對目標不可測量的任務的設計。比如「幫我重構這段程式碼讓它更優雅」、「寫一篇好的技術部落格」、「設計一個好的 API」,這些都沒有制定客觀的 pass/fail 標準。「優雅」、「好」是主觀判斷。即使你可以讓另一個 LLM 來打分,但 LLM 打分本身不可靠——它傾向於給高分,且標準會漂移。這種情況下你建了一個 Loop,感測器說「通過了」,但這個「通過」在沒有任何客觀標準時,就是假的閉環。

如果你判斷自己滿足條件,起步的順序就是:先寫 Skills(明確意圖,讓 Agent 不用每次從頭推導你的標準),再寫感測器(確保你能精確定義「什麼叫做完」),最後才套上 cron 觸發器。先建 Inspector,再建 Loop。

Loop 不關心操作它的人是誰。它只管跑「讀感測器 → 判斷 → 再來一輪」。但感測器是你寫的——你對系統理解多深,感測器就能寫多精確。Loop 放大的是你的判斷力。

附錄、參考資料

  1. Loop Engineering: The New Way to Use Claude Code & Codex (https://medium.com/towards-artificial-intelligence/loop-engineering-the-new-way-to-use-claude-code-codex-c55dd65ecc61) — Addy Osmani
  2. Loop Engineering Is NOT What Everybody Thinks It Is (https://medium.com/@agentnativedev/loop-engineering-is-not-what-everybody-thinks-it-is-6719a0f4f83f) — Agent Native Dev
  3. How Claude Code, Codex, and Cursor Do Loop Engineering (https://medium.com/ai-all-in/how-claude-code-codex-and-cursor-do-loop-engineering-28b444968673)
  4. Loop Engineering (https://medium.com/@cobusgreyling/loop-engineering-62926dd6991c) — Cobus Greyling
  5. Why Is Loop Engineering Trending (https://medium.com/generative-ai/why-is-loop-engineering-trending-2acb7029af0c)
  6. Loop Engineering Is Replacing Prompt Engineering (https://medium.com/coding-nexus/loop-engineering-is-replacing-prompt-engineering-why-the-best-developers-dont-prompt-ai-anymore-639c944be3ee)
  7. What is Loop Engineering? How it is different than Harness Engineering (https://medium.com/gitconnected/what-is-loop-engineering-how-it-is-different-than-harness-engineering-0e764f373fb1) — Akshay Kokane
  8. Loop Engineering Is Here. Most of You Should Not Build One Yet (https://medium.com/@alirezarezvani/loop-engineering-is-here-most-of-you-should-not-build-one-yet-part-1-d56f63acda00)
  9. How To Build a Claude Loop Engineering Better Than 99% of People (https://medium.com/data-science-collective/how-to-build-a-claude-loop-engineering-better-than-99-of-people-3ab8701d176c)
相關文章推薦

分享網址
AINews·AI 新聞聚合平台
© 2026 AINews. All rights reserved.