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

80 lines
4.2 KiB
Markdown

# 多轮上下文结构
本文件统一判断当前轮如何依赖前文。多轮本身不是快慢依据;先重建用户当前真正要完成的任务,再由主垂域裁决。
## 第一步:判断是否真的依赖前文
移除对话历史后,当前 query 的对象、动作、约束和满足方式仍然明确,则:
- `CONTEXT_INDEPENDENT`:前文与当前结论无关,按当前 query 的普通垂域规则判断。
- `context_dependent=false`
- `context_used=false`
- `context_relation="independent"`
只有省略、指代、确认、修正或补充会改变当前任务解释时,才设置 `context_dependent=true``context_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`:当前轮明显依赖前文,但输入没有提供足够历史,且不同解释会改变垂域或标签。
此时不得凭空补全:
```text
context_relation="unresolved_reference"
confidence="low"
review_required=true
```
## 裁决顺序
1. 使用本文件识别 `context_relation` 并重建当前任务。
2. 使用重建后的任务读取主垂域卡。
3. 主垂域有明确多轮或业务规则时,以垂域规则为最终结论。
4. 主垂域没有覆盖时,才使用本文件中的 `CONTEXT_FAST_*``CONTEXT_SLOW_*` 作为结构层结论。
禁止根据上一轮实际走快系统还是慢系统直接继承标签。