
今天愚人节,但技术圈发生的事,可能比任何段子都更有戏剧性。
Anthropic 公司的 Claude Code 项目,又一次在众目睽睽之下“脱掉了底裤”。而且,这是时隔一年后,在同一个地方跌倒的第二次。
资源分享:
一行未写的配置,酿成大祸
在 人工智能 圈,一直存在着开源与闭源之间的微妙博弈。开源派常批评闭源不够透明,而闭源方则倚仗其技术壁垒。但谁也没料到,闭源技术会以如此充满“喜剧”色彩的方式被迫“开源”。
这次事件的“核弹”,是一个 57MB 的 .map 文件。
没有复杂的黑客攻击,也不是内部人员泄露。问题的根源简单得令人难以置信:在通过 npm 发布包时,项目没有配置 .npmignore 文件。

恰恰就是这一行本应存在却缺席的配置。
能“借鉴”开源,自身却是黑盒
回顾一下 Anthropic 在这方面的风格。对于 Codex 等项目,他们选择了开源,甚至欢迎社区集成和修改。但到了自家的 Claude Code,画风就变了。
它成了一个彻底的黑盒。你可以说它站在开源生态的肩膀上成长,但转过身就把门关得严严实实。这种操作,业内人士心知肚明。一边标榜“安全AI”和“负责任发展”,另一边却将自己的核心代码捂得密不透风。
当然,作为商业公司,保护核心技术无可厚非。但关键在于,你得真的能“守住”。
一年之内,两次掉进同一个坑
那么,他们守住了吗?
第一次“事故”发生在 2025 年 2 月。当时团队紧急下架了有问题的包并进行了修复。
然而,2026 年 4 月 1 日,愚人节,第二次泄露事件上演。问题一模一样,犯错的地方也分毫不差。
一年之内,在完全相同的基础工程环节上翻了两次车。这不禁让人怀疑,所谓的工程流程和品控到底在哪里?
自家的Harness,没能管住自己
颇具讽刺意味的是,Anthropic 近期一直在大力推广一个新概念:Harness。他们将其描述为 AI Agent 的正确开发范式,是下一代的工程基础设施,承诺能彻底革新开发流程。
结果呢?这个用自家 Harness 理念来管理代码的团队,却在最基础的软件发包流程上,连续两次栽了跟头。
在打包前扫描一下是否包含了不该有的 .map 文件,这很难吗?在 CI/CD 流水线中加入一条检查规则,这并非什么高深技术,而是最基本的工程素养。但这条规则要么没被制定,要么没被执行,要么就是执行了但没保持。
你的 Harness,竟然连一个 .map 文件都 harness 不住。
底裤已提起,但“照片”传遍全网
尽管 Anthropic 迅速反应,撤下了有问题的 npm 包,并对 GitHub 上相关的复刻仓库发起了 DMCA 删除请求,但为时已晚。
互联网是有记忆的,更是善于传播的。复刻(fork)数轻松破万,标星(star)数也飞速增长。整个技术社区都在仔细研究这份“意外收获”,行业也在“认真学习”。
Anthropic 投入数年、耗费巨资才摸索出的“最佳实践”,如今成了行业的公共知识财富。而这一切的代价,仅仅是一个没有被正确排除的 .map 文件。
此事对行业意味着什么?
这一事件引发了一系列连锁思考。当软件的架构和实现细节都变得透明时,所谓的“技术护城河”还剩下多深?
做技术对接和中间件的开发者可能会心一笑,他们终于能清晰地看到远程调用是如何发生的,对接工作将更加高效。这也让一些开发者开始吐槽:用 TypeScript 写 CLI 工具,打包出 57MB 的笨重产物,或许真该考虑用 Golang 或 Rust 等语言重写了。
对于那些也在研发 AI Agent 的公司来说,一个完整的、来自头部公司的参考实现已然流出,他们产品的独特卖点又该如何定义?整个 开源实战 生态可能因此加速演进。
Claude Code 团队内部此刻大概正在紧急会议中。是否要“被迫开源”,这个问题的主动权,或许已经不完全掌握在他们自己手中了。
这个案例再次印证了一个朴素的道理:再先进的工具和理念,如果缺乏扎实、严谨的基础工程流程作为支撑,一样会出事。AI 替代不了人类的工程素养,也替代不了一条正确的 .npmignore 配置。
愚人节快乐。
有些“礼物”,虽然不是你有意送出,但整个技术世界都已经签收了。想了解更多此类行业动态和技术吐槽,欢迎来 云栈社区 的开发者广场逛逛。