Memory Routing Rules

信息路由规则 — 什么信息应该写到哪里。 这是整个 OPC 系统防污染的核心文件。

原则

  1. 分层就是防污染 — 信息放错地方就会污染其他层
  2. 每类信息只有一个家 — 不确定就先放 inbox,再决定
  3. Profile 是员工,Wiki 是公司系统 — 不要混淆

路由总表

信息类型目标位置案例
角色身份定义profile/SOUL.md”你是 Researcher,职责是…”
角色通用经验profile/memories/MEMORY.md”环境怪癖:terminal 工作目录问题”
用户长期偏好profile/memories/USER.md”ZoOL 喜欢中文交流”
统一的用户画像wiki/system/user-profile.md所有 Profile 共享的画像源头。Profile 的 USER.md 可作为补充但不应冲突
项目背景projects/*/context.md”这是 Twitter 增长项目,目标…”
项目任务状态projects/*/tasks.mdDoing / Todo / Done
项目推进日志projects/*/log.md”今天完成了热点研究”
项目决策projects/*/decisions.md”内容定位已确定”
项目中间材料projects/*/inbox/草稿、粗糙想法、未确认结论
项目正式产出projects/*/outputs/最终文章、PR、交付物
跨项目方法论wiki/pages/research-methods.md, writing-methods.md
原始资料wiki/raw/论文、文章快照、数据(只读不改
过期/废弃内容wiki/archive/先归档,再决定是否彻底删除
实体资料wiki/entities/bevy.md, deerflow.md
概念知识wiki/concepts/bevy-ecs-game-type-fit.md
对比分析wiki/comparisons/agent-frameworks-cn-im.md
查询结果wiki/queries/值得保存的查询结果
全局管理wiki/system/dashboard, skill-registry, memory-routing
配置/模型设置config.yaml模型、provider、工具集
临时中转Hermes 当前会话一次性对话内容
重要事实/偏好supermemory”用户有6岁女儿” “家在闵行吴泾”

详细规则

规则 A:Hermes memory(profile/memories/

每个 Profile 有自己的 memory,只存该角色视角下的信息

MEMORY.md 存:

  • 该角色遇到的环境怪癖、工具问题、已知的 workaround
  • 该角色积累的工作经验
  • 跨会话但非项目专属的上下文

USER.md 存:

  • 该角色视角下对用户的了解
  • 用户偏好该角色特别需要注意的部分

❌ 不要往 MEMORY.md 写项目状态、任务列表、临时 TODO ❌ 不要往 USER.md 写项目背景

规则 B:Supermemory

supermemory 是跨 Profile 的语义记忆层。存:

  • 用户个人事实(年龄、职业、家庭成员、住址)
  • 稳定的环境事实(OS、工具、API key 用途)
  • 用户偏好(语言、风格、习惯)
  • 跨项目可复用的经验总结

❌ 不要存临时状态、会话过程、任务进度 ❌ 不要存 Wiki 已经有了的结构化知识(Wiki 才是权威源)

规则 C:Wiki(wiki/

Wiki 是结构化知识库,分以下类别:

wiki 目录写入者读权限说明
raw/Researcher 为主所有 Profile只读不改;原始资料入口
entities/所有 Profile所有 Profile实体知识
concepts/所有 Profile所有 Profile概念知识
comparisons/Researcher 为主所有 Profile对比分析
queries/Researcher 为主所有 Profile值得保存的查询
pages/确认后写入所有 Profile跨项目方法论(待建
system/Coordinator所有 Profile全局管理文件
_meta/自动所有 Profilewiki 元信息

规则 D:Projects(workspace/*/

项目目录是代码和构建产出的空间,不是知识库。

项目文件用途:

  • AGENTS.md / .cursorrules — 项目级 Agent 规则
  • context.md — 项目背景和约束
  • README.md — 项目概览和入门指南
  • src/ tests/ — 代码和测试

❌ 不要往项目文件写永久知识 — 那应该去 wiki ❌ 不要往项目文件写角色经验 — 那应该去 memory

规则 E:Hermes 当前会话

会话是工作台,不是存储。临时材料、中间推理、未定稿的对话内容天然属于会话。

需要保存的材料,按路由表转存到正确位置。会话结束后,只有 route 成功的信息才算被记住。


常见错误(及纠正)

错误做法问题正确做法
把项目状态写进 MEMORY.md记忆污染,其他项目会读到无关状态写到 projects/*/tasks.md
把角色经验写进项目文件知识分散,换项目就丢经验写到 profile/memories/MEMORY.md
把临时想法写进 wiki/pages/长期知识变脏写到 projects/*/inbox/
把所有东西写进 supermemory语义搜索失效按路由规则分到不同层
把对话记录保存到 memory浪费空间对话记录通过 session_search 检索

执行检查清单

每次保存信息前问自己:

  1. 这是永久知识还是临时状态
  2. 它是角色经验项目信息、还是用户偏好
  3. 它属于哪个 Profile的视角,还是跨 Profile 共享?
  4. 它应该进 memorysupermemorywiki、还是项目文件

回答完这四个问题,路由就清楚了。


更新历史

  • 2026-05-02: 初始创建,基于文章”下篇”的 routing table 适配 ZoOL 实际架构