AIREITER

Claude Skills API 正式 GA:有哪些变化,如何接入

最后更新: 2026-08-21 00:24:38

从 2026 年 8 月 20 日起,Anthropic 的 Claude Skills API、computer use 和 Files API 全部结束 Beta、进入正式可用阶段。Beta 请求头不再需要,computer use 一次模型调用可连续执行多项操作,还新增了 browser use 工具。不过,GA 并没有解决一个关键问题:Skill 是否执行,依然由 Claude 自己判断。因此,版本锁定和激活机制的设计,仍然需要开发者负责。

Anthropic 宣布 computer use、Skills API 和 Files API 正式全面可用

8 月 20 日 GA 到底更新了什么

如果你此前已经接入 Beta,现有集成在迁移期间仍可继续使用。根据 Anthropic 的发布文章,这次上线带来了几项实质性调整:

  • 不必再处理 Beta 请求头。当前Skills 指南只列出两个前提:拥有 Claude API key,并在请求中启用 code execution。过去教程里要求的 Beta headers,已经从文档中移除。
  • 单轮可执行多项操作。更新后的 computer use 工具可在一次模型调用中连续完成点击、输入、按键和截图,不再局限于每次一个动作。Anthropic 的 @ClaudeDevs 表示,早期访问客户的单项任务往返次数减少了20–40%。
  • 新增 browser use 工具。它会结合截图和页面结构定位元素,让 Agent 按具体字段或按钮操作,而不是依赖像素坐标,适合保险申报等网页门户场景。
  • Files API 容量与限流提升。每个组织可使用 1 TB 存储空间,速率限制提高到原来的 5 倍。根据 @ClaudeDevs 的讨论串,达到 500 RPM;文件还支持自动过期。
  • 合规覆盖范围扩大。computer use 现在可在 Anthropic BAA 下用于受 HIPAA 监管的工作负载。
  • 云平台支持扩展。Skills API 和 Files API 也已通过 Microsoft Foundry 上线。更新后的 computer use 与 browser use 工具则标注为即将登陆 Vertex AI,但尚未公布日期。

三个 API 如何串成一条工作流

Anthropic 用理赔 Agent 展示了完整流程:先通过 Files API 按文件 ID 获取受理材料,再由 Skills API 套用申报流程,接着利用 browser use 填写保险公司的门户网站,最后把确认结果重新保存为文件。文件只需上传一次,后续请求引用 file_id 即可,不必每次都重新传输。

本次发布带来的两组效果数据均来自供应商侧。在发布文章中,研究工程师 Davide Locatelli 表示,耗时最长的理赔流程从 32 分钟缩短至 13 分钟,完成率达到 100%。此外,Asteroid 联合创始人 David Mlčoch 在早期访问阶段测试了医疗健康领域的 computer-use 流程:

“模型调用减少 32-52%,单项任务成本降低 25-32%,所有工作流的完成率均达到 100%,此前为 77%。”—— @MlcochDavid

早期访问客户报告的 GA Agent 工具上线前后,理赔工作流耗时和完成率对比

如何在 Messages API 中调用 Claude Skills API

给请求挂载 Skill,只需要添加一个参数:在 Messages API 请求中加入 container 对象,并在其中提供 skills 数组。数组中的每项包含 type(anthropic 或 custom)、skill_id,以及可选的 version。

根据官方 Skills 指南,围绕这个参数还需要注意以下机制:

  • 必须启用 code execution,且模型需要支持该能力。指南示例使用 claude-opus-5、code_execution_20250825 工具类型和 max_tokens=4096。
  • 单个请求最多可附带 20 个 Skill。
  • Skill 在 Anthropic 的 code-execution sandbox 中运行:没有网络访问权限,不能在运行时安装软件包。除非跨轮次复用返回的 container.id,否则每个请求都会创建新的容器;每次响应均会包含 expires_at。
  • Skill 文件不需要自行托管,Anthropic 会在容器中执行它们。
response = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    tools=[{"type": "code_execution_20250825"}],
    container={
        "skills": [
            {"type": "anthropic", "skill_id": "xlsx", "version": "20251013"},
            {"type": "custom", "skill_id": "skill_01...", "version": "skver_01..."},
        ]
    },
    messages=[{"role": "user", "content": "Build the Q3 revenue summary"}],
)

输入文档的路径则相反:先通过 Files API 上传,再在 container 的 upload 区块中引用。请求本身仍是标准的 Anthropic Messages API 格式,因此既可使用直连 key,也可接入 Anthropic 兼容中转服务,例如 AIReiter's Claude API。

内置 Skill 使用简短易读的 ID,例如 pptx、xlsx、docx、pdf;版本号可使用类似 20251013 的日期格式,或 latest。自定义 Skill 则会获得以 skill_01... 开头、限定在工作区范围内的 ID。

发布自定义 Skill:最容易被规则拦下的地方

自定义 Skill 本质上是一个目录,根目录中的 SKILL.md 需要包含 YAML frontmatter,即 name 和 description;同级目录中还可以放置脚本和参考文件。一个可用的最小文件大致如下:

---
name: eu-claims-filing
description: Use when filing or amending EU insurance claims. Loads the
  carrier-specific submission procedure, required fields, and rejection
  codes before filling any portal form.
---

# EU claims filing procedure
1. Pull the intake document by file_id ...

上传时可以提交 ZIP 压缩包,也可以逐个上传文件,Python SDK 提供了 files_from_dir。不过,在 Skill 真正运行之前,Anthropic 就会按Skills 指南执行以下硬性校验:

规则限制
name≤64 个字符;仅允许小写字母、数字和连字符;anthropic 与 claude 为保留字
description1–1,024 个字符,不能为空,不允许 XML 标签
display_name(可选)≤255 个字符
包体大小解压后小于 30 MB
每次请求的 Skill 数量20
每个组织的工作区数量默认 100 个

同一份指南指出,管理操作可通过 ant CLI 或其背后的 API endpoint 完成。从文件到固定版本的流程如下:

ant skills create ./eu-claims-filing   # returns skill_01...
ant skills:versions create skill_01...  # returns skver_01... — pin this in production

团队第一次使用时,通常会被两个行为打个措手不及:新版本是完整快照,必须重新上传整套文件,未重新上传的文件不会自动保留;而删除一个 Skill,会同时删除它的所有版本。

上线前检查清单:锁版本、隔离工作区、稳定缓存

生产环境最常见的坑集中在可变版本、工作区级权限和缓存失效上。Skills 指南对这三点都有明确说明。

  1. 固定版本号。如果使用 latest,或完全不填版本号,那么任何拥有工作区访问权限的人上传新版本后,已部署 Agent 的执行内容会立即变化。生产环境应固定使用 skver_... ID,latest 留给持续开发阶段。
  2. 将工作区视为租户边界。同一工作区内的每个 API key,都可以读取、调用和删除其中所有自定义 Skill。隔离边界是工作区,而不是用户或会话。多租户应用应为每个租户使用一个工作区,同时要留意默认只有 100 个工作区的上限。
  3. 保持 Skill 列表稳定以利用缓存。修改 Skill 列表,包括改变顺序,都会改变 system prompt 前缀并导致 prompt cache 失效。固定自定义版本同样能保护此前缀,因为重新上传的 latest 版本若更新了 description,前缀也会被改写。按 token 计费时,请求之间不断变化的 Skill 列表,会悄悄吃掉缓存命中带来的成本节省。
  4. 处理 pause_turn。运行时间较长的 Skill 会返回 stop_reason: "pause_turn"。要继续执行,需要在后续请求中重新发送返回的 content;也可以修改对话以中断流程。
  5. 明确数据保留策略。Agent Skills 不适用于零数据保留安排。Skill 定义和执行数据遵循 Anthropic 的标准数据保留政策。启用 Compliance API 后,Activity Feed 会记录 Skill 及 Skill 版本的创建和删除操作,但仅记录从启用后开始的事件。
  6. 捕获正确的异常。调用时应处理 anthropic.BadRequestError,并把 Skill 相关失败与其他无效请求错误区分开来。
  7. 不要挂载闲置 Skill。文档对此说得很直接:附带未使用的 Skill 会影响性能。

