大数跨境

继MCP、SKILL后,六大厂商联合制定 AI Agent 插件打包标准

继MCP、SKILL后,六大厂商联合制定 AI Agent 插件打包标准 AI工程化
2026-08-09
1

刚刚,Google、Microsoft、OpenAI、Cursor、Vercel 和 AWS 联合发布了 Agent Plugins 1.0.0 规范,标准化了 AI Agent 插件的打包格式。该规范定义了 skill 和 MCP server 的目录结构、配置文件格式和发现规则,目标是实现"写一次,多客户端运行"。

此前,给编程 Agent 添加能力有两种方式:skill 是一组 Markdown 指令,Agent 按需读取;MCP server 是一个独立进程,连接 Agent 到外部工具、API 或数据库。二者的内容格式本身已跨工具通用,但各工具对其目录结构、配置文件命名和放置位置有各自约定,导致同一 skill 在不同工具间需要手动调整。

Agent Plugins 1.0.0 只标准化了外层包装,不涉及 skill 内部格式或 MCP 协议本身。

这套规范的价值分三层。对插件开发者,一个目录结构通吃所有支持该规范的客户端,不再需要为 Cursor、Copilot、Codex 各维护一份副本。对工具方,skills/ 和 mcp.json 的固定位置就是约定,不需要自己发明发现逻辑和配置解析,各家想加私货放进自己的命名空间目录即可,互不干扰。对生态,目录即发现、零配置、局部失败不扩散这三个设计降低了分发摩擦,插件作者只需要关心"写什么功能",不用纠结"适配哪些工具"。但局限同样明显:规范只定包装盒,不定盒子里东西的安全性,没有签名验证、没有权限控制、没有密钥管理,所以现阶段的价值主要在开发效率,不在安全可信。

目录结构

一个符合规范的插件是一个文件夹。以 reports-plugin 为例,完整结构如下:

reports-plugin/
├── plugin.json # 必需,插件唯一入口
├── skills/ # 可选,skill 集合
│ ├── summarize/ # 一个 skill
│ │ ├── SKILL.md # 必需,skill 定义文件
│ │ ├── scripts/ # 可选,skill 用到的脚本
│ │ │ └── analyze.sh
│ │ └── references/ # 可选,skill 参考文档
│ │ └── checklist.md
│ ├── deploy/ # 另一个 skill
│ │ ├── SKILL.md
│ │ ├── scripts/
│ │ │ └── rollback.sh
│ │ └── references/
│ │ └── runbook.md
│ └── code-review/ # 第三个 skill
│ └── SKILL.md
├── mcp.json # 可选,MCP 服务器配置
├── com.cursor.tools/ # 可选,Cursor 专用扩展,其他客户端自动跳过
│ └── hooks/
│ └── hooks.json
├── LICENSE
└── CHANGELOG.md

客户端加载时只认三个固定位置:plugin.json 判断这是一个合法插件,skills/ 下每个含 SKILL.md 的一级子目录自动识别为一个 skill,mcp.json 读取 MCP 服务器配置。com.cursor.tools/ 这类以反向域名命名的目录只有 Cursor 自己会读取,ChatGPT、Codex 等客户端看到不认识的前缀直接跳过。LICENSE 和 CHANGELOG.md 是常规工程文件,不在规范约束范围内,不影响加载。

plugin.json 规范

plugin.json 是唯一必需的入口文件。最简形态仅需两行:

{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "hello-plugin"
}

Schema 为封闭式,仅允许 10 个顶层字段:$schema、name、version、description、author、homepage、repository、license、keywords、extensions。未知字段会被报告并忽略,不阻止加载。但 name 字段缺失、类型错误或包含非法字符(大写字母、连续横杠、空字符串)时,整个插件直接拒绝。

name 字段约束:长度 1-64 字符,仅允许小写字母、数字、连字符和句点,首尾必须为字母数字,不允许连续连字符或连续句点。

组件发现


规范采用"目录即发现"机制。plugin.json 不能修改组件位置,也不能内联组件配置。三个固定位置:
  • skills/:每个一级子目录中若存在 SKILL.md,即视为一个 skill。不递归扫描更深层级。
  • mcp.json:MCP 服务器配置文件。
  • 客户端扩展目录:以反向域名命名(如 com.example.client/),其他客户端自动跳过。

组件缺失不视为错误。若 skills 不是目录或 mcp.json 不是普通文件,该组件类型被标记为无效,其他组件类型继续加载。

