PHANTHYWORK / BLOG

用 Skills 构建 Agent:为 Agent 配备专业能力

Building agents with Skills: Equipping agents for specialized work

用 Skills 构建 Agent:为 Agent 配备专业能力头图

本文为 Claude by Anthropic 官方博客完整中文译文。版权归原作者及 Anthropic 所有;如译文与原文存在差异,请以英文原文为准。

过去一年发生了许多变化。随着行业领导者和开发者社区的迅速采用,MCP 成为了 Agent 连接能力的标准。Claude Code 正式发布,成为一款通用编码 Agent。我们还推出了 Claude Agent SDK,现在它开箱即用,能够提供生产级 Agent。

但在构建和部署这些 Agent 的过程中,我们不断遇到同一个缺口:Agent 具备智能和能力,却不一定拥有有效处理实际工作的专业知识。这促使我们创建了 Agent Skills。Skills 是经过组织的文件集合,以 Agent 可以访问和应用的形式封装领域专业知识——包括工作流、最佳实践和脚本。它们能将能力出众的通才转变为知识丰富的专家。

本文将解释我们为什么不再构建专用 Agent,转而构建 Skills,以及这一转变如何改变我们对扩展 Agent 能力的思考方式。

新范式:只需代码

我们过去认为,不同领域的 Agent 会有截然不同的形态。编码 Agent、研究 Agent、金融 Agent、营销 Agent——似乎每一种都需要自己的一套工具和基础框架。行业最初也接受了这种特定领域 Agent 的模式。但随着模型智能水平的提高和 Agent 能力的发展,我们逐渐汇聚到了一种不同的方法上。

我们开始意识到,代码不只是一种使用场景,更是 Agent 执行几乎所有数字化工作的界面。Claude Code 是一个编码 Agent,但它同时也是一个恰好通过代码开展工作的通用 Agent。

以使用 Claude Code 生成财务报告为例。它可以调用 API 开展研究,将数据存储在文件系统中,使用 Python 进行分析,并综合得出洞见。所有这些工作都是通过代码完成的。其基础框架可以简单到只有 bash 和文件系统。

但通用能力并不等同于专业知识。当我们开始使用 Claude Code 处理实际工作时,一个缺口显现了出来。

缺失的一环:领域专业知识

你会希望谁为你报税:一个从第一性原理开始摸索的数学天才,还是一位处理过数千份申报表的资深税务专业人士?大多数人会选择税务专业人士。并不是因为他们更聪明,而是因为他们拥有恰当的专业知识。

如今的 Agent 就像那位数学天才:非常擅长推理新颖情境,却往往缺乏资深专业人士长期积累的专业知识。在获得适当指导的情况下,它们可以完成令人惊叹的工作。然而,它们经常缺少重要的 Context,难以轻松吸收组织内部的专业知识,也不会自动从重复执行的任务中学习。

Skills 以 Agent 可以渐进式访问和应用的形式封装领域专业知识,从而弥合这一缺口。

什么是 Agent Skills?

Skills 为 Agent 封装领域专业知识和流程性知识。

anthropic_brand/
├── SKILL.md
├── docs.md
├── slide-decks.md
└── apply_template.py

Skills 的简洁性是刻意设计的。文件是一种通用的基础元素,可以与现有资源协同使用。你可以通过 Git 对其进行版本管理,将其存储在 Google Drive 中,并与团队共享。这种简洁性还意味着,创建 Skill 并非工程师的专属工作。产品经理、分析师和领域专家已经开始构建 Skills,将自己的工作流沉淀为标准化知识。

渐进式披露

Skills 可以包含大量信息。为了保护 Context 窗口并使 Skills 能够灵活组合,它们采用渐进式披露:运行时只向模型展示元数据,即 YAML frontmatter 中的名称和描述。

---
name: Anthropic Brand Style Guidelines
description: Anthropic's official brand colors and typography…
---

如果 Claude 判断需要某个 Skill,它就会读取完整的 SKILL.md 文件。若需要更多细节,Skills 可以包含一个 references/ 目录,其中的支持文档仅在需要时加载。

这种三级方法意味着,你可以为一个 Agent 配备数百个 Skills,而不会令其 Context 窗口不堪重负——元数据使用约 50 个 Token,完整的 SKILL.md 文件约使用 500 个 Token,参考文件则使用 2,000 多个 Token,并且仅在确有需要时才会加载。

Skills 可以将脚本作为工具

传统工具存在一些问题:有些工具的说明编写得很差,模型不一定能修改或扩展它们,而且它们经常使 Context 窗口变得臃肿。相比之下,代码本身就具有说明作用,可以修改,也不需要始终放在 Context 中。

这里有一个真实案例:我们不断看到 Claude 编写同一个脚本,为幻灯片应用 Anthropic 的样式。于是,我们让 Claude 将它保存为供自己使用的工具:

## anthropic/brand_styling/apply_template.py
import sys
from pptx import Presentation

if len(sys.argv) != 2:
    print("USAGE: apply_template.py <pptx>")
    sys.exit(1)

prs = Presentation(sys.argv[1])
for slide in prs.slides:
    ...

slide-decks.md 中相应的文档只需引用这个脚本:

## Anthropic Slide Decks
- Intro/outro slides
  - background color: `#141413`
  - foreground color: oat
- Section slides:
  - background color: `#da7857`
  - foreground color: `#141413`

Use the `./apply_template.py` script to update a pptx file in-place.

Skills 生态系统

Skills 生态系统迅速发展,目前我们看到主要有三类 Skills 正在被构建:

基础 Skills

