Harness 與 Agentic Loop
上一章的 Prompt 與 Context 決定 Claude 知道什麼、要做什麼;這一章的 Harness 與 Agentic Loop 決定它能不能真的動手、做完怎麼驗證——四者合起來就是一條完整的 Prompt → Context → Harness → Loop 工程鏈。模型本身回傳文字或工具呼叫。Harness 決定它能使用哪些工具、讀哪些檔案、修改哪些資源與如何驗證。Agentic Loop 則讓它在行動後檢查結果,必要時再修正。
核心問題
01Claude Code 為什麼能動手做,而不是只會回覆文字?
學完本章後,你應該能做到:理解代理流程如何透過權限、工具、設定與驗證形成可控工作外殼。
重要概念
02先建立共通語言
Harness
模型本身只會回傳文字或「我想呼叫這個工具」的請求,它自己沒有手可以真的去讀檔、改檔或執行指令。(工作外殼)就是把模型「裝」進一個能真正動手的環境:它負責連接檔案系統、終端機命令、 外部服務、權限規則、 自動化腳本、 技能包與 子代理。Claude Code 就是一種 ——例如當你要求它「修一個畫面錯誤」,模型先產生「我要讀取這個檔案」的請求, 才實際執行讀檔、把內容回傳給模型,模型再根據內容決定下一步。
說人話
Gather、Act、Verify、Iterate
代理流程不是一次性回答,而是一個會重複執行的迴圈:先收集脈絡(讀檔、查資料、理解現況),再採取行動(改檔、執行指令),然後驗證結果(跑測試、檢查輸出),如果沒成功就依驗證結果再迭代一輪。這正是 的核心,也是 Claude Code 與單次問答最大的差別。例如修一個網頁顯示錯誤:先讀懂相關元件(Gather)、改一行樣式(Act)、重新整理頁面確認畫面正確(Verify)、如果還有錯就再修一次(Iterate),而不是改完就假設一定成功。
權限是設計,不是阻礙
很多人覺得權限設定是「限制 AI 做事」的麻煩,但好的權限設計其實是讓 Claude Code 能夠放心動手的前提:它明確劃出「可以自動執行」與「需要先問過你」的邊界,讓代理可以在安全範圍內快速工作,而不必每件小事都停下來確認,同時避免它在你沒看到的情況下刪除檔案、推送程式碼或外洩資料。例如把「讀取程式碼」設為自動允許、把「git push」「刪除檔案」設為需要人工確認,Claude Code 就能高效率完成大部分工作,又不會在關鍵動作上自作主張。
重點先讀
03概念模型
Claude 操作設定圖
Projects、Artifacts、Skills、MCP、Subagents 與 Hooks 共同構成可控的工作外殼。
Projects
可控工作外殼
Artifacts
可控工作外殼
Skills
可控工作外殼
MCP
可控工作外殼
Subagents
可控工作外殼
Hooks
可控工作外殼
深入解析
04操作步驟
- 1.
先讓代理探索
要求 Claude Code 讀取檔案、找入口、理解限制與列出風險,不要一開始就修改。
- 2.
把規則寫進 CLAUDE.md
把設計系統、測試命令、禁止事項、資料邊界與回覆風格寫成專案常駐記憶。
- 3.
把高風險行動設為確認
例如刪除、重設、部署、推送、修改外部服務與處理學生資料,都應保留人工確認。
05容易誤解
迷你活動
06設計一個代理安全外殼
為一個教育網站修改任務列出允許與需要確認的操作。
- 1.寫出代理可以讀取的資料範圍。
- 2.列出代理可以自動執行的檢查。
- 3.列出必須由人確認的命令或外部操作。
完成檢核
我能說出 Harness 與模型本身的差異。
我知道代理流程必須先定義成功標準。
我能辨認哪些行動需要人工確認。