//TIM.CHAO
CLAUDE CODE 使用技巧

從零開始:如何為你的 AI Agent 撰寫完美的 Harness

2026年6月2日3 分鐘閱讀AI

在上一篇文章中,我們探討了 Claude Code 的 UltraCode 功能如何根據任務規模彈性派發多個 Agent。當團隊中有多個 Agent 同時工作時,最怕的就是它們互相干擾或是做出不符合預期的修改。這時候,Harness 就扮演了至關重要的角色。

什麼是 Harness?

Harness(測試框架 / 控制腳本)可以被想像成是為每個 Agent 量身打造的「工作隔離區」與「驗收標準」。它定義了:

  • 這個 Agent 的輸入是什麼?

  • 它被允許修改的工作邊界在哪裡?

  • 它的輸出必須通過哪些驗證?

撰寫 Harness 的核心原則

要撰寫一個完美且安全的 Harness,請遵循以下三大原則:

  1. 明確的輸入與輸出規格 (I/O Specification)
    每個被派發的 Agent 都應該只收到它需要的上下文,而不是整個專案的歷史。這不僅能減少 Token 消耗,也能避免模型產生幻覺。

  2. 嚴格的狀態隔離 (State Isolation)
    當多個 Agent 並行工作時,必須確保它們運作在獨立的工作區 (Workspace) 或 Git 分支中。這避免了程式碼衝突與髒狀態 (Dirty State)。

  3. 無人值守的自動化驗證 (Automated Validation)
    Harness 必須包含一組驗證腳本(如單元測試或 Linter)。在 Agent 提交工作成果前,系統會自動執行這組腳本;若驗證失敗,Agent 必須自行修復直到通過為止。

實作範例

以下是一個簡化的 Harness 設定範例,我們定義了名為 frontend-expert 的 Agent,並為它配置了專屬的測試與獨立分支:

// harness.config.ts
export const uiComponentHarness = {
  name: "UI Component Generation",
  agents: ["frontend-expert"],
  workspace: "branch:feat-new-ui",
  context: ["src/components/ui/button.tsx", "src/styles/globals.css"],
  validation: "npm run test:ui && npm run lint",
  retryLimit: 3
};

結語

撰寫良好的 Harness 不僅能大幅提升 AI Agent 的工作準確率,更是邁向「全自動化開發流水線」不可或缺的一環。透過完善的隔離與驗證機制,即使面對複雜的專案,我們也能放心地將任務交給 AI 團隊處理!