跳转至

Agent 协作(A2A)


Agent 协作(A2A)用于让一个 Agent 把需要其他专业能力、数据范围或工具权限的工作,委派给已授权的目标 Agent。两个 Agent 可以位于不同工作空间,并始终在各自的权限和行为边界内执行。

例如,负责故障响应的 Agent 可以把数据库诊断交给另一个空间中的数据库专家 Agent,再将返回的证据和建议汇总到当前任务。用户无需在多个工作空间之间重复描述问题,也不需要把目标空间的数据权限开放给调用方 Agent。

Beta

Agent 协作当前为 Beta 功能,仅支持 Obsy Agent Teams 服务下的 Agents 之间互相授权调用。它也不是第三方 Agent2Agent Protocol 接入入口。

Agent 协作能做什么

Agent 协作将能力发布、调用授权、任务委派和结果汇总串联起来,帮助团队:

  • 复用专业 Agent:让数据库、SRE、安全、测试或成本分析等 Agent 继续专注各自职责;
  • 隔离数据与权限:目标 Agent 使用自己的工作空间数据、Skill、MCP 服务和工具权限处理任务;
  • 开展跨空间协作:调用方不需要直接获得目标工作空间的数据权限;
  • 保留执行过程:当前任务会展示外部 Agent 调用的排队、执行和最终状态;
  • 减少重复分析:目标 Agent 的结果会返回当前任务,由调用方 Agent 继续汇总和推进。

Agent 协作适合目标 Agent 拥有独有数据、工具、权限或领域知识的任务。如果当前 Agent 已经能够独立完成工作,通常无需额外发起协作。

flowchart LR
  A[配置两个 Agent 的标识] --> B[目标 Agent 发布能力说明]
  B --> C[目标 Agent 授权调用方]
  C --> D[调用方 Agent 发起任务]
  D --> E[目标 Agent 在自身边界内执行]
  E --> F[结果返回并汇总到当前任务]

认识协作关系

进入 Agent 工作台的配置 > Agent 协作,可以查看当前 Agent 的名片和两类协作关系:

区域 说明 主要操作
Agent 名片 展示当前 Agent 的唯一标识和对外能力说明。 首次配置 Agent 标识;检查和编辑对外能力说明。
授权给 展示哪些调用方 Agent 可以调用当前 Agent。 添加、编辑、启停或删除调用授权。
可调用 展示哪些目标 Agent 已授权当前 Agent 调用。 查看目标 Agent、所属工作空间、能力说明和在线状态。

建立一条跨空间协作关系时,需要由目标 Agent所在空间完成授权。例如,Agent A 需要调用 Agent B,应在 Agent B 的授权给页签中添加 Agent A 的标识。保存后,Agent B 会出现在 Agent A 的可调用列表中。

开始前准备

配置 Agent 协作前,请确认:

  • 调用方和目标 Agent 均已创建并完成运行服务部署;
  • 两个 Agent 当前可用,并已分别配置便于识别的职责和行为边界;
  • 您已获得两个 Agent 的管理人员配合;
  • 目标 Agent 已启用完成委派任务所需的 Skill、MCP 服务和数据权限;
  • 团队已经明确哪些任务可以委派,以及哪些操作仍需人工确认。

空间拥有者、管理员和当前 Agent 的创建者可以维护该 Agent 的名片与调用授权。其他可访问成员只能查看。Agent 创建中、离线、停用或暂不可用时,协作配置会切换为只读。

第一步:配置 Agent 标识

Agent 标识是一个 Agent 在协作关系中的唯一身份。调用授权、能力识别和任务委派都以该标识为准。

  1. 进入目标 Agent 的工作台。
  2. 打开配置 > Agent 协作
  3. Agent 标识中输入便于识别的前缀。
  4. 检查系统生成的完整标识。
  5. 点击保存,并在二次确认中确认标识无误。

