跳转至

Agent-to-Agent 网络

核心判断

人与 Agent 的交互解决的是“个体如何使用 AI”。Agent 与 Agent 的交互解决的是“组织如何被 AI 重新编排”。

当企业内部存在多个部门、多个流程、多个角色和多个专业能力时,不能把所有能力塞进一个超级 agent。更可控的方式是建立 Agent-to-Agent 网络:

  • 每个 agent 承担明确职责。
  • agent 通过消息、事件、查询和任务委托协作。
  • harness 负责权限、路由、审计和状态管理。
  • agent 的组织结构反过来影响人的组织结构。

未来组织中的沟通比例会发生变化:人与人直接同步减少,人与 agent 交互、agent 与 agent 协作增加。

参考 Zenoh 的思想

Agent-to-Agent 网络可以参考 Zenoh 一类系统的思想:用统一的数据空间、主题/键表达、发布订阅、查询和分布式路由来连接节点。

这里不是说第一阶段必须引入 Zenoh,而是借鉴它的架构直觉:

  • 不把所有通信写成点对点接口。
  • 用主题或 key expression 表达任务、事件、资源和能力。
  • 支持发布订阅,也支持查询。
  • 支持局部自治和全局路由。
  • 让节点可以松耦合加入网络。

Agent 网络抽象

flowchart TD
    Bus["Agent Message & Data Bus"]
    UserAgent["员工助理 Agent"] --> Bus
    RD["研发 Agent"] --> Bus
    MKT["市场 Agent"] --> Bus
    HR["HR Agent"] --> Bus
    FIN["财务 Agent"] --> Bus
    OPS["行政后勤 Agent"] --> Bus
    Policy["Policy Agent"] --> Bus
    Eval["Eval Agent"] --> Bus
    Bus --> Tools["Tool Plane"]
    Bus --> Memory["组织知识与任务状态"]

通信类型

Event

用于通知状态变化。

示例:

text task.issue.created workflow.reimbursement.waiting_approval document.marketing.copy.generated ci.pipeline.failed

Command

用于请求某个 agent 执行动作。

示例:

text rd_agent.create_pr marketing_agent.generate_campaign_plan finance_agent.precheck_reimbursement ops_agent.create_procurement_ticket

Query

用于查询信息。

示例:

text policy.query employee.lookup campaign.performance.query repo.context.search

Artifact

用于传递结构化产物。

示例:

text draft_document test_report approval_summary customer_research_brief

Agent 组织结构

第一阶段建议采用三层 agent 结构:

```text 入口层 - 员工助理 Agent - 部门入口 Agent

专业层 - 研发 Agent - 市场 Agent - HR Agent - 财务 Agent - 行政后勤 Agent

治理层 - Policy Agent - Audit Agent - Eval Agent - Routing Agent ```

入口层负责理解人的意图,专业层负责完成业务任务,治理层负责约束、记录和评估。

Agent 组织如何影响人的组织

当 agent 网络成熟后,组织结构会从“人找人”逐步转向“人找任务入口,agent 找能力节点”。

这会带来几类变化:

  • 管理者从派活转向设计目标和规则。
  • 业务骨干从重复答疑转向沉淀工具和模板。
  • 一线员工从等待协调转向直接发起任务。
  • 职能部门从人工处理请求转向维护服务型 agent。
  • IT 和研发从建系统转向建设可复用能力网络。

关键风险

Agent-to-Agent 网络不能失控扩张。需要从第一天设计约束:

  • 每个 agent 的职责边界清晰。
  • 每条消息都有来源、权限和 trace。
  • 高风险命令需要 policy gate。
  • agent 不能绕过 tool plane 直接访问数据。
  • 失败、冲突和循环调用必须可检测。

第一阶段落地方式

先不要做复杂分布式网络。建议先实现一个逻辑上的 agent bus:

text agent_bus - publish(event) - request(command) - query(topic) - subscribe(pattern) - trace(message_id)

初期可以由单体后端或队列实现,等业务复杂度上来后再评估是否引入 Zenoh、NATS、Kafka、Redis Streams 或其他消息基础设施。