Claude Code 源码泄露,鲸落万物生之谜背后隐藏着怎样的秘密?

2026-05-26 22:511阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

很多人以为 Claude Code 只是一个套壳的 API 调用工具,但源码狠狠地打了这种观点的脸。这根本不是一个简单的编辑器插件,而是一个完整的、 一句话。 复杂的 Agent 操作系统。文件中的 sourcesContent 字段直接包含了所有原始源文件的完整内容,其复杂程度令人咋舌。

鲸落:一次意外的技术盛宴

抛开平安风险不谈,对于整个开发者社区来说这无疑是一次“鲸落”。当巨头倒下万物生长。这份泄露的源码就像是一份来自顶尖大厂的标准答案,为我们研究 Agent 架构提供了绝佳的参考样本。读完这 51.2 万行代码, 你会发现,这次泄露揭示的远不是一家公司的平安疏漏,而是整个 AI Agent 行业竞争逻辑的底层真相。

Claude Code 源码泄露,鲸落万物生之谜背后隐藏着怎样的秘密?

Claude Code 的核心机制

每轮对话结束时运行。触发后启动一个 forked agent, 完整继承父对话的 prompt cache,最多施行 2 轮。运行时会预扫描记忆目录生成 manifest 注入 prompt,避免浪费一轮做 ls。提取出的记忆分四类:用户偏好、行为反馈、项目信息、外部资源引用,妥妥的!。

这事儿我可太有发言权了。 这是最强硬的拦截,优先级最高。它检查用户或组织配置的黑名单规则,比如 Bash 或者 Agent。一旦命中,流程直接终止,没有任何商量的余地。这就像是大门口的保安,拿着名单,不在名单上的直接叉出去。

搜索机制:简单而高效

很多人谈到 AI 编程工具时第一反应是向量数据库、 embedding 索引、RAG 检索。但 Claude Code 的选择完全相反——根本不用 RAG, 中肯。 直接搜代码。搜索主力是 Grep:没有 embedding,没有语义匹配,没有向量数据库。

这听起来很原始, 但逻辑很硬核:足够大,grep 正则精确不会误匹配,本地搜索毫秒级响应。更关键的是与其把检索逻辑做复杂,不如让 AI 用自主能力决定怎么搜。因为模型越来越强,这个选择越来越合理。这就像是在图书馆找书,与其记下每本书的内容摘要,不如直接去书架上按分类号拿,只要你知道分类号是什么。

平安审查:四层保护机制

AI 写出的代码, 人类已经不可能 line by line review,这个工程量甚至比写代码本身还耗时。所以平安审查机制就成了重中之重。Claude Code 的源码展示了一个四层平安审查架构, 每一层都可以提前终止并返回后来啊,按顺序施行,就像四道关卡,就这样吧...。

前三层全部通过后才由当前模式决定到头来行为。这里最有趣的是 YOLO 分类器。YOLO 就是“you only live once”,但它实际做的事情其实不太 YOLO。每次主 AI 想要去施行一个操作的时候, 我心态崩了。 都会有一个独立的 AI 分类器去判断这个操作到底安不平安。这个分类器有自己的系统提示词,跟主 AI 完全不同,是专门用来做平安审查的。

权限管理与工具加载

在资源管理上,Claude Code 展现了极高的“吝啬”智慧。默认情况下所有 MCP 工具都被标记为 defer_loading: true。这意味着它们在初始阶段完全从 API 请求中移除,不预加载,不占 token。只有当 AI 真正需要某个工具时才会通过 ToolSearchTool 按需发现并加载,到位。。

泰酷辣! 每个工具有自己的权限自检逻辑, 命令的凶险等级。这一层体现了工具的自主性,它们不仅仅是被动施行,还能自我保护。

Harness Engineering 的未来

读完源码,我最大的感触是:Claude Code 的成功不仅仅取决于模型质量。大约 30% 的用户体验来自模型本身,70% 来自你天然如同一匹野马,能力强悍的一边幻觉和发散性也带着强烈的不可控与无法预知。而 Harness 其实就是套在它身上的那套设备。

