内容提要
微软Foundry支持A2A 1.0,实现Agent跨系统协作。A2A通过Agent Card完成能力发现、鉴权与版本协商,与MCP的工具调用不同。核心难点包括身份传播、成本控制、取消传递和错误归责。企业应以“身份—技能—数据范围—步骤—预算—证据”六元组进行治理,并验证互操作性。
延伸解读
A2A与MCP:互补而非替代
文章明确区分了A2A与MCP的定位:MCP主要把工具与数据交给一个Agent,而A2A让一个Agent把子任务委托给另一个Agent。两者可以叠加,被调用的远端Agent内部仍可通过MCP查数据库或运行工具。这意味着企业无需在两者间二选一,而应根据协作层级选择:工具调用用MCP,跨Agent委托用A2A。
身份模式选择:用户身份与服务身份
Foundry提供On-behalf-of和服务身份两种入站模式。前者代表终端用户,适合“财务Agent只能看当前员工有权看的发票”;后者代表调用Agent或后端服务,适合夜间批处理。文章警告二者不能凭便利混用,否则A2A只是把越权包装成标准协议。企业需按场景严格区分,避免高权限服务账号滥用。
协议外的治理:成本、取消与留存
A2A协议本身不解决成本控制、取消传递和数据留存。文章指出,嵌套委托可能放大Token、外部API与人工复核成本,调用链应传递剩余预算并记录消耗;取消信号必须传到下游,否则远端可能继续执行动作;Foundry任务上下文保留60天,团队需明确什么能进入上下文、谁能读取及何时删除。
互操作性验证:不能只跑“你好”
文章强调,发布页与文档只能证明功能定义,不能证明不同厂商实现已无缝互操作。正式采购前应使用同一测试集验证任务状态、错误码、取消、重试和身份传播,而不是只跑一次“你好,你能做什么”。同时需注意Foundry 1.0入站目前仅支持JSON-RPC和文本模态,流式、gRPC或图像场景尚不能直接照搬。
Q&A
A2A 1.0 是什么?它和 MCP 有什么区别?
A2A 1.0 是 Linux Foundation 旗下的开放协议,全称 Agent2Agent,定义了能力发现、消息与任务、交互模态、协议绑定和版本协商,让一个 Agent 能把子任务委托给另一个 Agent。MCP 主要把工具与数据交给一个 Agent,而 A2A 主要让 Agent 之间互相委托任务。两者可以叠加:被调用的远端 Agent 内部仍可通过 MCP 查数据库或运行工具。
Microsoft Foundry 对 A2A 1.0 的支持情况如何?有哪些限制?
Microsoft Foundry 在 9 月 18 日正式支持 A2A 1.0 端点与调用工具,提供 A2A Endpoint(把 Foundry 中的 Agent 暴露给外部调用)和 A2A Tool(让 Foundry Agent 调用另一个兼容端点)。新集成推荐 A2A 1.0,旧的 0.3 仍处于预览兼容期。入站 1.0 目前只支持 JSON-RPC,不支持流式响应,且只支持文本模态。Agent Card 不是公开名片:端点与卡片 URL 都要求 Microsoft Entra ID 身份,调用方至少要有 Foundry Agent Consumer 角色。
A2A 协议中 Agent Card 的作用是什么?
Agent Card 类似服务目录,列出 Agent 的名称、版本、技能、接口、安全方案和支持模态。调用方先发现卡片,再选择双方都支持的协议版本和绑定,之后发送任务或消息。但 Agent Card 描述能力,不等于安全证明,调用方不能因为对方宣称有某个技能就默认结果可信。
在 A2A 协作中,身份传播为什么重要?Foundry 提供了哪些身份模式?
身份传播重要是因为需要确认对方是谁、能做什么、代表谁访问数据。Foundry 提供两种入站身份模式:On-behalf-of 代表终端用户,适合“财务 Agent 只能看当前员工有权看的发票”;服务身份代表调用 Agent 或后端服务,适合夜间批处理。二者不能混用,否则 A2A 只是把越权包装成标准协议。
A2A 协作中需要关注哪些成本控制问题?
一个主 Agent 可能把同一问题扇出给多个专业 Agent,再触发各自的模型和工具。若只给单次请求设预算,嵌套委托仍可能放大 Token、外部 API 与人工复核成本。调用链应传递剩余预算,并在每一跳记录消耗。
企业应如何治理 A2A 调用?最小治理单元是什么?
企业应以“调用方身份—目标技能—数据范围—最大步骤—预算—证据”六元组作为最小治理单元。任何一个字段缺失,都可能出现技术上成功、治理上失败的调用。
A2A 1.0 当前存在哪些边界与风险?
Foundry 当前的 1.0 入站限制意味着需要 HTTP+JSON、gRPC、图像或流式响应的系统还不能直接照搬。协议允许多种绑定,跨供应商联调必须显式发送 A2A-Version,不能依赖默认值。远端 Agent 可能超时、返回不完整证据或改变能力,调用方要有熔断、幂等键和人工接管。发布页与文档只能证明功能定义,不能证明不同厂商实现已实现无缝互操作。
接入 A2A 前,企业应立即做哪些检查?
先画出所有 Agent 与数据源,逐条标注调用身份;给每张 Agent Card 只暴露必要技能;对高风险动作采用用户身份或逐步授权;明确版本头、超时、最大跳数和预算;记录任务 ID、目标版本、权限决策与证据摘要;模拟远端拒绝、重复回调和卡片变更;最后用最小权限账号做端到端回归。