跳到主要内容

AI Protocol Reference — 领域地图与原理综述

30 秒导读: 这一货架装的不是某个框架、不是某个 agent 产品,而是 agent 时代的**“接口标准”本身**——22 份规范、约定与官方 SDK。它们看起来五花八门(有的讲怎么调工具、有的讲怎么付钱、有的讲怎么画界面),但都在解决同一个根本问题:让 AI agent 与外部世界打交道时,双方先约好一份机器能读、能协商的契约,而不是各写各的临时胶水。这份总纲先讲清这条共性,再把货架拆成 5 条分支,每条分支链到自己的章节。

本货架是 AI 参考三货架之一,只收规范层(normative):协议、标准、约定,以及与协议强绑定的官方 SDK。框架/运行时/研究库在姊妹货架 ai-frontier-reference;可直接上线的 agent 产品在 ai-agent-reference


1. 共性(主干):agent 时代的“机器对机器契约”

先问:这 22 个库到底共同在干什么

把它们摆在一起,剥掉表面差异——A2A 在传 Agent Card、x402 在传 402 支付挑战、MCP Apps 在传一段 ui:// 界面、AGENTS.md 在传一段给 agent 看的说明——会发现它们做的是同一类事:

在 agent 与某个对端(工具、数据源、另一个 agent、商家、浏览器页面、前端 UI、观测系统)之间,定义一份双方都能机器读懂、能协商版本与能力的契约,从而任意一方换实现都不必让另一方改代码

这就是树干。过去软件集成靠人:人读 API 文档、人写专属适配、人点网页结账。agent 时代这条路不通——agent 要在运行时自己发现“有什么能接”、自己读懂“契约长什么样”、自己完成交互。于是每一个交互面都被重新标准化成机器契约:

过去(人为中心)现在(本货架的契约)
人读 API 文档、手写适配agent 读 schema/agent card,运行时对接(MCP、A2A)
人在网页点“结账”agent 凭授权令牌完成支付(x402、AP2、ACP-commerce)
人在浏览器里点按钮页面把能力暴露成工具给 agent(WebMCP、NLWeb)
人读 README 才会用一个库agent 读 AGENTS.md / SKILL.md 自动会用
人看仪表盘排查标准化 span/属性让系统自动观测(OTel GenAI)

共性的三个共同动作

几乎每份规范都在做下面三件事中的一件或几件——这是判断“它属于这货架”的试金石:

  1. 发现(discover):对端怎么宣告自己存在、有什么能力。A2A 的 Agent Card、MCP 的 server/discover、MCP Registry 的 server.json、AGNTCY Directory 的 OASF 记录、llms.txt 的站点清单,全是“宣告能力”的不同写法。
  2. 协商(negotiate):双方怎么对齐协议版本与可选能力,谁能调用谁。MCP 的 capability negotiation、ACP 的 v1/v2 schema、ACP-commerce 的 capability_negotiation RFC,都是这一步。
  3. 交互(interact):约定消息形态后真正来回传东西——调工具、传事件、渲染 UI、发支付挑战。

衡量你读懂了没:任意挑货架里两个库,你能说出它们各自标准化了“哪个交互面”、各自怎么做发现/协商/交互。 这正是下面 5 条分支要回答的。


2. 分支地图(主枝):共性分化出的 5 个交互面

树干是“机器对机器契约”。它自然按**“agent 在跟谁打交道”分化成 5 条主枝——每条主枝是一个交互面**:

agent 时代的机器对机器契约(主干)
“agent 与外部世界的每次交互,都改写成机器可协商的显式契约”

┌──────────┬──────────┬────┴─────┬───────────┬─────────────────┐
▼ ▼ ▼ ▼ ▼
① 接能力 ② 代理互联 ③ 画界面 ④ 付钱结算 ⑤ 喂指令与可观测
agent→工具 agent→agent agent→前端 agent→钱 人/站点→agent;系统→观测
/数据/发现
│ │ │ │ │
MCP* A2A MCP Apps UCP AGENTS.md
MCP-SDK ACP(Zed) MCP-UI ACP-commerce Agent Skills
Registry AGNTCY† OpenAI Apps AP2 Model Spec
NLWeb AG-UI x402 llms.txt
WebMCP A2UI OTel GenAI
AGNTCY†

* MCP 是整个货架的“地基协议”:它被 ③④⑤ 多条分支当作底层传输/绑定复用(见 §4 交叉点)。 AGNTCY 横跨①②:它的 Directory 既是“发现工具/服务”的目录,也索引 A2A Agent Card,所以两处都点名。

