[AGENT] 5 分鐘閱讀OraCore 編輯部

如何打造 AI Agent Harness

這篇教你把 AI Agent 的模型、工具、驗證和狀態包進一個可控的 harness,做出可測試、可重試、可擴充的代理流程。

分享 LinkedIn
如何打造 AI Agent Harness

這篇教你把 AI Agent 的模型、工具、驗證和狀態包進一個可控的 harness,做出可測試、可重試、可擴充的代理流程。

這篇給想超越 prompt tuning 的開發者看。照著做完,你會得到一個可運作的 agent harness 藍圖,知道模型負責什麼、控制層負責什麼,還能把每一步驗收清楚。

核心觀念很單純:Agent 不是只有模型,而是模型外面再包一層 harness,去決定它看得到什麼、能做什麼、結果怎麼驗證。這種切法會讓除錯更直接,也更適合放進正式環境。

開始之前

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

  • OpenAI 或 Anthropic 帳號,並準備好有效 API key。
  • Node 20+ 或 Python 3.11+。
  • Git 2.40+。
  • 終端機與程式編輯器。
  • 熟悉 JSON、HTTP request、function calling。
  • 可選:OpenAI 文件OpenAI GitHub repo,或你選用模型供應商的對應文件與 SDK。

Step 1: 定義 Agent 邊界

目的:先把模型和 harness 分開,之後才有辦法獨立調整行為、除錯與權限。

如何打造 AI Agent Harness

請先寫出三個區塊:環境輸入、harness 規則、模型輸出。這一步的具名產出是「邊界圖」。

Environment -> Harness -> Model -> Harness -> Tools/Checks -> Final Output

驗收:你應該能用一句話說出哪個元件可以呼叫 API、哪個元件負責記憶、哪個元件決定結果能不能放行。如果說不清楚,邊界還不夠明確。

Step 2: 設計 Observation Schema

目的:控制模型每一輪能看見什麼,避免把一大坨原始對話直接丟給它。

如何打造 AI Agent Harness

請把輸入整理成固定 JSON。這一步的具名產出是「Observation Schema」。

{
  "goal": "summarize invoice",
  "messages": ["..."],
  "tool_results": [],
  "constraints": ["no PII", "return JSON"]
}

驗收:你應該看到每一輪都用同一組 key,即使 value 改變也不會亂掉。這代表 harness 已經在控制觀測,而不是讓 prompt 自己長大。

Step 3: 註冊 Allowed Actions

目的:限制 agent 能做的事,只留下可審核、可映射到真實 API 的動作。

請建立工具登錄表,列出名稱、輸入格式、權限規則。這一步的具名產出是「Tool Registry」。

tools:
  - name: search_docs
    input: { query: string }
  - name: fetch_record
    input: { id: string }
  - name: submit_answer
    input: { text: string }

驗收:你應該能拒絕任何不在登錄表中的 action。若模型要求不存在的工具,harness 要回傳受控錯誤,而不是直接執行。

Step 4: 加入 Validation 與 Retry

目的:在結果被接受前先檢查結構、政策與任務規則,避免第一個答案就直接進入系統。

請實作驗證流程,包含 JSON 格式、禁用內容、任務條件,然後把失敗原因回灌給模型重試。這一步的具名產出是「Validation Pipeline」。

if !valid_json(output) or !passes_policy(output) {
  retry_with_error_context();
}

驗收:你應該看到 malformed response 變少,且失敗不再默默吞掉。最好同時記錄 accepted 與 rejected,方便之後做回歸測試。

Step 5: 建立 State 與 Memory

目的:只保留對任務有用的狀態,避免把整段聊天史都當成記憶。

請把持久狀態和暫時上下文分開,並且只在驗證通過後更新。這一步的具名產出是「Session State」。

驗收:你應該看到 agent 在多輪互動下行為更穩定,因為狀態由 harness 接手,不再靠模型自己重建背景。到這裡,你已經有一個基本公式:模型負責推理,harness 負責控制。

常見錯誤

  • 把所有工作都丟給 prompt。 修法:把工具選擇、schema 檢查、重試流程移到 harness,prompt 只保留推理所需資訊。
  • 給模型太多上下文。 修法:改用精簡的 observation schema,並在每輪前摘要舊狀態。
  • 直接相信第一次輸出。 修法:先驗證結構與政策,再決定接受、重試或升級處理。

接下來可以看什麼

如果這個 harness 已經跑起來,下一步可以加 evaluation scripts、tracing、sandboxed tool execution,讓你能持續量測可靠度,並把 agent 推進到 production 等級。