Agent Skills 筆記

更多的是在工程上的革新,而不是功能上的革新。

Agent Skills 規(guī)范是 Anthropic 在 Claude Code 落地的標(biāo)準(zhǔn)化概念(2025-10),目前作為跨平臺開放標(biāo)準(zhǔn)(2025-12)。

  • 可遷移:通用標(biāo)準(zhǔn)規(guī)范,適配不同 Agent。
  • 抽象化:解決需要為每個專用領(lǐng)域微調(diào)對應(yīng)模型的問題,將專業(yè)技能抽象為可被提取到外部的腳手架能力,適配當(dāng)前多模態(tài) LLM 的發(fā)展趨勢 (MCP、Skill)。
  • 可預(yù)測:支持可重復(fù)的工作流程,提供清晰的任務(wù)和指令,讓 Agent 流程規(guī)范化建設(shè)。
  • 可組合:多個 Skill 之間可以組合成工作流完成復(fù)雜任務(wù)。
  • 漸進式披露:在開始時只會加載 SKILL.md 名稱(name)和描述(description)到上下文中,只有當(dāng)名稱和描述符合 AI 調(diào)用需求時,才會去讀取 SKILL.md 主體內(nèi)容進行分析。
  • 按需加載:外部資源時按需加載;腳本執(zhí)行時在獨立上下文中執(zhí)行,不會引入額外內(nèi)容污染上下文。

最佳實踐

Skill 標(biāo)準(zhǔn)會逐步演進,所以下面的內(nèi)容可能會過期。

目前感覺各家編程助手對 Skills 的理解規(guī)范都不一致,這里是參考了 Claude Code 的教程規(guī)范。

.claude/skills.cursor/skills目錄下聲明文件。

SKILL.md 元信息(Front Formatter)

名稱(name)

  • 最大 64 個字符。
  • 只包含小寫字符、數(shù)字、連字符(hyphens)。
  • 不要把連字符作為開始和結(jié)束符號。
  • 必須匹配目錄名稱。
  • 使用動名詞形式(gerund form,即 ing 結(jié)尾)。

描述(description)

  • 最大 1024 字符且非空。
  • 描述能做什么(what)、什么時候使用(when)。
  • 包含關(guān)鍵詞,幫助編程助手理解能處理的相關(guān)任務(wù)。

其他 Front Formatter(適配中)

  • 版權(quán)文件(license):提供版權(quán)名稱(MIT、BSD 等)或描述版權(quán)信息的文件。
  • 兼容性(compatibility):最大 500 字符,描述環(huán)境要求。
  • 元數(shù)據(jù)(metadata):任意鍵值對信息。
  • 允許內(nèi)置工具(allowed-tools):通過分隔符列出的允許使用的內(nèi)置工具(如 BASH、WRITE、READ)。

SKILL.md 主體內(nèi)容

格式:無固定格式要求,根據(jù)自己需要編寫(Markdown)。

推薦編寫內(nèi)容

  • 執(zhí)行步驟:Step1、Step2,步驟盡量切割清晰。(步驟)。
  • 輸入輸出格式,或給出輸入輸出示例(樣例)。
  • 常見邊界條件和情況(Common edge cases,約束條件)。

內(nèi)容結(jié)構(gòu)

  • 內(nèi)容盡量精簡:建議 500 字符以內(nèi);具體細(xì)節(jié)放到單獨 Markdown 文件中,SKILL.md 只展示基礎(chǔ)信息、鏈接與領(lǐng)域相關(guān)內(nèi)容(domain-specific content)。
  • 單層引用:存在多層級引用時,SKILL.md 只保留一級文檔的引用;二級由一級文檔內(nèi)部引入,不寫在 SKILL.md 中。
# 這里是文檔引用層級,不是目錄結(jié)構(gòu)