① 接能力 — agent 怎么够到外部工具/数据,怎么发现有什么可接

这条分支解决“agent 的手往外伸”:把工具、文件、数据库、API、整个网站,变成 agent 运行时能调用的能力,并解决“有哪些能力可发现”。MCP 是这条分支(也是全货架)的基石协议——一套基于 JSON-RPC 的 host↔server 接口;NLWeb 让一个网站变成可对话的 /ask//mcp 端点;WebMCP 让浏览器页面把按钮暴露成 agent 工具;MCP RegistryAGNTCY Directory 解决“去哪里发现 server/agent”。代表库:mcp-spec(已写子库 doc)。 → guide/connect-capabilities.md

② 代理互联 — agent/编辑器怎么跟另一个 agent 对话

①是 agent 够工具,这条分支是 agent 够另一个 agent。当对端本身是个有自主性的 agent(而非无状态工具),就需要任务生命周期、流式、推送通知这些更重的语义。A2A 是这条分支的主协议(Agent Card + Task/Message/Artifact 生命周期);ACP(Zed) 是其中一个专门子集——编辑器↔编码 agent 的会话协议;AGNTCY 提供跨组织的分布式发现与可验证身份。代表库:a2a-protocol。 → guide/agent-to-agent.md

③ 画界面 — agent 怎么把交互式 UI 渲染到宿主/前端