GA 也无法替你解决的 Skill 激活问题

GA 升级的是 Skill 周边基础设施,不是 Claude 选择 Skill 的逻辑。用户讨论中反复出现的疑问是:Skill 更像由条件触发的流程,而不是另一层始终生效的 system prompt。

“我对 Claude Skills 的问题在于,它们并不是真正的技能。没有任何东西强制 Claude 一定要使用它们。Claude 会按自己的想法做事……它们只是 md 文件。”—— @Yampeleg,发表于 GA 前;调用机制至今未变

关于 Skill 是否真的有效的 r/ClaudeAI 讨论串,总结出了几条实操方向:

“userstyle 会在每一轮前置加入,但 Skill 只有在 Claude 根据 description 判断需要调用时才会触发。”—— u/samxu01

“Skill 必须有简洁、清晰的 metadata description,并且聚焦于 Claude 正在执行的动作。”—— u/Chadum

从这些讨论中,可以归纳出四条规则:

  • description 应围绕触发短语和具体动作来写,而不是定义某种人格。
  • 把步骤、检查项、规则和工具选择写进正文。u/MartinMystikJonas 的测试标准是:“如果 Skill 定义了 Agent 应执行的步骤、应检查的内容、应遵循的规则和应使用的工具,那么它就是有用的。”
  • 根据 u/Actual_Committee4670 的建议,应将 Claude 原生表现不佳的事项编码进 Skill。
  • 必须始终生效的要求,应写入 system prompt 或 CLAUDE.md——正如上文 u/samxu01 所说,它们会在每一轮前置加入;Hook 则更适合提交前等生命周期节点。

常见问题速览

Skills API 还需要 Beta headers 吗?

不需要。自 2026 年 8 月 20 日 GA 以来,前提条件是 Claude API key 和已启用的 code execution,当前文档中没有 Beta header 要求。

Skill 会占用我的上下文窗口吗?

一开始只会占用其 metadata。根据Skills 指南,Claude 会先获取每个 Skill 的 frontmatter,将文件复制到容器中,只有任务需要时才加载完整指令。这也是文档警告不要附带未使用 Skill 的原因。

Skill 和 MCP 有什么区别?

Skill 是一组在 Claude 沙箱中运行的指令和脚本,不具备网络访问能力;MCP 则负责将 Claude 接入实时的外部系统。这是 Anthropic 在其Skills 概览中给出的区分。理赔工作流可以同时使用两者:MCP server 连接保单数据库,Skill 则承载申报流程。

同一个 SKILL.md 能在 Claude.ai、Claude Code 和 API 中运行吗?

SKILL.md 格式是通用的,但不同产品入口的交付方式不同:API 使用上传到工作区的 Skill;Claude Code 使用 .claude/skills 目录;Claude.ai app 则按套餐级别提供上传能力。

Skills API 支持零数据保留吗?

不支持。Agent Skills 被排除在零数据保留安排之外,Skill 定义和执行数据遵循标准数据保留政策。

不同需求该选哪种机制

关键在于它应该在什么时机被调用:

需求适用机制
在特定任务触发时执行的专业流程,例如“提交理赔时遵循这些步骤”Skill
每一轮对话都必须遵守的规则System prompt(API)/ CLAUDE.md(Claude Code)
生命周期中的某个节点要执行的动作,例如工具运行后、提交前Hook
连接实时外部系统MCP server
一次性的任务要求普通 prompt

8 月 20 日让 Skill 机制具备了生产可用性,但并没有让上表中的各种机制变得可以互相替代。

延伸阅读:Claude API 各模型和 token 的价格,以及在 Claude Code 中录制 Claude skill。