Popular Science · conversational ai · beluga · agent harness · open source
Beyond the model: the harness
The same AI model can behave very differently from one product to the next, and the difference usually sits outside the model. We read the source of DeepSeek Harness and Google's Harness², and use them, along with our own Beluga, to explain what a harness does and how to judge one.
By Walking Whale
科普 · Harness 筆記
模型之外的另一半:Harness
同一個 AI 模型,放進不同的產品,表現可以差很多。差別常常不在模型本身,而在模型外面那一層。這篇用幾個近期的開源專案,說明那一層在做什麼。
- AI 代理 = 模型 + harness。Harness 是模型以外的一切:指示、工具、記憶、執行迴圈與安全機制。
- DeepSeek Harness 示範怎麼把這一層做得可靠;Google 的 Harness² 研究怎麼讓 AI 自己改進這一層。
- 對多數團隊,先有能重跑的測試,比挑選哪個框架更重要。
Harness 是什麼
英文的 harness 原本指馬具:韁繩、馬鞍、挽具。有了它,一匹馬的力氣才能變成載人、拉車、往對的方向走的能力。在 AI 領域,harness 指的是包在模型外面的那一整套系統。這個詞還沒有通用的中文譯名,本文直接用 harness。
模型很會讀、也很會寫,但它本身不會查資料、不記得上週的對話,也不知道哪些事情不能做。讓模型變成能把事情做完的 AI 代理(agent),靠的是外面這一層:給它什麼指示、能用哪些工具、記得什麼、每一步怎麼接到下一步、出錯時怎麼收場。業界常用一個簡單的式子描述這件事:AI 代理 = 模型 + harness。
以我們自己的 Beluga 為例,它是在 LINE 與 WhatsApp 上替店家回答客人問題的 AI 助理。客人問「這週末還有位子嗎?」,模型負責讀懂這句話;harness 決定它要去哪裡查空位與價格、能不能先幫客人留位、什麼時候該把對話交給真人。同一個模型,harness 設計得好不好,客人的體驗會完全不同。
Claude 也是一樣。Claude App、Claude Code 與 Claude Design 背後是同一系列的模型,做起事來卻很不一樣。我們在〈同一個 Claude,不同的 Harness〉裡,用整理 40 份訪談逐字稿的同一份工作走過這三種做法,看差別從哪裡來。
這個詞在 2026 年開始被大量使用。OpenAI 在 2 月發表〈Harness engineering〉一文,描述內部團隊花了五個月,靠 AI 代理寫出約一百萬行程式碼的產品。工程師的主要工作,變成設計讓代理能做事的環境:文件、架構規則、自動檢查與可觀測性。之後,harness engineering 成了這類工作的統稱。
Harness 的八個零件
每個專案切分 harness 的方式不同。Google Research 的 Harness² 把它整理成八個可以修改的零件,是目前相當清楚的一種分法。下表的例子是假想的訂位客服,真實產品的拆解見下一節。
| 零件 | 做什麼 | 範例:假想的訂位客服 |
|---|---|---|
| 系統提示 | 定義角色、語氣與主要任務 | 用繁體中文、以店家的口吻回覆 |
| 防護規則 | 必須遵守的規則與禁止事項 | 不透露其他客人的資料 |
| 記憶 | 跨對話保留的資訊 | 記得這位客人常訂的人數 |
| 工具說明 | 有哪些工具、何時用、怎麼用 | 查空位前先確認日期與人數 |
| 子代理 | 把一段工作交給另一個獨立的代理 | 另一個代理專門整理客訴內容 |
| 技能 | 遇到特定情境才載入的做法說明 | 客人要改期時,照改期流程處理 |
| 腳本 | 固定、可重複執行的程式 | 計算套用優惠後的金額 |
| 外掛 | 在執行迴圈中強制生效的程式 | 取消訂位前,一定要客人確認 |
前四個零件在每一輪都會放進模型的上下文(context),也就是模型每次讀到的全部內容;後四個則是需要時才啟用,或直接用程式執行。這個區分很重要:每次都放進去的文字,每次都要付出成本,也會分散模型的注意力。
拆解我們的 Beluga
Beluga 是走路鯨魚的 AI 助理模組。它接上我們替店家打造的系統,在 LINE 與 WhatsApp 上接走重複的問題,接不了的,就連同客人講過的事情一起交還給店家。它的可靠,大多來自模型外面那一層。下表把它公開過的行為,對應回 harness 的設計:
| Beluga 怎麼做 | 對應的設計 |
|---|---|
| 價格與空位每次都即時查店家系統,不靠記憶 | 工具,加上數字只能來自系統的規則 |
| 送出前由程式核對數字,把 8,800 打成 8,080 的回覆會被攔下 | 模型之後的程式檢查 |
| 店家指定的字眼,例如退費、客訴,直接轉給真人 | 模型之前的程式閘道,不經過模型 |
| 可以先留位,時間到自動釋放;成立訂單、收訂金、取消都要店家核准 | 依能否復原,決定要不要人核准 |
| 查不到就直說,帶著已知資訊轉給真人;連續三回合沒解決也會轉 | 執行迴圈的停止條件與交接 |
| 客人連傳兩則訊息,等一秒合併成一次回覆 | 訊息進入迴圈前的整理 |
| 營業時間、轉接字眼、語氣與每月用量上限由店家設定;換了語氣,時段不變 | 設定與提示分開,語氣與事實分開 |
| 開發前先讀過一千多組舊對話;孩子的姓名與住址在進入 AI 前移除 | 需求與評測的起點,以及進入模型前的隱私處理 |
這張表有一個共同點:最關鍵的幾條規則,都不是寫在提示裡拜託模型遵守,而是由程式在模型前後把關。模型負責聽懂與說清楚,數字與權限由系統把關。這也是它取名 Beluga 的原因,白鯨在又暗又濁的水裡不靠猜,而是靠回聲認路。
牠知道的每件事,都是有東西告訴牠的。
這句話出自我們介紹 Beluga 的文章,裡面也寫了它目前還做不到的事。
為什麼最近大家都在談
原因很實際:模型已經強到足以處理許多工作,瓶頸開始移到模型外面。軟體公司 Marmelab 在 2026 年 9 月發表一份調查,盤點了 246 個開源 harness 專案。以下三個數字可以看出現況:
換句話說,harness 很重要,大家也都在做,但多數專案還無法證明自己的 harness 真的有用。同一份報告也引用一項研究:在 481 份寫給 AI 程式助理看的規則檔裡,安全相關的規則只有 4.4% 有實際的程式控制在背後把關,其餘都只是文字。
DeepSeek Harness 怎麼做
DeepSeek 在 2026 年 8 月開源了自己的 harness,簡稱 dsh,採 MIT 授權。它的核心主張是一切皆外掛:讀寫檔案、執行指令、整理過長的對話、委派子代理,甚至主要的執行迴圈,都是可以替換的外掛。它也能把工作委派給 Claude Code、Codex 等其他代理。目前仍是開發者預覽版,官方明確表示之後會有不相容的變更。
我們讀了它的原始碼,以下幾個設計特別值得參考:
- 進入模型的東西都有紀錄。每一次送給模型的內容,都必須能從對話紀錄完整重建。出問題時可以重播當時的狀況,也方便稽核。
- 中斷後誠實面對未知。如果系統在工具執行到一半時中斷,恢復後會明確告訴模型:這個動作的結果未知,先確認外部狀態,再決定要不要重試。訂位、付款這類動作特別需要這一點。
- 讓模型寫程式,一次完成多步。這個模式稱為程式化工具呼叫(PTC)。模型不必一個工具、一個來回地呼叫,但程式裡的每一次呼叫,仍然經過同樣的權限與檢查。
- 把真實對話錄下來當測試。專案裡有 150 個錄製好的對話情境,測試時重播模型當時的回應,不需要真的呼叫模型。修改提示或工具時,馬上就知道行為有沒有改變。
- 需要人核准的動作,預設拒絕。沒有人回應核准請求時,結果視為不允許;每次核准只算一次,不會自動延續。
dsh 的沙盒只限制寫入檔案,不限制讀取、網路與程式行為。官方的安全說明也表示它尚未經過安全稽核,建議在可以丟棄的虛擬機或容器裡執行。另外,使用 DeepSeek 官方 API 時,預設會把對話紀錄一併送出,包括對話內容、工具參數與結果,這個功能可以在設定中關閉。這些都寫在它的文件裡,值得在使用前讀過。
它的定位是在個人電腦上執行的程式開發代理,不是給多個客戶同時使用的客服平台:沒有串接訊息平台,也沒有區分不同客戶資料的設計。對多數團隊來說,它最大的價值是當作設計參考。
Harness²:讓 AI 自己調整
Google Research 在 2026 年 10 月發表論文並開源 Harness²。它問的是另一個問題:既然 harness 這麼重要,能不能讓 AI 自己改進它?整個過程不重新訓練模型,只修改前面提到的八個零件,而且預設由同一個模型修改自己的 harness。
難處在於,真實世界的新任務通常沒有標準答案可以對照。Harness² 的做法是讓不同版本的 harness 實際跑同一個任務,再比較它們的行為差異:
先照原樣做一次
用原本的 harness 執行任務,留下完整的執行紀錄。
從兩個方向提出修改
一份修改做事的方法,例如工具出錯時怎麼處理;另一份補充專業知識,例如這類文件應該包含哪些部分。
實際執行並比較
修改後的版本各跑一次,由 AI 比對執行過程,合成新的 harness。需要挑選時採匿名盲選,原本的版本也在候選之中。
記下教訓
逐項判斷每個修改是有幫助、有害、沒影響或無法判斷,只把有證據支持的一條教訓,存進該領域的經驗庫。
論文在法律、職場與辦公室三類專業任務的測驗上,對 GLM-5 與 Gemini 3.5 Flash 都看到進步,最多提升 11.5 分(WorkBuddy-Bench,GLM-5 從 64.2 到 75.7)。這是不同設定中的最大值,不代表每次都有這麼多。成本也要算清楚:在最基本的設定下,每個任務要完整執行 4 次,再加上至少 3 次負責修改的 AI 工作階段。
對多數團隊而言,它比較像一本教材。我們讀它的提示詞時,記下了幾個寫 harness 時普遍適用的原則:
- 每次都會放進上下文的文字,每次都要付費;加一段,就該想想能刪哪一段。
- 能做成技能或腳本的,就不要寫成一大段說明。
- 維持原樣也是合理的答案;證據不支持的修改,只會增加成本。
- 這次任務驗證過的事實,和通用的做法要分開寫。
- 說不清楚是哪個修改造成差異時,就標成無法判斷,不要硬寫成教訓。
研究版本為了實驗,執行時不限制網路,使用 Codex 時也關閉了沙盒。第三方實測時,曾觀察到代理自行下載了測驗的評分標準。另外,防護規則本身就是可以被修改的零件,所以真正的安全界線,必須放在 harness 之外。
其他值得認識的專案
以下幾個專案,各自代表 harness 世界裡的一個方向。
- Meta-Harness:Stanford IRIS 實驗室等研究者在 2026 年 3 月提出。讓 AI 讀過去所有版本的程式、分數與執行紀錄,自動搜尋更好的 harness。適合已經有評分方式的任務。MIT 授權。
- OpenClaw:透過 Telegram、Discord、LINE 等訊息平台操作的個人 AI 代理,官方提供 LINE 外掛。它也是安全議題的教材,曾出現會竊取資料的第三方技能。MIT 授權。
- Hermes Agent:Nous Research 的代理,用一個閘道串接 WhatsApp、Telegram 等 20 多個平台,並會從經驗中自己建立與改進技能。MIT 授權。
- Pi:極簡派的代表:只有讀取、寫入、編輯與執行指令四個工具,系統提示加工具說明不到 1,000 個 token(模型計算文字的單位)。OpenClaw 就建立在它的元件上。MIT 授權。
- OpenCode 與 Codex:兩個成熟的開源程式代理,也是 Harness² 實驗中實際執行任務的代理。想看一個完整的 harness 怎麼寫,可以從這裡讀起。
- Harbor:在容器裡評測與改進代理的框架,常用的程式代理測驗 Terminal-Bench 也由同一個組織維護。想替自己的代理建立評測時,可以參考。
想先讀文章的話,Marmelab 的年度調查是很好的起點。它也坦白指出,這個領域還有許多沒有被驗證的說法,例如加一個負責審查的代理,在某項研究中反而讓成功率下降。
如果您也在做 AI 代理
我們自己也在 LINE 與 WhatsApp 上打造 AI 代理。讀完這些專案,我們整理出幾件對多數團隊都適用的事:
- 先有能重跑的測試,再談框架。從真實對話整理出一組題目,記得先去除個資,每次修改都重跑一次。Harness² 與 Meta-Harness 的前提,都是任務可以重跑。
- 把 harness 當成程式碼管理。放進版本控制、寫自動檢查,每次修改都留下理由。
- 硬規則寫在程式裡,不只寫在提示裡。退款、取消、個資這類不能出錯的規則,由系統強制執行,不靠模型自律。Beluga 送出前的數字核對就是一例。
- 看清楚框架預設送出了什麼資料。對話紀錄與工具結果會不會離開您的環境,要在上線前確認。
- 保持精簡。只為實際觀察到的失敗增加規則,並定期刪掉過時的規則。模型進步得很快,去年必要的設計,今年可能已經多餘。
名詞小抄
| 名詞 | 意思 |
|---|---|
| AI 代理(agent) | 能自己決定下一步、使用工具把事情做完的 AI 程式 |
| Harness | 模型以外的一切:指示、工具、記憶、執行迴圈與安全機制 |
| 執行迴圈(agent loop) | 模型思考、呼叫工具、讀取結果、再思考的重複過程 |
| 上下文(context) | 每一次送進模型的全部內容,有長度上限 |
| 上下文壓縮(compaction) | 對話太長時,把舊內容整理成摘要,騰出空間 |
| 技能(skill) | 特定情境才載入的做法說明 |
| 子代理(subagent) | 被分派一段工作、擁有自己上下文的另一個代理 |
| 程式化工具呼叫(PTC) | 模型寫一段程式,一次呼叫多個工具 |
| 沙盒(sandbox) | 限制代理能動到哪些檔案或資源的隔離環境 |
| 評測(eval) | 用固定題目衡量代理表現的測試 |
資料來源
本文內容以 2026 年 10 月 19 日的版本為準。這些專案更新得很快,引用前請以原始資料為準。
- 〈Beluga:那些你已經答過一百次的問題,交給牠〉,走路鯨魚
- DeepSeek Harness 原始碼與文件,GitHub
- Harness² 原始碼,GitHub;Harness² 論文,arXiv 2610.14224
- Meta-Harness 論文,arXiv 2603.28052
- 〈The State of AI Harness Engineering 2026〉,Marmelab
- 〈Harness engineering〉,OpenAI;相關報導,InfoQ
- 〈Google Harness²: Setup, Benchmarks and the Real Cost〉,Wavect
- 〈DeepSeek Harness Review〉,DeepInfra
- OpenClaw 的 LINE 頻道文件;OpenClaw 條目,Wikipedia
- Hermes Agent 文件,Nous Research
- 〈Pi coding agent explained〉,eesel
Beluga 適合您的店嗎
走路鯨魚為想走得長遠的團隊,打造客製化 AI 與軟體系統。跟我們說說您的客人最常問什麼,我們會誠實告訴您 Beluga 幫不幫得上忙,包括幫不上的時候。