摆烂。 未来真正值钱的不是某个版本的模型, 而是那套踩过无数坑后沉淀下来的 harness prompts、rules 和工程化共识。那才是业界真正的 know-how 财富。谁能把这套 Harness 搭得更好,谁就更有机会。而现在这份来自顶尖大厂的“标准答案”已经摆在了桌面上,能不能抄对,就看各家的本事了。

MCP指令 Delta 系统与字节抖动问题

源码注释里藏着三个导致“字节抖动”的根因,看得出来 Anthropic 的工程师们被缓存问题折磨得不轻。GrowthBook 特性开关的翻转、 MCP 服务器的重连、以及 tool.prompt 里的动态内容,任何一个字节的变化都会让整个约 11K token 的工具块及其下游全部缓存失效。

扎心了... 为了解决这个问题, toolSchemaCache.ts/memory/Claude Code 的记忆系统遵循一个非常巧妙的设计理念:只记偏好,不记代码原因很直接:代码会变化,今天写的函数明天可能就重构了。如果记忆里存了“函数 X 在第 100 行”,代码一重构这条记忆就变成误导。所以 Claude Code 的做法是:记忆只存人的判断与偏好,代码内容永远去源文件里实时读取。

算是吧... 无论当前是哪种模式,只要命中了这一层的规则,就必须强制弹出用户确认弹窗。这里有一个非常关键 `bypass-immune`设计:当工具的平安检查返回 `decisionReason.type === 'safetyCheck'`时即使在 `bypassPermissions` 模式下也无法跳过。 源码里还有很多在 prod 中关闭的功能标志,暴露了一些未来方向。

这种细节处理,真的体现了工程化的成熟度。 后台周期性整合历史,两个引擎共用同一套权限沙箱:`FileRead/Grep/Glob`无限制,`Bash` 仅只读命令,`FileEdit/FileWrite` 仅限 `memoryDir` 内,其余写操作一律拒绝。这种双引擎设计,既保证了实时性,又保证了深度整合,互不干扰,总结一下。。

这样一来system prompt 本身保持静态,prompt cache 再也不会被打断了——简直是省钱小能手。 为了防止死循环,系统还设计了"拒绝追踪"。当分类器连续拒绝三次或累计拒绝五次,系统会从"自动拒绝"降级为"弹用户确认",避免Agent陷入无限拒绝循环。在无头模式下达到上限则直接抛出AbortError`终止,防止无效token消耗。

geng绝的是那个 MCP 指令 Delta 系统。以前 MCP 服务器连接时的 `instructions` 是通过 `DANGEROUS_uncachedSystemPromptSection` 每轮重建注入的,每次晚连接都打断 prompt cache。 泰酷辣! 现在改成了持久化 attachment宣告变更——只记录 `addedNames` 和 `removedNames` ,每轮扫描历史 attachment 重建当前指令集。

试着... 这可不是普通的配置文件, 它就像是一张藏宝图,直接把五十多万行 TypeScript 源码赤裸裸地展现在了全世界面前。 "走光"的后果与行业的加速 X 平台上的技术极客们瞬间沸腾了——这哪里是泄露,简直就是 Anthropic 把自家的设计图纸直接贴在了社区公告栏上。 MCP指令 Delta 系统与字节抖动问题toolSchemaCache.ts` 在 session 第一次渲染时就锁定了 schema 字节,此后任何“重渲染”事件都不改变实际发出的内容。

