MOS/mos_v3/mos_core/retrieval_policy.md

2.3 KiB
Raw Blame History

retrieval_policy.md

本文件定义空白 MOS v3 的检索策略。检索不是为了直接相信结果,而是为了快速定位高价值结论、当前状态、原始证据入口和需要回源验证的资料。

1. 检索目标

检索应优先找到:

  • 高价值结论卡片;
  • 当前任务状态;
  • 最近 handoff 和失败/有效路径;
  • 原始证据入口;
  • 需要回源验证的文件、命令或外部资料。

2. 检索优先级

  1. memory_cards/*.mdstatus: confirmed 的结论。
  2. active_task.md 当前任务状态。
  3. task_log.md 最近 handoff。
  4. source_registry.md 中登记的资料入口。
  5. 规范文档和 README。
  6. 原始记录、日志、代码片段或外部资料。

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. 冲突处理

当检索结果冲突时:

  1. 先看 status
  2. 再看 updated 时间和证据来源。
  3. 打开 source_refs 回源验证。
  4. 不能确认时标记为 blockedinferred,不要说成 confirmed。
  5. 如果旧结论失效,应更新或新增 memory card说明 supersedes/superseded_by。

7. 禁止行为

  • 不得把检索摘要当成事实源。
  • 不得用过期 card 覆盖当前观测。
  • 不得把凭据文件加入索引。
  • 不得读取明确禁止读取的文件。
  • 不得把 proposedinferred 说成 confirmed