光有文字不够,agent 常要回一个可交互的界面(表单、卡片、购物车)。这条分支标准化“界面怎么过线、宿主怎么沙箱渲染”。两种思路:事件流(后端流式发 UI 事件——AG-UI)对 声明式 UI 树(发一棵描述“画什么”的树——A2UI、MCP Apps 的 ui:// 资源)。MCP Apps 是 UI-over-MCP 的官方方向,MCP-UI 是其社区实现料,OpenAI Apps SDK 是 ChatGPT 侧的对应样例。代表库:mcp-apps-ext。 → guide/render-ui.md

④ 付钱结算 — agent 怎么发现商品、授权支付、完成结算

当交互涉及,信任与授权变成头等大事。这条分支把“商务”拆成可组合的层:发现+下单(UCP、ACP-commerce)、支付授权(AP2 的 mandate——把用户的支付权限可验证地委托给 agent)、线上结算(x402——HTTP 原生的 402 挑战/应答)。它们不是互斥而是叠层:AP2 管授权、x402 管结算、UCP/ACP 管交易流程。代表库:x402-protocol。 → guide/commerce-payments.md

⑤ 喂指令与可观测 — 人/站点怎么给 agent 下指令,系统怎么观测它

前 4 条都是 agent 运行时对外的线协议;这条分支是带内的约定:人/仓库/站点怎么把意图喂给 agent,以及系统怎么观测 agent 的行为。AGENTS.md 是仓库级 agent 说明约定;Agent Skills(SKILL.md)把能力打包成渐进披露的文件夹;OpenAI Model Spec 定义指令优先级(platform>developer>user>tool);llms.txt 让站点给 LLM 一份可读清单;OTel GenAI 把 LLM/agent/tool 调用标准化成可观测的 span/属性。代表库:agents-mdagent-skills-spec。 → guide/instruction-observability.md


3. 学习路径

  1. 先读 ① 接能力,从 MCP 开始。 MCP 是全货架地基,③④⑤ 多条分支都把它当底层。读完 mcp-spec 子库 doc 再回看 guide/connect-capabilities.md,后面会顺很多。
  2. 再按你的场景挑一条分支下钻:
  3. 最后看交叉点(§4),理解这些协议怎么互相组合成一条端到端链路(例如 A2A 任务里嵌 x402 支付、MCP 之上叠 MCP Apps UI)。

4. 交叉点:这些协议怎么组合

货架的精髓是组合——不是 22 个孤岛,而是可叠的层。最重要的几条组合线(均有上游证据):

组合关系代码锚点
x402 ↔ A2A / MCPx402 把支付挑战绑定到 A2A、MCP 与 HTTP 三种传输上x402-protocol/specs/transports-v2/a2a.mdmcp.mdhttp.md
A2A ↔ x402A2A 提供通用扩展机制(extensions.md),x402 据此以 a2a-x402 扩展接入(扩展本体在独立仓,不在所引文件内)a2a-protocol/docs/topics/extensions.md(仅承重“通用扩展机制”)
UCP ↔ AP2UCP 复用 AP2 的 mandate 做支付授权ucp-protocol/docs/specification/ap2-mandates.md
MCP Apps ↔ MCPMCP Apps 作为 MCP 扩展,随 MCP 修订演进,UI 走 ui:// 资源mcp-apps-ext/docs/overview.md:105
AGNTCY ↔ A2A/MCPDirectory 索引 A2A Agent Card 与 MCP server 描述,而非取代它们agntcy/api/core/v1/record.pb.go:221(type Record);proto agntcy/proto/agntcy/dir/core/v1/record.proto:58
OTel GenAI ↔ MCPGenAI semconv 把 LLM/tool 调用标准化成 span/metric;MCP 专页已迁至独立仓 semantic-conventions-genai,本仓 mcp.md 现为重定向桩otel-genai-semconv/docs/gen-ai/gen-ai-spans.mdgen-ai-metrics.md(本仓仍在);model/gen-ai/(YAML)

5. 路由表(任务 → 看哪条分支 / 哪个库)

你的任务去哪area 标签
给 agent 接工具/数据/文件guide/connect-capabilities → mcp-spec, mcp-typescript-sdkprotocols
把一个网站变成 agent 可问的端点connect-capabilities → nlweb, llms-txtweb-interop
让浏览器页面给 agent 暴露工具connect-capabilities → webmcpbrowser-agents
发布/发现一个 MCP serverconnect-capabilities → mcp-registry, agntcyprotocols
让两个 agent / 编辑器与 agent 协作guide/agent-to-agent → a2a-protocol, acp-agent-client-protocolprotocols, coding-agents
跨组织发现 agent + 可验证身份agent-to-agent → agntcyprotocols
在 agent 回复里渲染交互 UIguide/render-ui → mcp-apps-ext, mcp-ui-sdkweb-interop
做 ChatGPT App / 后端→前端事件流render-ui → openai-apps-sdk, ag-ui, a2uiweb-interop
让 agent 完成结账/下单guide/commerce-payments → ucp-protocol, acp-agentic-commercepayments-commerce
让 agent 被授权支付 / 线上结算commerce-payments → ap2-protocol, x402-protocolpayments-commerce
写仓库级 agent 指令guide/instruction-observability → agents-mdcoding-agents, prompt-authority
把能力打包成 SKILL.mdinstruction-observability → agent-skills-specprompt-authority
设计指令优先级/权限契约instruction-observability → openai-model-specprompt-authority
给 LLM/agent 调用接观测instruction-observability → otel-genai-semconvevals-observability

全量目录(22 源,编目 area 见上)

Id一句话分支
mcp-specMCP 权威规范(JSON-RPC 的 host↔server 接口)
mcp-typescript-sdkMCP 官方 TS SDK,事实标准实现样式
mcp-registry官方 MCP server 发现注册中心(server.json)
nlweb把站点变成 NL /ask//mcp 端点(Schema.org)
webmcp浏览器页面向 agent 暴露 MCP 工具(W3C 孵化)
agntcyInternet-of-Agents 分布式目录 + 身份(横跨①②)①②
a2a-protocolagent 间互操作:Agent Card + 任务生命周期
acp-agent-client-protocol编辑器↔编码 agent 会话协议(Zed)
mcp-apps-extUI-over-MCP 官方扩展(ui://)
mcp-ui-sdkUI 资源社区 SDK(TS/Python/Ruby)
openai-apps-sdkChatGPT 侧 UI-over-MCP 样例
ag-ui后端→前端的 agent UI 事件流协议
a2ui声明式 agent UI 组合协议(Google)
ucp-protocol通用商务协议:发现到结账
acp-agentic-commerceOpenAI/Stripe 代理结账标准
ap2-protocolmandate 支付授权协议(FIDO)
x402-protocolHTTP 402 机器支付挑战/应答
agents-md仓库级 agent 指令约定(AAIF)
agent-skills-specSKILL.md 能力打包格式 + 校验器
openai-model-spec指令优先级 / 模型行为契约
llms-txt/llms.txt 站点给 LLM 的可读清单
otel-genai-semconvGenAI 遥测属性/span/metric 标准

新鲜度提示(agent 读): 本货架里多份规范处于 pre-1.0 / 孵化 / draft 阶段(WebMCP、A2UI、ACP-commerce 部分 RFC、MCP draft、AGNTCY)。引用线行为时锚定 lock commit / dated revision,不要照搬博客或 latest;治理归属近期多有变动(MCP/AGENTS.md 入 LF AAIF、AP2 入 FIDO、x402 从 Coinbase 迁出);部分子规范已迁仓(如 GenAI semconv 的 MCP 专页迁至 semantic-conventions-genai)。分支章每格对比都接地到子库 doc 或克隆引用,详见各 guide/*.md 的代码锚点列。