4.2 KiB
4.2 KiB
多轮上下文结构
本文件统一判断当前轮如何依赖前文。多轮本身不是快慢依据;先重建用户当前真正要完成的任务,再由主垂域裁决。
第一步:判断是否真的依赖前文
移除对话历史后,当前 query 的对象、动作、约束和满足方式仍然明确,则:
CONTEXT_INDEPENDENT:前文与当前结论无关,按当前 query 的普通垂域规则判断。context_dependent=falsecontext_used=falsecontext_relation="independent"
只有省略、指代、确认、修正或补充会改变当前任务解释时,才设置 context_dependent=true 和 context_used=true。
时间相邻、同一 session、相同关键词或上一轮走过某个系统,只能作为同一任务的辅助证据,不能单独证明上下文依赖。
第二步:重建当前任务
只继承完成当前判断所需的最少信息:
- 找到仍在延续的最近一个有效用户任务。
- 解析当前轮是在直接执行、补槽、改约束、继续规划,还是回答澄清。
- 合并成语义完整的当前任务,但不得继承已经被用户取消、否定或改写的条件。
- 前文存在多个可继承候选时,不猜测用户指向。
继承边界
- 当前轮明确说出新对象、新任务或“不是 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
裁决顺序
- 使用本文件识别
context_relation并重建当前任务。 - 使用重建后的任务读取主垂域卡。
- 主垂域有明确多轮或业务规则时,以垂域规则为最终结论。
- 主垂域没有覆盖时,才使用本文件中的
CONTEXT_FAST_*或CONTEXT_SLOW_*作为结构层结论。
禁止根据上一轮实际走快系统还是慢系统直接继承标签。