技能是被打包成独立单元、可以传授的能力,其中包含把某一类任务做好所需的指令和资源。它平时保存在环境中,直到上下文指针根据当前任务把它加载进上下文窗口。技能是运行框架实现渐进式披露的基本单元。
技能是一项开放标准,规范发布在 agentskills.io。它最初由 Anthropic 开发,后来被大多数主流运行框架采用,因此一份技能只需编写一次,就能跨不同框架使用。其格式是一个包含以下内容的文件夹:
- 一个
SKILL.md文件——至少包含名称、描述等元数据,以及技能指令本身 - 可选:供智能体运行的脚本
- 可选:指令引用的模板和参考资料
默认情况下,只有技能名称和描述会进入上下文。当智能体的任务与技能匹配时,才会加载其余内容。在此之前,无论完整指令有多长,技能都只占用一两句话的 Token。
这正是技能与 AGENTS.md 的区别:无论任务是什么,AGENTS.md 都会加载进每次会话;技能则只在出现特定类型的工作时才会被读取,例如发布版本、搭建新服务或编写迁移,其余时间不会占用上下文。
避免:把技能称为“工具”。工具是智能体调用的函数,技能则是智能体读取的指令。
用法:
“部署操作手册应该放在哪里?”
“做成技能——只有任务涉及部署时,智能体才会加载它。如果放在 AGENTS.md 中,为了一份每周才用一次的内容,每个轮次都会白白消耗 Token。”