结构化消息与任务交接:Handoff、交接包与上下文打包
前置知识
一句话定义
智能体间的通信本质是把「任务与上下文」打包成结构化消息从一个智能体移交(Handoff)给另一个;交接质量由交接包的完整性决定,而消息的结构化程度决定了下游能否被机器可靠地消费。
直观类比
医院转科:不是把病人「人」转过去,而是转一套病历——主诉、已做检查、用药记录、待办问题。病历越规范,接诊医生越不需要从头问诊。漏传关键项的转科,是医疗事故的经典成因,也是多智能体级联错误的经典成因。
为什么重要
多智能体的失败有一大类不在智能体能力而在交接:下游拿着不完整的上下文自信地继续跑,错误在链上累积(kp-021 的模型二)。把交接做成显式的工程对象——有 schema、有必填字段、有验收标准——是把「智能体之间说话像人」升级为「像系统」的关键一步。
前置知识
kp-005(角色卡的输出契约——交接包就是跨角色的契约);kp-006(主管-工人的分派即最常见交接场景)。
核心概念
- 消息(Message):智能体间传递的基本单元,三要素:角色(谁发的)、内容(载荷)、元数据(时间、消息 ID、关联任务);
- 交接包(Handoff Package):结构化的任务移交载体,见下方字段清单;
- 全量转发 vs 摘要转发:把完整历史给下游,还是只给压缩摘要(kp-015 的取舍);
- 结构化输出(Structured Output):约束模型输出为 JSON Schema 等机器可解析格式;
- 消息不可变(Immutability):消息发出后不修改,纠错靠补发新消息,保证轨迹可审计(kp-025 依赖此性质)。
原理与机制
交接包字段清单(按需裁剪,但前四项建议必填):任务描述(做什么)、验收标准(做完长什么样,可断言)、上下文摘要(下游需要的最小背景)、产物指针(上游产出的引用或内联数据)、约束(预算/时限/禁用手段)、状态(成功/部分成功/失败与原因)。全量 vs 摘要的决策规则:下游需要原始证据(如事实核查)→ 全量或带引用;下游只需结论(如排版阶段)→ 摘要;拿不准 → 摘要加证据指针(可下钻,kp-010 的手法)。结构化输出的失败处理:模型输出不合规 JSON 是常态,必须配解析重试(带错误信息回喂)与兜底(降级为保守输出),这是 kp-022 防护栏的第一层。主流框架各有封装:AutoGen 的消息对象、OpenAI Swarm/Agents SDK 的 handoffs 机制、LangGraph 把「交接」建模为状态更新与图路由——形态不同,契约思想一致。
图示
上游 Agent 下游 Agent
┌──────────┐ 交接包(结构化) ┌──────────┐
│ 完成子任务 │ ────────────────────▶│ 校验必填字段│
│ 产出+状态 │ 任务描述/验收标准 │ 执行子任务 │
└──────────┘ 上下文摘要/产物指针 └────┬─────┘
约束/状态 不合格: 结构化回执打回 ▲
▼
回执(结果+状态)实例或案例
检索智能体 → 分析智能体的交接包:任务描述「基于以下 12 张指标卡分析增速异常」;验收标准「每条结论必须引用至少 2 张卡的编号」;上下文摘要「行业背景两句话 + 已排除的两个假设」;产物指针「cards 001-012,全文见共享黑板对应键」(呼应 kp-013);约束「禁止使用卡片之外的数据」。分析智能体的输出因此可被断言核验——引用编号不存在即拒收重派。
常见误区
- 误区一:交接 = 把聊天记录整个转过去。 全量转发让每个下游都背上全部历史,既贵又稀释注意力(kp-002),还把上游的探索噪音传染给下游;
- 误区二:验收标准写成「做好一点」。 不可断言的标准无法机械验收,主管只能主观裁决,重派不收敛;
- 误区三:消息可变。 下游随手改上游消息「纠正一下」,轨迹失真,排错(kp-023)失去证据链。
与其他知识点的关系
交接包在流水线中即阶段间产物契约(kp-007);共享黑板是交接包「产物指针」指向的落点(kp-013);摘要转发的压缩手法属于 kp-015 上下文工程。
自测题
- 交接包的六个字段与建议必填的前四项?
要点:任务描述/验收标准/上下文摘要/产物指针(必填),约束、状态(按需);缺验收标准则无法机械验收。
- 全量转发与摘要转发的决策规则?
要点:下游需要原始证据→全量或带引用;只需结论→摘要;拿不准→摘要加可下钻的产物指针。
- 为什么消息必须不可变?
要点:保证轨迹可审计,排错时有完整证据链;纠错靠补发新消息。
延伸阅读
AutoGen 论文的消息传递模型与 OpenAI Swarm 的 handoff 设计是两种代表性封装;字段清单可直接用作工程模板。