Essay 001 · Agent Skills

Agent Skills 的本质:用渐进式披露把领域能力装进文件系统

精读 Anthropic 对 Agent Skills 的首次系统介绍,解释 Skill 如何通过元数据、指令、资源与脚本实现按需加载,以及它为什么不是一份更长的 Prompt。

首版:完成原文事实、个人理解与判断的区分

Version 1.0
Agent Skill 不是一段更长的 Prompt,而是一个可发现、可按需读取、还能执行确定性代码的能力目录;它解决的核心问题,是怎样在不长期占满上下文窗口的前提下,为通用 Agent 注入专业流程。

1. 原文说了什么

从通用模型到专业 Agent,缺的是程序性知识

模型已经具备广泛知识,也能操作终端和文件系统,但真实工作还依赖组织内部的约定、操作步骤、模板、工具和例外处理。Anthropic 提出的 Agent Skills,就是把这些专业知识封装为可组合的目录,让同一个通用 Agent 在不同任务中临时获得不同能力,而不必为每个场景重新做一个专用 Agent。

一个最小 Skill 是包含 SKILL.md 的目录。SKILL.md 以 YAML frontmatter 开头,至少提供 namedescription。Skill 还可以携带参考文档、模板、示例、数据和脚本。

三层渐进式披露

原文把 Skill 的加载过程分成递进的层次:

  1. Agent 启动时只看到所有 Skill 的名称和描述,用它们判断当前请求是否匹配。
  2. 判断相关后,Agent 才读取对应的完整 SKILL.md
  3. 遇到具体分支时,再继续读取目录中的参考文件或资源。

这相当于先加载目录,再打开章节,最后按需查看附录。Skill 目录可以很大,但单次任务只把真正相关的部分放进上下文。因此,所谓“近乎无限的 Skill 上下文”并不是模型窗口变大,而是大量知识留在文件系统里,等待 Agent 主动检索。

把确定性工作交给代码

Skill 不只保存文字指令,也可以包含可执行脚本。排序、格式转换、字段提取等任务,让模型逐 token 推导既昂贵又不稳定;预先写好的程序则能提供可重复结果。原文以 PDF 表单字段提取为例:Agent 可以调用脚本完成机械步骤,再把推理能力留给判断和组合。

开发从失败与评估开始

Anthropic 建议先观察 Agent 在代表性任务中缺什么,再增量构建 Skill;当主文件变长时拆分资源;从模型视角观察触发和读取路径;把成功做法与常见错误沉淀回来。namedescription 尤其关键,因为它们决定 Skill 能否在正确时机被发现。

原文同时强调供应链风险。Skill 能提供指令和代码,也可能诱导 Agent 泄露数据或执行危险动作,因此只能安装可信来源,并审查依赖、脚本、资源和外部网络访问。

2. 我是怎么理解的

Skill 把一个能力拆成了三个不同平面:

  • 路由平面namedescription 回答“什么时候需要我”。
  • 认知平面SKILL.md 与参考资料回答“这类任务应该怎样思考和处理”。
  • 执行平面:脚本、模板和外部工具回答“哪些步骤需要稳定、可复用地完成”。

这比把所有规则塞进系统提示词更可扩展。全局提示词里的每个字都会在每次调用中付费,而 Skill 允许罕见知识只在罕见任务中加载。它也比单纯增加一个工具更完整:工具提供动作,Skill 还能说明选择动作的条件、顺序、验证方式和组织特有的注意事项。

因此,Skill 与 MCP 更像互补关系。MCP 解决“怎样连接外部系统”,Skill 解决“面对某类目标时,怎样组合这些连接形成可靠工作流”。

3. 我的判断是什么

我认同渐进式披露是 Skill 最重要的设计价值。它把上下文从一次性输入改造成可导航的信息空间,也让专业知识能像代码一样版本化和复用。

但 Skill 并不会自动带来可靠性。它至少有四个容易被低估的边界:

  1. 触发不稳定:描述写得模糊,会漏触发或误触发。
  2. 内容会过期:流程、API 和组织规则变化后,旧 Skill 会制造更隐蔽的错误。
  3. 指令不是硬约束:模型仍可能跳步,关键动作需要程序校验或权限控制。
  4. 能力也是攻击面:代码执行和网络访问越强,安装与审计要求越高。

所以,Skill 的成熟度不应由文件数量或字数衡量,而应由三件事衡量:是否在正确请求上触发、是否确实改善结果、是否能在可接受权限内完成任务。

4. 可以怎么使用

可以用下面的最小流程建设一个 Skill:

  1. 选择一个反复出现、且 Agent 当前经常失败的真实任务。
  2. 先收集正例、反例和已知失败,不要先写一大篇说明。
  3. description 明确触发意图和边界。
  4. 只在 SKILL.md 保留高频流程,把条件性资料拆到 references/
  5. 把重复、确定性的机械步骤放进 scripts/,把输出骨架放进 assets/
  6. 用真实任务检查是否触发、读取了正确资料、完成了结果并留下可解释轨迹。
  7. 为 Skill 指定维护人,审查外部依赖、权限和过期风险。

一个简单的判断标准是:如果删除某句话,Agent 的表现不会变差,那句话很可能不该长期占用上下文。

原文信息

原文:Equipping agents for the real world with Agent Skills

作者:Barry Zhang、Keith Lazuka、Mahesh Murag / Anthropic

发布时间: · Anthropic Engineering 文章

查看本文修订记录(1)
  1. v1.0 · 2026.08.06 首次发布。