Claude Code 为什么比网页版强?Sebastian Raschka 读完源码后的结论:不是 prompt 工程,不是模型,是一整套上下文处理工程。
启动时就加载上下文
prompt 开始时,Claude 加载的不只是 CLAUDE.md。还会加载主 git branch、当前 git branch、最近的 commits 等。
这意味着每次对话都有代码库状态的完整图谱,不只是你输入的那几行指令。
静态/动态内容边界标记
源码里有一个 boundary marker 概念,区分静态内容和动态内容。静态部分全局缓存,以便稳定——昂贵的那部分不需要每次重建和重新处理。
这是工程上的聪明设计:上下文窗口里哪些东西会变、哪些不会变,分清楚之后就能针对性地缓存,减少每次重新计算的开销。
专用工具链:Grep / Glob / LSP
专用 Grep 工具:不只是调用 shell 里的 grep 或 rg,而是有自己的权限处理和结果收集机制。比在 Bash 里跑 grep 更快、更可控。
专用 Glob 工具:文件发现。
LSP 工具:Language Server Protocol,用于调用层级、查找引用等。这是相对 Chat UI 的一个重大"增强"——Chat UI 把代码看作静态文本,而 LSP 让 Claude Code 能做真正的代码理解。
上下文管理:7 层优化
代码库一大,上写代码一大,context 很快就满了。Claude Code 为此做了一整套 plumbing:
- 文件读取去重:检查文件是否未变更,未变更就不重新处理
- 超大结果写磁盘:工具结果太大时写入磁盘,context 只留预览 + 文件引用
- 自动截断:上下文太长时自动截断,运行 auto-compaction
- Structured conversation markdown:Claude Code 为当前对话维护一个结构化 markdown 文件,分成多个 section:
- Session Title
- Current State
- Task specification
- Files and Functions
- Workflow
- Errors & Corrections
- Codebase and System Documentation
- Learnings
- Key results
- Worklog 这就是人类程序员记笔记和总结的方式,Claude Code 学过来了。
Subagent 并行化
Claude Code 用 subagent 并行化工作,这相对 Codex 一直是主要卖点(直到 Codex 最近也加了 subagent 支持)。
关键:forked agents 复用父进程的 cache,同时感知可变状态。这让系统可以做 side work(总结、记忆提取、后分析),而不污染主 agent 循环。
核心结论
Claude Code 比网页 UI 强,不是因为更好的 prompt 工程,也不是因为模型不同。
是因为上面列的所有这些小的性能和上下文处理改进的叠加。
再加上一个实际好处:在自己电脑上把所有东西整理得井井有条,比上传文件到 Chat UI 方便得多。
Sebastian Raschka 是 AI 教育领域的权威,他的分析值得重视。这篇文章验证了之前 mal 那篇的发现,但侧重点不同——Raschka 强调的是专用工具链(LSP/Grep/Glob)和上下文边界缓存的工程价值。最有意思的是"Structured conversation markdown"这个设计:让 AI 用人类程序员记笔记的方式管理对话,这是一个符合直觉但很少有人做好的细节。