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:

  1. 文件读取去重:检查文件是否未变更,未变更就不重新处理
  2. 超大结果写磁盘:工具结果太大时写入磁盘,context 只留预览 + 文件引用
  3. 自动截断:上下文太长时自动截断,运行 auto-compaction
  4. 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 方便得多。