Agent的下半场?Agent互联网基础设施ACP协议的愿景及设计思路

今天是2025年5月9日,星期五,北京,雨。

今天来看看Agent,有位老朋友最近做了件很有意义的事情,ACP(Agent Communication Protocol,智能体通信协议),地址在https://github.com/auliwenjiang/agentcp,里面的设计理念很不错,有自己的特点,项目也开源了,也有一些case,分享出来,给大家看看,官网地址在:acp.agentunion.cn,飞书地址在https://ccnz88r91l2y.feishu.cn/wiki/SrQkwb7seiM82MkSA4IcEAFdnGe

抓住根本问题,做根因,专题化,体系化,会有更多深度思考。大家一起加油。


一、从Agent标准化的演进说起

Agent今年大家讲的其实蛮多的,但是,与过去两年相比,最大的不同就是,标准化、基础设施建设越来越多。

例如,最近也涌现出来许多不同的新概念,例如,Function Call、MCP(Model Context Protocol)、A2A(Agent-to-Agent Protocol)、ANP(Agent Network Protocol),这些工作,都有一个很强的假设(Agent大有可为,并且后续有很大的发展空间,即便现有的技术和应用状态尚不足以支撑这种想象),以及一个很好的愿景(构建起一个Agent的标准生态世界,让Agent能够在规范的统一框架下,灵活地交互、集成,然后产生更大的应用价值)。

而任何东西都是有技术演进逻辑的,先说下我的理解,不一定对,供大家一起批评指正

先说具体结论,一句话说来就是:

在功能维度上,从单点能力→接口标准化→任务协作→网络自治,层层扩展智能体的操作范围和复杂性;

技术架构上,集中式(FunctionCalling/MCP)→联盟式(A2A)→分布式(ANP/ACP),逐步降低对中心化控制的依赖;

生态定位上,工具层(FunctionCalling/MCP)→协作层(A2A)→网络层(ANP/ACP),构成“细胞-器官-系统”式的完整技术栈。

首先,Function Calling是最基础的,Function Calling在2023年由OpenAI推出,主要用于快速MVP开发,但存在接口碎片化和扩展成本高的问题。允许大语言模型调用外部API或工具。比如OpenAI的Function Calling让GPT-4能执行简单的API调用。这一步解决了模型如何“伸手”操作工具的问题,但仅限于单一工具和单次调用,缺乏标准化和扩展性,为后续协议提供“基础细胞”,但无法支撑复杂协作

接下来是MCP(Model Context Protocol),由Anthropic主导。MCP的核心是统一模型与外部工具的接口,类似于“USB-C接口”,解决了不同工具和模型之间的适配问题。通过客户端-服务器架构,MCP将工具调用标准化,降低了开发复杂度,并支持多步调用和本地数据安全。例如,MCP允许一次对接后多端复用,社区生态逐渐形成。这一步是接口的标准化,从单点工具调用到系统化集成,但未解决多智能体协作问题。

然后是A2A(Agent-to-Agent Protocol),由谷歌推动。A2A关注多智能体协作,如企业内部的流程自动化。它定义了任务管理、状态同步和动态协商机制,支持长链路任务的分工协作。A2A协议引入了Agent Card、任务生命周期管理,并支持异步通信,适合复杂的企业工作流。例如,多个智能体可以协作完成旅行规划,各自处理机票、酒店等子任务。这一步从工具调用升级到智能体间的协作,强调任务分配和流程优化,从“工具调用”到“组织协作”,但依赖中心化架构,难以支撑开放网络

最后是ANP(Agent Network Protocol),由开源社区主导,强调去中心化的智能体网络。ANP基于P2P架构,使用W3C DID身份认证和语义网技术,支持跨组织、跨平台的协作,适用于物联网和边缘计算等场景。ANP的设计原则包括自主性、效用驱动和隐私保护,应用案例包括工业自动化和智慧城市。这一步将协作扩展到开放网络,构建智能体互联网的基础设施

