7 个标准正在重塑 AI 开发:从 MCP 到 AG-UI,一文看懂 Agent 时代的协议栈
7 个标准正在重塑 AI 开发:从 MCP 到 AG-UI,一文看懂 Agent 时代的协议栈
2024 年底,AI Agent 还是各搞各的——Claude Code 一套、Cursor 一套、OpenAI Codex 又一套。Agent 连个工具要写定制代码,换个编辑器就得重来。
一年半之后,局面完全变了。
MCP 成了 Agent 连接工具的事实标准,114 个客户端在用;AG-UI 定义了 Agent 怎么跟用户界面交互;ACP 让编辑器和 Agent 之间有了通用语言;SKILL.md 和 AGENTS.md 把 Agent 的"知识"和"能力"变成了可复用的文件。
这些协议和约定正在拼成一张完整的图:Agent 时代的协议栈。本文一次性讲清楚。
本文提纲
- 全景:Agent 协议栈长什么样
- MCP——Agent 连接世界的 USB-C
- AG-UI——Agent 怎么跟用户交互
- ACP——编辑器与 Agent 的通信标准
- A2UI——Agent 输出的不只是文字
- SKILL.md——把 Agent 能力变成可复用文件
- AGENTS.md 和 DESIGN.md——给 Agent 的项目说明书
- 一张表看清谁支持什么
全景:Agent 协议栈长什么样
先看全貌。把这些标准按层次排列,就是一张协议栈:
┌─────────────────────────────────────────────┐
│ User Interface │
├─────────────────────────────────────────────┤
│ AG-UI (Agent ↔ User Interaction) │
│ A2UI (Generative UI Rendering) │
├─────────────────────────────────────────────┤
│ ACP (Editor/IDE ↔ Agent) │
├─────────────────────────────────────────────┤
│ MCP (Agent ↔ Tools & Data) │
├─────────────────────────────────────────────┤
│ A2A (Agent ↔ Agent) │
└─────────────────────────────────────────────┘
横向:SKILL.md / AGENTS.md / DESIGN.md(文件约定,跨层生效)
每一层解决一个特定问题。Agent 不是只跟工具交互就够了——它还要跟用户交互、跟编辑器交互、跟其他 Agent 交互。每层都需要标准。
MCP——Agent 连接世界的 USB-C
Model Context Protocol,Anthropic 发起,现已移交 Linux 基金会独立治理。
解决什么问题
Agent 要用工具(查数据库、读文件、调 API),以前每个工具都要写定制集成代码。MCP 做了一件事:把"Agent 调用工具"这件事标准化了。Agent 只要会说 MCP 协议,就能连任何 MCP Server 提供的工具——不用改 Agent 代码。
所以它被叫做"AI 应用的 USB-C"。
核心架构
Host (Claude Code / VS Code / Cursor)
└── Client (连接器,1:1 对应一个 MCP Server)
└── Server (提供工具/资源/提示词)
通信用 JSON-RPC 2.0,传输层支持 stdio(本地)和 HTTP SSE(远程)。
五大能力
| 能力 | 方向 | 干什么 |
|---|---|---|
| Tools | Agent → 调用 | LLM 可执行的函数(API 调用、文件操作等) |
| Resources | Server → 提供上下文 | 文件内容、数据库记录、Git 历史等 |
| Prompts | 用户 → 模板 | 预定义的斜杠命令和提示词模板 |
| Sampling | Server → 请求 LLM | Server 反过来请求 Agent 的 LLM 生成内容 |
| Elicitation | Server → 请求用户输入 | Server 主动向用户收集信息 |
生态规模
- 114 个客户端:Claude、ChatGPT、VS Code Copilot、Cursor、Windsurf、Zed……
- 10 种语言 SDK:TypeScript、Python、Java、Kotlin、C#、Go、PHP、Ruby、Rust、Swift
- GitHub 47.2k followers,42 个官方仓库
- MCP Registry 正在建——类似 npm/PyPI 的集中发现机制
最新版本(2025-11-25)
Sampling 支持了工具调用和多轮循环(Server 可以实现更复杂的智能体行为);新增 Elicitation(Server 可主动向用户请求输入);实验性支持 Tasks(长时间运行操作的标准化跟踪)。
AG-UI——Agent 怎么跟用户交互
Agent User Interaction Protocol,CopilotKit 团队发起。GitHub 13,700+ stars。
解决什么问题
MCP 管的是 Agent 跟工具的通信。但 Agent 还要跟用户交互——显示思考过程、渲染 UI 组件、共享状态、处理中断。这些之前没有标准,每个前端框架各搞各的。
AG-UI 做的是:把"Agent 跟用户界面交互"这件事标准化。
核心能力
AG-UI 是基于事件的协议,不是请求-响应模式。Agent 的每个动作(思考、工具调用、生成 UI)都是一个事件流:
- 流式聊天:逐字输出,实时展示
- 生成式 UI:Agent 不只返回文字,还能返回动态 UI 组件
- 共享状态:Agent 和前端保持同一份数据状态
- 思考步骤可视化:用户能看到 Agent 在"想"什么
- 前端工具调用:Agent 可以直接调用浏览器端的工具(如定位、通知)
- 人机循环:支持中断、确认、拒绝
- 子 Agent 组合:多个 Agent 协同工作
和 MCP 的关系
互补,不是竞争:
| 层次 | 协议 | 管什么 |
|---|---|---|
| Agent ↔ 用户 | AG-UI | 用户界面交互 |
| Agent ↔ 工具 | MCP | 工具和数据连接 |
| Agent ↔ Agent | A2A | Agent 间协调 |
一个 Agent 可以同时用全部三个。AG-UI 已经实现了与 MCP 和 A2A 的握手机制。
集成生态
LangGraph、CrewAI、Vercel AI SDK、Mastra、LlamaIndex、Semantic Kernel、LangChain——主流 Agent 框架几乎全覆盖。
ACP——编辑器与 Agent 的通信标准
Agent Client Protocol,Zed Industries 发起,JetBrains 共同参与。
解决什么问题
Claude Code、Codex、OpenCode 这些 Agent 要在编辑器里工作——读文件、改代码、跑终端。每个编辑器的接口都不一样,Agent 得为每个编辑器写一套集成。
ACP 做的是:把"编辑器和 Agent 的通信"标准化了。类似 LSP(Language Server Protocol)标准化了语言服务器的集成,ACP 标准化了 Agent 的集成。
核心设计
- Agent 作为编辑器的子进程运行
- 通过 stdio + JSON-RPC 通信
- 支持:初始化、会话设置、Prompt Turn、工具调用、文件系统操作、终端命令
和 MCP 的区别
MCP 管 Agent 跟外部工具/数据的连接。ACP 管编辑器跟 Agent 的连接。互补关系。
Zed、JetBrains、OpenCode、Avante.nvim 已支持。远程 Agent 模式(HTTP/WebSocket)开发中。
A2UI——Agent 输出的不只是文字
AI-to-UI,Google 发起。
解决什么问题
Agent 返回的通常是文字和代码块。但实际使用中,用户需要的是交互式 UI——表单、图表、按钮、卡片。A2UI 定义了一套声明式的、对 LLM 友好的 JSONL 格式,让 Agent 能输出动态 UI 组件。
同类规范
| 规范 | 发起方 | 特点 |
|---|---|---|
| A2UI | 声明式、JSONL、流式、平台无关 | |
| MCP-UI | Microsoft + Shopify | 基于 iframe,扩展 MCP |
| Open-JSON-UI | OpenAI | OpenAI 内部 UI 架构开放标准化 |
AG-UI 已经原生支持这三种生成式 UI 规范——不管你用哪个,AG-UI 都能传。
SKILL.md——把 Agent 能力变成可复用文件
Claude Code 专属的技能定义格式。
解决什么问题
Agent 做了一次复杂操作(比如"发布博客到三个平台"),下次还得手把手教一遍?SKILL.md 把操作流程写成文件,Agent 下次自动读取执行。
基本格式
---
name: publish-blog
description: Publish article to Svelte Web, WeChat, and CNBlogs
allowed-tools: Bash(git *) Bash(node *) Bash(python3 *)
---
## Workflow
1. Git pull latest
2. Save article to blogs/
3. Git push for Svelte Web deployment
4. Run WeChat publish script
5. Run CNBlogs publish script
6. Final git push
高级能力
- 参数传递:
$ARGUMENTS接收用户输入 - 动态注入:
!`git diff HEAD`实时获取命令输出 - 工具预授权:
allowed-tools指定可用工具,减少权限弹窗 - 辅助文件:大型技能拆分成 SKILL.md + reference.md + examples.md
- 触发控制:
disable-model-invocation: true防止 AI 自动触发有副作用的操作
存放位置
~/.claude/skills/my-skill/SKILL.md # 用户级(全局可用)
.claude/skills/my-skill/SKILL.md # 项目级(当前项目可用)
AGENTS.md 和 DESIGN.md——给 Agent 的项目说明书
AGENTS.md
OpenAI Codex 主推的项目级指令文件。放在代码仓库根目录,Agent 执行任务前先读它——了解项目架构、测试命令、编码规范。
相当于给新来的 AI Agent 写的一份"入职手册"。
Claude Code 通过 @AGENTS.md 导入语法兼容。也可以符号链接:ln -s AGENTS.md CLAUDE.md。
DESIGN.md
不是任何平台的官方标准,而是社区通用实践——记录系统的架构决策、技术选型理由、关键数据模型。通过各平台的指令文件(CLAUDE.md / AGENTS.md)的 @DESIGN.md 导入语法引用。
DESIGN.md 记录"为什么这么设计",AGENTS.md 记录"怎么干活",SKILL.md 记录"具体能力"。三者配合,Agent 就有了完整的项目上下文。
一张表看清谁支持什么
协议支持矩阵
| 协议 | 发起方 | 解决什么问题 | 生态规模 |
|---|---|---|---|
| MCP | Anthropic → Linux 基金会 | Agent ↔ 工具/数据 | 114 客户端,10 SDK |
| AG-UI | CopilotKit | Agent ↔ 用户界面 | 13.7k stars,7+ 框架 |
| ACP | Zed + JetBrains | 编辑器 ↔ Agent | Zed、JetBrains、OpenCode |
| A2UI | Agent 输出生成式 UI | 早期阶段 | |
| A2A | Agent ↔ Agent | 快速发展中 |
文件约定支持矩阵
| 约定 | 性质 | Claude Code | OpenAI Codex | Cursor | Windsurf |
|---|---|---|---|---|---|
| CLAUDE.md | Anthropic 官方 | ✅ 原生 | ❌ | ❌ | ❌ |
| AGENTS.md | OpenAI 官方 | ✅ @ 导入 |
✅ 原生 | ❌ | ❌ |
| SKILL.md | Anthropic 独有 | ✅ 原生 | ❌ | ❌ | ❌ |
| DESIGN.md | 社区实践 | ✅ @ 导入 |
⚠️ 间接 | ⚠️ 间接 | ⚠️ 间接 |
| .cursorrules | Cursor 官方 | /init 可读 |
❌ | ✅ 原生 | ❌ |
2024 年,每个 AI 工具都是一座孤岛。2026 年,这些协议和约定正在把孤岛连成大陆。MCP 连工具,AG-UI 连界面,ACP 连编辑器,SKILL.md 传递能力——Agent 时代的基础设施,正在以我们看得见的速度成型。
作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/
每日分享最前沿的AI新闻资讯和技术研究。
本文首发于 AI人工智能时代,转载请注明出处。

浙公网安备 33010602011771号