这次泄露, 虽然让 Anthropic 的工程师们脸红,但对于整个行业来说却是一次巨大的加速。借助 agent 工具本身, 任何团队都可以左脚踩右脚——用 AI agent 来快速复制、迭代、甚至超越这套 agent 架构。 昨天科技圈发生了一件让人哭笑不得的“大事故”。Anthropic 在发布 Claude Code v2 版本时大概是打包脚本喝多了竟然把调试用的 .js.mapcli.js.map` 文件也一股脑塞进了发布包,走捷径。。

Claude Code 源码泄露,鲸落万物生之谜背后隐藏着怎样的秘密?

记忆文件位于 ~/.claude/projects//memory/ 目录下包括索引文件 所有这些其实都是让 AI 的能力从“不可控”的情况,变成稳定可以可靠交付的工程系统。目前 OpenAI 和 Anthropic 都非常推崇 Harness Engineering,而 Claude Code 的源码可以说是 Harness Engineering 的活教程了,我满足了。。

标签:万物

很多人以为 Claude Code 只是一个套壳的 API 调用工具,但源码狠狠地打了这种观点的脸。这根本不是一个简单的编辑器插件,而是一个完整的、 一句话。 复杂的 Agent 操作系统。文件中的 sourcesContent 字段直接包含了所有原始源文件的完整内容,其复杂程度令人咋舌。

鲸落:一次意外的技术盛宴

抛开平安风险不谈,对于整个开发者社区来说这无疑是一次“鲸落”。当巨头倒下万物生长。这份泄露的源码就像是一份来自顶尖大厂的标准答案,为我们研究 Agent 架构提供了绝佳的参考样本。读完这 51.2 万行代码, 你会发现,这次泄露揭示的远不是一家公司的平安疏漏,而是整个 AI Agent 行业竞争逻辑的底层真相。

Claude Code 源码泄露,鲸落万物生之谜背后隐藏着怎样的秘密?

Claude Code 的核心机制

每轮对话结束时运行。触发后启动一个 forked agent, 完整继承父对话的 prompt cache,最多施行 2 轮。运行时会预扫描记忆目录生成 manifest 注入 prompt,避免浪费一轮做 ls。提取出的记忆分四类:用户偏好、行为反馈、项目信息、外部资源引用,妥妥的!。

这事儿我可太有发言权了。 这是最强硬的拦截,优先级最高。它检查用户或组织配置的黑名单规则,比如 Bash 或者 Agent。一旦命中,流程直接终止,没有任何商量的余地。这就像是大门口的保安,拿着名单,不在名单上的直接叉出去。

搜索机制:简单而高效

很多人谈到 AI 编程工具时第一反应是向量数据库、 embedding 索引、RAG 检索。但 Claude Code 的选择完全相反——根本不用 RAG, 中肯。 直接搜代码。搜索主力是 Grep:没有 embedding,没有语义匹配,没有向量数据库。

这听起来很原始, 但逻辑很硬核:足够大,grep 正则精确不会误匹配,本地搜索毫秒级响应。更关键的是与其把检索逻辑做复杂,不如让 AI 用自主能力决定怎么搜。因为模型越来越强,这个选择越来越合理。这就像是在图书馆找书,与其记下每本书的内容摘要,不如直接去书架上按分类号拿,只要你知道分类号是什么。

平安审查:四层保护机制

AI 写出的代码, 人类已经不可能 line by line review,这个工程量甚至比写代码本身还耗时。所以平安审查机制就成了重中之重。Claude Code 的源码展示了一个四层平安审查架构, 每一层都可以提前终止并返回后来啊,按顺序施行,就像四道关卡,就这样吧...。

前三层全部通过后才由当前模式决定到头来行为。这里最有趣的是 YOLO 分类器。YOLO 就是“you only live once”,但它实际做的事情其实不太 YOLO。每次主 AI 想要去施行一个操作的时候, 我心态崩了。 都会有一个独立的 AI 分类器去判断这个操作到底安不平安。这个分类器有自己的系统提示词,跟主 AI 完全不同,是专门用来做平安审查的。

权限管理与工具加载

在资源管理上,Claude Code 展现了极高的“吝啬”智慧。默认情况下所有 MCP 工具都被标记为 defer_loading: true。这意味着它们在初始阶段完全从 API 请求中移除,不预加载,不占 token。只有当 AI 真正需要某个工具时才会通过 ToolSearchTool 按需发现并加载,到位。。

泰酷辣! 每个工具有自己的权限自检逻辑, 命令的凶险等级。这一层体现了工具的自主性,它们不仅仅是被动施行,还能自我保护。

Harness Engineering 的未来

读完源码,我最大的感触是:Claude Code 的成功不仅仅取决于模型质量。大约 30% 的用户体验来自模型本身,70% 来自你天然如同一匹野马,能力强悍的一边幻觉和发散性也带着强烈的不可控与无法预知。而 Harness 其实就是套在它身上的那套设备。

摆烂。 未来真正值钱的不是某个版本的模型, 而是那套踩过无数坑后沉淀下来的 harness prompts、rules 和工程化共识。那才是业界真正的 know-how 财富。谁能把这套 Harness 搭得更好,谁就更有机会。而现在这份来自顶尖大厂的“标准答案”已经摆在了桌面上,能不能抄对,就看各家的本事了。

MCP指令 Delta 系统与字节抖动问题

源码注释里藏着三个导致“字节抖动”的根因,看得出来 Anthropic 的工程师们被缓存问题折磨得不轻。GrowthBook 特性开关的翻转、 MCP 服务器的重连、以及 tool.prompt 里的动态内容,任何一个字节的变化都会让整个约 11K token 的工具块及其下游全部缓存失效。

扎心了... 为了解决这个问题, toolSchemaCache.ts/memory/Claude Code 的记忆系统遵循一个非常巧妙的设计理念:只记偏好,不记代码原因很直接:代码会变化,今天写的函数明天可能就重构了。如果记忆里存了“函数 X 在第 100 行”,代码一重构这条记忆就变成误导。所以 Claude Code 的做法是:记忆只存人的判断与偏好,代码内容永远去源文件里实时读取。

算是吧... 无论当前是哪种模式,只要命中了这一层的规则,就必须强制弹出用户确认弹窗。这里有一个非常关键 `bypass-immune`设计:当工具的平安检查返回 `decisionReason.type === 'safetyCheck'`时即使在 `bypassPermissions` 模式下也无法跳过。 源码里还有很多在 prod 中关闭的功能标志,暴露了一些未来方向。

这种细节处理,真的体现了工程化的成熟度。 后台周期性整合历史,两个引擎共用同一套权限沙箱:`FileRead/Grep/Glob`无限制,`Bash` 仅只读命令,`FileEdit/FileWrite` 仅限 `memoryDir` 内,其余写操作一律拒绝。这种双引擎设计,既保证了实时性,又保证了深度整合,互不干扰,总结一下。。

这样一来system prompt 本身保持静态,prompt cache 再也不会被打断了——简直是省钱小能手。 为了防止死循环,系统还设计了"拒绝追踪"。当分类器连续拒绝三次或累计拒绝五次,系统会从"自动拒绝"降级为"弹用户确认",避免Agent陷入无限拒绝循环。在无头模式下达到上限则直接抛出AbortError`终止,防止无效token消耗。