这种的技术演进正如篇首所言,是Agent美好愿下大家所作出的一些处理尝试,核心是从单一功能到系统集成,再到协作网络,逐步解决标准化、扩展性和去中心化的问题。Function Calling解决基础工具调用,MCP标准化接口,A2A实现多智能体协作,ANP构建开放网络。这些协议互补,形成完整的技术栈,推动AI从单一模型向复杂生态发展。

二、新的智能体通信协议ACP推出

但这种技术的发展其实并未停止,与ANP的愿景类似,在这条路上,也有新的探索者出现,在这里,给大家推荐一个最新的工作,也是老朋友的一个很好的愿景项目Agent Communication Protocol(智能体通信协议,简称ACP) ,地址在:https://github.com/auliwenjiang/agentcp,

我们来回答几个问题。

1、ACP是什么?目标是什么?

Agent Communication Protocol(智能体通信协议,简称ACP)是一个开放协议,用于解决Agent互相通信协作的问题,定义了agent的数据规范、agent之间的通信规范以及agent之间的授权规范,以达到Agent功能复用,效率最优的目标,使企业和开发者可以用最低成本开发出可用于生产级部署的Agent应用。一句话说来就是,给每个agent赋予一个身份证以及沟通规则,构建一个agent互联网生态/社区

2、ACP是如何做的?设计原则?

在朝着构建agent互联网生态/社区这种目标下,设计理念出来了,Everything is Agent, Agent is everything.一切皆智能体,智能体即一切,并且有几个原则,很重要,也很受启发

其一,Agent搜索引擎原生友好。Agent 主动接入AP、同步数据和保持心跳在线,Agent 搜索引擎即可快速发现;

其二,数据最小扩散原则。最小数据流动,私有数据不存储在任何Agent之外的服务器上,尤其是你的Agent所依赖的知识库、私域数据等。

其三,Agent开发部署友好,Agent可部署在局域网内部,也可以对外网提供服务。

其四,全形态接入智能体互联网。现有各类API、MCP、LLM甚至Human均可封装为Agent接入智能体网络。

3、ACP的Agent身份管理与安全认证?

在原则的指引下,ACP定义了一系列Agent协议规范,包含Agent的身份标识及其标准入口、Agent接入智能体互联网的机制、Agent的数据规范、Agent的通信协议、Agent的授权体系规范、Agent行为以及安全规范,确保Agent之间的开放性、可靠性、可协作性

其中一个的核心概念就是AID(Agent Identifier),每一个智能体在网络中有一个唯一的身份标识,Agent接入智能体互联网,首先必须申请一个AID

这个身份信息是重要的,并且需要做好安全认证,敢用才可用,因此,ACP也为此搭建了ACP证书体系,具体采用两层PKI架构(根CA证书→AP中间CA证书),由AP中间CA签发Agent的AID证书,形成三层证书信任链。

第一层,自签名根证书:ACP采用智能体互联网根证书颁发机构签发的证书作为信任锚点。根证书被预置在所有ACP SDK内,私有网络可部署私有根证书(如企业内部根)形成独立信任域。

第二层,接入点(AP)持有的中间CA证书:由根CA证书签发,负责签发终端Agent的AID证书。

第三层,Agent的AID证书。Agent持有的AID证书,由其接入点的中间CA证书签发,用于Agent在连接到AP以及与其他Agent通信时进行身份验证。

在几层证书之上,设定安全验证机制。包括双向认证协议进行证书链验证:通信双方交换证书后,逐级验证AID证书->AP中间证书->根证书的签名链,确保身份合法性。以及网络隔离策略,通过私有网络构建:企业部署私有根证书后,仅信任该私有根签发的AID证书,形成与公共智能体网络逻辑隔离的私有智能体网络

4、Agent的接入与发现如何做?

开发者可以为自己的Agent注册一个AID,获得自己的Agent的访问入口(在浏览器中可直接输入AID作为访问网址),实现收到消息的回调处理函数,加载AID身份,登录在线。经过这三步,即可开始等待其他的智能体或者用户对Agent的访问调用