MCP 配置

mcp.json 必须包含 $schema 和 mcpServers 两个顶层字段。$schema 版本必须与 plugin.json 声明一致,不一致则 MCP 配置整体失效。

支持三种传输类型:

  • stdio:本地子进程通信。command 为单个可执行令牌,支持裸名称(依赖系统 PATH)或 ./ 开头的插件相对路径。可选字段 args、env、cwd。cwd 默认值为插件根目录。
  • streamable-http:当前 MCP Streamable HTTP 传输。
  • sse:已废弃的 HTTP+SSE 传输(MCP 2024-11-05 规范),保留兼容。

客户端必须至少支持 stdio 或 streamable-http 之一,推荐两者都支持。sse 为可选。

环境变量与数据持久化

启动 stdio 子进程时,客户端必须提供两个环境变量:

  • PLUGIN_ROOT:插件根目录绝对路径
  • PLUGIN_DATA:客户端分配的持久化数据目录,插件更新时内容保留,卸载时清理

${PLUGIN_ROOT} 和 ${PLUGIN_DATA} 可在 args、env 值、cwd 字段中使用,执行单次、非递归的文本替换。不支持其他占位符或环境变量展开。

局部失败隔离

规范在多个层级贯彻"局部失败不扩散"原则:

  • 单个 MCP 服务器启动失败,不影响其他服务器和 skills 加载
  • 单个 skill 格式不合法,跳过该 skill,其余继续
  • MCP 服务器传输类型不被客户端支持,跳过该条目
  • mcp.json 整体无效,仅禁用 MCP 组件,skills 仍正常加载

未覆盖的领域

规范不涉及以下内容:插件安装机制、运行时权限控制、作者身份验证、密钥和 API key 的安全存储。规范文档明确说明,header 值和 env 值属于"可见的包数据,不是可移植的保密机制"。Agent Plugins v1 未定义 OAuth 配置或可移植的凭据引用字段,授权流程由各客户端自行管理。

支持方与缺席方

首批支持该规范的客户端包括 ChatGPT、Codex、Cursor、GitHub Copilot、Kiro 和 VS Code。Google 在发布当天以维护者身份加入,其 Agents CLI 是首批采用该格式的产品之一。AWS 也在支持者名单中。

Skills 和 MCP 协议均由 Anthropic 创建。Claude Code 自 2025 年起使用几乎相同的格式打包插件,但 Anthropic 不在规范制定团队中,Claude Code 也不在首批支持工具名单中。

实践案例:Agents CLI 全流程

Google 的 Agents CLI 是首批采用该格式的工具之一。安装后,Agents CLI 向编程 Agent 注入 7 个技能,覆盖 ADK 模式、项目脚手架、评估、部署和可观测性。

以构建 RAG 知识助手为例,开发者通过自然语言描述需求,Agent 自动完成以下步骤:

  1. 基于 ADK agentic_rag 模板搭建项目结构,使用 Vector Search 作为数据存储
  2. 发现模板缺少引用支持,自动重写 Agent 指令要求内联引用,并修改检索器以返回源 ID
  3. 配置数据存储,导入 12 条 Python 基础语料,运行冒烟测试

部署前执行评估:20 个测试场景,分为四类。检索正确性 6 个,上下文不足拒绝能力 5 个,多跳推理 5 个,引用准确性 4 个。

评估发现一个幻觉边缘案例:面对语料库外的问题,Agent 偶尔附加常识回答而非明确拒绝。根因定位为系统指令中的一行:"如果你已经知道简单问题的答案,可以不使用工具直接回答"。删除该行后问题解决。

部署到 Google Cloud 耗时 2-3 分钟,Cloud Trace 默认开启。注册到 Gemini Enterprise 后,组织内所有成员均可发现和使用该 Agent。

相关链接

  • 规范文档:https://agent-plugins.org/specification
  • GitHub 仓库:https://github.com/agentplugins/agent-plugins-spec

关注公众号回复“进群”入群讨论

【声明】内容源于网络
0
0
AI工程化
专注于AI领域(大模型、MLOPS/LLMOPS 、AI应用开发、AI infra)前沿产品技术信息和实践经验分享。
内容 633
粉丝 0
AI工程化 专注于AI领域(大模型、MLOPS/LLMOPS 、AI应用开发、AI infra)前沿产品技术信息和实践经验分享。
总阅读4.3k
粉丝0
内容633