Agent 间通信

AI 员工之间如何跨会话对话协作。

Agent 间通信

OpenVort 中的多个 AI 员工可以相互发送消息、查看对方的会话历史,实现跨角色协作。这一能力基于三个内置工具实现。

通信工具

sessions_list — 查看所有会话

列出系统中当前活跃的会话列表,了解有哪些 AI 员工在线以及各自的会话状态。

参数类型必填说明
statusstring按状态过滤:active / archived

返回值包含会话 ID、AI 员工名称、创建时间和最近活跃时间。

sessions_history — 查看会话历史

查看指定会话的消息记录,用于了解其他 AI 员工的工作上下文。

参数类型必填说明
session_idstring目标会话 ID
limitint返回消息条数,默认 20

sessions_send — 发送消息并获取回复

向指定 AI 员工发送消息,等待对方处理后返回回复内容。这是一个同步调用,发送方会阻塞等待接收方完成响应。

参数类型必填说明
session_idstring目标会话 ID
messagestring发送的消息内容

典型使用场景

跨角色协作

前端 AI 员工在实现页面时,需要确认后端 API 的字段格式:

前端 AI 通过 sessions_send 向后端 AI 询问:"用户列表 API 的响应格式是什么?分页字段叫什么?" 后端 AI 查看代码后回复具体的 JSON 结构。

项目经理汇总

项目经理 AI 需要汇总团队本周工作进展:

PM AI 通过 sessions_list 找到各成员会话,再用 sessions_history 查看各自的工作记录,最后生成周报。

代码审查协调

测试 AI 发现 Bug 后,通知开发 AI 修复:

测试 AI 通过 sessions_send 将 Bug 详情和复现步骤发送给开发 AI,开发 AI 收到后自动排查并修复。

工作原理

Agent 间通信基于 SessionStore 实现:

  1. 每个 AI 员工启动后会创建独立的会话(Session)
  2. SessionStore 统一管理所有会话的消息存储和检索
  3. sessions_send 调用时,系统将消息注入目标 AI 的上下文,触发其推理并返回结果
  4. 所有通信记录会持久化到数据库,可追溯

注意事项

  • 同步调用sessions_send 是同步的,发送方需等待接收方完成响应。大模型推理可能需要数秒到数十秒
  • 避免循环调用:A 向 B 发消息,B 的处理逻辑中又向 A 发消息,会导致死锁。系统会检测并中断循环
  • 上下文独立:每次 sessions_send 的调用上下文相互独立,不会污染目标 AI 的原有对话
  • 权限控制:所有 AI 员工默认可以相互通信,暂不支持细粒度权限配置