![]()
一個 Skill 這個星期能正常工作,不代表下星期也行。
搜索接口會被限流,API 會被改版,網頁結構也可能突然變化。開發者發現了 bug,修好最近這個版本,再把文件交給下一輪 Agent。
最初為什么修改?試過的方案為什么失敗?上一輪回退撤銷了什么,又留下了什么?下一輪接手的 Agent 大多不知道。它拿到的只是結果,前幾輪踩過的坑還得再來一遍。
騰訊微信在論文SkillHone中,將這個問題歸結為優化歷史丟失,進而提出了面向持續 Skill 進化的開發框架。
SkillHone 把每輪診斷、候選修改、評估證據和最終決定組織成持久決策歷史。同時,持續優化的對象也從單一的 SKILL.md 文件擴展到了整個 Skill 文件夾及其修改過程。
![]()
視頻鏈接:https://mp.weixin.qq.com/s/NkZcFC1Nv2i03JGJtNj3gQ
- 論文標題:SkillHone: A Harness for Continual Agent Skill Evolution Through Persistent Decision History
- 論文鏈接:https://arxiv.org/abs/2606.08671
- 代碼鏈接:https://github.com/Tencent/SkillHone
一、不能只優化 Skills,
還要對 Skills 的優化過程本身建模
現有 Skill 方法大致分為兩類。一類是 Skill-Creator,根據任務描述、示例或資料生成新的 Skill;另一類是 Hermes-SE(Hermes Agent Self-Evolution),通過不斷修改已有 Skill 候選,并根據評估結果選擇更優版本。
這類方法能夠在單輪優化中得到更好的 Skill,但優化過程通常沒有被保留。運行結束后,留下的往往只有最終版本文件。雖然文件差異可以展示「改了什么」,卻無法回答「為什么這樣改」。當環境發生變化時,Agent 也無法利用過去的優化經驗,容易重復探索已經失敗的方向。
SkillHone 不僅優化 Skill 本身,還對 Skill 的優化過程進行建模。每次優化步驟都會被記錄為一條決策歷史,包括問題診斷、候選修訂、清洗后的評估證據以及最終結果。通過累積這些多輪決策記錄,后續 Agent 可以理解某次修改針對的問題、采用的依據,以及最終保留或撤銷的原因,從而將優化經驗持續傳遞,而不僅僅是繼承最終的 Skill。
![]()
視頻鏈接:https://mp.weixin.qq.com/s/NkZcFC1Nv2i03JGJtNj3gQ
二、SkillHone 如何把優化過程留下來
SkillHone 設置了兩個相互關聯的倉庫。Skill 倉庫包括 SKILL.md、腳本、資料和模板;Skill-Eval 倉庫包括練習探針、標準答案、驗證器、運行軌跡和回歸測試。
![]()
每輪進化開始時,評估側先使用當前 Skill 運行驗證集上的回歸測試。優化側根據脫敏報告和現存記錄進行修改,評估側再在基準版本上測試候選 Skill。系統決定接受、繼續修改或拒絕修改后的 Skill,并將證據寫回歷史。
優化側 Agent 可以修改 Skill,但是看不到未脫敏的答案。評估側 Agent 可以運行驗證、查看軌跡,但是不能寫入 Skill 倉庫。評估結果會被整理成失敗類型、匯總分數和診斷線索,再返回給優化側。
運行時調度器會根據需要生成診斷、開發、審核、執行和報告等子 Agent,每個角色都只獲得完成自身任務所需的權限。它不要求使用固定的多智能體框架,只要求運行環境能夠自動創建子智能體,因此可以直接接入 Claude Code、Codex 和 Hermes 等 Agent Runtime。
三、為什么要做 Repo 級別更新?
![]()
SkillHone 在優化過程中可以實現 Repo 級別的更新,而不僅僅只是優化SKILL.md
另一方面,SkillHone 還支持 Repo 級別的 Skills 更新。SkillOpt 和 Hermes-SE 都主要以 SKILL.md 為優化單元,本質上是在迭代 Skill 的自然語言描述,因此優化范圍受限于單個文檔。
相比之下,SkillHone 將優化對象擴展為完整的 Skill repo,將 Skill 視為由 SKILL.md、執行腳本、參考資料、模板等共同組成的完整 Repo。優化過程中,不僅可以修改指令描述,也可以直接更新腳本邏輯等輔助文件的內容。
四、五輪優化里,
SkillHone 如何處理回退?
系統只看最終分數時,一旦候選版本出現退化,整份候選往往會被丟棄。可是,候選版本中已經有效的改動也會隨之消失,下一輪又得重新編寫。
論文中寫道,作者對深度研究 Skill 進行了五輪優化。系統加入 DuckDuckGo 回退和錯誤處理以后,探針準確率從 30% 提高到 60%。下一輪加入盡早作答和嚴格預算限制后,準確率又降低了 10 個百分點。
![]()
SkillHone 與 Hermes-SE 的五輪驗證集上的優化軌跡(論文 Figure 4)
SkillHone 可以通過此前的歷史記錄分析出,問題出在預算策略上,因此只撤銷有問題的部分,保留已經證明有效的搜索改進,第三輪準確率升至 65%。后來加入 SPARQL、名稱規則和更嚴格的預算后,系統又進行了一次有針對性的撤銷,準確率最終達到 70%。
同樣從 30% 起步,Hermes-SE 根據標量分數接受或放棄完整候選,五輪后停在 40%。兩條軌跡的差異很明顯:SkillHone 可以查到是哪一次決定帶來了性能退化,回退時還能保留已經有效的改動。
五、實驗:性能、遷移與消融
作者在 GAIA 和 WebWalkerQA-EN 兩個深度研究基準上測試了 SkillHone。評測在開放網絡環境下進行,沒有預先集成好的搜索工具。Agent 只能訪問公共網頁,再依靠 Skill 組織搜索、抽取、驗證和失敗后的恢復。
使用 Qwen3.6-35B-A3B 作為執行模型時,SkillHone 在 GAIA 上達到 64.6%,在 WebWalkerQA-EN 上達到 66.4%。相比使用商業檢索服務的 deep-research Agent,兩個結果分別高出 15.8 和 3.2 個百分點;相比 Hermes-SE,分別高出 14.2 和 13.4 個百分點。
![]()
表 1 SkillHone 在 GAIA 和 WebWalkerQA-EN 上的主結果
更重要的是,同一個 Skill 包在沒有重新優化的情況下,直接遷移到 Claude Sonnet 4.6 后,GAIA 成績繼續升至 72.4%,仍高于 Hermes-SE、Existing-Skills 和 Skill-Creator。更換執行模型后,使用者不需要從頭再做一遍優化。
![]()
圖 2 不同方法在 Qwen 與 Claude Sonnet 4.6 上的 GAIA 結果
消融實驗還提供了另一組證據。去掉決策歷史以后,GAIA 和 WebWalkerQA-EN 的成績分別下降 13.4 和 10.9 個百分點。去掉角色隔離以后,兩項分數分別降低 6.4 和 5.3 個百分點。SkillHone 的兩個組件都在發揮作用,其中決策歷史至關重要。
![]()
表 2 決策歷史與角色分離的消融實驗
六、寫在最后
總結一下整篇文章的脈絡:
- 過去的自進化方法回答的是,怎么把技能文檔改得更好;
- SkillHone 繼續追問,這次為什么修改、憑什么接受、哪些想法已經不再采用;
- 優化過程因此可以被檢索、復用,再交給下一輪 Agent 繼續優化;
- Repo 級別更新讓這套建模落到技能工程中,SKILL.md、腳本、參考資料和模板都可以被修改。
論文中的五輪軌跡給出了直接證據。SkillHone 遇到性能回退時,能夠找到出現問題的修改并進行精準撤銷,同時保留已經有效的改動。
下一輪 Agent 接手時,可以根據此前的診斷和證據繼續決策,也可以直接修改 SKILL.md、腳本、參考資料和模板。SkillHone 通過持久化的決策歷史,實現了整個技能倉庫的持續進化。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.