多Agents 圈的 MCP:谷歌全新Agent2Agent 协议开源!

今天,谷歌推出并开源 Agent2Agent (A2A) 全新开放协议,A2A 协议将允许 AI Agents相互通信、安全地交换信息,并在各种企业平台或应用程序上协调操作,很快冲到2.6k star。

图片

  • Agent2Agent协议(A2A):允许 AI Agents连接到其他Agents(多Agents圈的MCP);

  • 模型上下文协议(MCP):允许 AI Agents连接到工具/API;

  • 两者均为开源协议,互不竞争!

图片

更多信息:《动手设计AI Agents:CrewAI版》、《高级RAG之36技》、新技术实战:Manus+MCP/GRPO+Agent/Lazy-GraphRAG、大模型日报/月报、最新技术热点追踪(GPT4-o/数字人/MCP/Gemini 2.5 Pro)

图片

A2A是对 Anthropic 模型上下文协议 (MCP) 的补充,MCP 为Agent提供了实用的工具和上下文。A2A 使开发者能够构建能够与使用该协议构建的任何其他代理连接的代理,并为用户提供了灵活地组合来自不同提供商的代理的灵活性。至关重要的是,企业可以从一种标准化的方法中受益,用于跨不同平台和云环境管理其代理。

图片

A2A 的工作原理

A2A 促进“客户端”Agent与“远程”Agent之间的通信。客户端Agent负责制定和传达任务,而远程Agent负责执行这些任务,以提供正确的信息或采取正确的行动。这种交互涉及以下几个关键功能:

an illustrated flow chart showing the flow of data between the remote agent and the client agent to produce secure collaboration, task and state management, user experience negotiation, and capability discovery

  • 能力发现:Agent可以使用 JSON 格式的“代理卡”来宣传其能力,从而允许客户端代理识别能够执行任务的最佳代理并利用 A2A 与远程代理进行通信。

  • 任务管理:客户端与远程代理之间的通信以任务完成为导向,代理负责执行最终用户的请求。此“任务”对象由协议定义,并具有生命周期。它可以立即完成,或者,对于长时间运行的任务,每个代理可以进行通信,以彼此保持同步,了解任务的最新完成状态。任务的输出称为“工件”。

  • 协作:Agent可以互相发送消息来传达上下文、回复、工件或用户指令。

  • 用户体验协商:每条消息包含“部分”,即完整形成的内容片段,例如生成的图像。每个部分都有指定的内容类型,允许客户端和远程代理协商所需的正确格式,并明确包含对用户 UI 功能(例如 iframe、视频、Web 表单等)的协商。

A2A设计原则

作为开放协议,A2A遵循拥抱Agent能力、基于现有标准、默认安全、支持长时间运行任务和与模态无关的五项关键原则,实现灵活、安全、跨框架的Agent协作。

A2A真实案例:候选人寻源

A2A协作通过统一界面(如Agentspace)简化招聘软件工程师流程:Agents按要求寻找候选人,互动推荐,协助面试和背景调查,实现跨系统高效协作。

,时长01:22

https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/https://github.com/google/A2A

来源 | PaperAgent

### MCP 定制 Agent 开发框架 Model Context Protocol (MCP) 是一种标准化的通信与上下文交换协议,旨在为 AI Agent 提供高效的外部工具访问能力[^2]。为了支持 MCP 的实现和应用,一些开发框架应运而生,这些框架提供了对 MCP 的原生支持或扩展支持,使得开发者能够更轻松地构建基于 MCP 的智能体。 以下是一些为 MCP 定制的 Agent 开发框架: #### 1. **Agently** Agently 是一个支持 MCP开源框架,专注于简化 Agent 的开发过程[^4]。它允许开发者通过简单的配置快速创建和管理Agent 实例,并且支持种大语言模型(LLM)作为后端推理引擎。Agently 提供了丰富的 API 和工具集,帮助开发者集成外部工具和服务。 - **特点**: - 支持动态调整 Agent 的决策深度。 - 提供灵活的设置项,例如模型选择、API 密钥管理和 URL 配置。 - 内置对 MCP 的支持,便于与外部工具进行交互。 - **代码示例**: ```python from agently import Agently, OAIClient # 创建 Agent 工厂实例 agent_factory = ( Agently.AgentFactory() .set_settings("current_model", "OAIClient") .set_settings("model.OAIClient.auth", {"api_key": "your_api_key"}) .set_settings("model.OAIClient.url", "http://example.com/v1") .set_settings("model.OAIClient.options", {"model": "deepseek-v3"}) ) # 创建 Agent 实例 agent = agent_factory.create_agent() # 执行任务 response = agent.run_task("What is the capital of France?") print(response) ``` #### 2. **LangChain** LangChain 是一个流行的 Agent 开发框架,支持协议和工具集成,包括 MCP[^1]。它提供了一个模块化的架构,使得开发者可以轻松地组合不同的组件来构建复杂的 Agent 系统。 - **特点**: - 支持混合架构,可以根据任务复杂度动态调整推理深度。 - 提供丰富的工具库,方便与外部系统集成。 - 内置对 MCP 的支持,简化了上下文交换和通信的过程。 - **代码示例**: ```python from langchain.agents import initialize_agent, Tool from langchain.tools import BaseTool from langchain.llms import OpenAI class MCPTool(BaseTool): name = "mcp_tool" description = "A tool that uses MCP for external data access." def _run(self, query: str): # 模拟 MCP 数据访问 return f"Data accessed via MCP for query: {query}" llm = OpenAI(temperature=0) tools = [MCPTool()] agent = initialize_agent(tools, llm, agent="zero-shot-react-description") result = agent.run("What is the weather like today?") print(result) ``` #### 3. **AutoGen** AutoGen 是另一个支持 MCP 的框架,专注于自动化生成和执行复杂任务[^1]。它通过规则引擎和符号逻辑驱动 Agent 的决策过程,适合处理需要深层次推理的任务。 - **特点**: - 提供强大的规则引擎,支持复杂的符号逻辑推理。 - 支持动态任务分解和分配。 - 内置对 MCP 的支持,便于与外部工具和服务集成。 - **代码示例**: ```python from autogen import AssistantAgent, UserProxyAgent assistant = AssistantAgent( name="assistant", llm_config={"request_timeout": 600, "seed": 42}, system_message="You are a helpful assistant.", ) user_proxy = UserProxyAgent( name="user_proxy", human_input_mode="TERMINATE", max_consecutive_auto_reply=10, is_termination_msg=lambda x: x.get("content", "").rstrip().endswith("Goodbye!"), ) user_proxy.initiate_chat( assistant, message="What is the current stock price of Apple?", ) ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值