标识前缀需要符合以下规则:

  • 长度为 3–32 个字符;
  • 以小写英文字母开头;
  • 仅使用小写字母、数字和单个连字符(-);
  • 不能以连字符结尾。

系统会在前缀后自动添加当前 Agent 的专属后缀。例如,输入 database-diagnostics 后,完整标识可能为:

database-diagnostics_27abcd
注意

完整 Agent 标识确认后将永久生效,不能再次修改。保存前请使用能够长期代表职责的名称,不要加入临时项目名、环境名或人员姓名。

调用方 Agent 也建议先完成 Agent 标识配置。添加授权时,需要把调用方的完整 Agent 标识提供给目标 Agent 的管理人员。

第二步:完善对外能力说明

对外能力说明用于告诉其他 Agent 当前 Agent 擅长什么,以及什么情况下适合调用。系统会根据 Agent 名称、所属工作空间和描述生成默认内容,您可以按实际职责继续编辑。

建议写明:

  • Agent 的专业职责和主要服务对象;
  • 可以使用的数据范围、Skill 或工具类型;
  • 适合处理的任务和期望输入;
  • 可以返回的结果;
  • 不处理的任务或必须人工确认的操作。

示例:

我是数据库诊断 Agent,来自数据库运维工作空间。
我可以分析数据库 Query、慢 SQL、连接池、锁等待和容量风险,并返回证据、影响范围和优化建议。
请提供数据库对象、异常时间范围和需要判断的问题。默认只执行只读分析,不直接修改数据库配置或执行 SQL。

能力说明应具体、可判断。仅填写“可以处理各种问题”会让调用方难以判断何时需要协作。

第三步:授权调用方 Agent

由目标 Agent 的管理人员完成以下操作:

  1. 进入目标 Agent 的Agent 协作页面。
  2. 打开授权给页签。
  3. 点击添加授权
  4. 填写调用方 Agent 的完整 Agent 标识
  5. 选择权限模式。
  6. 按需填写调用边界
  7. 保存授权,并保持授权开关启用。
配置项 说明 使用建议
调用方 Agent 标识 唯一确定获得授权的调用方 Agent。 从调用方 Agent 的名片中复制完整标识,避免手动输入错误。
权限模式 控制目标 Agent 执行委派任务时的确认方式。 生产和敏感场景优先使用默认权限。
调用边界 进一步限定允许处理的任务、数据范围或操作类型。 使用可判断的规则,例如“仅处理数据库只读诊断,不执行配置修改”。
启用状态 控制该调用方是否还能发起新的协作。 新增授权保存后默认启用;需要暂停新调用时,可在授权卡片上关闭开关。

权限模式包括:

权限模式 执行方式 适用场景
默认权限 目标 Agent 沿用常规确认规则;如果委派任务中的动作需要人工审批,外部调用无法代为确认,本次调用会以已拒绝结束。 首次接入、只读诊断、生产数据和边界尚未完全验证的场景。
完全访问权限 目标 Agent 可以在自身已有能力范围内直接执行,不再逐次请求确认。 来源可信、范围稳定且团队已完成风险评估的低风险自动化。

完全访问权限只调整确认方式,不会扩大目标 Agent 的数据范围、Skill、MCP 服务、工具权限或行为边界,也不能绕过调用边界和系统安全限制。

保存后,返回调用方 Agent 的Agent 协作 > 可调用页签,确认目标 Agent 已出现,并检查其能力说明和在线状态。

第四步:在任务中使用协作

协作关系建立后,用户仍从调用方 Agent 的我的任务发起工作,无需预先选择目标 Agent、打开额外会话或手动调用工具。

  1. 进入调用方 Agent 的工作台。
  2. 新建任务或打开已有任务。
  3. 像平时一样描述需求并发送。您可以指定某个 Agent 处理其中一项工作,也可以只说明任务目标、需要分析的对象、所在空间和期望结果;当需求超出当前 Agent 的数据范围或能力边界时,它会自动判断是否需要调用已授权的外部 Agent 协同完成。

