[AI开发]4 Agent与A2A
What
Agent是什么
- 想象一下,你的办公通常就是“人”+“电脑”,人负责思考和使用工具,电脑负责执行任务,最后人将电脑的结果进行分析和决策,提交。
- 好了,这就是个Agent了,用稍微学术化一点的话来说:“Agent是指任何能够感知其所处环境并对该环境采取行动的实体”
- 但现在,我们经常讨论的Agent不是人+工具了,而是LLM+工具,用大模型取代了思考和使用工具的步骤,解放人力嘛。
- 其实Agent的概念中并没有对技术有任何要求,因此实现形式上其实也各不相同。比如,一个连接了LLM并预设一些API的命令行程序可以是Agent,而接入了MCP、能操作编辑器、终端、自主增删改代码的AI编辑器(如Cursor、VS Code)等也可以算是个Agent。所以说Agent只是一个“产品层面”的概念。
工作流是Agent吗
先说结论,我觉得可以是,但是二者其实没有可比性
- 工作流(以Dify为例)从技术上来说是个框架,而在这个框架中嵌入什么如何嵌入其实是很自由的,最终目的都是让LLM参与到整个流程中参与决策和执行,虽说工作流的流程是固定的,但在特定的分支、判断等环节换用LLM来决策,可以明显提高流程执行的灵活性和智能化,同时不失去代码的高性能和稳定性。
- 除此之外,Dify的工作流中实现了一个Agent节点,虽说使用起来局限性比较大,但是该节点倒是完全符合Agent定义的,自动感知自主行动。
- 但是要明确的是,工作流和Agent并非是同一层面的定义,工作流是技术层面的,是做AI开发的框架与实现形式,而Agent更多是产品层面的,只是对功能、能力方面做了约束。正如工作流可以实现Agent的功能,但工作流本身并不是Agent。
- 目前看来,Agent和工作流并无高下之分,Agent的显著优点:灵活、用户友好是工作流无法企及的,而工作流的高效、稳定、可追溯目前Agent也无法取代。也许两种技术路线会长期并行,开发者应当熟悉这两种概念及其实现。
A2A的概念
简直就是LLM时代的P2P网络。
- A2A (Agent-to-Agent) 是一种开放协议,旨在使AI智能体(AI Agents)能够相互发现、通信、安全地交换信息并在各种企业平台或应用程序之上协调行动。可以将其理解为为Agente设计的协作框架[1]。
- 毕竟今年AI,尤其是AI的使用方式这方面发展的如此之快,各家的AI产品,从简单的对话、到RAG增强,再到连接MCP、形成Agent,几乎全都是近一两年的事,到目前为止肯定已经有很多Agent了,但是对于多Agent的互联还没有一个统一标准,A2A就是基于此诞生的。
其实看A2A的协议细节[2]有很多地方都与MCP高度相似,但考虑到毕竟A2A是要兼容MCP的,所以也不奇怪。

A2A的特点
- 主流技术标准:该协议构建在现有的流行标准之上,包括HTTP、SSE(Server-Sent Events)和JSON-RPC,这一套应该都比较熟悉了。
- 对等网络:A2A网络(未来如果发展起来,真正构建成网络的话)很像一个对等网络,是去中心化的,因为从概念上并无服务器-客户端之分,Agent可以相互发现和“调用”。但是在建立连接后从技术实现上还是有"C-S"之分的。
- 其他优点:当然其他的优点他也有,只不过就没有那么值得说道了,比如开源、自带身份验证和授权、支持长时任务等。
但目前A2A的发展仍属于早期,虽然协议细节基本完善,SDK也差不多成熟了,但是目前相关实践还是比较少,不在AI最前沿做开发的可以等一等。