geng绝的是那个 MCP 指令 Delta 系统。以前 MCP 服务器连接时的 `instructions` 是通过 `DANGEROUS_uncachedSystemPromptSection` 每轮重建注入的,每次晚连接都打断 prompt cache。 泰酷辣! 现在改成了持久化 attachment宣告变更——只记录 `addedNames` 和 `removedNames` ,每轮扫描历史 attachment 重建当前指令集。

试着... 这可不是普通的配置文件, 它就像是一张藏宝图,直接把五十多万行 TypeScript 源码赤裸裸地展现在了全世界面前。 "走光"的后果与行业的加速 X 平台上的技术极客们瞬间沸腾了——这哪里是泄露,简直就是 Anthropic 把自家的设计图纸直接贴在了社区公告栏上。 MCP指令 Delta 系统与字节抖动问题toolSchemaCache.ts` 在 session 第一次渲染时就锁定了 schema 字节,此后任何“重渲染”事件都不改变实际发出的内容。

这次泄露, 虽然让 Anthropic 的工程师们脸红,但对于整个行业来说却是一次巨大的加速。借助 agent 工具本身, 任何团队都可以左脚踩右脚——用 AI agent 来快速复制、迭代、甚至超越这套 agent 架构。 昨天科技圈发生了一件让人哭笑不得的“大事故”。Anthropic 在发布 Claude Code v2 版本时大概是打包脚本喝多了竟然把调试用的 .js.mapcli.js.map` 文件也一股脑塞进了发布包,走捷径。。

Claude Code 源码泄露,鲸落万物生之谜背后隐藏着怎样的秘密?

记忆文件位于 ~/.claude/projects//memory/ 目录下包括索引文件 所有这些其实都是让 AI 的能力从“不可控”的情况,变成稳定可以可靠交付的工程系统。目前 OpenAI 和 Anthropic 都非常推崇 Harness Engineering,而 Claude Code 的源码可以说是 Harness Engineering 的活教程了,我满足了。。

标签:万物