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

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

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

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

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

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

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

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

是時候停止重復構(gòu)建 Agent,開始構(gòu)建技能了。
然而,需要警惕的是,我們應該采取一種理性和審慎的態(tài)度對待 Agent Skills 這項重要創(chuàng)新:
- 不要一切皆 Agent Skills,因為它不是魔法,更不是可以即插即用的“銀彈”。
- 必須將 Agent Skills 視為代碼,而非文檔,對其進行嚴格的代碼審查、依賴掃描和版本控制,尤其對于第三方的,警惕成本優(yōu)勢背后的“隱性負債”。
隨著技能生態(tài)的成長,Anthropic 認為還需要在以下方向持續(xù)探索:
- 質(zhì)量保障:像對待軟件一樣對待技能——探索、測試、評估,確保 Agent 在正確的時間加載并觸發(fā)正確的技能,同時衡量輸出質(zhì)量是否達標。
- 版本管理:清晰追蹤技能的演進以及由此帶來的 Agent 行為變化,保持明確的演變脈絡。
- 多技能組合:讓多個技能協(xié)同工作,使 Agent 展現(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原生應用
