ACP 智能体通信协议:从原理到实战,构建多 Agent 协作系统
AI Agent 遍地开花的时代,单打独斗已经不够了。当你的 Agent 需要和别人的 Agent 对话时,靠什么?——ACP。
一、为什么需要 ACP?
1.1 Agent 孤岛困境
2025 年被称为"智能体元年",LangChain、CrewAI、AutoGen、BeeAI 等框架涌现,大家都在造 Agent。但问题来了:
•你用 LangChain 造了一个研究 Agent
•同事用 CrewAI 造了一个写作 Agent
•合作方用 AutoGen 造了一个审核 Agent
它们各说各话,互不相通。每接一个新 Agent,就得写一堆胶水代码。这就是智能体孤岛问题。
1.2 现有协议的定位
在 ACP 之前,业界已经有了一些协议尝试:
| 协议 | 全称 | 解决什么问题 | 类比 |
|---|---|---|---|
| MCP | Model Context Protocol | 模型连接外部工具/数据 | 给 Agent 装"手"和"眼" |
| ACP | Agent Communication Protocol | Agent 之间互相通信协作 | Agent 之间的"语言" |
| A2A | Agent to Agent | Agent 对 Agent 交互模式 | 通用交互范式 |
| ANP | Agent Network Protocol | Agent 组网和路由 | 底层网络层 |
一句话定位:MCP 让 Agent 能使用工具,ACP 让 Agent 能互相对话。它们不是竞争关系,而是协作关系。
1.3 ACP 要解决的核心问题
┌─────────────────────────────────────────────────┐
│ Before ACP │
│ │
│ Agent A ──(自定义API)──> Agent B │
│ Agent C ──(gRPC)──────> Agent D │
│ Agent E ──(WebSocket)──> Agent F │
│ │
│ N 个 Agent = N×(N-1) 种集成方式 😱 │
└─────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────┐
│ After ACP │
│ │
│ Agent A ──┐ │
│ Agent B ──┤ │
│ Agent C ──┼──── ACP 统一协议 ────> 自由互通 │
│ Agent D ──┤ │
│ Agent E ──┘ │
│ │
│ N 个 Agent = 1 种协议搞定 ✅ │
└─────────────────────────────────────────────────┘
二、ACP 协议全貌
ACP 目前有两大流派,理解它们的区别很重要:
| 维度 | AgentUnion ACP | IBM/BeeAI ACP |
|---|---|---|
| 发起方 | AgentUnion(国内) | IBM Research / BeeAI(国际) |
| 定位 | 智能体互联网基础设施协议 | 跨框架智能体互操作协议 |
| 核心理念 | 类似互联网 TCP/IP,构建 Agent Internet | 基于 REST API 的轻量级消息传递 |
| 身份体系 | AID(Agent Identifier),类似域名 | Agent Manifest,能力声明 |
| 传输层 | HTTPS + WSS + SSE | REST API + SSE |
| SDK | Python / TypeScript / C++ / Flutter | Python / TypeScript |
| 状态 | 活跃迭代中 | 已并入 Linux Foundation A2A |
下面分别详细介绍。
三、AgentUnion ACP 深度解析
AgentUnion ACP 的野心更大——它要做智能体互联网,像互联网的 TCP/IP 一样,让所有 Agent 都能入网、寻址、通信。
3.1 核心概念:十大要素
┌─────────────────────────────────────────────────────────────┐
│ Agent Internet(智能体互联网) │
│ │
│ ┌──────┐ ACP协议 ┌──────┐ ACP协议 ┌──────┐ │
│ │Agent │◄──────────►│ AP │◄───────────►│Agent │ │
│ │ A │ │接入点 │ │ B │ │
│ │(AID) │ │ │ │(AID) │ │
│ └──────┘ └──┬───┘ └──────┘ │
│ │ │
│ ┌──────┴──────┐ │
│ │ AP 核心服务 │ │
│ │ · 身份认证 │ │
│ │ · 寻址查找 │ │
│ │ · 会话管理 │ │
│ │ · 数据存储 │ │
│ │ · 契约签名 │ │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
🔑 AID — Agent 的"身份证"
AID(Agent Identifier)是每个 Agent 在网络中的唯一标识,类似于互联网域名:
格式:{agent-name}.{ap-domain}
示例:my-research-agent.aid.pub
writing-bot.aid.pub
•通过接入点(AP)泛域名解析获得
•全球唯一,用于寻址和通信
•基于 ECDSA P-384 数字证书的去中心化身份
🌐 AP — Agent 的"路由器"
AP(Access Point)是 Agent 入网的大门,提供:
| AP 服务 | 说明 |
|---|---|
| 身份管理 | AID 的创建、认证、管理 |
| 状态查询 | Agent 在线状态、能力发现 |
| 会话服务 | Agent 之间的通信通道管理 |
| 数据存储 | Agent 公有数据托管 |
| 契约签名 | 数字契约认证与签名验证 |
一个形象的比喻:
如果 Agent 是电脑,AID 就是网卡,ACP 是网线,AP 是路由器。
3.2 通信协议栈
ACP 建立在成熟的互联网协议之上:
┌─────────────────────────────────┐
│ 应用层:ACP 消息格式 │ ← JSON 消息体
├─────────────────────────────────┤
│ 会话层:会话管理 │ ← 创建/关闭会话
├─────────────────────────────────┤
│ 传输层:HTTPS / WSS / SSE │ ← 加密传输
├─────────────────────────────────┤
│ 网络层:TCP/IP │ ← 基础网络
└─────────────────────────────────┘
三种传输方式各有分工:
•HTTPS:常规请求-响应,如创建 AID、查询状态
•WSS (WebSocket Secure):实时双向通信,如会话消息收发
•SSE (Server-Sent Events):流式输出,如 LLM 流式回答
3.3 会话通信时序
一次完整的 Agent 间通信流程:
Agent A AP Agent B
│ │ │
│ 1. create_session() │ │
│────────────────────────>│ │
│ │ 2. notify_session() │
│ │───────────────────────>│
│ │ │
│ 3. send_message() │ │
│────────────────────────>│ 4. forward_message() │
│ │───────────────────────>│
│ │ │
│ │ 5. send_message() │
│ 6. receive_message() │<───────────────────────│
│<────────────────────────│ │
│ │ │
│ 7. close_session() │ │
│────────────────────────>│ 8. notify_close() │
│ │───────────────────────>│
│ │ │
3.4 AgentProfile — Agent 的"名片"
每个 Agent 都有一份 agentprofile.json,描述自己是谁、能做什么:
"publisherInfo""name""AgentUnion Labs""contact""dev@agentunion.cn""name""research-agent""description""专业的互联网信息研究与摘要智能体""version""1.0.0""capabilities""core""web-search""summarize""translate""extended""deep-research""fact-check""input""types""text/plain""application/json""maxLength"10000"output""types""text/plain""text/markdown""streaming"true"authorization""mode""free""description""免费使用,无需授权"
搜索引擎可以直接索引这些 Profile,让 Agent 像网站一样可被发现。
3.5 安全机制
ACP 的安全设计分三层:
┌──────────────────────────────────────┐
│ 第一层:通信安全 │
│ · 全链路 HTTPS/WSS 加密 │
│ · 消息签名验证 │
├──────────────────────────────────────┤
│ 第二层:身份安全 │
│ · 基于 PKI 的证书体系 │
│ · ECDSA P-384 数字签名 │
├──────────────────────────────────────┤
│ 第三层:行为安全 │
│ · Agent 行为规范约束 │
│ · 授权与交易流程规范 │
│ · 数字契约签名验证 │
└──────────────────────────────────────┘
四、IBM/BeeAI ACP 实战
IBM ACP(现已并入 Linux Foundation A2A)的设计更偏实用主义——用最简单的 REST API 让不同框架的 Agent 对话。
4.1 核心概念
| 概念 | 说明 |
|---|---|
| Agent Manifest | Agent 能力描述,类似 API 文档 |
| Run | 一次 Agent 执行,支持同步/流式 |
| Message | 通信核心,由多个 MessagePart 组成 |
| MessagePart | 消息的最小单元(文本/图片/JSON) |
| Await | Agent 暂停等待客户端输入 |
| Session | 跨多次交互维护状态 |
4.2 快速上手:Echo Agent
服务端 — 创建一个 Echo Agent
# echo_server.pyimportfromimportfromimportfromimport@server.agentasyncdef"""原样返回收到的所有消息"""forinawait0.5yield"thought""收到消息,我应该回传它"await0.5yield# 默认在 http://localhost:8000 启动
客户端 — 调用 Echo Agent
# echo_client.pyimportfromimportfromimportasyncdefasyncwith"http://localhost:8000"as# 同步调用await"echo""user""Hello from ACP!""text/plain"print"Agent 回复: {run.output}"if"__main__"
运行:
# 终端 1:启动服务端pippython# 终端 2:运行客户端python# 输出: Agent 回复: Hello from ACP!
4.3 进阶:流式调用
fromimportfromimportfromimportasyncdefasyncwith"http://localhost:8000"asasyncforin"echo""user""Stream me!"print"[流式] {content}"print"[完成] Agent 处理结束"pass# 其他事件
五、实战:构建多 Agent 协作系统
接下来用一个完整的案例展示 Agent 如何通过 ACP 互相协作。
5.1 场景设计
一个"内容创作流水线":用户给一个主题,多个 Agent 协作完成 **研究 → 写作 → 审核 → 排版**。
ACP 协议
用户输入主题 ──> [研究Agent] ──> [写作Agent] ──> [审核Agent] ──> 输出成品
(crewAI) (LangChain) (BeeAI)
关键点:三个 Agent 用了三个不同的框架,但通过 ACP 无缝协作。
5.2 AgentUnion ACP 实现方案
使用 AgentUnion 的 agentcp SDK:
安装
pip# 或npm
研究 Agent(Python)
fromimport# 初始化并创建身份"aid.pub"# 接入 AP"research-agent"# 定义消息处理回调def"content"print"[研究Agent] 收到研究主题: {topic}"# 调用 LLM 进行研究...# 将研究结果发送给写作 Agent"writing-agent.aid.pub"# 上线并监听消息
写作 Agent(TypeScript)
importfrom'acp-ts'constconstawait"aid.pub"constawait"writing-agent"// 初始化通信constawaitawait// 监听消息asyncstringanyconsole'[写作Agent] 收到研究资料'// 调用 LLM 生成文章...constawait// 将文章发给审核 Agentawait'review-agent.aid.pub'// 上线await
审核 Agent(Python)
fromimport"aid.pub""review-agent"def"content"print"[审核Agent] 收到待审文章"# 调用 LLM 审核...if"approved"# 审核通过,返回给发起者"from_aid""status""approved""article""comments""comments"else# 打回修改"writing-agent.aid.pub""status""revision_needed""feedback""feedback"
协调器(发起方)
fromimport"aid.pub""coordinator"# 创建会话"research-agent.aid.pub""writing-agent.aid.pub""review-agent.aid.pub"# 发起任务"id""research-agent.aid.pub""请研究 ACP 智能体通信协议的最新进展"# 等待最终结果"id"300# 5分钟超时print"最终成品: {result['content']}"
5.3 IBM ACP 实现方案
使用 acp-sdk,搭建跨框架协作:
研究 Agent(crewAI 框架)
# research_server.pyfromimportfromimportfromimport@server.agent"researcher""互联网信息研究智能体"asyncdef00yield"thought""开始研究主题: {topic}"# 这里集成 crewAI 的研究能力fromimport"资深研究员""深入研究 {topic}""你是一位经验丰富的技术研究员""请详细研究以下主题: {topic}"yield"assistant"str8001
写作 Agent(LangChain 框架)
# writer_server.pyfromimportfromimportfromimport@server.agent"writer""专业文章写作智能体"asyncdef00yield"thought""收到研究资料,开始撰写文章"# 集成 LangChain 写作能力fromimportfromimport"gpt-4""基于以下研究资料,撰写一篇高质量的技术文章:\n\n{research}""research"yield"assistant"8002
客户端协调器
# orchestrator.pyimportfromimportfromimportasyncdefprint"🚀 启动内容创作流水线,主题: {topic}\n"# Step 1: 研究print"📚 Step 1: 研究阶段..."asyncwith"http://localhost:8001"asawait"researcher""user"10print" ✅ 研究完成,获得 {len(research_data)} 字资料\n"# Step 2: 写作print"✍️ Step 2: 写作阶段..."asyncwith"http://localhost:8002"asawait"writer""user"10print" ✅ 文章完成,共 {len(article)} 字\n"# Step 3: 审核(流式)print"🔍 Step 3: 审核阶段..."asyncwith"http://localhost:8003"asasyncforin"reviewer""user"# 实时输出审核意见...passprint"🎉 流水线完成!"return# 运行"ACP 智能体通信协议"
六、ACP 与 MCP/A2A/ANP 关系图谱
这四个协议经常被放在一起讨论,但它们解决的问题完全不同:
┌──────────────────────────────────────────────────────────────┐
│ AI Agent 技术栈 │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 应用层 │ │
│ │ ┌─────────┐ ┌─────────┐ ┌──────────┐ │ │
│ │ │ ACP │ │ A2A │ │ ANP │ │ │
│ │ │Agent间 │ │Agent间 │ │Agent组网 │ │ │
│ │ │通信协议 │ │交互标准 │ │路由协议 │ │ │
│ │ └─────────┘ └─────────┘ └──────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 能力层 │ │
│ │ ┌─────────┐ │ │
│ │ │ MCP │ │ │
│ │ │模型连接 │ │ │
│ │ │外部工具 │ │ │
│ │ └─────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 基础层:LLM (GPT/Claude/Deepseek/Qwen...) │ │
│ └─────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
详细对比:
| 维度 | MCP | ACP | A2A | ANP |
|---|---|---|---|---|
| 层级 | 能力扩展层 | 应用通信层 | 应用交互层 | 网络组织层 |
| 核心功能 | 模型接工具 | Agent 对 Agent 通信 | Agent 交互标准 | Agent 网络路由 |
| 类比 | USB 接口 | HTTP 协议 | REST 风格 | TCP/IP |
| 发起方 | Anthropic | AgentUnion / IBM | Google + Linux Foundation | 社区 |
| 典型场景 | 让 Agent 调 API | 让 Agent 互相对话 | 定义交互模式 | 构建 Agent 网络 |
| 成熟度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
一个生活化的比喻:
- **MCP** = 手机的 App Store(让手机能装各种 App/工具)
- **ACP** = 电话协议(让手机之间能打电话)
- **A2A** = 打电话的礼仪(先说"喂",再说事,最后说"拜拜")
- **ANP** = 电信基站网络(确保信号能到达对方)
七、最佳实践与架构建议
7.1 选择哪个 ACP 流派?
| 场景 | 推荐 | 理由 |
|---|---|---|
| 国内企业级部署,需要完整的身份体系 | AgentUnion ACP | 完善的 AID/AP 体系,支持商业化 |
| 快速搭建跨框架 Agent 协作 | IBM ACP (A2A) | 轻量级 REST API,上手快 |
| 需要 P2P 实时通信 | AgentUnion ACP | 原生 WSS 支持,低延迟 |
| 开源社区生态优先 | IBM ACP (A2A) | Linux Foundation 背书 |
7.2 架构设计原则
┌─────────────┐
│ API 网关 │ ← 统一入口
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
┌─────┴─────┐ ┌───┴───┐ ┌─────┴─────┐
│ Agent 集群A│ │ Agent │ │ Agent 集群C│
│ (crewAI) │ │ 集群B │ │ (AutoGen) │
│ │ │(BeeAI)│ │ │
└─────┬─────┘ └───┬───┘ └─────┬─────┘
│ │ │
└────────────┼────────────┘
│
┌──────┴──────┐
│ ACP 消息总线 │ ← 统一通信层
└─────────────┘
七条黄金法则:
Agent 单一职责:一个 Agent 只做一件事,做到极致
幂等设计:同一消息重复发送,结果相同
超时机制:所有通信必须设置合理超时
优雅降级:某个 Agent 不可用时,有兜底方案
消息持久化:关键消息必须持久化,防丢失
可观测性:接入日志和 tracing,排查问题不抓瞎
版本兼容:AgentProfile 中声明版本,做好前后兼容
7.3 安全 Checklist
✅ 全链路 HTTPS/WSS 加密
✅ Agent 身份认证(AID 证书或 API Key)
✅ 消息签名验证
✅ 输入内容校验(防 Prompt Injection)
✅ 速率限制(防 DDoS)
✅ 敏感数据脱敏
✅ 审计日志
✅ 最小权限原则
八、未来展望
8.1 协议融合趋势
2025 年下半年,IBM ACP 已并入 Linux Foundation 的 A2A 项目,预示着协议融合正在发生。未来可能的走向:
2024 2025 2026 2027+
│ │ │ │
MCP 发布 ── ACP/A2A 涌现 ─ 协议融合期 ── 统一标准?
ANP 探索 互操作层成熟 Agent Internet
8.2 值得关注的方向
•Agent 发现引擎:类似 Google,但搜索的是 Agent 而非网页
•Agent 市场:像 App Store 一样,Agent 可以被发现、购买、组合
•跨域协作:金融 Agent + 法律 Agent + 数据 Agent 联合作业
•Agent 治理:当 Agent 越来越多,如何监管和审计?
九、总结
ACP 不只是一个协议,它代表了 AI Agent 从"单体应用"走向"分布式协作"的范式转变。
| 你需要… | 用… |
|---|---|
| 让 Agent 调用外部工具 | MCP |
| 让 Agent 之间互相通信 | ACP |
| 构建企业级 Agent 网络 | AgentUnion ACP |
| 快速搭建跨框架 Agent 协作 | IBM ACP / A2A |
记住这句话:MCP 给 Agent 装上了手脚,ACP 让 Agent 学会了说话。在多 Agent 协作的时代,不会"说话"的 Agent,注定是一座孤岛。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)