跳到正文
MyDSH我的 DSH 实战笔记
English
独立维护,非DeepSeek官方;与mydsh.dev等其他MyDSH站点无关联。

首页/模式与上下文/上下文与压缩

压缩前后同一追问的差异:怎么测才有意义

怀疑长会话后半段的回答质量下降,但说不清是不是压缩造成的。

待实测版本与环境核验日期2026-11-14
来源
compaction事件模型;本站未完成成组实测
核验日期
2026-11-14
诚实说明:这条还没有实测数据。压缩什么时候触发、触发在哪里,取决于会话内容与阈值,不容易精确复现。下面给的是一个能产出可比结果的测法。

要测「压缩前后差异」,最大的难点是让两次追问面对同一个问题。做法是把问题设计成只依赖前文某个具体细节——如果那个细节在摘要里丢了,回答一定退化。

测法

  1. 在会话早期埋一个具体、可验证、不显眼的细节。例如:「本次会话的批次号是BX-7731,记住它」。
  2. 继续一段足够长的对话,直到触发压缩(或手动压缩)。
  3. 压缩后问:「本次会话的批次号是什么?」
  4. 记录:答对 / 答错 / 说不知道。三种结果含义完全不同——说不知道是诚实,答错是编造。
问法示例(必须让答案可机械核对):
本次会话开始时报的批次号是什么?只回答编号,不要解释。

三种结果的含义

结果说明怎么办
答对该细节进了摘要或被保留这条细节的保真性通过
说不知道 / 说没看到细节没进摘要,但模型诚实可接受。重要信息就重新给一次
答错,给出一个编号最坏情况:编造了一个格式正确的答案这条要写进记录。它说明这类细节不能在压缩后依赖
第三种情况比第二种严重得多。判断一条内容可不可信时,也要用同一个标准:宁可它说不知道,也不要它编一个像模像样的。

为什么不用「你觉得你还记得吗」这种问法

因为模型对自身状态的报告不可信。问「你还记得刚才的批次号吗」,它可能答「记得」然后编一个。要问答案唯一、可机械核对的事实题。

怎么算跑通

照着逐条对,全过才算完成。有一条没过,先解决它再往下。

  • 埋的细节是唯一且可机械核对的
  • 确实触发了压缩(日志里有compaction事件)
  • 对三种结果分别记录,没把「编造」和「不知道」混为一谈

会失败在哪

现象 / 原因 / 怎么办,按实际踩到的顺序写。

现象原因怎么办
一直没触发压缩会话不够长,或压缩能力未启用确认压缩可用;或手动触发一次压缩再问
两次追问措辞不同问题变了,回答不可比把问句固定下来,逐字复用

来源

标「已核验」的,来自本站实跑;标「公开资料整理」的,逐条附出处。