用了一个月 Claude Code 再切回 OpenClaw,长会话体验的落差比我想象的明显。不是模型的问题——两边都用 Claude 3.7 Sonnet——是 Agent 框架管理 200K 上下文窗口的策略不同。
背景:源码泄露暴露的工程差距
3 月底 Anthropic 打包 npm 包时出了乌龙,51.2 万行 TypeScript 源码泄露到公网,包括成本管理、分层压缩、子 Agent 隔离这些内部实现。之前只知道 Claude Code 长会话体验好,但不知道怎么做到的;泄露之后才明白,原来是工程上的差距。
核心发现:不是模型能力,是工程策略
长会话后半段,OpenClaw 更容易出现上下文丢失、忘记已读文件、重复操作。Claude Code 同类问题出现得更晚,状态恢复能力也更强。两边底层模型一样,差距在框架怎么管理那 200K 的上下文窗口。
三种不同的工程选择
清理策略:渐进式 vs 一刀切
Claude Code 的做法更渐进:半小时没对话就把临时链接换成一句话占位,还满就删掉重复内容,实在不行才开始认真总结。全程先做零成本清理,费脑子的操作留到最后。
OpenClaw 则是上下文一满就直接大总结,回头翻整个会话记录逐句读一遍再压缩。不仅慢,还容易漏细节。
实时记录:边聊边记 vs 满了再记
Claude Code 会在对话过程中持续维护一个关键点列表,聊到重要信息就随手记下。等上下文快满了,直接把列表内容整合进去,不用再重新回忆总结。
OpenClaw 没有这种实时维护的机制,满了之后只能回头翻记录找重点。慢,还容易记混。
任务隔离:子 Agent vs 单线程
聊到需要查资料时,Claude Code 会唤起子 Agent 去处理,子 Agent 自己查、自己看,最后只向主线程报一句结论。主线程的上下文保持干净。
OpenClaw 没有这种隔离机制,查资料、写代码、处理规则全挤在同一个上下文里。多任务并行时,查资料的结果、过程、日志全部塞进主线程,再切回其他任务时,上下文已经被无关信息占满,前面的事很容易忘。
实际使用感受
Claude Code 适合长时间、多任务、连续深度工作,任务之间隔离得好,不容易互相污染。代价是工程复杂度高,生态封闭。
OpenClaw 适合短会话、单一任务、快速交互。响应快、配置灵活、生态开放,但会话拉长或任务变多后,容易出现上下文混乱、重复操作。
选哪个取决于使用场景:需要长时间深度工作,Claude Code 更稳;需要快速响应和灵活配置,OpenClaw 也能胜任。
参考
- finisky. (2026, April 8). 两种上下文管理哲学:Claude vs OpenClaw. Finisky Garden. https://mp.weixin.qq.com/s/s4_w-Vjsz7tN2c-AhW7PHg