背景
我們曾經(jīng)認(rèn)為不同領(lǐng)域的 Agent 會有很大的不同,每個 Agent 需要自己的工具和支撐結(jié)構(gòu),這意味著每個領(lǐng)域都需要一個單獨的 Agent:

當(dāng)然,每個領(lǐng)域的定制化非常重要,但實際上底層的 Coding Agent 比我們想象的要通用的多。我們意識到,代碼不僅僅是一個領(lǐng)域,更是通往數(shù)字世界的通用接口。
簡單來說,代碼就是我們所需要的一切!
Code is all you need
我們常用的 Cursor、Claude Code 等 Coding Agent 就是一個通用 Agent,而基于通用 Agent 去構(gòu)建各個領(lǐng)域的用例就是我們正在邁進(jìn)的一個新范式:

這種新范式使 Agent 與運(yùn)行時環(huán)境之間的耦合變得更緊密。假如你要生成一份財務(wù)報告,Agent 會先調(diào)用工具獲取數(shù)據(jù),接著在文件系統(tǒng)中預(yù)處理這些數(shù)據(jù),然后調(diào)用 Python 腳本進(jìn)行分析,最后調(diào)用 Python 腳本將洞見整合并輸出為 md 格式的文件。在整個過程中,核心的支撐結(jié)構(gòu)突然變得像 bash 和文件系統(tǒng)一樣精簡,這非常具有可擴(kuò)展性。
但我們很快就會遇到另一個問題,就是領(lǐng)域?qū)I(yè)知識。
你希望誰來幫你報稅?是 Mahesh 這個具有 300 智商的數(shù)學(xué)天才,還是 Barry 這個具有豐富經(jīng)驗的稅務(wù)專家?

你大概率會選擇 Barry,因為報稅需要的是領(lǐng)域?qū)<业姆€(wěn)定執(zhí)行,而不是天才的即興推導(dǎo)。
但現(xiàn)在的 Agent 恰恰更像 Mahesh——推理能力強(qiáng),能舉一反三,遇到實際工作中卻經(jīng)??ㄔ谌律希?/p>
- 缺背景:組織里的約定、歷史決策、合規(guī)紅線,模型默認(rèn)不知道
- 難沉淀:同類任務(wù)反復(fù)做,輸出漂移,質(zhì)量靠人盯
- 不長記性:這次踩過的坑,下次還會踩
這就是 Anthropic 提出 Agent Skills(智能體技能)的原因。
什么是 Agent Skills
從概念上來說,Agent Skills 是給 Agent 的“工作手冊”或“SOP(標(biāo)準(zhǔn)作業(yè)程序)”。它將領(lǐng)域?qū)I(yè)知識、工作流程和最佳實踐固化下來,讓一個通用的 Agent 能夠在需要時動態(tài)加載,從而化身為領(lǐng)域?qū)<摇?/p>
從形態(tài)上來說,Agent Skills 是有組織的文件集合,為 Agent 打包可組合的流程知識,還可以包含大量腳本作為工具。換句話說,技能就是文件夾,這種簡潔是有意為之,天然支持 git 版本管理、模塊化組合和團(tuán)隊共享。我們希望無論是人還是智能體,只要有一臺電腦,都能創(chuàng)建和使用技能。
你可以創(chuàng)建或復(fù)用很多技能,同時每個技能可以包含大量信息。我們希望保護(hù)上下文窗口,這樣就能一次性容納數(shù)百個技能,并讓它們實現(xiàn)真正可組合。
如何在一個上下文窗口容納數(shù)百個技能呢?我們需要一種更先進(jìn)的知識封裝和調(diào)用機(jī)制。這種機(jī)制,應(yīng)該能讓我們的領(lǐng)域?qū)I(yè)知識像一個個獨立的“知識插件”一樣存在,只有在 AI 處理相關(guān)任務(wù)時,才被精準(zhǔn)地、動態(tài)地、高效地加載進(jìn)來。
這種機(jī)制就是“漸進(jìn)式披露”,決定了 Agent Skills 的三層架構(gòu):

