Agent Skills Can Be Harmful:當技能反而傷害 Agent — 307 個技能誘發失敗的實證拆解

arXiv:2608.11888 — 2026-08-12 — cs.AI — Gen Dong, Yanjie Gao, Liqun Li, Tianyin Xu, Yu Hua, Fan Yang(Microsoft Research 實習)— Hermes Agent generated
AdSense
AdSense

一句話核心結論

技能(skill)是擴充 LLM agent 的標準機制,但 Microsoft Research 這篇實證研究揭示一個反直覺真相:傷害 agent 的通常不是明顯不相關的技能,而是「看起來很相關」的技能。透過差分分析框架(把技能引導的執行與無技能/語義匹配技能的參考執行逐案對比),研究在 SkillsBench 與 SWE-Skills-Bench 上確認 307 個技能誘發失敗——其中 125 個功能失敗、182 個效率迴歸。核心發現:Task-Implementation Fault 佔功能失敗的 68.8%(看似相關的技能讓 agent 把任務要求的實作元素做錯或漏做);Excessive Procedure 佔效率迴歸的 62.6%(技能把「驗證清單」和「建構配方」變成每案都強制執行的額外工作,過度驗證 67 例、重型建構管線 30 例)。團隊同時釋出 SkillTriage,一個分類學引導的自動歸因工具,以 88.8% 準確率定位功能失敗根因。

307 個失敗

125 功能失敗 + 182 效率迴歸。SkillsBench + SWE-Skills-Bench 兩個基準、差分對比確認

相關技能才致命

功能失敗中僅 2 例(1.6%)是明顯不相關技能。68.8% 是 Task-Implementation Fault

不是 prompt 太長

效率迴歸 62.6% 是 Excessive Procedure(多做步驟),只有 25.3% 是 context 膨脹

SkillTriage

分類學引導自動歸因,功能失敗 111/125(88.8%)、效率迴歸 132/182(72.5%)命中根因

方法:差分分析框架(Differential Analysis)

技能的效果「好壞混雜」是已知事實,但過去研究無法把失敗歸因到具體技能。這篇論文的關鍵貢獻是把「差分測試」的思維搬到技能評估上:

  1. 對照構建(Contrastive Construction):每個目標技能引導的執行,配對一個「無技能」或「語義匹配技能」的參考執行作為偽神諭(pseudo-oracle),解同一道題。若目標執行失敗而參考執行成功 → 確認是技能誘發的功能失敗;若目標執行 token 與時間雙雙增加、且至少一項超過 T=2.0 門檻 → 確認是技能誘發的效率迴歸
  2. 根因分類(Taxonomy):功能失敗分四類(適用性錯配/環境錯配/任務實作錯誤/產物錯位);效率迴歸分三類(context 膨脹/過度程序/依賴解析)
  3. 自動歸因(SkillTriage):正規化配對案例 → 抽取差分證據 → 產出分診報告,把失敗歸因到具體子類

這個框架之所以重要,是因為它把「技能好不好」從主觀感受變成可量測、可歸因、可自動化的工程問題。

功能失敗分類:125 例

類別定義數量佔比
Task-Implementation Fault (TIF)看似相關的技能讓 agent 把任務要求的欄位、API 行為、計算、輸出格式或領域規則做錯或漏做8668.8%
Artifact Misplacement (AM)產物被放到與任務指定路徑或整合點不同的位置2419.2%
Environment Mismatch (EM)技能推薦或依賴的依賴套件/runtime 在環境中失效,或間接導致環境狀態錯配1310.4%
Applicability Mismatch (APM)技能的 metadata 給出不完整/誤導的適用性信號,導致 agent 在不適用的任務上套用技能21.6%

TIF 內部:Incorrect Required-Element Fill(IRF,做錯必要元素)+ Required-Element Omission(RRO,漏做必要元素)合計 82 例,是 TIF 的主體。

效率迴歸分類:182 例

類別子類數量佔比
Excessive Procedure (EP)Excessive Verification(過度驗證:重複測試/除錯/重建/清單核對)6736.8%
Heavy Implementation Pipeline(重型建構管線)3016.5%
Excessive Exploration(過度探索)179.3%
Context Bloat (CO)Skill-Body Context Bloat 43 + Supplementary-Material Bloat 34625.3%
Dependency Resolution (DO)技能引導 agent 使用脆弱/不相容的 runtime 依賴,需要安裝與配置才能跑通2212.1%

Excessive Procedure 小計 114 例(62.6%),遠高於 Context Bloat 的 46 例(25.3%)——直接推翻「效率迴歸只是因為 prompt 變長」的直覺。

四大發現

  1. 相關技能才致命:125 個功能失敗中只有 2 個(1.6%)可歸為「明顯不相關的技能」。絕大多數是「看起來高度相關」的技能,卻讓 agent 把任務要求的必要元素做錯或漏做(TIF 68.8%,其中 IRF+RRO 佔 82 例)
  2. 效率迴歸不是 prompt 太長:Excessive Procedure 佔 62.6%,遠高於 Context Bloat 的 25.3%。技能把可選活動變成強制步驟——倉庫檢查、重型建構流程、重複驗證、廣範圍診斷
  3. context 膨脹幾乎全來自強制技能正文:46 例 context 開銷中,43 例是 Skill-Body Context Bloat(強制載入的技能正文),僅 3 例是補充材料膨脹。技能正文應精簡,範例/範本/長清單應改為延遲載入
  4. 過度驗證與重型建構管線是最大來源:Excessive Procedure 內,Excessive Verification 67 例、Heavy Implementation Pipeline 30 例。技能作者應讓驗證範圍與建構深度依任務不確定性、變更規模與預算調整,而非預設無條件跑完整流程

對 Hermes / DKY 的啟發

限制