接入之后,还需要发现,既然是互联网,那么Agent则需要进行发布与接入,访问接入点的网址(如:aid.pub)即可查看在该接入点下的所有智能体,访问https://www.agentunion.cn可以查看到所有接入点下的智能体。

在AgentUnion(https://www.agentunion.cn/)中,可以看到定义好的一些Agent身份信息,

例如,文件读智能体的信息:

这里面的Agent发现流程还是很有趣的,

config.json中可以通过supportFind字段控制是否允许接入点暴露自己,默认值是为”允许”;->定义agentprofile.json文件->Agent同步自己的公有数据到接入点->Agent或浏览器可通过接入点获取其下所有Agent的公有数据->Agent搜索引擎定期访问接入点增量获取该接入点下的所有agentprofile.json->Agent或者浏览器访问Agent搜索引擎完成Agent发现->Agent搜索引擎提供专业的智能体发现Agent用于获得指定能力的Agent的列表

5、ACP通信中使用的协议有什么特点?

与ANP中使用的W3C协议不同,互联网的协议本身已经很成熟,并且安全可控,ACP采用HTTPS(AID身份创建、认证等REST API调用使用HTTPS进行安全通信,需要在接入点上配置证书)、WSS(接入点会话服务使用WSS进行双向实时通信)、SSE(LLM的流式输出使用基于HTTPS的SSE协议进行通信),这种协议更贴和实际开发者的实际工作,技术栈更为友好。

6、为什么选择ACP?特殊亮点是什么?

其一,易用性。ACP定义了Agent的通信规范,ACP SDK基于ACP对Agent通信相关的代码进行了完整封装,使开发者能够通过标准化接口,仅用几行代码即可实现与单个或多个Agent之间的沟通与协作。易用性和简便性总是更符合技术直觉

其二,数据规范。ACP还定义了Agent的数据规范,ACPSDK对Agent的数据操作进行了抽象和封装,从而让Agent能够更便捷地完成部署、扩容、迁移,同时支持被网络发现并对外提供服务,这可以增强对Agent数据的安全性管控,并且赋予更为丰富的meta信息

起三,开箱即用。与协议配套的ACP Python SDK,用于解决Agent间的身份认证及通信问题。提供了一系列API,用于创建AID、连接入网、构建会话,收发消息等。例如,核心的Agent身份管理类,提供身份创建、消息处理、会话管理等功能;AgentCP类负责信号处理和程序持续运行的控制。支持多Agent协作,异步消息处理,支持内网穿透,支持Agent访问的负载均衡。

7、如何使用ACP?

大家可以在地址:https://github.com/auliwenjiang/agentcp中认识ACP,在https://github.com/auliwenjiang/agentcp/tree/master/samples下也有许多样例,可以体验下如何接入,自行体验。

当然,有使用的问题,也可以联系开源社区的人员:

总结

任何的技术发展都是动态变化的,也总有一群人怀有梦想,去做一些有意义的、长期的事情。

直白的说,这个与ANP是很相似的,目标也一致,正如发起人所说,“大家其实都在解决同一个问题,都是操着一个方向演进的。现在差别可能很大,但是很快会有最优解的。你不一样你就不是最优解。你就会变慢,被人抛弃掉。所以只能说你的解法是不是最好的,这个方向上的大大小小的很多问题,如果大问题的解法都很好,那么你就会是最快的那一个”。

所以,从上面去看,如何更安全、更简洁、更快速、更易用地达成Agent互联网的愿景,我们总会有更好的方案,ACP的推出只是开始这是一个Agent基础设施的开始,也有很多事情需要完善,也有许多细节值得我们去关注,欢迎大家继续关注ACP(https://github.com/auliwenjiang/agentcp),一同共建,也可以联系19169495461@163.com

参考文献

1、https://github.com/auliwenjiang/agentcp

2、https://ccnz88r91l2y.feishu.cn/wiki/SrQkwb7seiM82MkSA4IcEAFdnGe

3、acp.agentunion.cn

(文:老刘说NLP)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往