跳轉到

9.1 Harness 的五要素:Context、Tools、Constrain、Verify、Correct#

第二個核心公式#

第 8 章建立了 Agent = LLM + Context + Tools——模型、上下文、工具。但如果僅止於此,Agent 是「裸奔」的:它橫衝直撞、可能用錯工具、可能做錯事、可能卡住。現代 Agent 工程的關鍵,是把它「包進一個框架」裡,讓它在安全的軌道上自主行動。

這引出了本書的第二個核心公式:

Agent = Model + Harness#

Harness(韁繩/安全框架) 是包住「模型(Model)」及其 ReAct 迴圈的外部工程框架。它像「給作戰機裝上飛行控制系統」——不改變引擎出力(模型能力),但規範它的飛行路線、限制動作、檢測異常、糾正偏差。

用比喻說: - Model(引擎):提供自主思考與生成的能力 - Harness(控制系統):提供約束、驗證、糾正與可靠性的框架

Harness 的價值在於:它把「不確定的模型」放在「可確定的約束」裡運行,讓 Agent 變得可靠、可預測、可問責。

Harness 的五要素#

Harness 也不是一個模糊的概念,而是由五個明確的要素構成(Context、Tools、Constrain、Verify、Correct,可記為「C-T-C-V-C」):

要素 作用 說明
Context(上下文) 提供 把「該看的資訊」放在正確的位置(第 7 章)
Tools(工具) 供給 提供「能做什麼」的介面與能力(第 8 章)
Constrain(約束) 限制 設下「能做什麼、不能做什麼」的邊界(failure-safe defaults)
Verify(驗證) 檢測 檢查「產出是否正確」(輸入隔離、結果校驗)
Correct(糾正) 修復 出錯時「如何恢復、如何繞過、如何重試」

下面簡述五者如何分工(後四節逐一深入 Constrain、Verify、Correct)。

Context 與 Tools:Harness 的「供給側」#

前兩者我們已在第 7、8 章深入。在 Harness 的語境下,它們是「提供能力」的部分:

  • Context:決定「模型看得到什麼」(7 章:訊息列表、壓縮、RAG)
  • Tools:決定「模型做得到什麼」(8 章:工具設計、五類、MCP)

Harness 的關鍵:不只要「提供」,還要「管理」——動態決定每個時刻該放哪些上下文、該開哪些工具、該限制哪些不可用。

Constrain、Verify、Correct:Harness 的「安全側」#

後三者是 Harness 的核心價值——把關:

  • Constrain(約束):用「預設拒絕」的安全邊界,限制模型的能力範圍(9.2 節)
  • Verify(驗證):在允許模型行動後,檢驗「產出是否正確、輸入是否乾淨」(9.3 節)
  • Correct(糾正):當偏離或失敗發生時,提供恢復與修正的機制(9.4 節)

一句話:Context 與 Tools 讓 Agent「能幹」,Constrain、Verify、Correct 讓 Agent「可靠」。一個好的 Harness,兩者缺一不可。

為什麼 Harness 是「工程」而非「指令」#

Harness 被稱為「工程」,是因為它不是「寫一段系統提示」這麼簡單。要做好的 Harness,需要:

  • 系統性設計:設計完整的約束、驗證、糾正策略,而非零散貼幾個規則
  • 可測試性:Harness 本身要能評估是否有效(第 10 章)
  • 與模型共同演進:Harness 與模型互補,模型內化能力後,Harness 可「後退」,騰出空間(14.2 節)
  • 工程化的解耦:Model 與 Harness 分離,模型換了 Harness 可以重用

關鍵認知:Harness 是「安全的前置工程」,而非「模型的後置補丁」。 你要在 Agent 運行前,就把它放進設計好的框架裡,而不是出事了才補救。

保險絲的比喻#

把 Harness 比作電路的保險絲(Fuse):電路正常運作時你看不到它,但一旦電流異常,它立刻熔斷,阻止災難。Harness 正是 Agent 的「保險絲」——大部分時間隱形,關鍵時刻救命。它的目標不是「過度限制」Agent 的能力,而是「奢侈的失敗容忍」:讓 Agent 可以安全地嘗試,失敗了也不致釀成大禍。

Harness 是「把不確定性交給確定性工具」的關鍵#

回顧 3.5、8.2 節:「把不確定性交給確定性工具」。Harness 正是這個思維的集大成:

  • 模型:負責「不確定的決策」(該做什麼、怎麼想)
  • Harness:負責「確定的把關」(能不能、對不對、壞了怎麼辦)

模型「想」得自由,Harness「行」得有界。這個「自由的思考 + 有界的行動」的組合,是讓 AI Agent 從「有趣示範」走向「可靠工程系統」的關鍵。

本章小結#

  • 核心公式:Agent = Model + Harness
  • Harness=包住模型的安全工程框架(像控制系統、保險絲)
  • 五要素:Context(供給)、Tools(供給)、Constrain(約束)、Verify(驗證)、Correct(糾正)
  • Context/Tools 讓 Agent「能幹」;Constrain/Verify/Correct 讓 Agent「可靠」
  • Harness 是「安全的前置工程」,不是「後置補丁」
  • 思維核心:模型「想」得自由,Harness「行」得有界

想一想#

  1. 為什麼「只給模型很強的提示」,不等同於「有一個好的 Harness」?兩者差在哪?
  2. 把 Harness 比作「保險絲」,你如何理解它「大部分時間隱形、關鍵時刻救命」?
  3. 對照五要素,試著為「訂位系統 Agent」列一份「Harness 檢查表」(各要素各列 1-2 點)。