Essay 001 · Agent Skills
Agent Skills 的本质:用渐进式披露把领域能力装进文件系统
精读 Anthropic 对 Agent Skills 的首次系统介绍,解释 Skill 如何通过元数据、指令、资源与脚本实现按需加载,以及它为什么不是一份更长的 Prompt。
首版:完成原文事实、个人理解与判断的区分
Version 1.0Agent Skill 不是一段更长的 Prompt,而是一个可发现、可按需读取、还能执行确定性代码的能力目录;它解决的核心问题,是怎样在不长期占满上下文窗口的前提下,为通用 Agent 注入专业流程。
1. 原文说了什么
从通用模型到专业 Agent,缺的是程序性知识
模型已经具备广泛知识,也能操作终端和文件系统,但真实工作还依赖组织内部的约定、操作步骤、模板、工具和例外处理。Anthropic 提出的 Agent Skills,就是把这些专业知识封装为可组合的目录,让同一个通用 Agent 在不同任务中临时获得不同能力,而不必为每个场景重新做一个专用 Agent。
一个最小 Skill 是包含 SKILL.md 的目录。SKILL.md 以 YAML frontmatter 开头,至少提供 name 和 description。Skill 还可以携带参考文档、模板、示例、数据和脚本。
三层渐进式披露
原文把 Skill 的加载过程分成递进的层次:
- Agent 启动时只看到所有 Skill 的名称和描述,用它们判断当前请求是否匹配。
- 判断相关后,Agent 才读取对应的完整
SKILL.md。 - 遇到具体分支时,再继续读取目录中的参考文件或资源。
这相当于先加载目录,再打开章节,最后按需查看附录。Skill 目录可以很大,但单次任务只把真正相关的部分放进上下文。因此,所谓“近乎无限的 Skill 上下文”并不是模型窗口变大,而是大量知识留在文件系统里,等待 Agent 主动检索。
把确定性工作交给代码
Skill 不只保存文字指令,也可以包含可执行脚本。排序、格式转换、字段提取等任务,让模型逐 token 推导既昂贵又不稳定;预先写好的程序则能提供可重复结果。原文以 PDF 表单字段提取为例:Agent 可以调用脚本完成机械步骤,再把推理能力留给判断和组合。
开发从失败与评估开始
Anthropic 建议先观察 Agent 在代表性任务中缺什么,再增量构建 Skill;当主文件变长时拆分资源;从模型视角观察触发和读取路径;把成功做法与常见错误沉淀回来。name 与 description 尤其关键,因为它们决定 Skill 能否在正确时机被发现。
原文同时强调供应链风险。Skill 能提供指令和代码,也可能诱导 Agent 泄露数据或执行危险动作,因此只能安装可信来源,并审查依赖、脚本、资源和外部网络访问。
2. 我是怎么理解的
Skill 把一个能力拆成了三个不同平面:
- 路由平面:
name和description回答“什么时候需要我”。 - 认知平面:
SKILL.md与参考资料回答“这类任务应该怎样思考和处理”。 - 执行平面:脚本、模板和外部工具回答“哪些步骤需要稳定、可复用地完成”。
这比把所有规则塞进系统提示词更可扩展。全局提示词里的每个字都会在每次调用中付费,而 Skill 允许罕见知识只在罕见任务中加载。它也比单纯增加一个工具更完整:工具提供动作,Skill 还能说明选择动作的条件、顺序、验证方式和组织特有的注意事项。
因此,Skill 与 MCP 更像互补关系。MCP 解决“怎样连接外部系统”,Skill 解决“面对某类目标时,怎样组合这些连接形成可靠工作流”。
3. 我的判断是什么
我认同渐进式披露是 Skill 最重要的设计价值。它把上下文从一次性输入改造成可导航的信息空间,也让专业知识能像代码一样版本化和复用。
但 Skill 并不会自动带来可靠性。它至少有四个容易被低估的边界:
- 触发不稳定:描述写得模糊,会漏触发或误触发。
- 内容会过期:流程、API 和组织规则变化后,旧 Skill 会制造更隐蔽的错误。
- 指令不是硬约束:模型仍可能跳步,关键动作需要程序校验或权限控制。
- 能力也是攻击面:代码执行和网络访问越强,安装与审计要求越高。
所以,Skill 的成熟度不应由文件数量或字数衡量,而应由三件事衡量:是否在正确请求上触发、是否确实改善结果、是否能在可接受权限内完成任务。
4. 可以怎么使用
可以用下面的最小流程建设一个 Skill:
- 选择一个反复出现、且 Agent 当前经常失败的真实任务。
- 先收集正例、反例和已知失败,不要先写一大篇说明。
- 用
description明确触发意图和边界。 - 只在
SKILL.md保留高频流程,把条件性资料拆到references/。 - 把重复、确定性的机械步骤放进
scripts/,把输出骨架放进assets/。 - 用真实任务检查是否触发、读取了正确资料、完成了结果并留下可解释轨迹。
- 为 Skill 指定维护人,审查外部依赖、权限和过期风险。
一个简单的判断标准是:如果删除某句话,Agent 的表现不会变差,那句话很可能不该长期占用上下文。
原文信息
原文:Equipping agents for the real world with Agent Skills
作者:Barry Zhang、Keith Lazuka、Mahesh Murag / Anthropic
发布时间: · Anthropic Engineering 文章
查看本文修订记录(1)
- v1.0 · 2026.08.06 首次发布。