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