第 2 站 · 搭 harness該站第 6 / 12 場

七步打造更聰明的 harness

049Aditya Bhargava(Etsy)32:032026-07-07

What if the harness mattered more than the model? - Aditya Bhargava, Etsy

七步打造更聰明的 harness —— Etsy的演講縮圖

講者用同一段修 bug 任務,讓同一顆模型換上七種不同的 harness,示範表現如何從完全不能動手一路進化到能自我優化。

重點摘要

  • 好模型不代表可以省略 harness:講者觀察到業界流行「模型夠強、harness 可以做簡單」的說法,但他認為方向反了:好的 harness 才能讓便宜、能在本機跑的開源模型追上頂尖模型的表現。
  • Harness Bench 量出 20 個百分點的差距:一份評測用同一顆模型換上不同 harness,分數從 52.4% 一路跳到 76.2%,而且模型越弱,harness 帶來的差距越明顯。
  • 現有框架不夠用,索性自己做語言:講者花六個月打造一個叫 agency 的新語言,語法接近 TypeScript,把工具、安全機制、sub-agent 都做進語言層級。
  • 同一個修 bug 任務,七個版本:只給模型不給工具連檔案都讀不到,接著加讀寫工具卻不安全,再靠 handler 加上人工核可、partial function application 讓 agent 自動又安全,最後靠推理迴圈真正把程式修好。
  • sub-agent 用來分工,不是拿來炫技:換一個任務時,讓 coding agent 跟負責查 Wikipedia 的 sub-agent 平行工作,各自帶自己的工具集,減少單一 agent 要塞進去的 context 與工具數。
  • 自我優化取代亂試:agency 內建的 optimizer 能自動改寫陽春的 prompt,用量測分數取代人工試錯,讓 harness 的進步有系統可循。

時間軸13 段

00:00開場Etsy 的 staff engineer 拋出反主流看法:業界覺得模型夠強、harness 可以做簡單,但方向可能反了。
01:49Harness Bench 數據同一顆模型換不同 harness,分數從 52.4% 跳到 76.2%,模型越弱、harness 帶來的差距越大。
03:53決定自造語言 agency覺得現有框架都做不到想要的效果,花六個月做出一個叫 agency 的新語言,直接把 harness 需要的功能做進語言層級。
05:50示範任務說明用同一段「修中位數函式錯誤」的程式與同一顆模型,讓 harness 依序升級七次,觀察表現如何跟著變好。
09:07第一版:只有模型只把 prompt 丟給模型,沒給任何工具,模型直接回覆看不到程式碼、無法動手修正。
11:29加工具但不安全給 agent 讀寫檔案的工具後可以動手改程式,但因為沒設防護,agency 預設擋下並丟出未處理的錯誤。
13:05handler 補安全用 handler 接住錯誤、讓使用者逐步核可每個讀寫動作,安全了,但每一步都要人手動同意,速度變慢。
15:43PFA:安全又自動用 partial function application 把可存取的目錄鎖死在工具參數上,agent 不用再問人也不會跑出目錄外。
17:57加推理迴圈修好導入「推理、行動、觀察」的迴圈,讓 agent 讀檔、跑測試、看到失敗再改一次,最後測試真的通過。
21:29換題:sub-agent 分工讓 coding agent 跟一個查 Wikipedia 的 sub-agent 平行工作,各自帶自己的工具集,減少單一 agent 要處理的 context。
25:25自我優化取代試錯agency 內建的 optimizer 自動改寫兩段很陽春的 prompt,用量測分數一路把目標往上推,不用再靠人工亂試。
29:19agency 語言特色整理 agency 提供的東西:簡單的工具語法,以及能真正暫停、之後從原處恢復執行的中斷機制。
31:31結語與試用方式用套件安裝指令就能試用,最後把結論收成一句:agent 等於模型加 harness,好 harness 才是效能關鍵。

值得記的話5 句

  • What if we focused on open source models that can be run locally?如果我們把焦點放在能在本機跑的開源模型上呢?01:11
  • What if the harness mattered more than the model?如果比起模型,harness 才是更重要的那個呢?01:31
  • Scores range from 52.4% to 76.2%.分數從 52.4% 一路跳到 76.2%02:22
  • For weaker models, the harness matters more.模型越弱,harness 的影響就越大02:38
  • A better harness equals better performance, especially for weaker models.更好的 harness 等於更好的表現,對較弱的模型尤其明顯31:31

名詞與人物8 個

agency
講者利用個人研究時間、花六個月打造的新程式語言,語法接近 TypeScript,把工具定義、安全機制、sub-agent 都做進語言層級,用來寫 agent。
Harness Bench
用來比較不同 harness 表現的評測,同一顆模型換上不同 harness,分數落差可以超過 20 個百分點。
partial function application(PFA)
借自函數式編程的技巧,把工具函式的某個參數(例如可存取的目錄)先鎖死,讓 agent 拿到工具時看不到、也改不了那個參數。
ReAct
Reason and Act 的縮寫,讓 agent 不斷「推理、行動、觀察結果、再推理」的循環模式。
GEPA optimizer
agency 內建的自我優化功能,能自動改寫標記過的 prompt,用量測分數取代人工試錯。
Wikipedia agent
範例裡的一個 sub-agent,帶著查詢 Wikipedia 的工具,跟 coding agent 平行工作、各自處理自己的任務。
Aditya Bhargava
這場講者,Etsy 的 staff engineer,也是該公司 agentic commerce 專案的負責人,agency 語言的作者。
Alan Kay
電腦科學家,講者引用他「simple things should be simple, complex things should be possible」這句話,說明 agency 的設計哲學。

提到但沒有展開

  • 講者另著有《Grokking Algorithms》這本書,也做過一系列 illustrated posts,開場帶過,沒有進一步展開。
  • agencylang.com 官網與講者的 BlueSky 帳號,只在結尾提過,方便延伸追蹤。
  • GEPA optimizer 背後的演算法邏輯,這場只展示執行結果,沒有細講原理。

Agent開發工具評估安全

在 YouTube 看原片 ↗