Documentation Index
Fetch the complete documentation index at: https://qitor.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
多智能体模式:DelegateTool vs FanOutTool vs Handoff
QitOS 提供三种多智能体协调机制。本指南帮助你根据使用场景选择合适的模式。决策树
DelegateTool
拓扑:树形(父 → 子 → 孙) 结果流:子智能体结果作为工具输出返回给父智能体 执行:同步,嵌套Engine.run()
- 协调器需要从专家获取返回结果
- 顺序依赖:步骤 2 依赖步骤 1 的输出
- 嵌套式 研究 → 实现 → 验证
FanOutTool
拓扑:扇出(1 → N 并行,然后扇入) 结果流:所有 N 个结果聚合为摘要 执行:通过 ThreadPoolExecutor 并行fanout(tasks=[{"agent":"explorer","task":"探索 /auth"}, {"agent":"explorer","task":"探索 /api"}])
适用场景:
- 并行探索不同目录的代码
- 并行测试不同端点
- 子任务相互独立的任何场景
max_workers:线程池大小(默认 4)per_task_timeout:单任务超时秒数(默认 120s)- 聚合结果包含成功/部分成功/失败统计
Decision.handoff()
拓扑:链式(A → B → C) 结果流:无返回 — 控制权永久转移 执行:同一 Engine 循环,智能体切换- 工作流式流水线(分流 → 编码 → 审查)
- 线性处理阶段
- 下游智能体不需要向上汇报
ContextStrategy
控制子智能体接收的上下文:| 策略 | 父级上下文 | 使用场景 |
|---|---|---|
ISOLATED | 无 | 子智能体独立工作 |
SUMMARY | 最近 4 条草稿条目 | 子智能体需要简要上下文 |
FULL | 最近 16 条草稿条目 | 子智能体需要完整上下文 |
深度保护
DelegateTool 和 FanOutTool 均强制MAX_DELEGATE_DEPTH=3,防止无限递归委派。Handoff 有 max_handoffs(默认 10,可通过 ContextConfig.max_handoffs 配置)和循环检测。
