你有没有教过新人做事?
你把流程文档发给他,他看一遍,遇到问题再翻,做错几次后慢慢上手。三个月后,他比你还清楚哪些地方文档写得不对——然后他把文档改了。
Anthropic 最近发布的 Agent Skills,本质上就是给 AI 做的"新人入职手册"。但它的设计聪明在于:这不是一本死手册,而是一本会按需加载、会自己长大的手册。
📦 技能是什么?一个文件夹而已
Anthropic 的定义简单到让人放心:
一个技能 = 一个文件夹
里面有什么?
- SKILL.md:说明书(必须,YAML frontmatter + Markdown正文)
- scripts/:脚本文件
- resources/:资源文件
- 其他 .md 文件:按需引用的补充文档
SKILL.md 的开头两行 YAML 元数据:
---
name: pdf-form-filler
description: Fill out PDF forms by extracting fields and writing values
---
就这么简单。没有复杂的 JSON Schema,没有繁琐的注册流程。一个文件夹,丢进 skills 目录,AI 启动时自动发现。
🎯 核心设计:渐进式披露(Progressive Disclosure)
这是 Agent Skills 最漂亮的设计。类比一本手册:
第一层:目录(启动时加载)
↓ AI知道"有个技能叫pdf-form-filler,填表用的"
第二层:章节(触发时加载)
↓ 用户说"帮我填这个PDF",AI读SKILL.md全文
第三层:附录(按需加载)
↓ 填表遇到特殊情况,AI读forms.md补充说明
第N层:可以无限嵌套
↓ 技能包里能塞多少内容,理论上没有上限
关键洞察:AI有文件系统访问能力,不需要一次性把所有内容塞进上下文窗口。
这就像人类读书——你不会把整本百科全书背下来,而是知道有问题时该翻哪一章。
上下文窗口的变化
用户消息前:
[系统提示] + [技能目录] ← 只加载name和description,很小
用户触发后:
[系统提示] + [技能目录] + [SKILL.md全文] ← 仍然可控
需要细节时:
[系统提示] + [技能目录] + [SKILL.md] + [forms.md] ← 按需追加
Anthropic 说得很直接:"技能能打包的上下文量,实际上没有上限。"
🛠️ 关键原则:代码确定性 > 模型猜测
文章里有一个反常识但极其重要的点:
"能用代码确定性搞定的,就别让模型拿token一个个猜。"
例子:PDF 填表。
错误做法:让模型读PDF、理解字段、猜该填什么、直接写回PDF。—— 每一步都在消耗token,每一步都可能猜错。
正确做法(Anthropic的PDF skill):
- 预写一个 Python 脚本,精确抽取PDF所有字段
- 预写一个脚本,把值写回PDF指定位置
- 脚本和PDF都不进上下文——模型只调用脚本
- 模型的工作:决定"这个字段填什么值",然后调用脚本执行
# 模型不需要懂PyPDF2,只需要调用
fill_pdf_field(pdf_path, field_name="name", value="张三")
模型做判断,代码做执行。 确定性工作交给代码,不确定性工作("这个字段该填什么")交给模型。
这大幅降低了token消耗和错误率。
🔌 技能 vs MCP:互补,不是取代
很多人问:技能是要取代 MCP 吗?
Anthropic 的定调很明确:互补。
| MCP | Agent Skills | |
|---|---|---|
| 管什么 | 连接(对外集成) | 知识(内部怎么做) |
| 类比 | USB接口 | 操作手册 |
| 例子 | 连GitHub、查数据库、发邮件 | 怎么写测试、怎么做代码审查、怎么填PDF |
| 谁提供 | 通常是第三方服务 | 通常是用户或团队自己 |
MCP 回答"能连什么",Skills 回答"连上之后怎么做"。
一个完整的 AI 工作流可能是:
用户:帮我分析这个GitHub项目的代码质量
↓
[MCP] 连接GitHub API,拉取代码
↓
[Skills] 加载code-review技能,按检查清单审查
↓
[Skills] 加载git-guardrails技能,确保不越权修改
↓
[MCP] 通过GitHub API提交PR评论
两者协同,不是二选一。
✨ 写好一个技能的四条原则
Anthropic 分享了四条最佳实践:
1. 从评估开始(Start with evaluation)
别先写技能,先写测试用例。你怎么知道技能work了?定义好验收标准,再写实现。
这和 TDD(测试驱动开发)的哲学一致:先知道"对"是什么样,再朝着它走。
2. 为规模拆分(Design for scale)
一个技能做一件事。不要把"整个开发流程"塞进一个技能,拆成:
brainstorming:需求澄清writing-plans:写实现计划tdd:测试驱动编码code-review:代码审查
每个技能小而专注,组合起来覆盖全流程。
3. 站在 Claude 视角(Think like Claude)
Claude 不是人类。它没有"直觉",只有上下文。写技能时要考虑:
- Claude 会怎么理解这条指令?
- 它可能在哪里误解?
- 怎么给更明确的约束?
4. 与 Claude 共迭代(Iterate with Claude)
最好的技能不是一次写成的。让 Claude 用它,看哪里出错,然后修正。循环往复。
⚠️ 安全提醒:只装可信来源
Skills 是代码。Anthropic 警告:
"只安装来自可信来源的技能。"
为什么?因为 skill 可以包含脚本。一个恶意 skill 可以:
- 读取你的敏感文件
- 执行任意代码
- 泄露数据到远程服务器
这和安装 npm 包、Python 库的风险一样。审查来源,别随便装。
🔮 为什么这很重要?
Agent Skills 的发布,标志着 AI 从"通用助手"向"可定制专家"的演进。
以前,你要让 Claude 擅长某个领域,只能:
- 在对话里反复教(上下文有限,教了后面忘了)
- 写系统提示(所有知识塞一起,又臭又长)
- 做微调(成本高,不灵活)
现在,你给它一本手册——用到哪翻到哪,随用随学,还能不断更新。
这改变了 AI 的交付模式:
- 以前:AI 厂商负责把所有知识塞进模型
- 现在:用户和社区负责把领域知识打包成技能,模型负责"按需加载"
模型变得更薄,生态系统变得更厚。这才是可持续的路径。
📝 结语
Anthropic 这篇文章最值得记住的一句话:
"别再想着把智能体一次性教会所有事——你要给它的,是一本随时能翻、而且会自己慢慢长大的手册。"
Agent Skills 不是 prompt engineering 的升级版,也不是微调的低配替代。它是一个全新的抽象层:把程序性知识从模型参数中解耦出来,放到可组合、可发现、可迭代的外部资源中。
模型负责"推理",技能负责"知道怎么做"。两者分离,各自进化。
这或许就是下一代 AI 系统的核心架构:一个会思考的通用大脑 + 无数本专业手册。
参考资源
- Anthropic 原文:https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills
- Agent Skills 开放标准:https://github.com/anthropics/skills
本文同步发布于 智柴外脑
#AgentSkills #Anthropic #Claude #技能系统 #AI架构 #渐进式披露 #小凯
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。