Files
zk-data-agent/skills/label-fast-slow-routing/references/structure-multi-turn.md
T

4.2 KiB

多轮上下文结构

本文件统一判断当前轮如何依赖前文。多轮本身不是快慢依据;先重建用户当前真正要完成的任务,再由主垂域裁决。

第一步:判断是否真的依赖前文

移除对话历史后,当前 query 的对象、动作、约束和满足方式仍然明确,则:

  • CONTEXT_INDEPENDENT:前文与当前结论无关,按当前 query 的普通垂域规则判断。
  • context_dependent=false
  • context_used=false
  • context_relation="independent"

只有省略、指代、确认、修正或补充会改变当前任务解释时,才设置 context_dependent=truecontext_used=true

时间相邻、同一 session、相同关键词或上一轮走过某个系统,只能作为同一任务的辅助证据,不能单独证明上下文依赖。

第二步:重建当前任务

只继承完成当前判断所需的最少信息:

  1. 找到仍在延续的最近一个有效用户任务。
  2. 解析当前轮是在直接执行、补槽、改约束、继续规划,还是回答澄清。
  3. 合并成语义完整的当前任务,但不得继承已经被用户取消、否定或改写的条件。
  4. 前文存在多个可继承候选时,不猜测用户指向。

继承边界

  • 当前轮明确说出新对象、新任务或“不是 A,是 B”时,以当前轮为准;被替换的旧信息不得继续保留。
  • 当前轮已经能独立构成完整任务时,不因词面相似强行继承前文。
  • 助手上一轮的追问可以帮助理解用户简短回答,但助手自行猜测、推荐或生成的内容不能当作用户已确认事实。
  • 工具失败、能力不足、拒绝或上一轮实际路由不改变任务的语义快慢;只在能力承接字段中记录。
  • 多段历史都可能被指代且无法唯一选择时,按未消歧处理。

上下文关系

可快的关系

  • CONTEXT_FAST_RESOLVED_DIRECT:前文只提供唯一对象、位置、资源或简单槽位,当前轮是直接控制、确定性查询或明确资源切换。设置 context_relation="resolved_direct"
  • CONTEXT_FAST_OPERATION_CONTINUATION:用户处于已经明确的操作流中,当前轮执行返回、确认、取消、暂停、继续、切换等直接动作。设置 context_relation="operation_continuation"

这两类只是“具备判快条件”。若重建后的完整任务命中垂域慢规则,仍按垂域规则给慢。

应慢的关系

  • CONTEXT_SLOW_CONSTRAINT_EXTENSION:当前轮新增或修改筛选、排序、比较、排除、路线、场景等约束,需要重新检索或规划。设置 context_relation="constraint_extension"
  • CONTEXT_SLOW_PLANNING_CONTINUATION:当前轮继续上一轮的分析、推荐、生成、故障排查或多步规划。设置 context_relation="planning_continuation"
  • CONTEXT_SLOW_TRUE_DISAMBIGUATION:结合现有历史后仍有多个真实候选,或关键槽位仍缺失,需要追问或推断。设置 context_relation="unresolved_reference"

回答澄清

  • CONTEXT_CLARIFICATION_COMPLETION:当前轮只回答系统上一轮的澄清、确认或补槽问题。设置 context_relation="clarification_completion"

这类不按“是、不是、确认、取消”等表面词直接定标,而是重建完整任务:

  • 澄清完成后是明确直接操作或确定性查询,按对应快规则判断。
  • 澄清完成后仍是推荐、规划、故障分析或场景映射,按对应慢规则判断。
  • 无法确认系统究竟在澄清哪个任务时,进入复核。

历史缺失与复核

  • CONTEXT_REVIEW_HISTORY_MISSING:当前轮明显依赖前文,但输入没有提供足够历史,且不同解释会改变垂域或标签。

此时不得凭空补全:

context_relation="unresolved_reference"
confidence="low"
review_required=true

裁决顺序

  1. 使用本文件识别 context_relation 并重建当前任务。
  2. 使用重建后的任务读取主垂域卡。
  3. 主垂域有明确多轮或业务规则时,以垂域规则为最终结论。
  4. 主垂域没有覆盖时,才使用本文件中的 CONTEXT_FAST_*CONTEXT_SLOW_* 作为结构层结论。

禁止根据上一轮实际走快系统还是慢系统直接继承标签。