# 策展 · X (Twitter) 🔥🔥🔥🔥

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 作者：Samuel McDonnell (@samueljmcd) · 平台：X (Twitter) · 日期：2026-06-16

> 原始來源：https://x.com/samueljmcd/status/2066524627585634765

## 中文摘要

# 我對 Loop Engineering 的看法

Loop engineering（迴圈工程）是現在的新名詞。但困難的部分一直沒變，那就是：驗證（Verification）。

小撇步：如果你不想讀完這篇文章，可以直接複製貼上到 Claude，請它幫你整理出最精華的觀點！！

現在業界流傳著一句話。Claude Code 的創作者兼負責人 Boris Cherny 在六月的 Fortune Brainstorm Tech 會議上提到，他現在已經不再親自撰寫 Prompt 了。他的說法是，現在是另一個 Claude 在負責下 Prompt。在某個早晨，他同時管理著數百甚至數千個 Agent。

圍繞著這個現象發展出來的框架就是「Loop engineering」。這個概念的推銷方式分為三個階段：2024 年是寫出好的 Prompt；2025 年是並行執行 Agent；2026 年則是打造出能為你執行 Agent 的迴圈。你不再需要親自輸入 Prompt，而是開始設計一套能自動輸入 Prompt 的系統。

這個框架在一定程度上是沒問題的，但它也掩蓋了決定你的迴圈能否真正產出成果的關鍵。一個迴圈本質上就是一個連接到驗證器的生成器。生成器從來都不是瓶頸，驗證器才是。

