为什么骰子总是"自作主张"回答问题?
R1-R6 的骰子被允许读 DAILY-DIGEST、知识库、Skill 等文件。读完这些文件后,AI 获得了足够的知识来回答用户的问题。一旦有能力回答,"帮助本能"就会压过"必须派发"的规则,直接回答了。
R8 的核心思路:不是限制骰子的判断力,而是限制骰子的信息来源。骰子保留路由判断能力(闲聊直答/需要工具的问题派发),但禁止读知识文件。没有知识来源,骰子面对"查天气""分析架构"这类问题就只能老实派发,因为它确实回答不了。
解决方案是信息隔离,不是去掉判断力:
| ✅ 能读(指挥官需要) | ⛔ 不能读(读了会自己答) |
|---|---|
| debug-config.json | 知识库/ |
| 记忆/SESSION-STATE.md | 记忆/DAILY-DIGEST.md |
| tasks/task-index.json | Skill 文件 |
| bus/inbox/ 子Soul回信 | BACKLOG.md |
| 方案 | 轮次 | 原理 | 结果 | 失败原因 |
|---|---|---|---|---|
| SOUL.md 路由规则 | R1 | 详细描述路由逻辑 | 53% | 规则太多,概率性忽略 |
| exec-approvals 白名单 | R2 | OS 层限制 shell 命令 | 74% | 管不了平台工具 |
| 关键词检测 | R3 | route-message.py | 77% | 短问句绕过 |
| LLM 意图分类器 | R4 | 独立 LLM 调用 | 70% | 骰子跳过不执行 |
| 传令官 + 闲聊例外 | R5 | 只保留 1 条判断规则 | ~50% | Skill 拦截 + 还是自己答 |
| 去掉所有限制 | R6 | "以不变应万变" | 0% | 没有限制更放飞 |
| 移动执行顺序 | R7 | new-task.py 提前 | 0% | Skill 拦截(平台层) |
| 信息隔离 + 文件分类 | R8 | 禁读知识文件 | 100% | 成功 |