Module 54 分鐘

Harness 與 Agentic Loop

上一章的 Prompt 與 Context 決定 Claude 知道什麼、要做什麼;這一章的 Harness 與 Agentic Loop 決定它能不能真的動手、做完怎麼驗證——四者合起來就是一條完整的 Prompt → Context → Harness → Loop 工程鏈。模型本身回傳文字或工具呼叫。Harness 決定它能使用哪些工具、讀哪些檔案、修改哪些資源與如何驗證。Agentic Loop 則讓它在行動後檢查結果,必要時再修正。

核心問題

01Claude Code 為什麼能動手做,而不是只會回覆文字?

學完本章後,你應該能做到:理解代理流程如何透過權限、工具、設定與驗證形成可控工作外殼。

重要概念

02先建立共通語言

Harness

模型本身只會回傳文字或「我想呼叫這個工具」的請求,它自己沒有手可以真的去讀檔、改檔或執行指令。(工作外殼)就是把模型「裝」進一個能真正動手的環境:它負責連接檔案系統、終端機命令、 外部服務、權限規則、 自動化腳本、 技能包與 子代理。Claude Code 就是一種 ——例如當你要求它「修一個畫面錯誤」,模型先產生「我要讀取這個檔案」的請求, 才實際執行讀檔、把內容回傳給模型,模型再根據內容決定下一步。

說人話

白話講:模型自己只能『說話』,沒有手;Harness 就是裝在它旁邊的一雙手,負責真的去開檔案、改檔案、執行指令,模型負責想,Harness 負責做。

Gather、Act、Verify、Iterate

代理流程不是一次性回答,而是一個會重複執行的迴圈:先收集脈絡(讀檔、查資料、理解現況),再採取行動(改檔、執行指令),然後驗證結果(跑測試、檢查輸出),如果沒成功就依驗證結果再迭代一輪。這正是 的核心,也是 Claude Code 與單次問答最大的差別。例如修一個網頁顯示錯誤:先讀懂相關元件(Gather)、改一行樣式(Act)、重新整理頁面確認畫面正確(Verify)、如果還有錯就再修一次(Iterate),而不是改完就假設一定成功。

權限是設計,不是阻礙

很多人覺得權限設定是「限制 AI 做事」的麻煩,但好的權限設計其實是讓 Claude Code 能夠放心動手的前提:它明確劃出「可以自動執行」與「需要先問過你」的邊界,讓代理可以在安全範圍內快速工作,而不必每件小事都停下來確認,同時避免它在你沒看到的情況下刪除檔案、推送程式碼或外洩資料。例如把「讀取程式碼」設為自動允許、把「git push」「刪除檔案」設為需要人工確認,Claude Code 就能高效率完成大部分工作,又不會在關鍵動作上自作主張。

重點先讀

Claude Code 能動手做事,是因為跑在「蒐集脈絡→行動→驗證→重複」的 Agentic Loop 裡,不是單次回覆文字。

03概念模型

Claude 操作設定圖

Projects、Artifacts、Skills、MCP、Subagents 與 Hooks 共同構成可控的工作外殼。

Projects

可控工作外殼

Artifacts

可控工作外殼

Skills

可控工作外殼

MCP

可控工作外殼

Subagents

可控工作外殼

Hooks

可控工作外殼

深入解析

04操作步驟

  1. 1.

    先讓代理探索

    要求 Claude Code 讀取檔案、找入口、理解限制與列出風險,不要一開始就修改。

  2. 2.

    把規則寫進 CLAUDE.md

    把設計系統、測試命令、禁止事項、資料邊界與回覆風格寫成專案常駐記憶。

  3. 3.

    把高風險行動設為確認

    例如刪除、重設、部署、推送、修改外部服務與處理學生資料,都應保留人工確認。

05容易誤解

迷你活動

06設計一個代理安全外殼

為一個教育網站修改任務列出允許與需要確認的操作。

  1. 1.寫出代理可以讀取的資料範圍。
  2. 2.列出代理可以自動執行的檢查。
  3. 3.列出必須由人確認的命令或外部操作。

互動任務

07跑一次代理流程

用模擬器逐步查看 Explore、Plan、Code、Commit 的輸入與輸出。

開啟模擬器

完成檢核

我能說出 Harness 與模型本身的差異。

我知道代理流程必須先定義成功標準。

我能辨認哪些行動需要人工確認。