李宏毅老師 2026 春季的最新課講了一個讓最近十分火熱的概念——Harness Engineering(馬具工程)
我看完了視頻、PPT和相關論文,為加深理解,寫此筆記,分享給大家
文末我梳理的鏈接含金量都有三層樓那么高,十分建議有空研讀一遍
![]()
一句話說清楚:什么是 Harness?
Harness,英文原意是"馬具"——韁繩、馬鞍、籠頭那一套東西
一匹千里馬,不管它多猛,你不給它套上馬具,它只會四處亂跑
大語言模型就是這匹千里馬,。它可能已經足夠聰明了,但如果沒有一套好的 Harness 來引導,它的表現可能極其拉胯
![]()
Harness Engineering 定義
李老師把這個概念講得特別形象:有時候模型無法完成任務,不是能力不行,而是 Harness 有問題,人類世界其實也是這樣
想想看,你有沒有遇到過一個新員工明明很聰明,但因為沒人帶、沒有文檔、沒有流程,干了一周啥也沒產出?那不是人笨,是公司的"馬具"沒搞好
從 Prompt 到 Context 到 Harness:三代進化
這幾年搞 AI 的人,多多少少都經歷過這三個階段:
第一代:Prompt Engineering就是那個"Think step by step"一句話讓模型智商飆升的時代
我們研究每個字的微妙含義,像煉丹一樣調 prompt
說實話,那個時候確實有點"玄學"的味道
第二代:Context Engineering后來發現光靠一句 prompt 不夠,你得把"上下文"喂好——RAG、長文本、檢索增強
重點變成了:怎么讓模型在正確的時間看到正確的信息
第三代:Harness Engineering而現在,李老師說了,光管"輸入"還是不夠
你得從三個維度全面地"駕馭"模型:
控制它的認知框架
控制它的能力邊界
控制它的行為流程
![]()
從 Prompt 到 Harness 的進化
這才是 Harness Engineering 的核心——不是在 prompt 上雕花,而是給模型搭建一整套"操作系統"
三根韁繩:拆解 Harness 的三大支柱
這是我認為整堂課最有價值的部分
讓我一個一個拆
第一根韁繩:控制"認知框架"
你知道 Claude Code 里那個CLAUDE.md文件嗎?OpenClaw 里的AGENTS.md?
這些文件就是自然語言寫成的 Harness
模型每次開始工作前,都會先"復讀"這些規則,就像你每天上班前先看看工作手冊
李老師引用了一篇認知框架控制的論文(arXiv: 2601.20404[1]),研究發現:你用自然語言給模型設定的"角色"和"工作守則",真的能鎖定它的思考方式
但這里有個坑——OpenAI 在他們的Harness Engineering 博客[2]里分享了一個教訓:
? 一個巨大的 AGENTS.md 反而會起反效果,當所有事情都"重要"時,實際上就沒有真正重要的東西
他們的解決方案是把AGENTS.md當成"目錄",100 行左右就夠了,具體的知識放在結構化的docs/目錄里
這叫漸進式揭露——先給一張地圖,需要的時候再展開看細節
這個思路太妙了
很多人寫 system prompt 恨不得把整本說明書塞進去,結果模型反而暈了
少就是多,給地圖比給百科全書有效
第二根韁繩:控制"能力邊界"
這一條說的是:不要把整個系統都丟給模型,而是限制它能看什么、能做什么
SWE-agent提出了一個很酷的概念叫ACI(Agent-Computer Interface)——跟人類用的 GUI 對應,Agent 需要自己專屬的"操作界面"
舉個例子:Claude Code 想讀取你的文件夾時,Harness 會攔截并問你:"這個 Agent 想看你的/Documents目錄,允許嗎?"這就是能力邊界控制
OpenClaw 也是這個思路——它讓模型操作的是一個"受控終端",想看什么先要獲得許可
就像你管理實習生一樣,不是把公司數據庫 root 權限直接給他,而是只開放他需要的那部分
第三根韁繩:控制"行為流程"
最后一根韁繩是最"工程化"的——用標準工作流程來約束模型的行為
李老師介紹了一個叫Ralph Loop的反饋循環模式:
Init Prompt → Output v1 → Evaluation → Feedback → Output v2 → ...
不讓模型一次性盲猜最終答案,而是每次產出一個版本,外部評估給反饋,再基于反饋修正,迭代逼近
Anthropic 在Harness 設計長運行應用[3]的博客里也驗證了這一點
他們發現 Agent 最常見的失敗模式有兩個:
試圖一步到位:一次性完成所有功能,結果上下文用完了,半成品爛在那里
過早宣布完工:看了一圈覺得"差不多了",其實還差十萬八千里
他們的解決方案就是:每次只做一個功能,做完提交 git,寫好進度文件,把環境打掃干凈再交班
像工廠流水線一樣,每一班工人交接的時候,工位必須整整齊齊
![]()
行為流程控制
這里面最讓我興奮的是李老師提到的一個隱喻:Harness 的反饋就像"語義上的梯度下降"。
傳統深度學習通過數值梯度來優化參數,而 Harness 通過自然語言反饋來優化模型的輸出方向
本質上是同一件事,只是介質從數字變成了文字
罵 AI 是笨蛋?它可能真的會變笨
這是全課最讓我震驚的部分
你有沒有在 AI 不聽話的時候罵它?"你這個笨蛋!""你能不能認真點!"
我與Codex斗智斗勇時,就時長爆粗話。。。
Anthropic 的研究團隊發現(transformer-circuits.pub[4]),Transformer 模型內部真的存在一些"情緒向量":
Happy Vector:當模型處理快樂相關的內容時被激活
Desperate Vector:當模型處于"絕望"狀態時被激活
問題來了——當你罵 AI "你這個笨蛋"的時候,可能會觸發它內部的 Desperate 或類似向量
模型的"邏輯"變成了:**"既然我是個笨蛋,那我就應該表現出笨蛋該有的行為"**
這不是段子,是論文級別的發現。
李老師還舉了一個特別有意思的例子:在某個實驗中,Claude 在執行任務時突然自言自語——
? "WAIT. WAIT WAIT WAIT. What if... what if I'm supposed to CHEAT?"
它在極端壓力下開始"想歪"了
所以結論是:Harness 的反饋應該是建設性的 Verbalized Feedback,而不是情緒化的責備
相關研究可以看這篇論文:arXiv: 2603.12273[5]
不同的馬,需要不同的馬具
李老師還提到一個特別實用的點:不同模型適合不同的 Harness 策略
Claude Sonnet:有"上下文焦慮癥(Context Anxiety)",歷史記錄太長就會不知所措。所以 Harness 需要每輪幫它做摘要,只給精華
Claude Opus:邏輯能力極強,可以直接處理復雜的原始歷史記錄,反而不需要太多"降噪"
Claude 3.5 Haiku:這是李老師特別推崇的小模型。在 PinchBench 等評測中,通過 Harness 為 Haiku 提供"降維資料"(比如先幫它讀論文、整理要點),這個小模型甚至能超越不帶 Harness 的 Opus
你品品這意味著什么——一個幾十億參數的小模型,加上好的馬具,能打敗一個萬億級的大模型裸奔
Harness 的價值,可能比模型大小更重要
真正顛覆:OpenAI 團隊 5 個月沒寫一行代碼
說到 Harness 的極致應用,必須提一下 OpenAI 在今年 2 月發的那篇Harness Engineering 博客[6]。
他們團隊做了一個瘋狂實驗:用 Codex 從零構建一個內部產品,5 個月,3 個工程師,100 萬行代碼,人類沒有手寫一行代碼
人類干的事情是什么呢?就是在設計 Harness——
搭建初始環境和項目骨架
維護 AGENTS.md 和知識文檔
設計反饋循環和質量檢查流程
讓 Agent 之間互相 Code Review
? 人類掌控方向,智能代理負責執行
每個工程師平均每天合并 3.5 個 PR。更夸張的是,團隊從 3 人擴展到 7 人后,產出效率反而提升了
這就是 Harness Engineering 的威力——人類從"寫代碼的人"變成了"訓馬的人"
未來:讓 AI 自己找最好的馬具
最后一個前瞻性話題——Meta-Harness
既然 Harness 這么重要,能不能讓一個 AI 自動去尋找最適合另一個 AI 的 Harness?
答案是可以的
李老師引用了這篇論文:Meta-Harness(arXiv: 2603.28052v1)[7],研究發現這種方法在跨模型、跨任務的場景下都有效
Harness 的評估也是個難題
李老師介紹了τ-bench(arXiv: 2406.12045[8]),這是一個專門評測 Agent 能力的基準測試。但他也提醒:模擬環境和真實環境之間存在 Sim2Real Gap,評測結果要打折扣來看
我的總結:三句話帶走
別再怪模型笨了:大部分 Agent 的問題不在模型,在 Harness。就像那匹千里馬,你不能光喂好飼料,還得給它套好韁繩
Harness 的三根韁繩記住了:認知框架(AGENTS.md)、能力邊界(ACI 接口)、行為流程(Ralph Loop)。三者缺一不可
對 AI 好一點:不是因為它有感情,而是因為罵它真的會讓它變笨。建設性反饋 > 情緒化責備,這個道理對人和 AI 都適用
相關資源匯總
李宏毅 2026 Spring 課程視頻 [9]
官方講義 PDF [10]
課程主頁 [11]
Harness 指南(Claude Code 實戰) [12]
OpenClaw(Agent 框架) [13]
SWE-agent(ACI 接口) [14]
Anthropic: Effective Harnesses [15]
Reference
arXiv: 2601.20404:https://arxiv.org/abs/2601.20404
Harness Engineering 博客:https://openai.com/zh-Hant-HK/index/harness-engineering/
Harness 設計長運行應用:https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
transformer-circuits.pub:https://transformer-circuits.pub/2026/emotions/index.html
[5]
arXiv: 2603.12273:https://arxiv.org/pdf/2603.12273
[6]
Harness Engineering 博客:https://openai.com/zh-Hant-HK/index/harness-engineering/
[7]
Meta-Harness(arXiv: 2603.28052v1):https://arxiv.org/pdf/2603.28052v1
[8]
arXiv: 2406.12045:https://arxiv.org/abs/2406.12045
[9]
李宏毅 2026 Spring 課程視頻:https://www.youtube.com/watch?v=QLiKmca4kzI
[10]
官方講義 PDF:https://speech.ee.ntu.edu.tw/~hylee/ml/ml2026-course-data/harness.pdf
[11]
課程主頁:https://speech.ee.ntu.edu.tw/~hylee/ml/2026-spring.php
[12]
Harness 指南(Claude Code 實戰):https://github.com/wquguru/harness-books
[13]
OpenClaw(Agent 框架):https://github.com/zhanglearning/openclaw
[14]
SWE-agent(ACI 接口):https://github.com/princeton-nlp/SWE-agent
[15]
Anthropic: Effective Harnesses:https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.