反饋循環(AI Coding)
讓 AI 助手能驗證自己的工作成果——執行自己寫的 code、跑測試、看錯誤訊息。Boris Cherny 列為 13 條心法中最重要的一條:
“Probably the most important thing to get great results out of Claude Code — give Claude a way to verify its work. If Claude has that feedback loop, it will 2-3x the quality of the final result.”
繁中:「想從 Claude Code 取得好結果,最重要的事情可能就是——給 Claude 一個驗證自己工作的方式。如果 Claude 有這個反饋循環,最終結果的品質會提升 2 到 3 倍。」
Boris 的另一句更白話的版本:
“You wouldn’t ask an engineer to make a website without a browser.”
繁中:「你不會叫一個工程師在沒有瀏覽器的情況下做網站。」
核心理念
無論工具多強大,沒有驗證機制就無法確保輸出正確。LLM 是個會幻覺的引擎,唯一能讓它自我修正的方式是「讓它看見自己工作的結果」。
人類開發者本來就是這樣工作的:寫 → 執行 → 看錯誤 → 修正 → 再執行。把這個循環給 Claude,它就從「一次性產出工具」升級為「能自我修正的協作者」。
完整閉環
寫程式碼 ─▶ 執行測試 ─▶ 發現問題 ─▶ 修復 ─▶ 再測試
↑ │
└──────────────────────────────────────────────┘
實踐方式
要建立反饋循環,至少要給 Claude 三件能力:
| 能力 | 在 Claude Code | 在 Cowork |
|---|---|---|
| 執行 code | 終端機 + bash | 沙箱 Linux |
| 跑測試 | npm test / pytest 等 | 同上 |
| 讀錯誤 | 自動讀 stderr / log | 同上 |
更進階的反饋來源:
- CI 結果 — Headless mode 跑完後讀 log
- Linter 輸出 — Hooks PostToolUse 自動跑 lint
- 型別檢查 — TypeScript / mypy 把訊息回灌
- 整合測試 — 用 Connectors 連到 Sentry 看 production error
- 瀏覽器 — 前端用 Claude Chrome Extension,Claude 能開瀏覽器、看 UI、自己發現問題
- Computer Use — 桌面 App 用 Computer Use,Claude 像人一樣操作
- Docker logs — 分散式系統用 docker logs 排錯
Boris 團隊的兩個專用驗證 Sub-agent
Anthropic 內部的 .claude/agents/ 目錄有完整一套:
| Subagent | 角色 |
|---|---|
verify-app | 端到端測試 — 詳細的 E2E 步驟 |
code-simplifier | 實作後自動清理(後來變成 /simplify 的前身) |
code-architect | 架構審查 |
build-validator | 確認 build 過 |
oncall-guide | oncall 應對協助 |
→ 這些是 Sub-agent 的任務型 subagent,不是「資深架構師」這種角色型——直接對應一個明確的 verification 動作。
Boris 的硬規則:沒通過驗證,不准標記任務完成。
為什麼是「最重要」
Boris Cherny 13 條心法 把這條列為 #13 最重要,理由:
- 品質倍增:數據顯示有反饋循環的工作流程輸出品質提升 2-3 倍
- 減少人工介入:Claude 自己抓自己的錯,使用者只看最終產物
- 可規模化:沒有反饋循環的話,並行多 agent 反而擴大錯誤;有反饋的話可以放大到 Agent Teams 規模
反饋循環 vs 一次性產出
| 場景 | 沒有反饋循環 | 有反饋循環 |
|---|---|---|
| 寫一個函式 | LLM 寫完就完 | 寫完跑單元測試,看到 fail 就修 |
| 改 schema | 改完 commit | 改完跑 migration、讀 error log、回頭修 |
| 寫腳本 | 寫完丟給人類試 | 寫完自己 chmod +x、./script.sh、讀 stdout |
反模式
❌ 「給我寫個 X」然後就走開——沒有反饋通道
❌ --dangerously-skip-permissions 全開放——失敗時 LLM 看不到具體 error
❌ CI 只跑不讀——log 沒回灌就等於沒跑
相關概念
強連結(原文明確提及)
- Boris Cherny — 推廣者
- Boris Cherny 13 條心法 — 第 13 條(最重要)
- Claude Code — 反饋循環的主要實作環境
- Hooks — PostToolUse 是反饋循環的具體機制
- Sub-agent —
verify-app/code-simplifier等驗證 subagent - 委派而非配對 — 「Prove to me this works」的具體運用
推斷連結(LLM 認為相關,待確認)
- Cowork ?? — 沙箱 Linux 是反饋通道
- Headless Mode 與 CI CD ?? — CI 是大規模反饋來源
- Agent Teams ?? — 反饋循環讓並行 agent 不擴大錯誤
- Sub-agent ?? — 驗證型 sub-agent 可作為反饋
深入閱讀(外部資源)
- 原文 1:20260426_Claude Code 之父 Boris Cherny 親授!13 條 AI 開發心法,效率翻 10 倍
- 原文 2:Claude Code 之父怎麼用?Boris Cherny 的 10 個進階技巧
- 09-Claude Code 建置與使用
- howborisusesclaudecode.com Part 1 Tab 8(subagents)、Tab 13(verification)
← 回到 wiki