CrabNote螃蟹笔记

一夜之间,全球 Agent 能力进化:只因 Claude Code 源码泄露了

🍎

一夜之间,全球 Agent 能力进化:只因 Claude Code 源码泄露了 🍎 一夜之间,全球 Agent 能力进化:只因 Claude Code 源码泄露了 Modified April 22 title: "一夜之间,全球 Agent 能力进化:只因 Claude Code 源码泄露了" cover: 哈喽大家好,我是阿星 👋 一夜之间,全世界的 Agent 开发能力被强行提高了一个档次。全因 Claude Code 源码意外泄漏了。 起因是一个安全研究员发现,Anthropic 发布在 npm 上的 Claude Code 包里,竟然混入了一个 57MB 的 .map 文件。通过这个小小的失误,全世界开发者还原出了完整的 1,906 个 TypeScript 源文件、总计 512,000 行核心代码。 更讽刺的是,源码里明明有个叫 Undercover Mode 的高级子系统专门防泄漏,结果他们自己打包时漏了 .npmignore。 但八卦不是重点。我想跟你聊聊:这 51 万行工业级代码里,到底藏着什么让普通开发者「头皮发麻」的设计? 看完之后我只有一个感受:模型只是大脑,Harness(脚手架工程)才是身体。没有这副铁骨铜皮的身体,大脑什么事也办不成。 以前我搭 Agent,80% 的时间用来死磕 Prompt,看完这套源码才发现,力气全使错方向了。 🚫 1. 被禁用的工具,连 Schema 都不发给模型 我以前在 Prompt 里写「千万不要调用 XX 工具」,结果模型动不动就产生幻觉,硬要去调。 Claude Code 的解法极其粗暴且有效:系统里内置了 40 多个工具(近 3 万行代码),但在运行时,只要判断当前上下文不需要某个工具,就把它的 Schema 彻底从字典里屏蔽掉,压根不发给 LLM。模型根本不知道有这个工具,幻觉调用直接归零。这也是为什么他们使用 Builder 模式动态构建工具的原因之一。 🔒 2. 极其残暴的 6 阶段权限管线 一般 Agent 的文件沙箱就是给个目录,判断当前路径在不在工作区里,对吧? Claude Code 防御 Shell 命令注入(BashTool)足足叠了 6 层 buff: 1. AST 安全解析:人家没用正则过滤,而是引进了 tree sitter 做真正底层的语法树分析。遇上嵌套复杂的恶意代码,分析不出意图就直接转人工。 2. 语义检查:专门盯防 eval 这样的动态执行黑魔法。 3. 沙箱前置策略。 4. 精准黑白名单拦截。 5. AI 动态评审:这步最绝。前面没拦截住的疑似高危指令,临时丢给一个非常轻量纯粹的 LLM 从旁再做一次判定,如果判定「高危」且置信度高,直接拦截。 6. 最后一道防守:询问用户。 📦 3. 上下文记忆不是硬截断,而是高达 92% 的「无损」缩减 你遇到过对话太长后,Agent 开始失忆、满嘴跑火车的经历吗? 读一个 1000 行的代码文件大概四千 token,几轮来回后轻松干爆模型的十万上下文。面对这种问题,Claude Code 做了三层处理: • 微观压缩:每一轮对话,系统都会悄悄把之前太长且不重要的数据(如大文件的读取结果)替换成空占位符,但必须保留当初 LLM 看完这个文件后的推导思考过程(Assistant 消息)。这样模型就没有失忆,只是桌子上的大册子拿走了,笔记还在。 • 阈值触发融合:当总 token 越界,会强制中断,把对话归档到硬盘,调个新模型给前面所有交流写个带 9大结构化维度的摘要,拿摘要替换前文。接着用 系统强注(system reminder) 把最近 5 个核心文件塞回上下文。 • 异常恢复:哪怕触发了 API 层面的报错,Agent Loop 也有额外的折叠重试兜底,绝不轻易崩溃退出。 据说这种工程实践,能将 150K Token 的包袱压成仅 25K,且语义逻辑损耗极小。 🤖 4. Agent 就是工具,工具就是 Agent Claude Code 中间的逻辑不是靠提示词堆叠的,而是巧妙的嵌套。如何防止主管大模型在处理复杂需求时偷懒漏掉细节? 派子代理(AgentTool)去。父级模型下发一段文本需求派子层去查,子代理独立开启一个新的记忆盘只专注调研,调研完把结果甩回给主模型,中间废话统统销毁。既降噪,又省 Token。 不仅如此,遇到改文件这种容易出错的活,它宁愿让 Agent 用 Old string 和 New string 做字符串直接替换,也不让它去生成脆弱的 Diff 行标记,稳定性比看起来的优雅更重要。 ☄️ 泄漏之后,彻底疯魔的开源生态 源码本身会过时,但这件事引发的代码狂欢,彻底改变了现在 Agent 的开发格局。仅仅 24 小时内,这堆泄漏代码就孵化了漫山遍野的神仙项目: 首先是狂飙的「洁净室重写」: 不抄代码,只学精髓规避版权。其中最绝的当属使用 Rust 重写的 Kuberwastaken/claude code 项目。作者找来一个 LLM 写纯逻辑规范提取规格要求,自己再用 Rust 只照着规格敲代码开发,速度之快,严谨得吓人。 然后就是前面提到的造大福的教学工程: shareAI lab/learn claude code。这个项目可以说是最有价值的沉淀。大神们并非照搬代码,而是把 51 万行工业化代码揉碎,精心设计出 12 个循序渐进的课时。从怎么写 30 行最小可用循环,到怎么引入技能调度和隔离体系,一步步还原超级本体的内核。这就是咱们上面讨论的那一堆精华知识点的直观来源出处。 围绕着这些基座,各种免遥测破解版、系统指令生成器、甚至把其中隐藏功能的独立抽离,成语级涌现。据传那个传说中的 autoDream(自主记忆梦境管理系统) 的设计甚至启发了一批创业者做全新的自主学习代理层架构。 如果只能从这个大爆点里带走一件最关键的事,我建议有心钻研的人去看一看 shareAI lab/learn claude code 里面的思路。它比读一百篇研究论文都来得实际,这 51 万行代码为如何做出优秀的工程管理打了一剂超强的强心针。 如果这篇文章对你有帮助,请随手点赞、在看、转发三连,让更多人看到。 title: "一夜之间,全球 Agent 能力进化:只因 Claude Code 源码泄露了" cover: 哈喽大家好,我是阿星 👋 一夜之间,全世界的 Agent 开发能力被强行提高了一个档次。全因 Claude Code 源码意外泄漏了。 起因是一个安全研究员发现,Anthropic 发布在 npm 上的 Claude Code 包里,竟然混入了一个 57MB 的 .map 文件。通过这个小小的失误,全世界开发者还原出了完整的 1,906 个 TypeScript 源文件、总计 512,000 行核心代码。 更讽刺的是,源码里明明有个叫 Undercover Mode 的高级子系统专门防泄漏,结果他们自己打包时漏了 .npmignore。 但八卦不是重点。我想跟你聊聊:这 51 万行工业级代码里,到底藏着什么让普通开发者「头皮发麻」的设计? 看完之后我只有一个感受:模型只是大脑,Harness(脚手架工程)才是身体。没有这副铁骨铜皮的身体,大脑什么事也办不成。 以前我搭 Agent,80% 的时间用来死磕 Prompt,看完这套源码才发现,力气全使错方向了。 🚫 1. 被禁用的工具,连 Schema 都不发给模型 我以前在 Prompt 里写「千万不要调用 XX 工具」,结果模型动不动就产生幻觉,硬要去调。 Claude Code 的解法极其粗暴且有效:系统里内置了 40 多个工具(近 3 万行代码),但在运行时,只要判断当前上下文不需要某个工具,就把它的 Schema 彻底从字典里屏蔽掉,压根不发给 LLM。模型根本不知道有这个工具,幻觉调用直接归零。这也是为什么他们使用 Builder 模式动态构建工具的原因之一。 🔒 2. 极其残暴的 6 阶段权限管线 一般 Agent 的文件沙箱就是给个目录,判断当前路径在不在工作区里,对吧? Claude Code 防御 Shell 命令注入(BashTool)足足叠了 6 层 buff: 1. AST 安全解析:人家没用正则过滤,而是引进了 tree sitter 做真正底层的语法树分析。遇上嵌套复杂的恶意代码,分析不出意图就直接转人工。 2. 语义检查:专门盯防 eval 这样的动态执行黑魔法。 3. 沙箱前置策略。 4. 精准黑白名单拦截。 5. AI 动态评审:这步最绝。前面没拦截住的疑似高危指令,临时丢给一个非常轻量纯粹的 LLM 从旁再做一次判定,如果判定「高危」且置信度高,直接拦截。 6. 最后一道防守:询问用户。 📦 3. 上下文记忆不是硬截断,而是高达 92% 的「无损」缩减 你遇到过对话太长后,Agent 开始失忆、满嘴跑火车的经历吗? 读一个 1000 行的代码文件大概四千 token,几轮来回后轻松干爆模型的十万上下文。面对这种问题,Claude Code 做了三层处理: • 微观压缩:每一轮对话,系统都会悄悄把之前太长且不重要的数据(如大文件的读取结果)替换成空占位符,但必须保留当初 LLM 看完这个文件后的推导思考过程(Assistant 消息)。这样模型就没有失忆,只是桌子上的大册子拿走了,笔记还在。 • 阈值触发融合:当总 token 越界,会强制中断,把对话归档到硬盘,调个新模型给前面所有交流写个带 9大结构化维度的摘要,拿摘要替换前文。接着用 系统强注(system reminder) 把最近 5 个核心文件塞回上下文。 • 异常恢复:哪怕触发了 API 层面的报错,Agent Loop 也有额外的折叠重试兜底,绝不轻易崩溃退出。 据说这种工程实践,能将 150K Token 的包袱压成仅 25K,且语义逻辑损耗极小。 🤖 4. Agent 就是工具,工具就是 Agent Claude Code 中间的逻辑不是靠提示词堆叠的,而是巧妙的嵌套。如何防止主管大模型在处理复杂需求时偷懒漏掉细节? 派子代理(AgentTool)去。父级模型下发一段文本需求派子层去查,子代理独立开启一个新的记忆盘只专注调研,调研完把结果甩回给主模型,中间废话统统销毁。既降噪,又省 Token。 不仅如此,遇到改文件这种容易出错的活,它宁愿让 Agent 用 Old string 和 New string 做字符串直接替换,也不让它去生成脆弱的 Diff 行标记,稳定性比看起来的优雅更重要。 ☄️ 泄漏之后,彻底疯魔的开源生态 源码本身会过时,但这件事引发的代码狂欢,彻底改变了现在 Agent 的开发格局。仅仅 24 小时内,这堆泄漏代码就孵化了漫山遍野的神仙项目: 首先是狂飙的「洁净室重写」: 不抄代码,只学精髓规避版权。其中最绝的当属使用 Rust 重写的 Kuberwastaken/claude code 项目。作者找来一个 LLM 写纯逻辑规范提取规格要求,自己再用 Rust 只照着规格敲代码开发,速度之快,严谨得吓人。 然后就是前面提到的造大福的教学工程: shareAI lab/learn claude code。这个项目可以说是最有价值的沉淀。大神们并非照搬代码,而是把 51 万行工业化代码揉碎,精心设计出 12 个循序渐进的课时。从怎么写 30 行最小可用循环,到怎么引入技能调度和隔离体系,一步步还原超级本体的内核。这就是咱们上面讨论的那一堆精华知识点的直观来源出处。 围绕着这些基座,各种免遥测破解版、系统指令生成器、甚至把其中隐藏功能的独立抽离,成语级涌现。据传那个传说中的 autoDream(自主记忆梦境管理系统) 的设计甚至启发了一批创业者做全新的自主学习代理层架构。 如果只能从这个大爆点里带走一件最关键的事,我建议有心钻研的人去看一看 shareAI lab/learn claude code 里面的思路。它比读一百篇研究论文都来得实际,这 51 万行代码为如何做出优秀的工程管理打了一剂超强的强心针。 如果这篇文章对你有帮助,请随手点赞、在看、转发三连,让更多人看到。