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

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

> 作者：ClaudeDevs (@ClaudeDevs) · 平台：X (Twitter) · 日期：2026-07-07

> 原始來源：https://x.com/ClaudeDevs/status/2074208949205881033

## 中文摘要

# 開始使用 Loops

現在關於「設計 Loops」（迴圈）而非僅僅是向你的程式開發 Agent 下達 Prompt 的討論非常熱烈。如果你花點時間在 X 上試圖釐清「Loop」到底是什麼，你會發現各種不同的答案。

在 Claude Code 團隊中，我們將 Loop 定義為：Agent 重複執行工作週期，直到滿足停止條件為止。我們根據以下幾個維度將 Loop 分為幾種類型：

- 它們是如何被觸發的

- 它們是如何停止的

- 使用了哪些 Claude Code 的基礎功能（primitive）

- 每一種 Loop 最適合處理什麼類型的任務。

我們將介紹主要的 Loop 類型、何時使用它們，以及如何在管理 token 用量時維持程式碼品質。並非所有任務都需要複雜的 Loop；請從最簡單的解決方案開始，並有選擇性地使用這些模式。

---

## 基於回合的 Loop (Turn-based loops)

![此圖表展示了 Claude 在執行任務時的循環運作流程，包含收集背景資訊、採取行動及驗證工作成果的階段。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/56135a9aa4fab91c.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖片呈現了一個流程循環圖，說明 Claude 處理任務的機制：
1. 起始點：Your prompt（您的提示詞）。
2. 循環流程：
   - Gather context（收集背景資訊）
   - Take action（採取行動）
   - Verify the work（驗證工作成果）
3. 終點：Response（回應）。
4. 底部說明文字：Exits when Claude judges the task complete — or the effort budget runs out.（當 Claude 判斷任務完成，或努力預算耗盡時退出循環。）</div></details>

- 觸發方式：使用者的 Prompt。

- 停止標準：Claude 判定任務已完成，或需要額外的上下文（context）。

- 最適合：不屬於常規流程或排程的較短任務。

- 管理用量方式：撰寫具體的 Prompt，並透過使用 skill 來改進驗證流程，以減少回合數。

你發送的每一個 Prompt 都會開啟一個手動 Loop，由你來引導每一個回合。Claude 會收集上下文、採取行動、檢查工作成果、在必要時重複執行，並做出回應。我們稱之為 Agentic Loop。

例如，要求 Claude 建立一個「讚」按鈕。它會讀取你的程式碼、進行編輯、執行測試，並交回它認為可行的成果。接著你手動檢查工作成果，並撰寫下一個 Prompt。

你可以透過將手動步驟編碼為 `SKILL.md` 來改進驗證步驟，讓 Claude 能夠端到端地檢查更多自己的工作。這應該包含工具或連接器，讓 Claude 能夠查看、測量或與結果進行互動。檢查越具量化指標，Claude 就越容易進行自我驗證。

例如，你可以在 `SKILL.md` 檔案中指定：

```markdown
--- 
name: verify-frontend-change 
description: Verify any UI change end-to-end before declaring it done. 
--- 

# Verifying frontend changes 
Never report a UI change as complete based on a successful edit alone. Verify it the way a human reviewer would: 

1. Start the dev server and open the edited page in the browser. 

2. Interact with the change directly. For a new control (button, input, toggle): click it, confirm the expected state change, and screenshot before/after. 

3. Check the browser console: zero new errors or warnings. 

4. Use the Chrome Devtools MCP, run a performance trace and audit Core Web Vitals.

If any step fails, fix the issue and rerun from step 1 — do not hand back partially verified work.
```

---

## 基於目標的 Loop (/goal)

![此流程圖展示了 Claude 執行任務時，透過評估模型進行條件檢查的自動化循環機制。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/38b8deb5fcea40e5.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">該圖表描述了一個自動化工作流程，包含以下文字內容：
- 頂部指令：`/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries`
- 循環左側：`Claude works on the task`
- 循環路徑（順時針）：`tries to stop`
- 循環中心：`Evaluator model` 下方標註 `checks your condition`
- 循環路徑（逆時針）：`condition not met — sent back to work`
- 循環右側（結束點）：`Loop ends` 下方標註 `goal met, or the turn limit is reached`

圖表重點在於展示一個「工作—評估—循環」的機制：Claude 執行任務後，由評估模型（Evaluator model）檢查是否達成設定條件。若未達成，則將任務送回 Claude 繼續執行；若達成條件或達到嘗試次數上限（turn limit），則結束循環。</div></details>

- 觸發方式：即時的手動 Prompt。

- 停止標準：達成目標 或 達到最大回合數。

- 最適合：具有可驗證退出標準的任務。

- 管理用量方式：設定明確的完成標準與回合上限，例如「嘗試 5 次後停止」。

有時候，單一回合是不夠的，特別是對於較複雜的任務。當 Agent 可以進行迭代時，表現會更好。你可以透過使用 `/goal` 定義「完成」的樣貌，來延長 Claude 持續迭代的時間。

當你定義了成功標準，Claude 就不必自行判斷什麼是「足夠好」並提早結束 Loop。每當 Claude 嘗試停止時，評估模型會檢查你的條件，並將其送回工作狀態，直到達成目標或達到你定義的回合數為止。

這就是為什麼確定性的標準（例如通過的測試數量，或達到特定的分數門檻）如此有效的原因。

例如：

```bash
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries.
```

---

## 基於時間的 Loop (/loop 與 /schedule)

- 觸發方式：指定的時間間隔。

- 停止標準：你取消它，或者工作完成（例如 PR 已合併、佇列已清空）。

- 最適合：重複性的工作，或與外部環境/系統進行介接。

- 管理用量方式：設定更長的間隔，或根據事件而非時間來進行反應。

有些 Agentic 工作是重複性的：任務保持不變，只有輸入內容會改變。例如，每天早上總結 Slack 訊息。其他工作則依賴外部系統，與其介接的一個簡單方法是定期檢查它，並對變更做出反應。例如，一個可能會收到程式碼審查或 CI 失敗的 PR。

對於這些情況，你可以使用 `/loop` 來觸發 Claude 的執行，它會以固定的時間間隔重新執行 Prompt。例如：

```bash
/loop 5m check my PR, address review comments, and fix failing CI
```

`/loop` 是在你的電腦上執行的，所以如果你關閉它，它就會停止。你可以透過使用 `/schedule` 建立常規排程，將 Loop 移至雲端執行。

---

## 主動式 Loop (Proactive loops)

![此圖表展示了自動化開發流程的運作循環，說明 AI 代理如何處理從觸發、執行到審核的任務。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/d98a340f04aed17a.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">該圖表描述了一個在雲端運行的自動化工作流程（RUNS IN THE CLOUD — LAPTOP OPEN OR NOT），包含以下步驟：
1. **TRIGGER**: 使用 `/schedule` 指令，監控 Slack 或 GitHub 上的錯誤報告。
2. **GOAL + CHECK**: 由「Main agent」執行，透過循環運作直到驗證技能通過。
3. **Opens a PR**: 系統自動開啟一個 Pull Request。
4. **REVIEW**: 由「Second agent」進行審核並通知使用者。
流程中央標註「runs until you turn it off」（持續運行直到你將其關閉），左側則顯示使用者（You）負責決定「what to merge」（合併什麼內容）。</div></details>

- 觸發方式：事件或排程，無需人類即時參與。

- 停止標準：每個任務在達成目標時退出。常規排程本身會持續執行，直到你將其關閉。

- 最適合：定義明確的重複性工作流：錯誤報告、問題分類、遷移、相依套件升級等。

- 管理用量方式：將常規任務路由至更小、更快的模型，並使用最強大的模型來進行判斷。

上述的基礎功能，連同 Claude Code 的其他功能（如自動模式與動態工作流，目前為研究預覽版），可以組合成一個處理長期工作的 Loop。

例如，要處理收到的回饋，你可以使用：

1. `/schedule`（研究預覽版）來執行一個檢查新報告的常規排程。

2. `/goal` 來定義完成的樣貌，並使用 skills 來記錄如何驗證它。

3. 動態工作流來編排 Agent，對每份報告進行分類、修復並審查修復結果。

4. 自動模式，讓常規排程在執行時無需停下來請求許可。

將這些組合起來，一個 Prompt 可能看起來像這樣：

```bash
/schedule every hour: check the project-feedback channel for bug reports. /goal: don't stop until every report found this run is triaged, actioned, and responded to. When fixing a bug, use a workflow to explore three solutions in parallel worktrees and have a judge adversarially review them.
```

---

## 維持程式碼品質

Loop 輸出的品質取決於圍繞它的系統。在設計系統時：

- 保持程式庫本身的整潔：Claude 會遵循你程式庫中既有的模式與慣例。

- 給 Claude 一種驗證自己工作的方法：使用 skills 來編碼定義對你和你的團隊而言什麼是「好的成果」。

- 讓文件容易取得：框架與函式庫的文件擁有最新的最佳實踐。

- 使用第二個 Agent 進行程式碼審查：擁有全新上下文的審查者較少偏見，且不會受到主要 Agent 推理過程的影響。你可以使用內建的 `/code-review` skill 或 GitHub 的程式碼審查工具。

當單一結果未達標準時，不要只停留在修復該問題，試著將其編碼，以改善系統，造福所有未來的迭代。

---

## 管理 token 用量

為了管理 token 用量，Loop 應該有明確的邊界：

- 為工作選擇正確的基礎功能與模型：較小的任務不需要多個 Agent 或 Loop。有些任務可以使用更便宜、更快的模型。

- 定義明確的成功與停止標準：具體說明「完成」的樣貌，這樣 Claude 就能更快（但不會太快）達成解決方案。

- 在大規模執行前先進行試點：動態工作流可能會產生數百個 Agent。先在較小的工作切片上評估用量。

- 對於確定性的工作使用腳本：執行腳本比推理步驟更便宜。例如，PDF skill 可以發布一個表單填寫腳本，讓 Claude 每次執行，而不是每次都重新推導程式碼。

- 不要執行過於頻繁的常規排程：將執行間隔與你所監控事物的變更頻率進行匹配。

- 審查用量：`/usage` 指令會按 skills、子 Agent 和 MCP 分解近期用量；不帶參數的 `/goal` 會顯示目前為止的回合數與 token 用量；`/workflows` 會顯示每個 Agent 的 token 用量，你可以隨時停止一個 Agent。

---

## 開始使用

總結如下：

| **Loop** | **你移交的部分** | **使用時機** | **建議使用** |
| --- | --- | --- | --- |
| 基於回合 | 檢查工作 | 當你在探索或決策時 | 自訂驗證 skills |
| 基於目標 | 停止條件 | 當你知道完成的樣貌時 | `/goal` |
| 基於時間 | 觸發機制 | 當工作在你的專案之外按排程發生時 | `/loop`, `/schedule` |
| 主動式 | Prompt | 當工作是重複性且定義明確時 | 以上所有功能，以及動態工作流 |

若要開始使用 Loops，請觀察你目前的工作。挑選一個你是瓶頸的任務，並詢問自己哪一部分可以移交出去：你能撰寫驗證檢查嗎？目標是否足夠明確？工作是否按排程到達？

一旦有了想法，就執行 Loop，觀察結果（例如它在哪裡停滯或過度執行），並且不要害怕對其進行迭代。

欲了解更多資訊，請閱讀 Claude Code 文件中關於並行執行 Agent 的章節，以及 loop、schedule、goal 和動態工作流頁面。

本文由 @delba_oliveira 撰寫

## 標籤

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