Skip to main content

多 Agent Handoff

QitOS 支持多 Agent 协作,通过 Handoff 机制在 Agent 之间切换执行。Handoff 决定了目标 Agent 接收哪些上下文信息。

两种触发模式

Tool 模式(委托)

通过 DelegateTool 触发,适合临时性的子任务委托: 示意片段(非独立程序;完整执行文件见本页链接)。

Decision 模式(切换)

通过 Decision.handoff() 触发,适合 Agent 间的正式切换: 示意片段(非独立程序;完整执行文件见本页链接)。

上下文策略

Handoff 时,源 Agent 的对话历史如何传递给目标 Agent 由上下文策略控制:

FULL — 完整传递

传递完整的对话历史,适合目标 Agent 需要完整上下文的场景。 示意片段(非独立程序;完整执行文件见本页链接)。

SUMMARY — 压缩传递(默认)

压缩较旧的历史为摘要,保留最近 3 轮完整消息。适合大多数场景,防止上下文爆炸。 示意片段(非独立程序;完整执行文件见本页链接)。

ISOLATED — 隔离传递

只传递系统提示和任务描述,目标 Agent 从零开始。适合完全独立的子任务执行。 示意片段(非独立程序;完整执行文件见本页链接)。

SharedMemory 共享

多 Agent 可以通过 SharedMemoryManager 共享状态数据: 示意片段(非独立程序;完整执行文件见本页链接)。

HandoffContext 精细控制

HandoffContext 提供了比上下文策略更精细的控制: 示意片段(非独立程序;完整执行文件见本页链接)。

追踪

Handoff 事件自动记录在追踪中:
  • HANDOFF_START — 记录源 Agent、目标 Agent、上下文策略
  • HANDOFF_END — 记录目标 Agent 确认
启用 TracingProvider 后,Handoff 会创建 HandoffSpanData 跨度记录: 示意片段(非独立程序;完整执行文件见本页链接)。