4 月 1 日,Anthropic 意外泄露了 Claude Code 的完整 TypeScript 源码。此次泄露源于 NPM 包更新时未剔除 60MB 的 source map 调试文件,导致任何人下载包都能还原出完整源码——共计 1902 个源文件。

值得注意的是,这已是 Anthropic 第二次犯同样的错误。2025 年 2 月 Claude Code 刚发布时就曾因 Source Map 配置失误导致源码泄露,当时 Anthropic 紧急删包处理。时隔一年多,同一构建流水线再次出现相同问题。
核心发现:Claude Code 好用,60% 靠模型,40% 靠 Harness 工程
深入分析 1902 个源文件后发现,Claude Code 的优秀体验不仅来自模型能力,更来自精心设计的 harness 工程系统。所谓 harness,即为 AI 设计的"笼具"——包括工具系统、约束机制、安全控制和记忆系统,所有让 AI 从"能力强但不可预测"变成"稳定可靠能交付"的工程组件。
发现一:System Prompt 的隐性成本
用户输入一条指令,AI 实际收到的远不止这句话。prompts.ts 文件揭示了完整的 system prompt 拼装逻辑:
- 静态部分:所有用户共享,用于缓存节省 token,包括身份定义、安全准则、工具使用规则
- 动态部分:每个用户独立,包括 CLAUDE.md 配置、工作目录、MCP 服务器、自动记忆、Git 状态
关键数据:每接入一个 MCP 服务器,工具定义固定消耗 4000-6000 tokens(源码 src/prompts.ts 第 147 行注释)。接入 5 个 MCP 服务器,仅工具描述就占上下文窗口的 12%。
设计亮点在于 SYSTEM_PROMPT_DYNAMIC_BOUNDARY 常量将 prompt 切成两段:上部缓存,下部个性化。但这种设计的隐性成本常被忽视——工具并非越多越好,每个工具都有认知成本。
发现二:权限分类器的四层流水线
Claude Code 的 Auto 模式并非直接放行操作。源码中实现了一套独立的权限分类器系统,将操作分为三档:
- Allow:直接放行
- Soft Deny:需要用户确认
- Hard Deny:直接拦截
分类器采用四层流水线架构:
- 查询规则匹配
- 跳过低风险操作
- 白名单放行
- 调用独立 Sonnet 模型做最终分类(温度设为 0,确保确定性输出)
系统还实现了熔断机制:连续 3 次被拒或累计 20 次拒绝,直接降级为手动确认模式(源码 src/permissions/classifier.ts)。
设计哲学:安全边界不是限制,而是信任的基础。用户相信系统有底线,才敢授予更大权限。
发现三:记忆系统的设计边界
Auto Memory 功能能够记住用户的偏好(如使用 TypeScript、引号风格、不喜欢 AI 味等),但源码揭示了其关键设计边界:
- 触发时机:完成一轮回答后才启动记忆提取,有限流机制
- 执行隔离:由独立 fork agent 完成,只能读写记忆文件,无法执行 Bash 命令
- 核心原则:只存偏好,不存代码
为什么"不记代码"? 代码会变化,但记忆不会自动更新。如果记忆记录"函数 X 在第 30 行",代码重构后就会成为误导信息。因此系统只存储人的偏好和判断,代码相关事实永远实时读取。
此外还有 autoDream 功能,满足条件时自动在后台整理记忆文件,如同人睡觉时整理白天记忆。
发现四:最简单的搜索方案
在 RAG 行业普遍推崇向量数据库、Embedding 索引的今天,Claude Code 的代码搜索实现出人意料:
使用 grep 和 ripgrep,最朴素的文本搜索。没有 Embedding,没有向量库。
为什么有效?核心逻辑是:当你有足够聪明的大脑理解搜索结果时,不需要聪明的搜索引擎。grep 提供精确匹配,LLM 负责理解关系。与其让每个环节都变复杂,不如让一个环节足够强,其他保持简单。
这是 harness engineering 的核心原则之一。相比之下,Cursor 采用不同的技术方案,但 Claude Code 选择相信 "grep + 聪明大脑" 的组合。
工程启示
分析 1902 个源文件后的最大收获:市面上众多 AI 编程工具都基于相似的模型 API(Claude 或 GPT),但体验差异显著。这种差异不在模型本身,而在 harness 工程的质量。
此次泄露事件本身也提供了反面教材:即使是 Anthropic 这样的顶级 AI 公司,也会在基础构建配置上反复犯错。这提醒我们:
AI 时代最大的风险不是 AI 太强,而是人连基础配置都配不明白。
后续影响
源码已被 GitHub 社区广泛镜像,即使 Anthropic 删除 NPM 包也无法阻止开源社区的传播。从技术学习角度看,这 1902 个文件为 AI 编程工具开发者提供了宝贵的工程参考——展示了 SOTA(State of the Art)级别的 harness 系统如何实现。
对于普通用户,这次泄露的最大价值在于理解:优秀的 AI 工具体验不是魔法,而是精心设计的工程系统的产物。