Shopify CEO Tobi Lütke考虑禁用Claude Code,表面上是因为一个配置文件不兼容,实质上却是一场关于工程协作标准和供应商锁定的争议。
Lütke认为,Claude Code坚持使用自家的CLAUDE.md,而不是直接读取跨工具使用的AGENTS.md,会让同一个代码库对不同AI编程工具呈现出不同的规则。当工程师在同一项目中交替使用Claude Code、Codex、Cursor等工具时,这种差异可能演变成他所说的“脑裂”(split brain)。
4
15
Shopify到底在反对什么?
AGENTS.md是一个普通的Markdown文件,用来向AI编程代理提供项目上下文,例如:
- 如何构建和测试代码;
- 项目遵循哪些编码规范;
- 哪些目录或文件不能修改;
- 提交代码和参与协作时需要遵守哪些规则。
它通常与代码一起存放在版本库中,因此项目说明会随代码迁移,而不是绑定在某个开发者使用的工具或供应商上。
29
31
Claude Code的项目上下文体系则以CLAUDE.md为核心,同时使用.claude/rules、项目技能(skills)、钩子(hooks)和设置文件。官方文档显示,Claude Code会从当前目录及父目录递归发现这些文件,从而形成一套属于自身的指令体系。
2
对个人开发者而言,多维护一个文件或许只是增加几分钟配置时间。但在大型单体代码库(monorepo)中,问题会被迅速放大:不同团队可能同时使用Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot等工具,而每款工具读取的项目指令并不完全相同。
如果一个工具读取AGENTS.md,另一个工具只读取CLAUDE.md,那么同一个目录可能向不同AI代理提供不同的测试命令、编码规范,甚至不同的“禁止修改”边界。
大型代码库为何难以承受两套指令?
企业通常只能在几种不太理想的方案中做选择:
- 在代码库根目录同时维护
AGENTS.md和CLAUDE.md;
- 在相关子目录中继续复制两套文件;
- 随着代码变化持续同步两份内容;
- 额外开发检查工具,发现两套指令何时出现偏差。
这不只是文档重复的问题。一次遗漏更新,就可能让一个AI代理使用新的测试命令,而另一个仍然执行旧命令;一个代理知道某个目录不能动,另一个却完全没有这条限制。最终产生的可能是不同的代码修改、审查结果和开发者预期,也就是Lütke所说的“脑裂”现象。
4
7
Anthropic旗下Claude Code的公开功能请求也直接描述了这种摩擦:当开发者克隆的代码库已经包含AGENTS.md时,Claude Code可能忽略其中的上下文,开发者不得不手动创建CLAUDE.md并复制指令。
12
AGENTS.md为何成了互操作性的焦点?
AGENTS.md最初与OpenAI的Codex生态相关,后来在更广泛的行业协作中发展起来,参与者包括Google、OpenAI、Sourcegraph、Factory和Cursor等公司。
19
31
2025年12月9日,OpenAI和Anthropic将AGENTS.md及其他代理基础设施项目捐赠给Linux Foundation旗下的Agentic AI Foundation(代理式人工智能基金会)。该基金会希望通过中立治理推动开放、可互操作的代理技术,避免关键基础设施由单一商业工具供应商控制。
28
29
Linux Foundation表示,AGENTS.md当时已经被超过6万个开源项目和代理框架采用,支持它的工具包括Codex、Cursor、Devin、Factory、Gemini CLI、GitHub Copilot、Jules和VS Code等。
31
这并不意味着AGENTS.md是一项所有工具都必须遵守的强制技术标准。但它已经成为一个具有实际影响力的“可移植层”:团队可以把长期有效的项目规则放在一个公开、可版本控制的位置,并期待多种工具读取这些内容。
Claude Code提供了哪些替代方案?
目前的变通方式之一,是在CLAUDE.md中引用AGENTS.md,让Claude Code通过原生配置加载共享指令;另一种做法是使用符号链接或其他配置桥接方式。
6
9
这些方法可以缓解眼前的不兼容,却无法提供原生支持的完整体验。它们需要额外的包装和仓库级配置,并把以下问题留给企业自行决定:
- 文件导入的顺序如何处理;
- 不同文件之间谁拥有更高优先级;
- 根目录和子目录的作用范围如何划分;
- 指令更新后如何确保所有工具保持一致。
符号链接还可能受到操作系统、Git设置、集成开发环境、容器以及企业安全策略的影响。换言之,集成工作并没有消失,只是从工具供应商转移到了每个组织的工程团队。
Anthropic方面的公开回应称,公司正在让Claude Code变得“更加可改造”,其中包括更方便地使用AGENTS.md,或修改其他系统提示设置。
15但现有材料并没有给出Anthropic尚未加入原生识别功能的明确技术或商业原因,因此不宜把具体动机当作已证实事实。
一个耐人寻味的标准化矛盾
争议之所以受到关注,还因为Anthropic本身参与了Agentic AI Foundation的生态建设,而Claude Code的文档化项目约定仍主要围绕Anthropic自家的文件展开。
2
28
29
这并不必然说明Anthropic反对开放标准。供应商完全可以支持开放的基础格式,同时保留针对自家模型或产品能力的专有扩展。但从企业采购者的角度看,如果项目核心指令仍需要重写或搭建桥接层,是否支持开放格式就不再只是文件名偏好的问题。
这场僵局可能如何影响AI开发工具市场?
“配置税”将持续增加
每一种供应商专属的指令体系,都会带来持续维护成本:重复文件、同步检查、迁移脚本和额外测试。随着企业同时采用更多AI编程代理,工具数量和代码库层级越多,这笔成本就越高。
企业会更重视避免供应商锁定
仓库中的指令往往包含团队工作方式、安全边界、发布流程和大量运营经验。如果这些内容只能在某一家供应商的格式中发挥最佳效果,那么更换工具或并行使用多个工具就会变得更加昂贵。共享格式能够降低切换成本,也会让工程负责人在采购和谈判中拥有更大主动权。
“公共基础层+专有扩展”可能成为折中方案
最现实的结果未必是用一种格式取代所有供应商的约定。更可能的模式是:由AGENTS.md承载可跨工具使用的项目基础指令,再由CLAUDE.md等文件提供可选的供应商专属扩展。
这种安排既能保留产品差异化,也不会让最基本的项目上下文被某一家工具锁定。
大型企业可能成为标准制定者
Lütke的表态说明,大客户可以把一个看似微小的兼容性请求,提升为产品部署的前置条件。如果Shopify这样的企业把跨工具指令支持纳入内部选型标准,供应商就可能必须将互操作性视为企业级产品能力,而不再只是社区用户期待的“锦上添花”。
结语
Shopify并不是因为CLAUDE.md在技术上必然劣于AGENTS.md,才考虑禁用Claude Code。真正的矛盾在于:当数千名工程师在同一个代码库中使用多种AI代理时,某一家供应商的专属默认格式会制造额外的复杂性。
AGENTS.md已获得广泛采用,并由Linux Foundation旗下的Agentic AI Foundation负责中立治理,同时得到多种主流编程工具支持,因此具备成为共享基础层的现实条件。
29
31Claude Code的导入机制和符号链接可以作为临时方案,但它们把集成负担留给了企业。
这场争议最终指向一个更大的问题:AI编程代理会成为彼此兼容的开发基础设施,还是会发展成项目知识必须针对每款工具分别改写的封闭平台?