裝了一大堆Skill,你的AI Coding Agent編程能力就會自動提升?
整理版優先睇
裝 Skill 唔會自動提升 AI Coding Agent 能力,AGENTS.md 先係關鍵
呢篇文章由劉小排寫,佢引用咗 Vercel 嘅實驗結果,想解答一個好實際嘅問題:裝咗一大堆 Skill 之後,AI Coding Agent 嘅編程能力會唔會自動提升?佢嘅結論好直接:唔會。Vercel 嘅實驗比較咗幾種做法,包括唔裝任何嘢、就咁裝 Skill、裝 Skill 再加顯式指令、同埋喺 AGENTS.md 寫明規則。結果發現,AGENTS.md 嘅 Test 通過率係 100%,而就咁裝 Skill 仲衰過乜都唔裝,得 58%。
Vercel 想解決嘅問題係:AI 訓練數據有截止日期,新框架嘅 API(例如 Next.js 16 嘅 'use cache')佢哋唔識,點樣令 AI 識用新 API?Skill 嘅諗法係俾 Agent 自己決定幾時用,但實際效果差。AGENTS.md 就係將關鍵知識直接放喺根目錄,Agent 每輪對話都見到,唔需要佢自己決定睇唔睇。
劉小排反思,呢個實驗揭示咗一個更深嘅問題:我哋成日想 AI 變得更自主、更智能,但現實係 AI 同人一樣,會唔記得用工具,越多選擇越易出錯。最有效嘅方法反而係最笨嘅——直接將資訊塞到佢面前,唔俾佢揀。少即是多,約束即自由。
- 裝 Skill 唔會自動提升 AI 編程能力,甚至可能令 Test 通過率下降
- Vercel 實驗顯示:AGENTS.md 嘅 Test 通過率係 100%,顯著優於 Skill
- Skill 失效嘅原因:AI 需要自己決定幾時用,但佢會忘記、揀錯時機或用錯方式
- AGENTS.md 成功嘅關鍵:冇決策點、始終可用、冇順序問題,強制暴露喺上下文
- 實用建議:與其依賴 AI 主動用工具,不如直接將關鍵資訊寫入 AGENTS.md 或提示詞
Vercel 實驗原文
Vercel 官方文章,詳細說明 AGENTS.md 點樣 outperform Skills
實驗背景同數據
Vercel 做咗個實驗,想解決一個好現實嘅問題:AI Coding Agent 嘅訓練數據有截止日期,新框架 API 佢哋根本唔知。例如 Next.js 16 嘅 'use cache'、connection()、forbidden(),你叫 Claude 或者 GPT 去寫,十有八九寫錯。
實驗比較咗幾種做法:基線(唔裝任何嘢)、就咁裝 Skill、裝 Skill 再加顯式指令、同埋喺 AGENTS.md 寫明規則。結果如下:
Build / Lint / Test 通過率: 基線:84% / 95% / 63% Skill(唔強調):84% / 89% / 58% Skill + 顯式指令:95% / 100% / 84% AGENT.md:100% / 100% / 100%
點解 Skill 咁唔掂?
Vercel 團隊分析得好到位,但劉小排用咗個更直白嘅比喻:AI 大模型嘅思考方式其實好似人。你係咪都試過買咗一堆效率工具,最後都係用返最原始嘅方法?
- AI 可能根本冇意識到自己需要幫助,覺得「呢個 API 我會啊」然後寫錯
- AI 知道有 Skill,但忘記咗調用——人類程序員都覺得親切
- 調用時機唔啱,寫咗一半 code 先去查文檔,改起嚟更麻煩
- 調用措辭稍有唔同,結果就差好遠,Vercel 原話係「wording was fragile」
所以 Skills 嘅設計理念雖然美好——Agent 發現問題時可以自己揾工具——但實際上太多環節可以出錯。你以為佢會主動用,但佢就係唔用。
AGENTS.md 點解咁勁?
答案簡單到令人懷疑人生:佢唔需要 Agent 做任何決策。AGENTS.md 就放喺項目根目錄,Agent 每一輪對話都能見到。
Vercel 總結咗三個原因:冇決策點、始終可用、冇順序問題。翻譯成人話:唔俾佢有機會揀唔睇。
作者反思:少即是多,約束即自由
呢個實驗揭示咗一個更深層嘅問題:我哋對 AI Agent 嘅期待可能從一開始就錯咗。我哋總想令 AI 變得更智能、更自主、更會判斷,所以裝一大堆插件、Skill、工具,期待佢可以好似資深工程師咁知道幾時用乜嘢。
現實係,AI 就係會忘、會漏、會判斷錯誤,同人一樣。呢個唔係 AI 嘅 Bug,而係 AI 嘅本性。你俾佢越多選擇,佢越容易選錯。反而最笨嘅方法——直接將資訊塞入上下文,唔俾佢任何選擇餘地——效果最好。
劉小排嘅結論係:少即是多,約束即自由。唔好再迷信 Skill 嘅自動化,直接將關鍵知識寫入 AGENTS.md 或者提示詞,先係最實際嘅做法。
哈囉,大家好,我係劉小排。
Skills真係一個好偉大嘅發明,相信你同我一樣,對各種新奇嘅Skills愛不釋手。
裝咗一大堆Skill之後,我一直諗緊一個問題: 我嘅AI Coding Agent寫程式能力,會唔會因為Skill裝得多,寫程式能力就自動提升呢?
啱啱好,最近Vercel做咗一個嚴謹嘅實驗,好解答咗我嘅疑惑。
如果冇耐性,我先話你知省流版答案: 答案係NO!裝再多Skill,AI嘅寫程式能力都唔會自動提升! 但係你可以「顯式聲明」要調用嘅Skill,更好嘅方法係寫到AGENTS.md裏面強調,可以得到明顯提升。
我諗,呢個可能係因為AI嘅思考方式比較似人。有時,你叫人去做一個咩任務,佢好多時都會忘記自己已經有嘅某個工具,除非你特別強調。
以下係實驗數據。睇到第二行未?
裝咗 Skill,默認情況下,同冇裝一樣。 甚至 Test 通過率仲低咗 5 個百分點。
就算你喺提示詞裏面顯式叫佢「先探索項目,再調用 Skill」,都只係得 79% 嘅綜合通過率。
而一個 markdown 檔案,直接拉滿到 100%。
Vercel嘅實驗?
Vercel嘅實驗特別聰明。
想解決一個好現實嘅問題:AI 寫程式助手嘅訓練數據有截止日期,新出嘅框架 API 佢根本唔知。例如 Next.js 16 啱啱出 'use cache'、connection()、forbidden() 呢啲新 API,你叫 Claude 或者 GPT 去寫,十有八九寫錯。
點算?兩條路:
Skills —— 一套打包領域知識嘅開放標準,包含文檔、提示詞、工具,Agent 需要嘅時候自己調用 AGENTS.md —— 喺項目根目錄放一個 markdown 檔案,將關鍵知識寫入去
聽落 Skills 高級啲啫?始終係一套完整系統,按需加載,模塊化設計,好工程化。
結果呢?
開頭你都見到啦。
有興趣嘅同學可以睇原文
https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals
點解 Skill 咁唔掂?
Vercel 團隊嘅分析好到位,但係我想換一個更直接嘅講法:AI 大模型嘅思考方式,其實同人好似。
你諗下,係咪成日都咁:
買咗一大堆效率工具,Notion、Obsidian、Flomo、滴答清單……到最後都係用微信收藏 訂閲咗一大堆 newsletter,從來冇打開過 收藏咗一百個「稍後閲讀」,從來冇「稍後」 學咗一大堆快捷鍵,做嘢嘅時候都係用滑鼠㩒
你手上面明明有工具,但你就係諗唔起用。
除非有人喺你耳邊不斷講:「用嗰個工具!用嗰個工具!」
AI 都係一樣。
Skills 嘅設計理念好美好:當Agent發現問題,可以自己去揾工具解決問題。
但呢條鏈有太多環節可以出錯:
佢可能根本冇意識到自己需要幫助(「呢個 API 我識㗎」——然後寫錯) 佢知道有 Skill,但係唔記得調用(人類程序員見到都覺得親切) 調用嘅時機唔啱(先寫咗一半 code,先去查文檔,改起上嚟更麻煩) 調用嘅措辭稍為改一改,結果就完全唔同(Vercel 原話:「wording was fragile」)
呢個就係點解 Skill 喺「默認行為」之下同冇裝一樣。
你以為佢會主動用,但佢就係唔用。
AGENTS.md 點解可以做到 100%?
答案簡單到令人懷疑人生:因為佢唔需要 Agent 做任何決策。
AGENTS.md 就放喺項目根目錄,Agent 每一輪對話都睇到。唔需要佢判斷「使唔使調用」,唔需要佢選擇「幾時調用」,唔需要佢煩惱「調用邊個」。
佢就喺嗰度,避無可避。
Vercel 總結咗三點:
No decision point —— 冇決策點 Consistent availability —— 始終可用 No ordering issues —— 冇順序問題
翻譯成人話:唔俾佢有選擇唔睇嘅機會。
呢樣令我諗起管理學一個老笑話:
唔好考驗人性。
同理,唔好考驗 AI 嘅主動性。
與其相信佢會主動做正確嘅事,不如直接將正確嘅資訊塞到佢面前。
我嘅思考
呢個實驗結果,其實揭示咗一個更深層嘅問題:
我哋對 AI Agent 嘅期望,可能一開始就錯咗。
我哋成日想令 AI 變得更「智能」、更「自主」、更「識判斷」。所以我哋俾佢裝各種插件、各種 Skill、各種工具,期望佢好似一個資深工程師咁,知道幾時用啲乜。
但現實係,佢就係會唔記得,就係會漏,就係會判斷錯誤。同人一樣。呢個唔係AI嘅Bug,呢個係AI嘅本性。
你俾佢越多選擇,佢越容易揀錯。
反而係最蠢嘅方法——直接將資訊塞入上下文,唔俾佢有任何選擇嘅餘地——效果最好。
少即是多,約束即自由。
哈嘍,大家好,我是劉小排。
Skills真是一個偉大的發明,相信你也和我一樣,對各種新奇的Skills愛不釋手。
裝了一大堆Skill以後,我一直在思考一個問題: 我的AI Coding Agent編程能力,會因為Skill裝得多,編程能力就自動提升了嗎?
正好,最近Vercel做了一個嚴謹的實驗,很好的解答了我的疑惑。
如果沒有耐心,我先告訴你省流版答案: 答案是NO!裝再多Skill,AI的編程能力都不會自動提升! 但是你可以“顯示聲明”要調用的Skill,更好的方法是寫到AGENTS.md裏進行強調,能得到明顯提升。
我想,這可能是因為AI的思考方式比較像人。有時候,你讓人去完成一個什麼任務,他也往往會忘記自己已經擁有的某個工具,除非你特別強調。
以下是實驗數據。看到第二行沒有?
裝了 Skill,默認情況下,跟沒裝一樣。 甚至 Test 通過率還降了 5 個點。
就算你在提示詞裏顯式告訴它"先探索項目,再調用 Skill",也只能到 79% 的綜合通過率。
而一個 markdown 文件,直接拉滿到 100%。
Vercel的實驗?
Vercel的實驗特別聰明。
想解決一個很現實的問題:AI 編程助手的訓練數據是有截止日期的,新出的框架 API 它根本不知道。比如 Next.js 16 剛出的 'use cache'、connection()、forbidden() 這些新 API,你讓 Claude 或者 GPT 去寫,十有八九寫錯。
怎麼辦?兩條路:
Skills —— 一套打包領域知識的開放標準,包含文檔、提示詞、工具,Agent 需要的時候自己去調用 AGENTS.md —— 在項目根目錄放一個 markdown 文件,把關鍵知識寫進去
聽起來 Skills 更高級對吧?畢竟是一套完整的系統,按需加載,模塊化設計,很工程化。
結果呢?
開頭你也看到了。
感興趣的同學可以閲讀原文
https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals
為什麼 Skill 拉胯了?
Vercel 團隊的分析很到位,但我想換一個更直白的說法:AI 大模型的思考方式,其實很像人。
你想想,你是不是也經常這樣:
買了一堆效率工具,Notion、Obsidian、Flomo、滴答清單……最後還是用微信收藏 訂閲了一堆 newsletter,從來沒打開過 收藏了一百個「稍後閲讀」,從來沒有「稍後」 學了一堆快捷鍵,幹活的時候還是用鼠標點
你手上明明有工具,但你就是想不起來用。
除非有人在你耳邊反覆唸叨:"用那個工具!用那個工具!"
AI 也一樣。
Skills 的設計理念很美好:當Agent發現問題,可以自己去找發現工具來解決問題。
但這個鏈條有太多環節可以出錯:
它可能根本沒意識到自己需要幫助("這個 API 我會啊"——然後寫錯) 它知道有 Skill,但忘了調用(人類程序員看了都覺得親切) 調用的時機不對(先寫了一半代碼,再去查文檔,改起來更麻煩) 調用的措辭稍微變一下,結果就完全不同(Vercel 原話:"wording was fragile")
這就是為什麼 Skill 在"默認行為"下跟沒裝一樣。
你以為它會主動用,但它就是不用。
AGENTS.md 為什麼能 100%?
答案簡單到讓人懷疑人生:因為它不需要 Agent 做任何決策。
AGENTS.md 就放在項目根目錄,Agent 每一輪對話都能看到。不需要它判斷"要不要調用",不需要它選擇"什麼時候調用",不需要它糾結"調用哪個"。
它就在那兒,避無可避。
Vercel 總結了三點:
No decision point —— 沒有決策點 Consistent availability —— 始終可用 No ordering issues —— 沒有順序問題
翻譯成人話:不給它選擇不看的機會。
這讓我想起一個管理學的老梗:
不要考驗人性。
同理,不要考驗 AI 的主動性。
與其相信它會主動做正確的事,不如直接把正確的信息塞到它臉上。
我的思考
這個實驗結果,其實揭示了一個更深層的問題:
我們對 AI Agent 的期待,可能從一開始就錯了。
我們總想着讓 AI 變得更"智能"、更"自主"、更"會判斷"。所以我們給它裝各種插件、各種 Skill、各種工具,期待它能像一個資深工程師一樣,知道什麼時候該用什麼。
但現實是,它就是會忘,就是會漏,就是會判斷錯誤。就和人一樣。這不是AI的Bug,這是AI的本性。
你給它越多選擇,它越容易選錯。
反而是最笨的方法——直接把信息塞進上下文,不給它任何選擇的餘地——效果最好。
少即是多,約束即自由。