核心概念
Managed Agents 建立在 Session Thread 模型之上。一个 Session 内可以同时存在多个 Thread,每个 Thread 绑定一个独立的 Agent 快照,拥有独立的对话历史和执行上下文。配置 Managed Agent
要启用 managed agents 能力,需要在 Agent 配置中设置multiagent 字段:
multiagent 字段说明
agents 数组元素支持三种格式:
Coordinator 控制工具
当 Session 的 Agent 配置了multiagent 且当前线程角色为 coordinator 时,以下工具被自动注入:
create_agent
创建一个新的子 Agent 线程并发送初始任务。调用后立即返回线程 ID,不等待子 Agent 完成。
返回示例:
"Created agent thread: sthr_019f..."
Agent
委派一个聚焦任务给子 Agent 并同步等待其返回结果。这是一个阻塞式工具——coordinator 的 turn 会暂停直到子 Agent 完成(调用 send_to_parent)或被中断。
send_to_agent
向已存在的子线程发送后续消息。
返回示例:
"Message queued for agent thread: sthr_019f..."
list_agents
列出当前 Session 中所有子线程的状态、待处理消息数以及可用的 Agent 花名册。无需参数。
Child 控制工具
当线程角色为 child 时,系统自动注入一个工具:send_to_parent
向 coordinator 发送结果、状态更新或提问。调用后子线程会变为 idle 状态。
Session Thread 生命周期
1
创建 Session
客户端创建 Session 并引用配置了
multiagent 的 Agent。2
启动 Turn
客户端发送
user.message 事件,CAS 自动创建 coordinator 线程(role: coordinator)。3
Coordinator 委派任务
模型调用
create_agent 或 Agent 工具,CAS 创建 child 线程,将任务消息入队到 mailbox。4
Child 执行
CAS 调度器将 mailbox 消息分发给 child 线程,CAW 加载 child 的 Agent 快照独立执行。
5
Child 回报结果
Child 调用
send_to_parent,消息通过 mailbox 发回 coordinator。Child 线程变为 idle。6
Coordinator 继续
Coordinator 收到 child 的回报,综合结果继续处理或发起新的委派。
7
Session 空闲
当所有运行中的线程都已停止,Session 整体回到
idle 状态。线程事件
在 managed agents 场景下,事件流中会出现以下新事件类型:
所有事件都包含
session_thread_id 字段标识所属线程。可以通过 列出线程事件 和 线程事件流 接口按线程维度筛选事件。
限制
下一步
配置 multiagent
在创建 Agent 时设置
multiagent 字段。Agent 数据结构
multiagent 与 agent entry 字段参考。列出 Session Threads
查看 Session 中的所有线程。
Session Thread 对象
Session Thread 对象字段与生命周期。