多 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 跨度记录:
示意片段(非独立程序;完整执行文件见本页链接)。