- 第一層:元數(shù)據(jù)層(Metadata)——每個技能只暴露名稱和一句話描述,相當(dāng)于索引卡片。Agent 啟動時一次性掃描所有卡片,成本極低。
-
第二層:指令層(Instructions)——即
SKILL.md的主體內(nèi)容,包含核心工作流程、工具說明和注意事項。只有當(dāng) Agent 判斷某個技能與當(dāng)前任務(wù)相關(guān)時,才會加載這一層。 -
第三層:資源層(Resources)——詳細(xì)的參考手冊、示例、腳本和模板等。只有在 Agent 執(zhí)行
SKILL.md的過程中真正需要時,才按需讀取或運(yùn)行資源。當(dāng)運(yùn)行腳本時,只有腳本的最終輸出結(jié)果會進(jìn)入上下文,而腳本代碼本身不會。這避免了將冗長的代碼注入 Prompt,進(jìn)一步節(jié)省了寶貴的上下文空間。
這就是漸進(jìn)式披露的核心思路:不是一股腦把所有知識塞進(jìn)上下文,而是逐層按需加載——先掃索引、再讀指南、最后查資料或運(yùn)行腳本。每一層都充當(dāng)下一層的"門衛(wèi)",只有通過了才會繼續(xù)深入。這樣即使注冊了數(shù)百個技能,實際占用的上下文窗口也只是當(dāng)前任務(wù)真正需要的那一小部分。
以技能 pptx 為例,其目錄結(jié)構(gòu)如下:
├── SKILL.md # 第一層 + 第二層:元數(shù)據(jù) & 核心指令
├── LICENSE.txt
├── html2pptx.md # 第三層:從零創(chuàng)建 PPT 的詳細(xì)參考
├── ooxml.md # 第三層:編輯既有 PPT 的詳細(xì)參考
├── scripts/ # 第三層:工具腳本
│ ├── html2pptx.js # HTML → PPTX 轉(zhuǎn)換
│ ├── inventory.py # 提取文本清單
│ ├── rearrange.py # 幻燈片重排
│ ├── replace.py # 批量替換文本
│ └── thumbnail.py # 生成縮略圖網(wǎng)格
└── ooxml/ # 第三層:OOXML 底層工具 & Schema
├── schemas/ # Office Open XML 標(biāo)準(zhǔn)定義
│ └── ... # (20+ .xsd 文件)
└── scripts/ # 打包/解包/校驗?zāi)_本
├── pack.py
├── unpack.py
├── validate.py
└── validation/
對照三層架構(gòu)來看這個例子:
| 層級 | 對應(yīng)內(nèi)容 | 何時加載 |
|---|---|---|
| 元數(shù)據(jù)層 |
SKILL.md 頭部的 YAML front matter:name: pptx、description: "Presentation creation, editing..."
|
Agent 啟動時掃描,僅幾十個 token |
| 指令層 |
SKILL.md 的正文:概述、工作流程、設(shè)計原則、代碼規(guī)范等 |
用戶請求涉及 PPT 時,整份讀入 |
| 資源層 |
html2pptx.md、ooxml.md、scripts/ 目錄下的所有腳本和 ooxml/schemas/
|
僅在 SKILL.md 中被引用且執(zhí)行需要時,才按需讀取或運(yùn)行 |
可以看到,一個技能可以包含大量內(nèi)容(這個技能有 56 個文件),但真正進(jìn)入上下文窗口的,始終只是當(dāng)前任務(wù)步驟所需的那一小片。
Agent Skills 將 Prompt Engineering 從一次性的“手工作坊”模式,提升到了可復(fù)用、可維護(hù)的“工業(yè)化生產(chǎn)”階段:

