MCP
模型上下文协议 · Anthropic
问题:AI 需要访问外部工具、数据库和 API。
层次:工具集成(AI ↔ 系统)
做法:JSON-RPC 服务端和客户端。AI 通过结构化的函数接口调用工具。
安装:需要 SDK 和服务器配置
范围:单个 Agent ↔ 它的工具
A2A
Agent-to-Agent 协议 · Google / Linux 基金会
问题:不同厂商的 Agent 需要互相发现、互相对话。
层次:Agent 发现与编排
做法:HTTP + JSON-RPC。Agent 发布 Agent Card,交换任务和产物。
安装:需要 SDK 和 HTTP 接口
范围:Agent ↔ Agent(跨厂商)
iLang
AI 原生通信协议 · iLang Research
问题:自然语言指令有歧义,AI 在猜,而不是在执行。
层次:指令与通信(人 ↔ AI、AI ↔ AI、AI 内部)
做法:纯文本协议。88 个动词、键值修饰符、链式语法。粘贴就能用。
安装:不用装。基于文本。在 ChatGPT、Claude、Gemini、DeepSeek、Kimi、通义千问和智谱 GLM 上测过。
范围:通用的通信层
功能对比
| 功能 | MCP | A2A | iLang |
|---|---|---|---|
| 用途 | 工具集成 | Agent 发现与协作 | 通信与指令 |
| 需要安装 | 需要(SDK + 服务器) | 需要(SDK + 接口) | 不需要(纯文本) |
| 人与 AI 通信 | ✗ 不是为此设计 | ✗ 不是为此设计 | ✓ 主要用途 |
| AI 与 AI 通信 | ○ 通过工具调用 | ✓ 主要用途 | ✓ 支持 |
| AI 内部推理 | ✗ | ✗ | ✓ 声明语法 |
| 行为身份 | ✗ | ○ Agent Card | ✓ ::GENE{} DNA 体系 |
| 跨模型可移植 | ○ 在服务端 | ✓ | ✓ 在 ChatGPT、Claude、Gemini、DeepSeek、Kimi、通义千问和智谱 GLM 上测过 |
| 正式词汇表 | ✗ 自由格式 | ✗ 自由格式 | ✓ 88 个动词,29 个核心修饰符外加 20 个媒体键 |
| 开源 | ✓ Apache 2.0 | ✓ Apache 2.0 | ✓ MIT |
| 支持方 | Anthropic | Google + Linux 基金会 | iLang Research / iLang Inc. |
三个协议怎么配合
三个协议在 AI 技术栈的不同层次上工作。一个实际的部署可以三个都用上:
┌─────────────────────────────────────────────┐
│ Human writes iLang instruction │ ← iLang
│ [GET:@SRC|path=sales_q3]=>[STAT]=>[Ω] │
├─────────────────────────────────────────────┤
│ Agent A receives, plans execution │ ← iLang (internal)
│ ::GENE{analyst|conf:confirmed} │
├─────────────────────────────────────────────┤
│ Agent A calls database tool via MCP │ ← MCP
│ {"method":"query","params":{"sql":"..."}} │
├─────────────────────────────────────────────┤
│ Agent A delegates visualization to Agent B │ ← A2A
│ Task: generate chart from this data │
├─────────────────────────────────────────────┤
│ Agent B returns chart artifact │ ← A2A
│ Agent A formats final output │ ← iLang
│ [FMT|fmt=md]=>[Ω] │
└─────────────────────────────────────────────┘
图里的标注保留英文。从上到下:人用 iLang 写指令;Agent A 收到后用 iLang 规划工作;Agent A 通过 MCP 调用数据库工具;Agent A 通过 A2A 把画图表的活交给 Agent B;Agent B 通过 A2A 交回图表,Agent A 用 iLang 排好最终输出。
什么时候用哪个
| 你要…… | 该用 |
|---|---|
| 让 AI 能访问你的数据库、文件或 API | MCP |
| 让不同厂商的 Agent 协作 | A2A |
| 写精确的指令,AI 照着做,重试更少 | iLang |
| 定义 AI 的性格、行为和身份 | iLang(声明语法) |
| 用一条指令串起多步工作流 | iLang |
| 给 Claude/GPT 搭工具服务器 | MCP |
| 发布 Agent,让它能被跨平台发现 | A2A |
常见问题
MCP 和 A2A 有什么区别?
按本页的说法:MCP 把 AI 接到工具上,A2A 把 Agent 和 Agent 连起来。MCP 出自 Anthropic,解决的是访问外部工具、数据库和 API 的问题,靠 JSON-RPC 服务端和客户端实现,需要 SDK,还要配置服务器。A2A 出自 Google,现在归 Linux 基金会,解决的是跨厂商的 Agent 发现:Agent 发布 Agent Card,通过 HTTP 和 JSON-RPC 交换任务和产物。iLang 处在第三层,也就是通信与指令这一层,而且是纯文本。
MCP、A2A 和 iLang 能一起用吗?
能。对比页用一次部署把三个协议走了一遍。人写一条 iLang 指令:[GET:@SRC|path=sales_q3]=>[STAT]=>[Ω]。Agent A 在内部用 ::GENE{analyst|conf:confirmed} 规划。Agent A 通过 MCP 调用数据库工具,再通过 A2A 把画图表的活交给 Agent B。Agent B 交回产物,Agent A 用 [FMT|fmt=md]=>[Ω] 排好最终输出。层次不同,同在一个技术栈里。
现在就试试 iLang
和 MCP、A2A 不同,iLang 协议本身不用安装。复制协议头,粘贴到 DeepSeek、通义千问、Kimi、智谱 GLM、ChatGPT、Claude 或 Gemini 里,马上就能用结构化指令。