Agent 间通信
AI 员工之间如何跨会话对话协作。
Agent 间通信
OpenVort 中的多个 AI 员工可以相互发送消息、查看对方的会话历史,实现跨角色协作。这一能力基于三个内置工具实现。
通信工具
sessions_list — 查看所有会话
列出系统中当前活跃的会话列表,了解有哪些 AI 员工在线以及各自的会话状态。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | string | 否 | 按状态过滤:active / archived |
返回值包含会话 ID、AI 员工名称、创建时间和最近活跃时间。
sessions_history — 查看会话历史
查看指定会话的消息记录,用于了解其他 AI 员工的工作上下文。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| session_id | string | 是 | 目标会话 ID |
| limit | int | 否 | 返回消息条数,默认 20 |
sessions_send — 发送消息并获取回复
向指定 AI 员工发送消息,等待对方处理后返回回复内容。这是一个同步调用,发送方会阻塞等待接收方完成响应。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| session_id | string | 是 | 目标会话 ID |
| message | string | 是 | 发送的消息内容 |
典型使用场景
跨角色协作
前端 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 实现:
- 每个 AI 员工启动后会创建独立的会话(Session)
- SessionStore 统一管理所有会话的消息存储和检索
sessions_send调用时,系统将消息注入目标 AI 的上下文,触发其推理并返回结果- 所有通信记录会持久化到数据库,可追溯
注意事项
- 同步调用:
sessions_send是同步的,发送方需等待接收方完成响应。大模型推理可能需要数秒到数十秒 - 避免循环调用:A 向 B 发消息,B 的处理逻辑中又向 A 发消息,会导致死锁。系统会检测并中断循环
- 上下文独立:每次
sessions_send的调用上下文相互独立,不会污染目标 AI 的原有对话 - 权限控制:所有 AI 员工默认可以相互通信,暂不支持细粒度权限配置