2.3 KiB
2.3 KiB
retrieval_policy.md
本文件定义空白 MOS v3 的检索策略。检索不是为了直接相信结果,而是为了快速定位高价值结论、当前状态、原始证据入口和需要回源验证的资料。
1. 检索目标
检索应优先找到:
- 高价值结论卡片;
- 当前任务状态;
- 最近 handoff 和失败/有效路径;
- 原始证据入口;
- 需要回源验证的文件、命令或外部资料。
2. 检索优先级
memory_cards/*.md中status: confirmed的结论。active_task.md当前任务状态。task_log.md最近 handoff。source_registry.md中登记的资料入口。- 规范文档和 README。
- 原始记录、日志、代码片段或外部资料。
3. 排序规则
优先级加权:
memory_card: 最高。- 标题命中: 高。
- tags 命中: 高。
confirmed: 高于inferred/proposed/blocked。- 最近更新时间: 中。
- 普通 chunk: 中低。
- 短小配置、重复模板、低信息密度文件: 低。
4. 查询建议
查询时尽量包含:
- 项目名或任务名;
- 版本号或环境名;
- 错误关键词;
- 文件名、函数名或接口名;
- 目标动作。
示例:
py -3 tools\build_index.py
py -3 tools\search_memory.py "task keywords error message target action" --top-k 8
py -3 tools\make_bootstrap.py "new session recovery task keywords" --top-k 8
5. 回源规则
以下情况必须回源:
- 要给用户关键结论;
- 要修改代码或文件;
- 要删除、覆盖或迁移已有结果;
- 涉及硬件、远端环境、价格、API、凭据、安全;
- 检索结果状态不是
confirmed; - 检索结果与当前观察、用户描述或其他证据冲突。
6. 冲突处理
当检索结果冲突时:
- 先看
status。 - 再看
updated时间和证据来源。 - 打开
source_refs回源验证。 - 不能确认时标记为
blocked或inferred,不要说成 confirmed。 - 如果旧结论失效,应更新或新增 memory card,说明 supersedes/superseded_by。
7. 禁止行为
- 不得把检索摘要当成事实源。
- 不得用过期 card 覆盖当前观测。
- 不得把凭据文件加入索引。
- 不得读取明确禁止读取的文件。
- 不得把
proposed或inferred说成confirmed。