提交前我已确认
我想问什么?
建议增加 Root Session 级别的账号粘性调度,保证主 Agent 和子 Agent 使用同一账号
问题描述
在使用 Sol Ultra 或其他多 Agent 模式时,一个主任务可能会同时创建多个子 Agent,并产生多个并发请求。
目前这些请求可能被调度到不同账号,例如:
主 Agent → 账号 A
子 Agent 1 → 账号 A
子 Agent 2 → 账号 B
子 Agent 3 → 账号 B
这样会导致同一个任务的主对话和子 Agent 分散在多个账号上,可能影响:
- 会话一致性
- Prompt Cache 命中
previous_response_id 关联
- 账号上下文连续性
- 用量统计和限流管理
- 多 Agent 任务的稳定性
现有的 Session 粘性如果只按照单个 thread_id、session_key 或请求指纹绑定,可能无法识别这些子 Agent 实际属于同一个根任务。
建议方案
增加 Root Session 级别的强粘性调度。
第一次收到某个根任务的请求时:
Root Session ID:abc123
选择账号 A
保存映射:abc123 → 账号 A
之后该根任务产生的所有主 Agent 和子 Agent 请求:
主 Agent → 读取 abc123 → 账号 A
子 Agent 1 → 读取 abc123 → 账号 A
子 Agent 2 → 读取 abc123 → 账号 A
子 Agent 3 → 读取 abc123 → 账号 A
即使不同子 Agent 拥有不同的 thread_id 或 session_id,只要它们属于同一个 Root Session,就始终使用同一个账号。
并发满时的行为
假设账号 A 的单账号最大并发为 2:
账号 A 最大并发:2
当前运行请求:2
新的子 Agent 请求到达
建议新的请求进入账号 A 的等待队列:
不应自动回退到账号 B:
不期望的行为:
账号 A 并发已满
→ 自动改用账号 B
期望效果
第一次请求:
选择账号 A
保存 abc123 → 账号 A
所有子 Agent:
读取 abc123
只使用账号 A
账号 A 并发满:
在账号 A 队列中等待
不允许回退到账号 B
这样可以保证同一个多 Agent 任务的所有请求始终由同一个上游账号处理,同时避免因为并发满而将主 Agent 和子 Agent 分散到不同账号。
提交前我已确认
docs/里相关章节,没找到答案我想问什么?
建议增加 Root Session 级别的账号粘性调度,保证主 Agent 和子 Agent 使用同一账号
问题描述
在使用 Sol Ultra 或其他多 Agent 模式时,一个主任务可能会同时创建多个子 Agent,并产生多个并发请求。
目前这些请求可能被调度到不同账号,例如:
这样会导致同一个任务的主对话和子 Agent 分散在多个账号上,可能影响:
previous_response_id关联现有的 Session 粘性如果只按照单个
thread_id、session_key或请求指纹绑定,可能无法识别这些子 Agent 实际属于同一个根任务。建议方案
增加 Root Session 级别的强粘性调度。
第一次收到某个根任务的请求时:
之后该根任务产生的所有主 Agent 和子 Agent 请求:
即使不同子 Agent 拥有不同的
thread_id或session_id,只要它们属于同一个 Root Session,就始终使用同一个账号。并发满时的行为
假设账号 A 的单账号最大并发为 2:
建议新的请求进入账号 A 的等待队列:
不应自动回退到账号 B:
期望效果
这样可以保证同一个多 Agent 任务的所有请求始终由同一个上游账号处理,同时避免因为并发满而将主 Agent 和子 Agent 分散到不同账号。