Agent Skills 是什么?课程导论

本文独立分析声明:本文基于吴恩达(Andrew Ng)与 Anthropic 在 DeepLearning.AI 合作推出的 Agent Skills with Anthropic 课程独立撰写。内容包含原课程未覆盖的独立分析:Skills 与 GPTs/Tools/MCP 的横向对比、Claude Code 源码中的 Skills 加载机制、Google ADK 的 SkillToolset 集成方案、常见踩坑。推荐先观看官方课程(免费)后再阅读本文。

Agent Skills 是 Anthropic 在 2024 年底推出的开放标准,用一句话概括:让 Agent 学会一项新技能的最小单元。这门由 Anthropic 工程师 Elie Schoppik 主讲、吴恩达团队制作的课程,系统性地回答了三个问题:Skills 是什么、为什么 Prompt + Tools 不够、如何在多个平台落地。

本文作为 L0 课程导论,先把全局脉络拉直。


一、为什么需要 Skills

通用 Agent(不带任何上下文的 Claude 或 GPT)能做很多事,但在具体领域很快就暴露局限。考虑以下三类痛点:

1. 重复工作流的”每次都要解释”

你每周都要把营销数据 CSV 整理成老板看的 PPT。哪怕每次的数据结构固定、输出格式固定,你都要在对话里反复说明:“先按活动名聚合、再算转化率、再按 ROI 降序、最后渲染成带公司配色的 PowerPoint”。Agent 不记得上次的对话,每一次都是冷启动。

2. 专业领域知识的”不知道自己不知道”

让 Claude 写一份医疗病例摘要,它会写出看起来专业但术语混用的东西(例如 ICD-10 编码错用、缩写不符合医院规范)。原因是通用模型没有你所在医院的内部规范。

3. 工具链整合的”每次都在粘合”

把 GitHub Issue、Jira Ticket、Slack 消息整合成周报——数据源是固定的,拼装逻辑也是固定的,但每次都要临时写代码。

Skills 的核心价值:把这些可以标准化的领域知识、工作流步骤、工具调用模式打包成一个可复用的文件夹,Agent 按需读取。


二、Skills 的技术定义

最小形态

Skill 是一个包含 SKILL.md 文件的文件夹:

marketing-report/
├── SKILL.md              # 必需:名称、描述、指令
├── template.pptx         # 可选:输出模板
├── scripts/
│   └── aggregate.py      # 可选:数据处理脚本
└── reference/
    └── brand-colors.md   # 可选:品牌规范

SKILL.md 的典型结构:

---
name: marketing-report
description: 从 CSV 营销数据生成公司标准 PPT 周报,包含按活动聚合、转化率计算、ROI 排序。
---

# Marketing Report Skill

## 步骤
1. 读取输入的 CSV 文件
2. 运行 scripts/aggregate.py 进行数据聚合
3. 使用 template.pptx 作为渲染模板
4. ...

三要素:name(标识)、description(触发条件——告诉 Agent 何时该用这个 Skill)、body(具体指令)。

渐进式披露(Progressive Disclosure)

Skills 最巧妙的设计点。如果你把所有 Skill 的完整指令都塞进上下文,100 个 Skill 就能撑爆 Claude 的 200K 上下文窗口。Skills 的解法分三层:

层级什么时候加载典型大小
L1:元数据始终在上下文每 Skill 约 50 词
L2:完整 SKILL.md触发后加载每个几百到几千词
L3:引用资产Agent 主动读取脚本/数据/模板

结果:100 个 Skill 的元数据约 5K tokens,对上下文几乎没压力。触发后才扩展到完整指令,Agent 用完就丢。

这个设计在 Claude Code 源码里对应着 Skills 模块的动态加载逻辑(详见本站《Claude Code Harness 架构设计与实战》第 7 章)。


三、Skills 与相邻概念的区别

这是最容易混淆的部分,也是本站重点独立分析的内容。

概念形态生命周期可移植性典型场景
Prompt 模板一段静态文本单次对话好(纯文本)一次性任务
Tool / Function CallingJSON Schema + 后端函数运行时差(每个平台规范不同)外部 API 调用
MCP 服务标准协议 + 远程进程持续运行非常好(协议层)多 Agent 共享的数据源
Skill文件夹(SKILL.md + 资产)按需加载非常好(开放标准)可复用工作流 / 领域知识
Subagent独立的 Agent 实例委派任务期间中(取决于平台)隔离上下文的子任务
GPTs平台专属配置长期存在于 OpenAI差(绑定 OpenAI)面向最终用户的 Bot