这类 Skills 提供每个人都需要的核心能力:处理文档、电子表格、演示文稿等。它们将文档生成和操作的最佳实践编码其中。你可以探索我们公共代码库中的基础 Skills,了解它们在实践中的具体形态。

合作伙伴 Skills

随着 Skills 逐渐规范 Agent 与专业能力交互的方式,各家公司开始构建 Skills,让 Agent 能够使用它们的服务。K-Dense、Browserbase、Notion 以及许多其他公司都在创建直接集成其服务的 Skills,在保持 Skills 格式简洁性的同时,扩展 Claude 在特定领域中的能力。

企业 Skills

组织可以构建专有 Skills,将内部流程和领域专业知识编码其中。Skills 有助于沉淀具体的工作流、合规要求和组织知识,使 Agent 能够真正胜任企业工作。

我们观察到的趋势

随着 Skills 的采用范围不断扩大,一些模式正在浮现,并指明了这一范式可能的发展方向。这些趋势塑造着我们对 Skill 设计的思考,也影响着我们为 Skill 开发者构建的工具。

复杂度不断提高

早期的 Skills 只是简单的文档引用。现在,我们开始看到复杂的多步骤工作流,它们可以协调跨多个工具的数据检索、复杂计算和格式化输出。

  • 简单:“状态报告撰写器”(约 100 行)——模板与格式设置
  • 中等:“财务模型构建器”(约 800 行)——数据检索,以及使用 Python 进行 Excel 建模
  • 复杂:“RNA 测序流水线”(2,500 多行)——协调 HISAT2、StringTie 和 DESeq2 分析

Skills 与 MCP

Skills 和 MCP 服务器可以自然协同工作。例如,一个竞争分析 Skill 可以协调网络搜索、通过 MCP 访问的内部数据库、Slack 消息历史记录以及 Notion 页面,从而综合生成一份全面的报告。

非开发者群体的采用

Skill 创建正在从工程师群体扩展到各领域的产品经理、分析师和领域专家。借助 skill-creator 工具,他们可以在 30 分钟内创建并测试自己的第一个 Skill;该工具会通过交互方式引导他们完成整个流程。我们正在努力进一步降低 Skill 创建的门槛,通过改进工具和模板,让任何人都能沉淀并分享专业知识。

完整架构

综合来看,新兴的 Agent 架构由以下部分构成:

  1. Agent 循环:决定下一步做什么的核心推理系统
  2. Agent 运行时:执行环境(代码、文件系统)
  3. MCP 服务器:与外部工具和数据源的连接
  4. Skills 库:领域专业知识和流程性知识

每一层都有明确的用途:循环负责推理,运行时负责执行,MCP 负责连接,而 Skills 负责指导。这种分层使系统更易于理解,也让每个部分都可以独立演进。

思考一下,在这个架构中添加一个 Skill 会发生什么。前端设计 Skill 可以立即改变 Claude 的前端能力。它提供有关字体排印、色彩理论和动画的专业指导,并且只在构建 Web 界面时激活。渐进式披露意味着它仅在相关时加载。添加新能力因此变得非常直接。

将 Skills 部署到新的垂直领域

这种由 MCP 服务器和 Skills 增强通用 Agent 的新兴模式,已经在帮助我们将 Claude 部署到新的垂直领域。

金融服务

Skills 推出后不久,我们便通过一系列 Skills 增强了 Claude 在金融服务领域的能力,使 Claude 对金融专业人士更加实用:

  • DCF 模型构建器:构建折现现金流模型,并正确计算 WACC 和进行敏感性分析
  • 可比公司分析:生成包含相关估值倍数和基准比较的可比公司表格
  • 财报分析:处理季度业绩并创建投资更新报告
  • 首次覆盖:构建包含财务模型的综合研究报告
  • 尽职调查:使用标准化框架组织并购分析
  • 推介材料:按照行业标准创建客户演示文稿

医疗健康与生命科学

我们还通过一系列 Skills 增强了医疗健康与生命科学产品,使 Claude 对研究人员、临床医生和医疗健康开发者更加实用:

  • 生物信息学套件:用于部署 scVI-tools 和 Nextflow 的 Skills,对于管理基因组流水线和单细胞 RNA 测序至关重要
  • 临床试验方案生成:加速临床研究方案的制定
  • 科学问题选择:帮助研究人员识别并界定具有重大影响力的研究问题
  • FHIR 开发:帮助开发者为医疗数据互操作性编写更准确的代码,以更少的错误、更快地连接医疗系统
  • 事先授权审查:通过交叉核对保险覆盖要求、临床指南和患者记录,减轻行政负担,并加快患者获得所需医疗服务的速度

标准化 Agent Skills

为了实现这一愿景,我们正将 Agent Skills 作为开放标准发布。与 MCP 一样,我们认为 Skills 应当能够跨工具和平台移植。无论你使用的是 Claude 还是其他 AI 平台,同一个 Skill 都应该能够运行。我们一直在与生态系统成员合作制定这一标准,也很高兴看到它已获得早期采用。

当一个人第一次开始使用 AI Agent 时,由于 Skills 能够沉淀并传递专业知识,Agent 应该已经了解你和你的团队关心什么。随着这个生态系统不断发展,社区中其他人构建的 Skill 可以让你的 Agent 变得更加实用、可靠且能力更强——无论其使用的是哪一个 AI 平台。

开始使用

我们正在逐步形成一种通用 Agent 架构,而 Skills 为交付和分享新能力提供了一种范式。真正的价值来自我们共同构建的集体知识库:沉淀专业知识、在团队之间传递这些知识,并让每一个新 Agent 都比上一个更有能力。

资源:

致谢:

Barry Zhang, Mahesh Murag, Keith Lazuka, Ryan Whitehead