- 高度復(fù)用:一個編寫良好的 Skill(例如,“從財報中提取關(guān)鍵指標(biāo)”)可以在無數(shù)個不同的任務(wù)和 Agent 中被復(fù)用,避免了為每個相似任務(wù)重復(fù)編寫和調(diào)試復(fù)雜 Prompt 的人力成本。
- 簡化維護(hù):當(dāng)一個流程或 API 發(fā)生變化時,開發(fā)者不再需要在成百上千個散落的 Prompt 中進(jìn)行“查找替換”,而只需更新一個對應(yīng)的 Skill 文件即可。這種集中式的管理極大地降低了維護(hù)成本和出錯風(fēng)險。
- 促進(jìn)協(xié)作:Skills 的模塊化特性使得團(tuán)隊協(xié)作變得更加容易。不同領(lǐng)域的專家可以獨立開發(fā)和貢獻(xiàn)各自的 Skill,最終組合成一個強(qiáng)大的 Agent,實現(xiàn)了知識的沉淀和共享。
Agent Skills 是如何工作的
了解了 Agent Skills 是什么,我們再來看看它是怎么工作的。這就像拆開一臺機(jī)器,看看里面的齒輪是怎么轉(zhuǎn)動的。
啟動時的"登記注冊"
當(dāng)你早上打開 Cursor 或 Claude Code 時,AI 做的第一件事不是等你說話,而是悄悄地掃描技能目錄。
以 Cursor 為例,它會掃描兩個位置:
-
~/.cursor/skills/——個人技能目錄,存放你自己積累的技能,跨項目通用 -
{project}/.cursor/skills/——項目技能目錄,存放團(tuán)隊共享的技能,隨代碼庫一起版本管理
掃描的過程很快,因為只讀取每個 Skill 的"名片"(元數(shù)據(jù)):技能叫什么名字,能做什么事情。就像你進(jìn)入一個圖書館,先看看目錄板,了解有哪些分類的書。
這個過程只需要幾百個 tokens,幾秒鐘就完成了。
AI 在心里建立了一個索引:
- PDF 相關(guān)的任務(wù) → 調(diào)用 PDF Skill
- PPT 相關(guān)的任務(wù) → 調(diào)用 PPTX Skill
- ......
這個索引會被緩存起來,除非你添加、修改或刪除了 Skill,否則不需要重新掃描。系統(tǒng)會監(jiān)聽文件變化,一旦檢測到 Skill 有變化,會自動更新索引,連重啟都不需要。
對話時的"智能匹配"
登記注冊只是準(zhǔn)備工作,而真正有意思的事情發(fā)生在你開口說話的那一刻。
假設(shè)你對 Cursor 說了一句:
"幫我做一份關(guān)于 AI 發(fā)展趨勢的演示文稿,要好看一點。"
這句話看起來很簡單,但 Agent 在幕后瞬間完成了好幾件事。
第一步:意圖識別——你到底想干什么?
Agent 先理解你的意圖:用戶想創(chuàng)建一份 PPT。這不是寫代碼,不是分析數(shù)據(jù),也不是處理 PDF,而是做演示文稿。
第二步:技能匹配——翻索引卡片
還記得啟動時建立的那個索引嗎?Agent 拿著"創(chuàng)建演示文稿"這個意圖,去索引里找對應(yīng)的技能。
一翻就找到了:
pptx —— Presentation creation, editing, and analysis.
匹配成功。就像你去圖書館找"烹飪"類的書,目錄板上清清楚楚寫著在 3 樓 B 區(qū)。
第三步:加載指令——打開"操作手冊"
匹配到技能后,Agent 立刻讀取 SKILL.md 的完整內(nèi)容(第二層:指令層)。
這份文件就是一本"操作手冊",告訴 Agent:
-
創(chuàng)建新 PPT 時要用
html2pptx工作流 - 動手寫代碼之前,先分析內(nèi)容、選定配色方案和設(shè)計風(fēng)格
- 只能使用 web-safe 字體(Arial、Georgia、Verdana……)
- 布局要遵循視覺層次:大標(biāo)題用 72pt,正文用 11pt
- 圖表和表格絕不能堆在文字下面,要用雙欄或全幅布局
- 做完之后要生成縮略圖,自己檢查有沒有文字溢出、對比度不夠等問題
注意,這時候 Agent 并沒有加載所有細(xì)節(jié)。它只是知道了"大方向怎么走",具體的技術(shù)參考還沒打開。
第四步:按需深入——用到什么查什么
當(dāng) Agent 真正開始動手時,才會觸發(fā)第三層(資源層)的加載。比如:
- 需要把 HTML 轉(zhuǎn)成 PPT?去讀
html2pptx.md,里面有完整的 API 語法和格式規(guī)則 - 需要選配色?
SKILL.md里列了 18 套精選配色方案,Agent 會根據(jù)"AI 發(fā)展趨勢"這個主題挑一套合適的——也許是"Deep Purple & Emerald",科技感十足 - 需要轉(zhuǎn)換腳本?直接調(diào)用
scripts/html2pptx.js來執(zhí)行
這就是漸進(jìn)式披露在實戰(zhàn)中的樣子:不是一開始就把 56 個文件全部塞進(jìn)大腦,而是走到哪一步,就打開哪一份資料。
整個過程,打個比方
想象你是一個新來的實習(xí)生,接到任務(wù)要做一份 PPT。你不會把公司所有的文件都翻一遍,而是:
- 先問前輩:"咱們公司做 PPT 有沒有什么規(guī)范?"——意圖識別
- 前輩指了指文件柜:"第三個抽屜,那本藍(lán)色的手冊。"——技能匹配
- 你拿出手冊,翻到"從零創(chuàng)建演示文稿"那一章——加載指令
- 做到配色那一步,手冊上寫著"參考附錄 B 的配色表",你翻到附錄 B——按需深入
Agent 做的事情和你一模一樣,只不過它翻得更快,記得更牢。
這個"智能匹配"的過程幾乎是瞬間完成的,你感知不到任何延遲。從你敲下回車的那一刻起,Agent 已經(jīng)知道該用什么技能、該怎么做、該注意什么,剩下的就是執(zhí)行了。
Skills 的柔性設(shè)計
有人可能會問:Skills 是不是會限制 Agent 的靈活性?如果環(huán)境不一樣怎么辦?
這就涉及到 Skills 設(shè)計的一個巧妙之處:它提供指導(dǎo),而不是強(qiáng)制約束。
比如,PPTX Skill 推薦使用 html2pptx 工具來創(chuàng)建演示文稿(因為它能實現(xiàn)精確的布局控制),但這個工具需要 Node.js 環(huán)境。
如果你的電腦上沒裝 Node.js,Agent 會崩潰嗎?
當(dāng)然不會。當(dāng) Agent 會發(fā)現(xiàn)環(huán)境中沒有 Node.js,然后自主選擇替代方案,比如用 Python 的 python-pptx 庫。雖然技術(shù)棧換了,但 Agent 還是會遵循 Skill 里的設(shè)計原則:配色方案怎么選、布局怎么安排、內(nèi)容怎么組織。
這就像一個廚師拿到了菜譜,菜譜上寫著"用煤氣灶",但廚房只有電磁爐,廚師不會傻乎乎地說"沒法做飯了",而是換用電磁爐,但還是按照菜譜的火候和步驟來做。
Skill 提供的是"道"(原則和思路),Agent 結(jié)合環(huán)境選擇"術(shù)"(具體實現(xiàn))。這種柔性設(shè)計,讓技能既有指導(dǎo)作用,又不會因為環(huán)境差異而失效。
如何使用 Agent Skills
理論講得差不多了,現(xiàn)在該動手實踐了。不用擔(dān)心,使用 Agent Skills 比你想象的要簡單得多。
五分鐘快速開始
想體驗 Agent Skills,你只需要三步:
第一步:獲取 Skills
Anthropic 在 GitHub 上開源了一些常用的 Skills,包括 PDF 、PPTX 等。
打開終端,運(yùn)行:
git clone https://github.com/anthropics/skills
幾秒鐘,你就下載了一個技能庫。
第二步:部署 Skills
決定把 Skills 放在哪里,以 Cursor 為例:
- 如果只是自己用,放到個人目錄:
~/.cursor/skills/ - 如果要團(tuán)隊共享,放到項目目錄:
{project}/.cursor/skills/
比如,你想用 PDF 和 PPTX 技能,當(dāng)前目錄為項目所在的根目錄:
# 個人使用
cp -r skills/pdf skills/pptx ~/.cursor/skills/
# 團(tuán)隊共享
cp -r skills/pdf skills/pptx ./my-project/.cursor/skills/
第三步:測試 Skills
打開 Cursor,試試看:
"請幫我寫一個 Agent Skills 的膠片,適合初學(xué)者"
Cursor 的執(zhí)行過程:
- 我來先讀取相關(guān)的技能文件和已有的內(nèi)容資料。
- 現(xiàn)在我有了所有需要的資料。讓我來規(guī)劃并創(chuàng)建這份演示文稿。
- 設(shè)計方案:這是一個關(guān)于 AI/Agent 技術(shù)的主題,面向初學(xué)者,需要現(xiàn)代感、親和力和專業(yè)性并存。我將使用 Deep Purple & Emerald 配色(紫色 #B165FB + 深藍(lán)黑 #181B24 + 翡翠綠 #40695B),傳達(dá)創(chuàng)新和技術(shù)前沿的感覺,同時保持清晰易讀。
實現(xiàn)方案:
todos.png
...
最后生成的 pptx 預(yù)覽:**

MCP 與 Skill 的關(guān)系
下面列出針對 Prompt、Skills、MCP 三種上下文工程手段的橫向?qū)Ρ龋?/p>
| 特性 | 傳統(tǒng) Prompt | Agent Skills | MCP |
|---|---|---|---|
| 作用域 | 會話級指令,一次性任務(wù) | 可復(fù)用、可插拔的"SOP" | 連接外部工具/數(shù)據(jù)源的標(biāo)準(zhǔn)協(xié)議 |
| 加載方式 | 每次對話都需要重復(fù)提供 | 按需自動加載,一次安裝 | 通過網(wǎng)絡(luò)請求實時交互 |
| 上下文消耗 | 全部內(nèi)容一次性加載,成本高昂 | 漸進(jìn)式披露,按需加載 | 每次請求和響應(yīng)都消耗上下文 |
| 可組合性 | 難以組合和維護(hù) | 可組合多個 Skills 構(gòu)建復(fù)雜工作流 | 依賴于工具自身的接口設(shè)計 |
| 專業(yè)化 | 依賴通用模型能力 | 賦予模型本身領(lǐng)域?qū)I(yè)知識 | 訪問外部專業(yè)化工具 |
| 可靠性 | 輸出不穩(wěn)定,依賴模型生成 | 可通過執(zhí)行確定性代碼保證可靠性 | 依賴于外部工具的可靠性 |
MCP 屬于連接層,為 Agent 連接了廣闊的外部世界,把數(shù)據(jù)和工具帶進(jìn)來。Skill 屬于知識層,為 Agent 裝配了領(lǐng)域?qū)I(yè)知識,按需逐層加載。知識層 Skill 可以依賴連接層 MCP 提供的工具實現(xiàn)更強(qiáng)大的功能。