重点对比:

  • Skills vs Prompt:Skills 是”能让 Agent 加载的 Prompt 包”,带文件系统和资产引用,远比单纯 Prompt 强大
  • Skills vs Tool:Tool 在每次调用前都要定义完整 Schema,Skills 按需加载;Tool 更适合外部 API,Skills 更适合流程编排
  • Skills vs MCP:不对立。MCP 负责数据接入(外部数据源),Skills 负责流程编排(怎么用这些数据)
  • Skills vs Subagent:不对立。Subagent 是执行者,Skills 是执行者的”说明书”,一个 Subagent 可以装备多个 Skills

L3 课程会详细展开这个对比。


四、开放标准的意义

Anthropic 把 Skills 做成开放标准而不是闭源产品——这是和 OpenAI GPTs 路线的根本分歧。

可移植性

同一个 marketing-report/ 文件夹可以被:

  • Claude.ai 读取(上传到项目)
  • Claude Code 直接使用(放到 ~/.claude/skills/
  • Claude API 远程调用(通过 Files API 上传后 extra_body.skills
  • Agent SDK 编排(主 Agent 委派给装备 Skill 的 Subagent)
  • Google ADK(通过 SkillToolset 加载,详见ADK × Skills 实战
  • 任何实现 Skills 规范的第三方平台

只需要两类基础工具

Agent 执行 Skill 的运行时要求极低:文件系统读写 + Bash 执行。这两类工具几乎所有现代 Agent 框架都有,因此 Skills 的落地门槛远低于厂商专属方案。


五、课程路线图

课时主题核心内容本站解读链接
L1Why Skills(上)Skills 如何把通用 Agent 变成领域专家→ L1
L2Why Skills(下)渐进式披露详细机制与上下文管理→ L2
L3Skills vs ToolsSkills/Tools/MCP/Subagents 四者协作→ L3
L4Pre-Built SkillsAnthropic 预构建 Skills 实战(Excel / PPT)→ L4
L5Custom Skills从零创建自定义 Skill:内容创作 + 数据分析→ L5
L6Claude API程序化调用 Skills:Code Execution + Files API→ L6
L7Claude Code代码审查 & 测试 Skill + Subagent 工作流→ L7
L8Agent SDK研究型 Agent:自动生成学习指南→ L8

延伸阅读(本站独家)


六、新手常见误区(本站补充)

误区 1:Skills 是 Prompt 模板

❌ “Skill 就是把 Prompt 存成文件” ✅ 正确理解:Skill 是带渐进式披露机制的工作流包装,包含元数据路由、资产引用、多步骤指令,不是单层 Prompt。

误区 2:Skills 和 MCP 二选一

❌ “有了 MCP 就不需要 Skills 了” ✅ 正确理解:两者正交。MCP 负责把外部数据接入 Agent,Skills 负责告诉 Agent 拿到数据后怎么处理。实际产品通常同时用。

误区 3:Skill 越多越好

❌ “先把能想到的都做成 Skill” ✅ 正确理解:过多 Skill 的元数据也会挤占上下文。Anthropic 官方建议单个 Agent 装备 10-30 个 Skills 左右,超过要考虑分层或按 Subagent 隔离。

误区 4:所有 Agent 都支持 Skills

❌ “OpenAI 的 Assistant 也能直接用 SKILL.md” ✅ 正确理解:Skills 是 Anthropic 主导的开放标准,目前原生支持者主要是 Claude 全家桶 + Google ADK + 少数开源框架。OpenAI 平台需要自己实现加载逻辑(本质上就是文件 + Prompt 工程)。


七、什么时候应该做一个 Skill?

自测三问:

  1. 这个工作流在一个月内被你重复执行过 3 次以上吗?
  2. 每次执行的步骤是固定的,只是输入数据变化?
  3. 结果有明确的对错标准(不是创意类输出)?

三个都是 yes,就值得做成 Skill。否则先用 Prompt 模板即可,等到真的反复出现再升级。


如果你有一个反复让 Agent 执行的工作流,与其每次都解释一遍,不如打包成一个 Skill,让 Agent 自动知道该怎么做。 — Elie Schoppik(原课程讲师)

下一课 L1 会展开”为什么使用 Skills”,从实战场景演示没有 Skill 的工作流有多脆弱,以及加上 Skill 后发生了什么变化。

→ 继续 L1:为什么使用 Skills(上)

English EN 简体中文 ZH