内容提要
本文介绍AI代理间通信的三种协议:MCP用于代理与工具通信,A2A用于代理间协作,ACP是REST风格的代理通信并已并入A2A。MCP和A2A在生产中互补,分别处理工具访问和代理交互。文章还简要提及LLM、RAG和代理的评估方法,以及Redis的持久化机制(AOF和RDB)。
延伸解读
协议分工:MCP管工具,A2A管代理
文章明确指出,MCP和A2A在生产环境中是互补的:MCP负责代理与工具之间的通信,A2A负责代理与代理之间的协作。理解这一分工有助于架构设计时避免混淆。例如,当代理需要调用外部API或数据库时,应使用MCP;当代理需要将任务委托给其他代理时,应使用A2A。ACP虽然也是代理间通信,但已被并入A2A,因此实际部署中应优先考虑A2A。
A2A的协作机制:Agent Card与状态循环
A2A协议通过Agent Card(发布在已知URL)实现代理发现,并支持任务委托。若代理在任务中需要更多输入,会进入“input-required”状态并回传给调用方,形成循环。这种机制适合需要多轮交互的复杂任务。理解这一流程有助于设计代理间的协作逻辑,确保任务能正确暂停和恢复。
评估方法随系统复杂度升级
文章指出,从LLM到RAG再到代理系统,评估方法逐步复杂:LLM主要用LLM-as-judge,RAG需额外评估检索质量,编码代理则依赖代码测试,多代理系统还需评估协调与角色遵循。这提醒开发者,随着系统组件增多,评估点也增多,需针对每个环节设计相应的评估指标,避免遗漏。
Q&A
MCP、A2A和ACP分别是什么?它们之间有什么区别?
MCP(Model Context Protocol)用于代理与工具之间的通信;A2A(Agent-to-Agent)用于代理之间的协作;ACP(Agent Communication Protocol)是REST风格的代理通信协议,已并入A2A。MCP处理工具访问,A2A处理代理交互,ACP是A2A的前身或变体。
MCP协议是如何工作的?
MCP中,宿主应用接收用户请求,其内嵌的MCP客户端将请求格式化并路由到正确的MCP服务器,服务器执行工具调用并返回结构化响应,代理利用结果继续推理。
A2A协议中,代理之间如何发现和协作?
A2A中,无法独立完成任务的代理通过发布在已知URL的Agent Card发现能力匹配的代理,委派任务并接收结构化结果。如果第二个代理需要更多输入,它会暂停在输入需求状态并循环回第一个代理。
ACP协议与A2A有何关系?
ACP是REST风格的代理通信协议,已并入A2A。ACP采用REST优先的方法,通过Agent Manifest发现对等体,直接通过HTTP调用,并支持同步低延迟任务或异步SSE流响应。
在生产环境中,MCP和A2A如何互补?
在生产中,MCP和A2A互补:MCP处理代理与工具之间的访问,A2A处理代理之间的通信。两者结合使用,使代理既能调用工具,又能与其他代理协作。
文章提到了哪些AI系统评估方法?
文章提到LLM、RAG、编码代理和多代理系统的评估方法。评估配方相同:选择任务、收集评估数据、开发评分器。LLM评估关注安全、代码、指令遵循;RAG评估检索和生成;编码代理通过单元测试评估;多代理系统评估协调和角色遵循。
Redis的持久化机制有哪些?它们各自的特点是什么?
Redis提供AOF和RDB两种持久化机制。AOF记录每个写命令,追加到文件,保证持久性;RDB定期快照整个数据集,加载快。生产环境常混合使用:RDB提供快速加载,AOF保证持久性。