下面舉一個例子。
場景:分析用戶行為數(shù)據(jù)
數(shù)據(jù)分析 Skill:
- 提供數(shù)據(jù)分析的標(biāo)準(zhǔn)流程(數(shù)據(jù)清洗→探索性分析→可視化→得出結(jié)論)
- 定義團(tuán)隊的數(shù)據(jù)可視化規(guī)范(用什么圖表、什么配色)
- 給出常見分析場景的模板
工具 MCP:
- 連接用戶行為數(shù)據(jù)庫,獲取原始數(shù)據(jù)
- 調(diào)用數(shù)據(jù)分析工具的 API
- 把分析結(jié)果存儲到文件系統(tǒng)
工作流程:
- 你說:"分析一下上周的用戶活躍度"
- Agent 匹配到"數(shù)據(jù)分析 Skill",了解分析流程
- Agent 通過 MCP 連接數(shù)據(jù)庫,獲取上周數(shù)據(jù)
- Agent 按照 Skill 的指導(dǎo)進(jìn)行分析
- Agent 通過 MCP 調(diào)用可視化工具生成圖表
- Agent 按照 Skill 的規(guī)范整理分析報告
假如 Agent 是一個廚師,那么 Skill 是菜譜(告訴你怎么做菜),MCP 是冰箱和廚具(提供食材和工具)。只有當(dāng) Skill 和 MCP 緊密配合,才能做出一桌好菜。
兩個提示:
- 對于簡單的技能,可以不調(diào)用工具,或者僅調(diào)用自己攜帶的腳本工具。
- 在必要時,可以充分利用技能的優(yōu)勢,從而將 MCP 工具封裝為一個 Skill,比如在 Python 腳本中直接實現(xiàn)一個 MCP Client。
總結(jié)
Agent Skills 的核心理念可以用一句話概括:把領(lǐng)域?qū)I(yè)知識裝進(jìn)文件夾,讓通用 Agent 變成領(lǐng)域?qū)<?/strong>。
掌握 Agent Skills,意味著你開始以一種全新的、更高級的方式來“編程”AI。你不再是為 AI 編寫一次性的“腳本”(Prompt),而是在為它構(gòu)建一個可復(fù)用的、可發(fā)現(xiàn)的、不斷成長的“能力庫”。所以,技能的價值很大一部分來自于共享和分發(fā)。
粗略類比一下:模型是處理器,Agent 是操作系統(tǒng),Skills 是應(yīng)用程序。只有少數(shù)公司構(gòu)建了處理器和操作系統(tǒng),而數(shù)百萬開發(fā)者通過應(yīng)用程序創(chuàng)造了更大的價值。Skills 正在打開應(yīng)用程序這一層,每個開發(fā)者都可以發(fā)揮創(chuàng)造力,把領(lǐng)域?qū)I(yè)知識放進(jìn)文件夾,為自己、他人及全世界解決一個具體問題。

