压缩即失忆
摘要保留的是语气,丢的是事实。压缩之后模型仍然「记得自己在聊什么」,但说不出三天前定的那条约束。
为什么需要它
平台管上下文窗口,窗口满了就压缩、换会话就清零。被丢掉的不是闲聊, 是那些「已经定下来的事」——约束、决策、踩过的坑。于是同一个问题被反复讨论, 同一个错误被反复踩。
摘要保留的是语气,丢的是事实。压缩之后模型仍然「记得自己在聊什么」,但说不出三天前定的那条约束。
每个新窗口从零开始。上一轮会话里已经论证过、否决过的方案,下一轮会被重新提出来再议一遍。
说过什么、为什么这么定、改动是哪一轮引入的——散落在各平台的日志里,出问题时无从追溯。
它怎么做
缓存可以丢,账本不能。ALM 的底座是一条只追加、不可改写的本地事件流, 上层所有能力——召回、断言、归档、压缩恢复、检索——都是对这条流的不同读法。
每一次进入、每一次结论、每一次决策,落成一条只追加的事件。改写不是覆盖,而是新增一条并留 supersede 链——所以「当初为什么这么定」永远查得到。
从事件里提炼约束、决定、目标,形成当前有效的断言集。旧断言被新断言取代时保留链路,不再出现「两条互相打架的结论都算数」。
进入仓库的第一件事:把当前有效的约束与最近的决定注入上下文。亚毫秒级,不占对话轮次,不依赖模型配合。
不是每个 AI 都能跑钩子。跑不了钩子的入口,走归档桥:把结论文本标准化成事件,带身份、去重、幂等导入。
压缩前把增量清仓,压缩后立刻回注一枚锚块:当前任务、有效约束、最近决定。压缩丢的是临场感,保住的是事实链。
每个组件都留痕:运行记录、异常指纹聚类、脱敏诊断报告。对外静默不打扰宿主,对内留痕不瞎运维。
任何 AI 进入项目目录,第一件事不是写代码,是过门禁。红绿灯亮着,才允许提交。
不是估算,是实测
压测脚本与测试用例随项目一起落库,可复跑。以下取自已验收的实测记录。
两字符短查询走 LIKE 扫描,在 331 MB 库上约 578 ms。触发条件是「极短词 + 超大库」同时成立,日常召回与检索路径不受影响;后续切 trigram 索引即可消掉。
当前状态
M2 阶段逐项验收,每项都有可复跑的验收记录与测试用例。
设计原则:能被压缩、能被清理的,只有可再生的层;L0 底账永不删改。
文档
项目内的每一份文档都是活文档:设计变更时同步更新,而不是事后补写。
文档正文收录于项目知识库,按需申请访问。
窗口由平台决定,账本由你自己保管。