会话该多长,是个产品问题
多轮对话里,什么时候开新会话 ✗ 会直接影响体验与成本 ✔:
会话太长 → 上下文膨胀、旧信息干扰、成本上升 ✔;
会话太短 → 用户要反复交代背景 ✔。
默认策略要"既省心又不失控" ✔。
一、四种边界信号
- 话题切换(用户从"改简历"跳到"算房贷" ✔)→ 建议开新会话 ✔;
- 时间间隔(超过 N 小时/天 ✔)→ 上下文多半已失效 ✔;
- 上下文预算逼近上限(见长会话成本那篇 ✔)→ 主动提议"另开一段继续" ✔;
- 任务完成("好了,谢谢" ✔)→ 自然结束点,可提示"下次提问会开新会话" ✔。
二、默认行为(建议)
① 同一天同一话题 → 延续同一会话 ✔
② 检测到话题切换 → 提示"是否新开会话"(默认新开 ✔)
③ 超过 24 小时 → 新开会话,但保留上一会话的可查看入口 ✔
④ 预算逼近上限 → 提示并给出"继续/新开"选项 ✔
要点:用户可以覆盖默认 ✔("继续上次"按钮 ✔)——
自动切太硬会让人恼火 ✗(把没说完的话切断 ✔)。
三、新开会话时该带走什么
只带"硬约束" ✔(见多轮上下文那篇 ✔):用户偏好、已确认的事实、未完成待办 ✔;
不带整段历史 ✗(那等于没开新的 ✔)。
做法:新会话开头给一句"上次你在处理 X,已知 Y,要继续吗" ✔ —— 用户点一下就能接上 ✔。
四、该观测什么
- 平均会话轮数与会话成本分布(长尾会话往往贡献大部分成本 ✔);
- "上下文丢失"投诉(用户抱怨"刚说过的又忘了" ✔ —— 说明切得太早或摘要丢了关键信息 ✔);
- 重复交代率(新会话里用户重复说同一背景的比例 ✔);
- 主动新开比例(用户自己开新的比例 ✔ —— 高说明默认切分点不合适 ✔)。
五、两个反模式
- 永不切分 ✗(成本与干扰随时间累积 ✔);
- 每轮都像新会话 ✗(用户要不停重复背景 ✔)。
一条判据
让用户回忆上一次"需要重新交代背景"的场景 ✔,是系统切早了 ✔ 还是用户自己开新的 ✔?
前者多,说明切分策略太激进 ✗。