SKILL.md          # 核心文件:記錄技能清單
├─ JS.md          # SKILL.md 引用(一級)
│  └─ ES6.md      # JS.md 引用(二級)
└─ React.md       # SKILL.md 引用(一級)
   └─ Hooks.md    # React.md 引用(二級)
  • 保持 SKILL.md 簡潔(clear and concise)、術(shù)語一致性(consistent terminology)。
  • 所有系統(tǒng)下文件路徑均使用正斜杠(forward slashes)。
  • 保證執(zhí)行步驟盡量可預(yù)測,即用戶輸入信息可以得到想要的輸出結(jié)構(gòu)。

內(nèi)容主題

自由度考量
  • 高自由度(High freedom):基于文本的通用指令,多種實現(xiàn)方法均有效。
  • 中自由度(Medium freedom):指令包含可自定義的偽代碼、代碼示例或代碼模式;存在推薦模式,但允許一定變體。
  • 低自由度(Low freedom):指令指向特定腳本,須遵循固定執(zhí)行順序。
復(fù)雜度考量
  • 文檔切分、步驟切分,保證流程清晰。
  • 保留技能單一整潔,通過工作流模式來構(gòu)建整體業(yè)務(wù)。

目錄

在 skills 下面有三個固定的目錄組成(感覺目前只是規(guī)范,沒有特別要求)

  • script(需執(zhí)行的腳本):
    • 腳本結(jié)構(gòu)整潔,依賴樹清晰,可以在腳本開頭添加注釋信息。
    • 執(zhí)行異常時,給出有用的錯誤輸出。
  • references(可閱讀的文檔引用):
    • 盡量引入個人文檔,文檔內(nèi)可以包含可參考的其他文檔。
    • 單份文檔超過 100 行時,可在文件開頭編寫目錄,便于 AI 快速獲取相關(guān)信息,也可以在開頭添加概覽,便于 AI 快速理解文檔的作用。
  • assets(資源文件):
    • 模板:文檔模板、配置模板,通過參數(shù)與注釋補充使用說明。
    • 圖片:logo、各類圖片資源。
    • 數(shù)據(jù)集:參數(shù)、數(shù)據(jù)表等。
.claude/skills/my-task-agent/
├── SKILL.md                 # 技能的身份標(biāo)簽(Meta & Trigger)
├── scripts/                 # 可執(zhí)行邏輯 - 按需執(zhí)行
│   ├── main.py             
│   └── helper.sh           
├── assets/                  # 可使用資源 - 按需加載
│   ├── config_template.yaml 
│   ├── logo.png             
│   └── prompt_snippet.txt   
└── references/              # 可參考的文檔 - 局部 RAG 按需讀取
    └── style_guide.md       # 代碼或文案風(fēng)格參考

測試

skill 創(chuàng)建好之后,需要通過不斷測試來進行迭代和完善

測試模板內(nèi)容:與日常寫測試一樣,測試其可預(yù)測性。

  • input:輸入。
  • output:輸出。
  • files:測試數(shù)據(jù)集,可以指定文件路徑,或者 prompt 測試集。
  • expected behavior:期望達(dá)到的行為。

MCP 與 Agent Skills 的區(qū)別

  • MCP 與 Agent Skills 均用于拓展 Agent 能力。
  • MCP:向 Agent 提供數(shù)據(jù)。
  • Agent Skills:指導(dǎo) Agent 如何處理數(shù)據(jù)。

對于 Agent Skills,可結(jié)合 MCP、SubAgent 與其他 Skill 構(gòu)建完善的工作流。

總結(jié)

Agent Skills:

  • 將過去拆解的流程和資源集成到統(tǒng)一的規(guī)范技能中
  • 通過按需加載形式解決上下文污染和上下文過長的問題
  • 提供標(biāo)準(zhǔn)規(guī)范,將專業(yè)領(lǐng)域內(nèi)容抽象為單一的技能流程
  • 使執(zhí)行流程變得可預(yù)測,符合我們?nèi)粘i_發(fā)的輸入輸出需求

參考內(nèi)容

Agent Skills with Anthropic - DeepLearning.AI

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容