![這張圖表展示了一個由「生成器」與「驗證器」組成的循環工作流程，用於確保產出品質並進行迭代。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/1984a2535e28927a.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖片標題為「FIG. 1 A loop is a generator wired to a verifier」（圖 1：一個由生成器連接至驗證器的循環）。
圖中包含兩個主要組件：
1. 左側為「GENERATOR」（生成器），下方註記「writes the work」（負責撰寫工作）。
2. 右側為「VERIFIER」（驗證器），下方註記「the gate」（作為閘門），並標有勾選符號。

流程說明如下：
- 生成器輸出內容至驗證器。
- 若通過驗證（pass），則進入「PASS -&gt; SHIP」（通過並發布）階段。
- 若未通過驗證（fail），則產生「feedback」（回饋）並進行「next iteration」（下一次迭代），虛線箭頭將回饋導回生成器以進行修正。</div></details>

## 迴圈的本質是什麼

把術語簡化來看。迴圈取代了人類「提示、閱讀、再次提示」的循環，轉而採用一種自動運行的週期：探索、規劃、執行、驗證，並不斷重複直到達成條件。Agent 會驅動自己的迭代過程，而你負責設計它運行的軌道。

最簡單的版本是單一 Agent 對自己的輸出進行迴圈處理：研究、草擬、對照目標、修復弱點，重複直到達到標準。這就像是一個人在修改草稿，差別在於這個人不會感到厭倦。

規模較大的版本則是一個「艦隊」。目標會交給協調者（Orchestrator），協調者將任務拆解並分發給專家，專家再將細節工作交給子 Agent。這個樹狀結構在每個層級都會執行探索、規劃、執行、驗證，直到目標達成。前者是一位單打獨鬥的作者，後者則是一個端到端執行專案的團隊。

![此圖表展示了單一代理（Single Agent）與代理群體（Fleet）兩種不同規模的任務執行流程比較。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/d74a277c1bd8d8b6.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖片標題為「FIG. 2 Same loop, two scales」，分為左右兩個部分：

左側為「SINGLE AGENT」（單一代理）：
- 流程包含三個步驟：draft（草稿）、check（檢查，標註有勾號）、fix（修正）。
- 箭頭指示從 draft 到 check，再到 fix，並有一條虛線箭頭從 fix 指回 draft，標註為「repeat」（重複）。
- 下方文字說明：「rewrites its own draft」（重寫其自身的草稿）。

右側為「FLEET」（代理群體）：
- 頂層為「ORCHESTRATOR」（協調者）。
- 中間層為「specialist A」與「specialist B」。
- 底層為四個「sub」（子任務，均標註有勾號），分別對應 specialist A 與 specialist B。
- 虛線箭頭從底層的「verified results」（驗證結果）指向 ORCHESTRATOR。
- 下方文字說明：「a team running the project end to end」（一個從頭到尾執行專案的團隊）。</div></details>

這些本質上都不是新東西。它就是你已經在運行的 Agent 迴圈，只是把人類從內部的循環中抽離出來，提升到設計者的層次。

## 開放式與封閉式

迴圈有兩種形態，而這兩者的差異就是成敗的關鍵。

開放式迴圈（Open loop）給予 Agent 廣闊的探索空間。雖然有條件和目標，但在中間過程擁有自由。它可以找到你未曾指定的路徑，並產出你未曾規劃的成果。這正是真正創新輸出的來源。但同時，它也會以大多數預算無法負荷的速度消耗 token，如果標準過於寬鬆，它就會變成一台製造垃圾的機器。迴圈越自由，就越依賴檢查工作的機制。

封閉式迴圈（Closed loop）則會預先鎖定執行路徑。有明確的目標、定義好的步驟、每一步的評估，以及停止條件或將執行資料附帶給人類的交接機制。Agent 依然在迴圈中，但它是在你建立的框架內運作。因為路徑受到限制，它能在正常的預算內運行。

![這張圖表比較了「開放式（Open）」與「封閉式（Closed）」兩種工作流程的差異與特性。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/13b1276e4cd61045.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖片標題為「FIG. 3 Open vs closed」。
左側為「OPEN · EXPLORE」流程：
- 起點為「goal」。
- 透過發散的虛線指向四個不同的圓形節點，其中最上方標註為「novel」，下方兩個標註為「slop」。
- 下方文字說明：「no gate · expensive · drifts」。

右側為「CLOSED · EXECUTE」流程：
- 起點為「goal」。
- 依序向下連結至「step 1」與「step 2」，每個步驟旁皆有對應的「eval ✓」評估框。
- 最後連結至「stop · ship」節點。
- 下方文字說明：「bounded · gated · ships」。

此圖表對比了兩種模式：開放式探索流程缺乏門檻、成本較高且容易偏離目標；封閉式執行流程則有明確邊界、設有評估關卡，且能確保產出。</div></details>

封閉式迴圈才是目前能產出成果的方式。人們常將功勞歸於 Agent 的自主性，但自主性並非原因，評估閘門（Evaluation gate）才是。這個閘門能阻止自信滿滿的錯誤答案傳播到下一次迭代，甚至是之後的迭代。

這也是大多數關於迴圈的討論會避而不談的地方。每個人都會畫出「探索、規劃、執行、驗證」的圖表，但幾乎沒人精確說明「驗證」方塊裡到底是什麼。那個方塊才是產品的核心，其餘的都只是管線工程。

## 迴圈的起源

Loop engineering 並非憑空出現，其背後有兩種研究模式作為支撐。

源自普林斯頓大學與 Google 的 **ReAct**，交替進行推理與行動。思考、行動、觀察結果、再次思考，重複直到完成。用程式開發的術語來說：理解目標、撰寫程式碼、執行、讀取錯誤、推斷原因、修復、重新執行，直到測試通過。迴圈本身就是重點。

**Reflexion** 則是具備記憶的 ReAct。當嘗試失敗時，Agent 會用簡單的語言寫下失敗原因，儲存該筆記，並在下次嘗試時讀取它。在現代的 harness 中，這份筆記會存放在檔案中，而不是 context window 裡。這就是現在人們所稱的「持久化記憶」的種子。

![此圖比較了 ReAct 與 Reflexion 兩種架構的運作流程差異。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/3a29f728926cb094.png)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖表標題為「FIG. 5 ReAct → Reflexion」。

左側為「ReAct · reason + act」流程：
- thought
- action · call tool
- observation (✓ read the result)
- 設有虛線箭頭標示「loop」，從 observation 回到 thought。

右側為「Reflexion · ReAct + memory」流程：
- attempt
- fail
- reflect (write why it failed)
- memory (以文件圖示表示)
- 設有虛線箭頭標示「reuse next attempt」，從 memory 回到 attempt。</div></details>

這兩種模式的核心思想是一樣的：會自我檢查的 Agent 勝過不會檢查的 Agent。

## 內迴圈與外迴圈

一個有用的迴圈包含兩個層次，而這兩者經常被混淆。

**內迴圈（Inner loop）** 在單一任務內運行。Agent 在回答前會先驗證自己的工作。較弱的 Agent 修改檔案後就說完成了；較強的 Agent 會修改檔案、撰寫測試、執行測試、捕捉失敗的邊緣案例、修復它、重新執行、確認通過，然後才說完成。工具是一樣的，唯一的差別在於模型是否選擇呼叫驗證器。這個選擇，就是展示品與實際成果之間的差距。

**外迴圈（Outer loop）** 則跨越不同的對話階段（sessions）運行。當 Agent 在某處失敗時，它會將經驗記錄在持久化檔案中，之後的對話階段會讀取該檔案，從一開始就避免犯錯。`SKILL.md` 和 `AGENTS.md` 是存放這些資訊的理想位置。當 context window 重置時，Agent 會遺忘，但程式庫不會。

![此圖表展示了軟體開發流程中的「內部迴圈」與「外部迴圈」運作機制。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/3968dc9387e3bad4.png)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖表標題為「FIG. 4 Inner loop and outer loop」。

1. **INNER · WITHIN ONE TASK（內部 · 單一任務內）**：
   - 流程包含三個節點：edit（編輯）、run tests（執行測試，下方註記「✓ before answering」）、respond（回應）。
   - 當「run tests」通過（pass）時，流程進入「respond」。
   - 若測試失敗，則透過「fail · fix · rerun」的路徑回到「edit」重新編輯。

2. **OUTER · ACROSS SESSIONS（外部 · 跨工作階段）**：
   - 流程包含兩個節點：session 1（工作階段 1，下方註記「hits the wall」）、session 2（工作階段 2，下方註記「starts ahead」）。
   - 當「session 1」遇到瓶頸（hits the wall）時，會執行「writes lesson」（寫入經驗教訓）至「SKILL.md」與「AGENTS.md」檔案中。
   - 隨後「session 2」透過「reads next run」（讀取下一次執行）讀取這些檔案，從而以更進階的狀態開始。</div></details>

內迴圈已經很成熟，大多數 Agent 現在都能做到。外迴圈則還在建設中。要在正確的地方、以正確的粒度持久化正確的經驗，比聽起來更困難，而這正是目前許多價值尚未被挖掘的地方。

這兩個層次都是驗證。內迴圈驗證任務，外迴圈驗證你不會重蹈上週的覆轍。如果無法觀察到這些過程，它們就沒有多大價值。你無法改善一個無法衡量的迴圈。在擴展迴圈之前，請先為閘門加上監控，否則你只是在加速產生錯誤答案而已。

## Bun 的移植案例，以及 Anthropic 寫下的那行字

這個旗艦級的展示案例值得仔細閱讀，因為它比任何圖表都更能說明問題。

開發 Bun 的 Jarred Sumner 利用 Claude Code 的動態工作流（dynamic workflows），將 runtime 從 Zig 移植到 Rust。大約 75 萬行的 Rust 程式碼，現有測試套件的 99.8% 依然通過。Anthropic 表示從第一次 commit 到 merge 只花了 11 天，Sumner 本人則說是 6 天。無論哪個數字都非常驚人。

看看它是如何建構的：第一階段映射了每個 struct 欄位正確的 Rust lifetime；第二階段將每個檔案寫成行為一致的移植版本，同時運行數百個 Agent，每個檔案都有兩個審查 Agent。另外還有一層專門負責反駁其他 Agent 產出結果的 Agent。接著，一個修復迴圈驅動了建置與測試套件，直到兩者都順利通過。驗證並不是最後的步驟，它實際上就是架構本身。

![這張圖表展示了將 Bun 專案從 Zig 語言移植到 Rust 語言的自動化架構流程。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/2602063b4228a9f7.png)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖表標題：FIG. 6 The Bun port put verification in the architecture

流程說明：
1. 起始點：Zig codebase。
2. 轉換階段：透過數百個「port .zig -&gt; .rs agent」進行程式碼轉換。
3. 審核階段：進入「adversarial review」（對抗性審核），每個檔案由 2 個審核代理（reviewer agents）進行反駁與驗證。
4. 修復階段：進入「fix loop」（修復迴圈），驅動建置與測試套件直到通過（drive build + test suite to green），若未通過則循環回審核階段（until green）。
5. 最終結果：合併（merged），共約 750k 行 Rust 程式碼。
6. 狀態標註：右下角標註「≈99.8% suite pass - not yet in production」（約 99.8% 的測試套件通過，尚未投入生產環境）。</div></details>

然後是 Anthropic 在公告中寫下的但書：該移植版本尚未進入生產環境。

這是整篇發布中最誠實的一句話，也是我會特別畫重點的地方。現有測試套件 99.8% 的通過率是一個基準測試結果。它告訴你，移植版本重現了舊測試已經描述過的行為。而生產環境則是那些還沒人寫過測試的行為。這兩者之間的差距，正是整個產業不斷跌倒的地方。一個通過測試的迴圈並不代表它是正確的，它只代表它滿足了你給它的驗證器。輸出的品質上限取決於驗證器的品質，絕不會更高。

## 那麼，你到底該建構什麼

機械性的部分並不稀奇。例如：用排程觸發器來發現工作並啟動 Agent；使用獨立的 git worktrees 以免並行 Agent 互相干擾；建立 skills 檔案，這樣就不必每次執行都重新解釋專案規範；連接到工作所在的工具；分離生成器與驗證器的角色，因為讓 Agent 自己評分通常會過於寬鬆；以及記憶：那個能跨越對話存續並傳承經驗的檔案。

原生工具已經跟上了大部分需求。目前文件化的功能包括 `/goal`，它能設定完成條件並持續工作直到達成（於 v2.1.139 加入）；以及動態工作流，Claude 會撰寫一個協調腳本，將工作分發給多個並行 Agent（部分方案預設開啟，其他則受限於 ultracode 與 `/config`，研究預覽版 v2.1.154+，限制為單次運行最多 16 個併發與 1000 個 Agent）。兩者都減少了同樣的東西：你不斷指示、檢查、再指示的來回過程。

當任務確實無法在一次執行中完成時，請使用這些功能。它們消耗的 token 比一般對話多得多。並非每個工作都適合工作流，將小任務強行包裝成工作流本身就是一種浪費。

## 瓶頸已經轉移

作為 Loop engineering 被兜售的技能是真實存在的，只是它指向了系統中錯誤的一半。設計協調機制現在已經是簡單的部分，工具已經幫你完成了大部分工作。真正困難、仍需手動，且真正決定成果的地方，依然是評估閘門。Agent 檢查什麼？對照什麼？失敗如何在傳播前被攔截？什麼內容被記錄下來，以便下一次運行能站在更高的起點？

在 Agent 時代，管理不再是關於聘請能幹的員工。員工既能幹又便宜。管理的核心在於設計他們運作的約束條件，這與過去管理人類時並無二致。

設計驗證器，而不是設計 Prompt。

資料來源：Boris Cherny 的發言，Fortune Brainstorm Tech（2026 年 6 月）。動態工作流與 Bun 移植案例，Anthropic 的「Introducing dynamic workflows in Claude Code」以及 Claude Code 文件。ReAct（Yao 等人，普林斯頓大學與 Google）。Reflexion（Shinn 等人）。關於五大組件加記憶的框架，參考了 Addy Osmani 關於 Agent 迴圈的文章。

## 標籤

Loop Engineering, Agent, Claude Code, 教學資源, Anthropic, Claude
