模型: openai/gpt-5.4
生成日期: 2026-04-01
书名: Claude Code VS OpenCode:架构、设计与未来
章节: 第10章 — Oh-My-OpenCode的创新
Token用量: 约 4,000 input + 1,050 output
10.5 智慧积累系统
OMO 一个非常深、也非常容易被低估的创新,是围绕 .sisyphus/notepads/ 建立起来的智慧积累系统。表面上看,这像是在任务过程中记笔记;但从架构上看,它是在回答一个更本质的问题:多智能体系统里,一个子任务学到的东西,如何变成后续子任务真正可复用的知识,而不是仅仅淹没在原始 transcript 里?
相关机制分散在 prompt、hook 和 Atlas 提示中。系统会要求 agent 把执行中的发现追加到若干结构化 notepad 文件中,例如:
learnings.mddecisions.mdissues.mdverification.mdproblems.md
不同模块强调的清单略有差异,但思想是一致的:执行不只产生代码变更,也产生可积累的判断与经验。
这里最关键的概念区分是:transcript 不是 knowledge。对话记录只是原始时间序列记忆,里面有重复讨论、无效分支、表达噪音和历史包袱。notepad 则是蒸馏后的操作性知识:项目约定是什么、做了什么架构决定、踩到了哪些坑、验证了哪些事实、还有哪些问题没有解决。用更标准的 CS 语言说,这是一层派生记忆(derived memory)。它把高熵的对话上下文压缩为低熵、可复用的结构化资产。
Atlas 是这套系统最关键的消费者和分发者。它的 prompt 明确要求在 delegation 之前先读 notepad;verification reminders 也会要求它在回收子 agent 结果后去看 notepad 文件。整个逻辑非常优雅:每个已完成子任务都应该留下“知识残留物”,而后续子任务开始前都应该先消费这些残留物。
这样做至少有几个明显收益。
第一,减少重复踩坑。如果某个 agent 已经发现了本地命名约定、隐藏依赖、工具链特殊规则、常见失败点,后续 agent 不需要再付一次探索成本。第二,提高一致性。已经写入 decisions.md 的架构选择,可以约束后面多个任务的行为。第三,帮助验证。如果某个 worker 已经跑过哪些检查、发现了哪些风险,Atlas 可以更清楚地判断哪些问题已经闭环,哪些仍是未知数。
第四,也是更根本的一点,它把系统从“一个个孤立回合”变成“一个持续累积的工作流”。系统不再只是按顺序回答一串 prompt,而是在构建一个任务级、项目级的局部知识库。
这与 Claude Code 的上下文隔离倾向形成鲜明对比。Claude Code 在会话恢复和 transcript 持久化方面很强,但它整体上更偏向 transcript/replay 型连续性,而不是通过显式 notepad 把知识抽取出来,再系统性地传给后续子 agent。OMO 的立场更激进:每次任务之后,都要把经验提炼出来,并传递给所有后续 subagent。
这背后其实是两种不同哲学。一种认为:每个 subagent 尽量靠本地上下文独立工作,减少耦合。另一种认为:真正有价值的发现必须传播。OMO 选择了后者。
当然,传播知识也意味着传播错误。如果某个错误判断被写进了 decisions.md,后面的 agent 可能会在高置信度下继承它。所以 notepad 质量非常重要,Atlas 和验证步骤最好充当过滤器,而不是盲目信任所有笔记内容。也正因此,智慧积累系统最好与强验证机制一起工作,而不是单独存在。
即便如此,这个设计仍然非常有力量。多智能体系统的一个经典问题可以叫做委派导致的上下文失忆:每个 subagent 都从零开始,很聪明,但对当前项目的特殊性并不了解。OMO 的 notepad 正是在对抗这种失忆。它创建的是局部、任务相关、项目相关、可持续的工作记忆,而不依赖某个单次上下文窗口完整保留一切细节。
更有意思的是,这种方案并不依赖复杂的向量数据库、embedding 检索或大型记忆基础设施。很多时候,简单的纯文本结构文件反而更好:可读、可查、可审计、可手工修正、对开发者透明。它们既是机器可消费的上下文资产,也是人类可检查的知识载体。这提升了信任和可调试性。
所以,OMO 的智慧积累系统真正创新的,不是目录名,不是文件名,而是一个很重要的判断:自主执行留下的成果,不应只有改动后的代码,还应包括执行过程中形成的经验和判断。 编码工作从来不只是改文件,它也包括理解、决策、踩坑和验证。OMO 把这些内容也纳入了“产物”的范围。
对未来 coding agent 而言,这可能是一条非常值得借鉴的路线。多智能体真正变得有用,并不只靠分工本身,还靠每次分工之后能否把智慧留存下来,继续喂给下一轮分工。