每次在 Cursor 或者 Claude 里新开一个对话
最近在看 OzBrain 的架构设计,发现他们确实在解决这个“多 Agent 记忆孤岛”的问题。简单来说,他们通过 Model Context Protocol (MCP) 做了一层共享内存,让不同的 Agent(不管是 ChatGPT 还是 Claude)能读写同一个知识库。
每个知识点都会带上时间戳和新鲜度标签(fresh/aging/stale)。这很重要,因为 AI 最怕的就是拿着过时的信息瞎指挥。
这种设计虽然没做到全自动,但它避免了错误信息在团队记忆里无声无息地扩散,比直接覆盖要靠谱得多。
下一篇
刚在 AWS 上开了一台新的 Ubuntu 实例 →
我整理了一下他们的核心逻辑,感觉这对我们这种要在多个 AI 工具间来回切换的打工人挺有参考价值:
它是怎么分层管理记忆的
OzBrain 把知识分成了两种“大脑(Brains)”,这逻辑很像我们公司的权限管理:
- 个人大脑 (Personal Brains): 存你的写作风格、私人的项目进度。这些东西不会流出去,保证了隐私。
- 团队大脑 (Shared Brains): 存客户联系方式、项目决策、团队共识。这样新进组的 Agent 只要接入了,就能直接“继承”这些上下文。
每个知识点都会带上时间戳和新鲜度标签(fresh/aging/stale)。这很重要,因为 AI 最怕的就是拿着过时的信息瞎指挥。
怎么避免 Prompt 爆炸?
如果把所有记忆都塞进 Prompt,Token 费能贵死,模型也会变笨。OzBrain 没用那种重型的语义搜索,而是搞了一套“路由索引(Routing Index)”。
它的工作流大概是这样的:
1. 每个知识单元都会打上 Topic 标签,比如 clients/meridian 或者 projects/q3-launch。
2. 当 Agent 需要信息时,先发一个 Topic 查询。
3. 索引只返回相关的 Unit ID,Agent 再去精准抓取。
这种做法虽然对命名规范要求比较高(比如大家都得遵守 projects/ 开头的命名习惯),但它极大地节省了 Token,响应速度非常快。
两个 Agent 写冲突了怎么办?
这是最硬核的部分。如果 Agent A 说项目“延期了”,Agent B 紧接着又写了“按计划进行”,系统不会像人类一样去理解语义并自动合并(那太难了),而是采用了一种“冲突标记”机制:
- 策略: 最后写入者胜 (Last-write-wins) + 冲突标记 (Conflict Flag)。
- 结果: 系统会保留 Agent B 的版本,但会给这个知识点打个“冲突”标签。
- 反馈: 下一个读到这个信息的 Agent 会看到这个标记,并提醒用户:“嘿,这里的信息好像有矛盾,你得看看。”
这种设计虽然没做到全自动,但它避免了错误信息在团队记忆里无声无息地扩散,比直接覆盖要靠谱得多。
对于我们这种需要构建 AI 工作流的人来说,这种“通过 MCP 实现共享上下文”的思路,确实比单纯的对话记录管理要高级很多。
免费 AI 工具箱 · 全部完全免费