是時候停止重復(fù)構(gòu)建 Agent,開始構(gòu)建技能了。
然而,需要警惕的是,我們應(yīng)該采取一種理性和審慎的態(tài)度對待 Agent Skills 這項重要創(chuàng)新:
- 不要一切皆 Agent Skills,因為它不是魔法,更不是可以即插即用的“銀彈”。
- 必須將 Agent Skills 視為代碼,而非文檔,對其進(jìn)行嚴(yán)格的代碼審查、依賴掃描和版本控制,尤其對于第三方的,警惕成本優(yōu)勢背后的“隱性負(fù)債”。
隨著技能生態(tài)的成長,Anthropic 認(rèn)為還需要在以下方向持續(xù)探索:
- 質(zhì)量保障:像對待軟件一樣對待技能——探索、測試、評估,確保 Agent 在正確的時間加載并觸發(fā)正確的技能,同時衡量輸出質(zhì)量是否達(dá)標(biāo)。
- 版本管理:清晰追蹤技能的演進(jìn)以及由此帶來的 Agent 行為變化,保持明確的演變脈絡(luò)。
- 多技能組合:讓多個技能協(xié)同工作,使 Agent 展現(xiàn)出更復(fù)雜、更貼合場景的行為。
參考文獻(xiàn)
- 《Don't Build Agents, Build Skills Instead》,Barry Zhang & Mahesh Murag,Code Summit · Anthropic
- 《智能涌現(xiàn)的基石:精通Agent Skills,為AI植入專家能力》,Tony Bai,極客時間 · AI 原生開發(fā)工作流實戰(zhàn)
- 《代碼就是一切:為什么Anthropic不再做"專用Agent"?》,claudecn,微信公眾號 · 架構(gòu)師
- 《對待 Skills,請理性祛魅》,李顏良,微信公眾號 · AI原生應(yīng)用
