昨天听说 claude code 终于会使用
AGENTS.md 文件的事情,于是升级了一下,但没有找到
/config 中应该存在的 "Project instructions" 设置。让 claude 自己 debug 之后发现,是因为我给环境变量设置了
DISABLE_TELEMETRY=1, 甚至我一直没能用上的 computer use MCP 也是这玩意导致的。但为啥这么一个看起来是管遥测的东西,会影响一些功能的开关呢?深挖之后,发现 claude code 里相当一部分功能,是靠
GrowthBook 这个第三方的 feature flag 服务在控制的。简单地说,某个功能默认对你开不开,不是通过配置,而是启动时去服务器询问。
feature flag 天然就是拿来做灰度和 A/B 实验的,服务商想收集这个开关给谁开了、开了之后行为如何等等信息,而这些又属于遥测相关的数据。于是所有通过 feature flag 控制的功能都与遥测绑定在了一起,,最终导致
DISABLE_TELEMETRY=1 的真实效果不是「少上报一点使用数据」,而是「所有功能开关一次性全部关闭」。
其实搞清了它的技术逻辑后,我是能理解为什么这么做,猜测是遥测的收集和统计也是由 GrowthBook 这个系统提供的,两者之间彻底耦合了,没法分开。但是从用户这边来看,这么做实在是非常反直觉,而且官方文档也没有把这件事讲清楚,导致我为此困扰了好久。