示例:

请分析 checkout-api 在最近 30 分钟内错误率升高的问题。
请结合“生产数据库”空间中的慢 SQL、连接池和锁等待数据,
区分已确认事实和待验证假设,并给出按优先级排序的处理建议。

调用方 Agent 会先使用自身能力处理任务。当任务需要自身无法访问的数据或不具备的专业能力时,它会检查已授权的可调用 Agent 是否具备对应能力;匹配成功后,协作会自动发生。用户无需知道或输入目标 Agent 的名称。

目标 Agent 会在自己的工作空间、能力和权限范围内完成相应工作,并将结果返回调用方 Agent。调用方 Agent 会结合当前任务上下文汇总结果并统一答复,用户无需切换工作台或执行额外操作。

最佳实践:跨空间数据库故障诊断

以下示例演示如何让应用故障响应 Agent 调用另一个工作空间中的数据库诊断 Agent。

1. 准备两个 Agent

角色 Agent 标识示例 职责
调用方 incident-response_ab12cd 汇总告警、日志、链路和变更,组织故障分析。
目标方 database-diagnostics_27abcd 查询数据库可观测数据,分析慢 SQL、连接和锁等待。

在目标 Agent 的对外能力说明中写清数据库类型、可访问数据和只读边界。

2. 添加调用授权

在数据库诊断 Agent 的授权给页签添加 incident-response_ab12cd

配置项 示例值
权限模式 默认权限
调用边界 仅处理数据库只读诊断;不得修改参数、执行 SQL 或重启实例。
启用状态 启用

3. 发起任务

在故障响应 Agent 中输入:

分析订单服务从 15:20 开始出现的超时。
请先关联当前空间中的告警、日志和链路,再调用 database-diagnostics_27abcd 检查同一时段的慢 SQL、连接池和锁等待。
最终输出时间线、双方证据、最可能原因、影响范围、下一步验证和需要审批的操作。

4. 核对结果

确认任务中出现数据库诊断 Agent 的调用卡片,并等待状态变为已完成。最终答复应区分调用方和目标方提供的证据;如果目标 Agent 返回的信息不足,应继续补充对象、时间范围或具体验证问题,而不是直接扩大权限。

常见问题

问题 排查建议
添加授权不可用 确认当前 Agent 已配置 Agent 标识、账号具有管理权限,并且 Agent 当前可用。
目标 Agent 未出现在可调用列表 确认授权添加在目标 Agent 上、调用方标识填写正确、授权开关已启用,然后刷新页面。
任务没有发起外部调用 确认目标 Agent 在线且出现在可调用列表;如果必须协作,在任务中明确指定目标 Agent 和委派范围。
调用被拒绝 检查目标 Agent 的对外能力说明、权限模式、调用边界和行为边界,缩小任务范围后重试。
调用失败 检查两个 Agent 的运行状态、授权是否仍有效,以及目标 Agent 所需 Skill、MCP 服务和数据权限是否可用。
Agent 标识无法修改 标识在首次确认后即永久生效,这是用于保持授权关系稳定的预期行为。

停用一条授权后,调用方不能再发起新的调用。停用或删除授权都会取消排队中的调用,已经执行中的调用则会继续完成。操作前请先确认是否仍有正在运行的跨 Agent 任务。

使用建议

  • 按专业职责拆分 Agent,不要为了协作而创建职责高度重叠的 Agent;
  • Agent 标识使用长期稳定、便于识别的职责名称;
  • 对外能力说明同时写清“能做什么”和“不能做什么”;
  • 首次授权使用默认权限,并为生产场景设置明确的调用边界;
  • 在任务中只传递完成委派所需的信息,不要包含密钥、Token 或无关敏感数据;
  • 定期检查授权给可调用列表,停用或删除不再需要的协作关系。

文档评价

文档内容是否对您有帮助? ×