今年 3 月,Anthropic 在 npm 上发布 Claude Code 时出了个低级错误——忘了排除 source map 文件。59.8 MB 的调试文件指向了一份公开的 src.zip。
51 万行 TypeScript,1906 个文件,44 个隐藏功能开关。全部暴露。
社区反应很快:GitHub 镜像仓库两小时冲到 5 万星,有人用 2 亿 token 做了一份 25 篇、60 万字的源码深度分析。
事件本身该聊的已经聊完了。但这些代码暴露出来的一个判断,到现在讨论得还不够:Claude Code 根本不是一个编程工具。
· · ·
所有 AI 编程工具都在说同一句话:”帮你写代码更快。” Cursor 这么说,Copilot 这么说,Gemini Code Assist 也这么说。
但 Claude Code 的源码告诉我们,Anthropic 从一开始就没想做”写代码更快的工具”。
证据一:工具系统。Claude Code 内置了约 40 个工具——BashTool、FileReadTool、FileWriteTool、MultiEditTool、WebFetchTool、GrepTool、TodoReadTool、NotebookReadTool……这不是在”辅助编程”,这是在给一个 AI 员工配发完整的办公设备。它会读文件、写文件、搜索、联网、执行命令、管理待办。编程只是这些能力的一个子集。
证据二:Agent 系统。源码里有一个完整的 AgentDefinition 架构,支持三种 Agent 类型、六阶段生命周期、子 Agent 上下文隔离。翻译成大白话:Claude Code 可以同时派多个”小工”去并行干活,每个小工有独立的记忆和权限,干完汇总给主 Agent。这是项目管理系统,不是代码补全。
证据三:KAIROS。这是源码里被引用了 150 多次的一个代号——一个还没发布的”常驻后台 Agent”。它能在你睡觉的时候继续跑任务,还有一个叫 “AutoDream” 的记忆整合功能,夜间自动整理白天的工作记忆。
一个能在你睡觉时继续干活的 AI,叫”编程工具”吗?不,这叫”员工”。
这也解释了一个一直以来的困惑:为什么 Cursor 的交互模式是”你写一行,它补一行”,而 Claude Code 的交互模式是”你给一个任务,它自己干完”?因为它们对自己产品的定义就不一样。Cursor 在做一个更好的编辑器,Claude Code 在做一个更聪明的员工。
· · ·
所有用 AI 做过复杂项目的人都知道一个痛苦:上下文耗尽。
你跟 AI 聊了两个小时,改了十几个文件,然后它开始”失忆”——忘了前面的约定,重复犯同一个错,甚至开始编造已经改过的函数。这不是模型的错,是上下文窗口就那么大,信息塞满了就溢出。
Claude Code 源码里有一个设计让我印象深刻:三层记忆架构。
第一层:MEMORY.md
一个轻量索引文件,每条记录只有约 150 字符
永远加载在上下文里,但存的不是数据,是"指针"——"XXX 信息在哪个文件里"
第二层:Topic Files
实际的项目知识文件,按需加载
不同时全部塞进上下文
第三层:Raw Transcripts
原始对话记录
永远不全量重读,只在需要时搜索特定标识符
这个设计的精妙之处在于:它承认了一个基本事实——AI 的上下文窗口永远是有限的,不管模型怎么升级。 所以与其追求更大的窗口,不如在有限空间里做更聪明的信息调度。
就像一个优秀的 PM 不会把所有需求文档同时摊在桌上——他会维护一个精简的索引,需要哪个细节再去翻对应文档。
更狠的是”严格写入纪律”: AI 只有在一次成功的文件写入之后,才能更新记忆索引。写失败了?记忆不改。这意味着 AI 的记忆里永远不会存入”我以为改了但实际没改”的脏数据。
这个设计暴露了 Anthropic 的核心产品哲学——他们不追求模型能力上的碾压,而是在工程层面把 AI 的可靠性做到极致。
· · ·
源码里最让社区炸裂的是两个未发布的功能。
BUDDY——一个 Tamagotchi 风格的 AI 宠物。18 种物种,稀有度分层,闪光变体,会随时间进化。计划作为 Claude Code 的”持久化伴侣”。
乍一看很荒谬。一个面向开发者的终端工具,为什么要搞电子宠物?
但我仔细想了一下,这可能是整个泄露里最精妙的产品设计。
开发者工具最大的敌人不是功能不够,而是用户不用。工具再强大,用户习惯了他的旧工作流就不会切换。BUDDY 的本质是一个留存机制——让你对工具有情感依赖,让你每天打开的时候不只是为了干活,也是为了看看你的”伙伴”进化了没有。
这跟 Duolingo 的猫头鹰是一个逻辑。Duolingo 的核心问题不是课程不好,是人们坚持不下来。猫头鹰的碎碎念和连续打卡机制,解决的是留存。BUDDY 解决的也是留存。
KAIROS 更有意思。一个常驻后台的 Agent,能在你不用的时候继续跑任务。夜间还有一个 “AutoDream” 功能,自动整理白天的工作记忆。
这不再是”工具”了。这是一个始终在岗的团队成员。你下班了,它还在。你睡觉了,它在整理笔记、跑测试、处理遗留任务。第二天早上你打开电脑,它给你一份报告。
我作为 PM 对这个设计的评价是:Anthropic 不是在做工具,他们在定义一种新的人机协作关系。 以前是”人指令→机器执行→人等待”。KAIROS 的模型是”人设定目标→机器自主执行→人审核结果”。从同步变成了异步。
· · ·
源码里还暴露了一个叫 “Undercover” 的功能——当 Claude Code 在公开仓库工作时,自动向系统提示注入过滤规则,隐藏 Anthropic 内部的项目代号和未发布功能。
换句话说:Anthropic 知道开发者会用 Claude Code 来开发竞品,所以他们设计了一个机制,确保自家 AI 在外人面前不会说漏嘴。
这个功能从工程角度看是个安全措施,但从产品角度看更有意思——它意味着 Anthropic 把 Claude Code 定位为一个企业级的可信工作环境。你不只是”用”它,你在”信任”它处理你的核心资产。
· · ·
BashTool 是 Claude Code 里最大的单体工具,12400 行代码,四层安全纵深。
为什么要用 12400 行来做一个”执行 shell 命令”的功能?因为当你把 shell 权限交给一个 AI 时,一次误操作的代价可能是毁灭性的。rm -rf / 不是玩笑。
四层安全:第一层命令白名单,第二层危险命令拦截,第三层沙箱执行,第四层权限确认弹窗。
这里暴露了 Anthropic 的另一个核心哲学:AI 的能力边界不在于”能做什么”,而在于”能在多大程度上安全地做什么”。
大部分 AI 编程工具的思路是”我帮你做”。Claude Code 的思路是”我帮你做,但我会确保不搞砸,如果不确定我会问你”。这不是技术差异,是信任模型差异。
· · ·
说了这么多好话,说说源码里暴露的问题。
缺陷一:工具碎片化。 40 个工具、30+ 方法的 Tool 接口、三层条件注册漏斗——这是一个典型的”工程师审美”架构。模块化、可扩展、优雅。但从用户角度看,这意味着 Claude Code 的行为有时候不可预测——你不知道它这次会调用哪个工具、用哪种策略。对开发者来说,不确定性就是焦虑。
缺陷二:权限模型太复杂。 七种权限模式、八种规则来源、七步决策管线。企业级安全是好事,但当权限配置本身需要一份说明书的时候,你就知道过度工程了。用户在实际使用中经常被权限弹窗打断心流,最后干脆全部允许——这反而更不安全。
缺陷三:BUDDY 的优先级问题。 源码显示 BUDDY 的开发进度相当靠前,而一些开发者真正需要的功能(比如更好的上下文管理可视化、Agent 任务进度的实时反馈)还在 feature flag 后面。把电子宠物的优先级放在核心功能前面,这要么是产品战略上有外部看不到的考量,要么就是典型的工程师自嗨。
· · ·
看完这 51 万行代码,有一个判断越来越清晰:
AI 编程工具的终局不是”更好的 Copilot”,而是”AI 软件公司的操作系统”。
Claude Code 源码里的 KAIROS、BUDDY、三层记忆、Agent 编排——这些拼在一起,是一个完整的”AI 员工操作系统”。它能自主工作(KAIROS),能持久存在(BUDDY/记忆系统),能协作(Agent 系统),能管理权限(七层安全),能在你不在的时候继续推进(AutoDream)。
Anthropic 的 ARR 从去年底的 90 亿美元,到今年 4 月已经突破 440 亿美元——翻了近 5 倍。估值层面更夸张:2 月完成 300 亿美元融资(估值 3800 亿),5 月已经在谈新一轮 9500 亿美元估值的融资。Claude Code 单独的年收入早在 2 月就超过了 25 亿美元,现在大概率已经翻倍。这不是一个小工具的数字。
51 万行源码泄露是一个安全事故。但它暴露的产品蓝图,可能是今年 AI 行业最重要的文档。
不是因为它泄露了什么秘密,而是因为它告诉所有人:Anthropic 不只是在做一个编程工具。他们在定义人和 AI 协作的基本范式。
这个范式能不能成,取决于一个最朴素的问题——你愿不愿意把你的代码库,交给一个你睡觉时还在干活的 AI。
关注 SomethingAI 公众号
每日 AI 趋势日报,深度选题分析,独立开发思考
微信搜索「SomethingAI」关注