科普 · conversational ai · beluga · agent harness · 開源
模型之外的另一半:Harness
同一個 AI 模型,放進不同的產品,表現可以差很多,差別常常在模型外面那一層。我們讀了 DeepSeek Harness 與 Google Harness² 的原始碼,用它們和我們自己的 Beluga,說明 harness 在做什麼、該怎麼評估。
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 幫不幫得上忙,包括幫不上的時候。