modusensus / modusensus/dsh-mneme
autoDream 宽容路径补强(0.7.22 实测三发现):coverage 误伤 / archive 类型越界 / 失败审计缺明细
- Dominant language
- JavaScript
- Stars
- 100
- Forks
- 11
- Avg merge
- 1h 20m
- Merged PRs (30d)
- 116
Description
## 背景
issue #89 修复(v0.7.22,skipInvalid 宽容路径 + `dreamMinIntervalMinutes`)后,社区在 0.7.22 实测中回报了三个后续发现(详见 #89 评论区),均与 autoDream 的宽容语义相关。本 issue 汇总三个方向,欢迎社区补充数据。
---
### 1. `dreamMinExplicitCoverage` 误伤「挑重点」型弱模型
- **现象**:qwen3.8-flash 等弱模型遵守提示词「无问题的条目无需输出」,只显式决策约 20% 的条目、其余留空。在 `dreamMinExplicitCoverage`(默认 **0.5**)下触发 coverage 全局信号 → 整单拒绝(`invalid decisions: 1 errors`,该条即 coverage 检查);将值降至 0 后同样输入转为 degraded 正常应用。
- **根因**:coverage 下限(v0.4.4 为防「输出截断 → 隐式 keep 洗白」设的护栏)无法区分「良性挑重点」与「真截断」两类失败形态。
- **拟改方向**:
- coverage 不足时**降级为 degraded**(应用合法子集 + 隐式 keep 其余),不再整单拒绝——与 skipInvalid 同一宽容哲学;护栏以 `degraded` 状态暴露,而非一票否决;
- 保留 update 条数上限等**明确异常信号**整单拒绝;
- 评估是否调整默认值(暂不单作)。
- **待定**:是否需要区分「良性挑重点」与「真截断」的启发式(本期不做,先观察 degraded 落地效果)。
### 2. archive 决策类型语义越界
- **现象**:一轮中 12 条互不相关主题的记忆被批量 archive,LLM 自述理由为**价值判断**(「多为一次性调试细节……对核心知识库长期参考价值较低,保持整洁和高信噪比」),而非提示词规定的「重复或过时」两类依据;12 条中 8 条疑似误伤,含 `rejected_solution` ×2、`constraint` ×3、`pitfall` ×1、活跃任务直接相关 ×2 等**长保留语义类型**(这些类型的存在意义即长期保留,误归档损失最大)。
- **拟改方向**:
- **类型护栏**:`rejected_solution` / `constraint` / `pitfall` / `preference` / `pattern` 等长保留类型,archive 决策需命中「重复 / 过时」类理由才放行,否则单条跳过记 `skipped`(run 记 degraded);
- **批量上限**:单轮 archive 条数封顶,防一次性大扫除;
- prompt 同步强化(弱模型遵循度有限,仅作辅助,不作为主要防线)。
### 3. 失败路径审计明细缺失
- **现象**:整单拒绝(coverage / update 上限)路径 `finish()` 只传 `error: "invalid decisions: N errors"`,`validateDecisions` 的 `errors` 数组**与已解析的 `decisions` 均未落库**(`saveDreamRun` 的 `decisions` 列为空),离线无法定位是哪类全局信号触发——这直接放大了发现 1 的定位成本。
- **拟改方向**:`errors` 数组 + 已解析 `decisions` 一并落库,配合方向 1 的降级语义便于离线分析。
---
## 关系
与 issue #89 同源(弱模型宽容路径的后续补强)。#89 保持开放待社区回测,本 issue 汇总 v0.8 硬化批次。
Contributor guide
Assessment
This issue has not been assessed yet.