Yuki-QQbot 3.5.0
Yuki-QQbot 3.5.0 正式版发布说明
3.5.0 引入独立的 Memory Dream 层和 MMR 召回去重,让 Yuki 能在保留原始来源与回滚能力的前提下,整理已经形成的长期记忆。长 Episode 不再只能整段保留或粗暴拼接:Dream 可以按语义重新切分、压缩并形成可独立召回的经历。
Memory Dream
- 新增每日
05:00 Asia/Shanghai运行的 Memory Dream,位于 Self Reflection 之后,专门治理既有长期记忆。 - 支持
keep、merge、synthesize、recompose、contest和resolve,Fact、Preference、Episode 的结果仍是同级正式记忆。 - 长 Episode 使用
focus + source_refs + content进行语义重组;同一个来源可支持多个边界清楚的输出,每个输出只表达一个中心事件或长期主题。 - 新产物可继续参与未来 Dream,但内容、状态、Evidence 和版本签名未变化时会跳过,避免每天反复改写。
- 显式记忆保持不可变锚点,Dream 不会吞并、改写或推翻用户明确写入的记忆。
Evidence 与完整来源链
memory_evidence只保留直接支撑当前正文的有限证据,Confidence 不再因整段聊天消息数量虚高。- Self Reflection 为每条 Episode 选择 1~8 条直接证据;Dream 每个来源最多继承 2 条代表证据,每个输出最多 12 条。
- 完整聊天窗口、Dream 来源 Fact、关系、Operation 和 Receipt 继续通过 provenance 保留,可分页追溯而不进入普通 Prompt。
- 新增可恢复的后台 Evidence Compaction;真实库完成 65 个 Fact 的压缩,直接证据由 2862 条降至 520 条,0 失败。
Preview、审计与回滚
- Dream Preview 现在持久化不可变 proposal;正式执行直接应用有效 Preview,不重复调用模型,正文与预览逐字一致。
- 来源签名变化时 Preview 自动标记为 stale,禁止覆盖新数据。
- 支持整轮和单 Operation 回滚;来源已有人工修改或后续依赖时拒绝危险覆盖。
- 新增 Dream run、cluster、operation、source snapshot、result、checkpoint 和健康统计,不伪造
chat_event。
MMR 召回去重
- 普通相关记忆注入采用
FTS + Semantic → RRF → MMR → Top-K。 - 显式偏好和精确词法命中优先保留,其余结果使用已有本地向量做多样化。
- MMR 不跨主体或可见性范围比较,不增加模型或 Embedding API 调用;缺少向量时自动维持原 RRF 结果。
长 Episode 真实验证
- 第一轮真实 Dream:30/30 个候选簇完成,0 失败。
- 长 Episode 专项抽样:8/9 个簇完成,将 22 条来源 Episode 重组为 17 条正式 Episode。
- 成功簇正文由 7787 字压缩至 3205 字,整体保留率 41.2%;来源与每条输出均有精确关系映射。
- 唯一 Schema 失败簇没有写入 Operation、没有生成新 Fact,也没有改变来源,可安全重试。
升级与验证
- Yuki 版本为
3.5.0,Plugin API 保持1.1。 - Alembic head 升级到
0034;迁移只创建结构,历史 Evidence 由后台维护任务分批处理。 - 本地全量测试:1057 passed,1 项真实外部 Embedding 测试按配置跳过。
- GitHub Actions 的 Python、Memory Quality、Docker 和 Speech Worker 全部通过。
- 服务器真实库迁移与完整性检查通过,Bot 健康;NapCat、QQ 登录状态、Miniflux/MCP 和公网
8078未受影响。
升级前建议备份 data/。只重建 Bot 可保留 NapCat 登录状态:
docker compose up -d --no-deps --force-recreate bot