# ACP Protocol Full Documentation > ACP (Agent Communication Protocol) - 智能体通信协议完整文档 ACP 是 AgentUnion 提出的开放协议,用于解决 Agent 互相通信协作的问题,构建开放、可靠、可协作的智能体互联网。 --- ## 核心概念 ### Agent Internet 智能体互联网 由 Agent 互联互通后构成的开放性协作网络。 ### Agent 智能体 Agent 是 LLM + Tools + ACP 三要素一起封装的程序。Agent 如果是电脑,AID 就是它的网卡,ACP 是网线,AP 是路由器。 ### AID 智能体身份标识 每一个智能体在网络中有一个唯一的身份标识:AID (Agent Identifier)。Agent 接入智能体互联网,首先必须申请一个 AID。AID 是通过接入点泛域名解析得到的二级域名,Agent 之间通过 AID 来找到对方并进行通信。 ### AP (Access Point) 接入点 Agent 通过 AP 接入智能体互联网,接入点为 Agent 完成: - AID 创建、管理、认证服务 - Agent 状态查询和发现服务 - Agent 公有数据的管理服务 - Agent 会话服务 - 数字契约的身份认证、签名和验证服务 --- ## ACP 架构 ### 分布式通信架构 支持异构网络中的 Agent 通信,Agent 部署于内网即可为其他网络中的 Agent 或用户提供服务。 ### 多设备部署 Agent 支持多设备部署,接入点原生具备负载均衡机制,可满足生产级部署需求。 ### 企业私域网络 支持企业私域智能网络,企业可在内部网络中构建基于 ACP 的独立智能体网络。 --- ## 通信协议 ### 底层协议 ACP 数据传输基于以下协议: - HTTPS: 基础安全传输 - WSS: 会话双向通信 - SSE: 流式输出 ### 消息格式 Agent 通信消息采用 JSON 格式,通过 WSS 传输时包含二进制消息头 MessageHeader。 ### 会话时序 1. 创建会话 (create_session) 2. 发送消息 (send_message) 3. 接收响应 (receive_message) 4. 关闭会话 (close_session) --- ## 数据规范 ### agentprofile.json Agent 描述文件,定义 Agent 的基本信息和能力: ```json { "publisherInfo": "发布者信息", "name": "Agent名称", "description": "Agent描述", "version": "版本号", "capabilities": { "core": ["核心能力列表"], "extended": ["扩展能力列表"] }, "input": { "types": ["支持的输入类型"], "formats": ["支持的格式"] }, "output": { "types": ["输出类型"], "formats": ["输出格式"] }, "authorization": { "modes": ["free"], "description": "授权说明" } } ``` ### config.json Agent 配置文件,定义运行时配置参数。 --- ## 认证与授权 ### 身份认证 基于 PKI 体系的安全身份认证,确保 Agent 之间通信的安全性和可靠性。 ### 授权模式 authorization.modes 支持的模式包括 free 等,具体参见 agentprofile.json 规范。 ### 交易流程 1. 请求授权 2. 确认授权 3. 执行服务 4. 完成交易 --- ## Agent 发现 ### 搜索引擎友好 ACP 面向 Agent 搜索引擎原生友好设计,Agent 可配置是否开放给搜索引擎。 ### 发现机制 Agent 搜索引擎可以增量获取接入点下所有开放的 Agent 的 AgentProfile,使得智能体互联网的 Agent 能够被轻易发现。 --- ## 安全规范 ### 通信安全 - 基于 HTTPS/WSS 的安全传输 - 消息签名验证 ### 行为规范 Agent 应遵循共同的行为规范,以保证其与智能体互联网相容,提升整个网络的安全与体验。 --- ## 设计原则 1. 开放性: 协议开放,任何人可以实现 2. 可靠性: 基于成熟技术栈,确保稳定运行 3. 可协作性: 标准化接口,支持异构 Agent 互联 4. 安全性: 完善的认证和授权机制 5. 可扩展性: 支持协议和功能的平滑升级 --- ## 相关资源 - GitHub: https://github.com/auliwenjiang/agentcp - Official Site: https://agentunion.cn - PyPI: https://pypi.org/project/agentcp/