在上一篇文章中,我們探討了 Claude Code 的 UltraCode 功能如何根據任務規模彈性派發多個 Agent。當團隊中有多個 Agent 同時工作時,最怕的就是它們互相干擾或是做出不符合預期的修改。這時候,Harness 就扮演了至關重要的角色。
什麼是 Harness?
Harness(測試框架 / 控制腳本)可以被想像成是為每個 Agent 量身打造的「工作隔離區」與「驗收標準」。它定義了:
這個 Agent 的輸入是什麼?
它被允許修改的工作邊界在哪裡?
它的輸出必須通過哪些驗證?
撰寫 Harness 的核心原則
要撰寫一個完美且安全的 Harness,請遵循以下三大原則:
明確的輸入與輸出規格 (I/O Specification):
每個被派發的 Agent 都應該只收到它需要的上下文,而不是整個專案的歷史。這不僅能減少 Token 消耗,也能避免模型產生幻覺。嚴格的狀態隔離 (State Isolation):
當多個 Agent 並行工作時,必須確保它們運作在獨立的工作區 (Workspace) 或 Git 分支中。這避免了程式碼衝突與髒狀態 (Dirty State)。無人值守的自動化驗證 (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 團隊處理!