模型: openai/gpt-5.4
生成日期: 2026-04-01
书名: Claude Code VS OpenCode:架构、设计与未来
章节: 第15章 — 智能体编排对比
Token用量: 约 4,950 input + 1,260 output
15.5 智慧传递 vs 上下文隔离
智能体系统一个非常深层、但常常被表层功能掩盖的分歧,是:前一个任务里学到的东西,应该在多大程度上带到后一个任务里?
OMO 更偏向 wisdom accumulation(智慧积累),Claude Code 更偏向 context isolation(上下文隔离)。OpenCode 则基本保持中立,提供底层能力,让开发者自己决定记忆策略。
所谓“智慧积累”,不是简单地把所有历史对话一股脑塞进新上下文,而是把之前运行中形成的有用知识沉淀下来,例如:仓库里哪些文件最权威、哪些命令最容易踩坑、哪些路径危险、哪些规则经常被违反、某类任务通常应该怎么切。OMO 在这方面走得很远,它有显式的 wisdom 机制、有 continuation、有跨会话保留的运行经验。它背后的直觉非常直接:如果系统已经在这个仓库里工作过很多次,为什么每次都要重新交一遍“学费”?
这种设计的好处,是能形成复利效应。前期多花的 token,不只是换来当次任务结果,也可能变成未来任务的成本节省。系统越来越了解项目脾气,越来越早知道哪些规则容易出错,越来越快跳过重复摸索。对于长期协作型 agent,这是一条非常有吸引力的路线。
Claude Code 则更强调上下文的干净边界。它对“每个任务最好从相对干净的知识起点出发”这件事更谨慎、更重视。为什么?因为保留下来的上下文,不只是资产,也可能是污染源。仓库变了、分支变了、约束变了、先前的猜测被证伪了,但旧上下文如果还带着“看起来合理”的样子存在,就会制造一种危险的假确定性。
这里有个词值得解释:epistemic。这个词在哲学和知识论中常见,在传统 CS 教材里不算核心术语。它大致可以理解为“与知识本身及知识可靠性有关”。上下文隔离本质上是在维护一种 epistemic cleanliness,也就是“知识起点的干净度”。它不希望当前任务被过去未清洗的残留知识牵着走。
上下文隔离有几个明显优点。
第一,减少提示词藤壶。这里“藤壶”是借用海洋附着物的比喻,指那些一点点附着在系统上的历史残留:早就过时的小规则、半对半错的中间判断、旧分支上的局部结论。它们单独看不大,但累积起来会扭曲行为。
第二,更容易调试。如果一个任务出了问题,而它几乎没有继承隐性上下文,那么问题来源更容易定位。
第三,更少上下文污染。以前有用的信息,仓库一变可能就变成误导。隔离可以降低这种风险。
第四,更适合商业和企业环境。因为任务之间边界清晰、继承路径少,系统行为往往更容易解释和审计。
但隔离也有代价。它会不断重复“重新认识世界”:重新扫一遍目录,重新读一遍规则,重新定位关键文件,重新确认历史坑点。这当然更安全,但也更贵。换句话说,Claude Code 接受更多“重复学习成本”,以换取更少“陈旧知识污染风险”。
OMO 则做了相反的权衡:它更愿意承担一部分污染风险,以换取长期协作效率。它相信很多知识其实是相对稳定的,值得被沉淀成未来运行时的辅助智慧。
这个矛盾非常像经典系统里的 cache vs fresh read(缓存 vs 每次现读)。缓存快,但可能 stale(过期);每次现读慢,但新鲜。智慧积累,本质上就是一种“认知缓存”;上下文隔离,则更像坚持新鲜读取。问题不在于哪边绝对正确,而在于底层世界变化有多快,以及过期知识会造成多大伤害。
理想的未来系统,大概率不会在两者之间二选一,而会做分层记忆。
第一层是稳定知识,例如仓库约定、危险路径、固定构建规则、常用命令偏好。这类知识变化慢,适合长期保留。
第二层是易腐状态,例如某次探索中的假设、临时分支状态、尚未验证的线索。这类内容应该快速衰减,甚至保持任务内隔离。
第三层是验证后摘要,也就是在明确检查点产生的、可信度更高的压缩结论。它像一种带置信度的知识转移对象,比原始上下文更适合跨任务携带。
OMO 已经在朝“选择性保留”走,Claude Code 则在提醒我们“干净边界”的重要性。OpenCode 则保留了开发者自己定义记忆制度的自由。三者合起来给出的启发是:记忆从来不是越多越好,也不是越少越好。真正高级的 agent,不只是会记住,而是会带着信任标注地记住。