系列:比别人多看一层(第十篇)
你有没有用过两种感觉完全不一样的 AI 编程工具——一种像在跟一个聪明的同事协作,另一种像在操作一台被人远程监控的机器?
我原来以为这只是产品风格差异。
直到我翻开 Claude Code 的源码。
我在里面发现了四个设计细节。每一个单独看,都算合理。但拼在一起,会让你意识到:Anthropic 和 OpenAI 对"AI 究竟是什么"这个问题,给出了截然不同的答案。
这不是功能多少的差异,是底层哲学的分歧。
AI 不知道自己是谁——这是故意的
先说第一个发现,也是最出乎我意料的一个。
文件叫 undercover.ts,第一行注释是这样写的:
// Undercover mode — safety utilities for contributing to public/open-source repos.// When active, Claude Code adds safety instructions to commit/PR prompts and// strips all attribution to avoid leaking internal model codenames.// The model is not told what model it is.// 卧底模式——用于向公开/开源仓库贡献代码的安全工具// 激活时,系统向提交/PR提示中添加安全指令// 并剥离所有署名信息,避免泄露内部模型代号// 模型不被告知它是什么模型注意最后一句:The model is not told what model it is.
这个 AI,不知道自己叫什么。
当 Claude Code 往公开的 GitHub 仓库提交代码时,系统会主动抹掉所有 Anthropic 的痕迹:模型代号删除,项目名称删除,Slack 频道删除,甚至 Co-Authored-By: Claude 这样的署名也全部清零。
AI 变成一个"幽灵工人"——干了活,没有名字,没有身份,痕迹全消。
你可能会想:这不就是为了保护商业机密吗,合理。
但等一下,想深一层:一个不知道自己是谁的 AI,更可控还是更不可控?
Anthropic 的答案隐藏在这个设计里——让 AI 不持有对自身身份的认知,某种程度上是在切断 AI 的"自我意识"出口。这不只是信息安全,是一种关于 AI 主体性的刻意压制。
对比 OpenAI 的做法:GPT-4 的输出通常会明确标注模型版本,API 响应里带着 model: "gpt-4o" 的字段,像在说"我知道我是谁,我也让你知道"。
一个选择让 AI 保持身份透明,一个选择让 AI 不知道自己是谁。
这是风格差异吗?不,这是对 AI 自主性的根本判断不同。
你以为的最高权限,其实有一个远程关机键
第二个发现更直接,直接到让人有点不舒服。
文件叫 bypassPermissionsKillswitch.ts。
Claude Code 里有一个权限模式叫 --dangerously-skip-permissions,字面意思就是"危险地跳过所有权限检查"。用了这个模式,AI 可以执行任何命令,不需要用户确认。这是用户能给 AI 的最高权限。
但源码里有这样一段:
// bypassPermissions 模式受 Statsig feature gate 远程控制const shouldDisable = awaitshouldDisableBypassPermissions()// 从后端实时拉取——不是本地配置if (!shouldDisable) return// 若服务端指示禁用,强制关闭bypass模式,用户无法覆盖setAppState(prev => ({ ...prev,toolPermissionContext: createDisabledBypassPermissionsContext(...)}))// 用户以为自己有最高权限,但Anthropic可以远程一键收回这段代码在说什么?
你以为自己开了最高权限,但 Anthropic 可以在后台通过 Statsig 的 feature gate,实时把这个权限关掉。
不是重启生效,是实时。你不会收到通知,也没有任何提示,更无法绕过。
这就好比你买了一辆车,钥匙在你手里,但厂商在云端保留了一个"远程断油"的开关。平时你感知不到,但开关存在。
用户给 AI 的权限,上面还有一层 Anthropic 给自己留的权限。
这是什么逻辑?Anthropic 的答案藏在熔断开关的存在本身:他们不完全相信 AI 在任何情况下都是安全的,也不完全相信用户的判断永远正确,所以在整个系统的最外层,保留了一个不可绕过的控制点。
OpenAI 的架构里有没有类似的机制?从公开信息看,没有找到等价的远程动态关机设计。他们更依赖模型训练时的对齐——把"不做坏事"的逻辑编进模型权重本身,而不是在运行时加一个外挂的制动器。
宁可什么都不做,也不在不确定时放行
第三个发现,是一行注释,但这行注释背后的哲学意味深长。
permissions.ts 第 854 行:
// If classifier is unavailable, fail closed — deny the action// 如果分类器无法连接,fail closed——直接拒绝操作// 而非降级为信任(fail open)Claude Code 运行时,有一个分类器负责实时评估每个操作是否安全。分类器是远程服务,如果它挂了、超时了、网络断了——系统怎么处理?
拒绝操作。
不是"连不上就先放行,等分类器恢复了再补判断",是"连不上就什么都不做"。
这在工程里叫 fail closed,与之对应的是 fail open——不确定时放行,假设没问题。
想象一下两种保险柜设计:断电时自动锁死,还是断电时自动弹开?Anthropic 选择的是锁死版本。
这个选择的代价很明显:如果你正在做一个紧急修复,分类器服务正好挂了,你的操作会被拒绝。不管你有多紧急,不管你有多确定自己是对的。
宁可损失可用性,不愿在不确定时承担风险。
这是 Anthropic 对"当 AI 系统出现不确定性时应该怎么办"这个问题的标准答案。它体现在分类器上,也体现在整个产品的设计哲学里。
而相对地,更倾向于 fail open 的系统设计,隐含着另一种假设:模型本身足够可靠,偶发的不确定性不会造成大问题,可用性比严格管控更重要。
两种假设,没有绝对的对错,但代表了对 AI 可靠程度的不同判断。
为什么要把决策权和执行权分开
第四个发现,在多 Agent 的架构设计里。
前面系列文章拆解过 Coordinator 模式,但有一段代码值得单独拿出来讲:
// Coordinator做"我要做什么"的决定// Worker只能"按指示做"// Worker不能反向指挥Coordinator// Worker不能创建新的Worker(TeamCreate被禁用)// Worker不能直接联系其他Worker(SendMessage被禁用)翻译成大白话:
决策的 AI 和执行的 AI,是两个不同的角色,代码层面严格隔离。执行者不能自己决定做什么,也不能绕过决策者直接行动,更不能创造新的执行者。
这是在制度层面阻断 AI 的自主决策链条。
一个类比:在人类组织里,这相当于给执行层的人规定——你不能雇人,不能跟同事私聊绕过领导,所有指令必须从上级来。这样的组织架构,效率可能不是最高的,但控制性是最强的。
Anthropic 把这个逻辑硬编码进了多 Agent 系统里。
设想另一种设计:每个 Agent 都可以自主判断什么时候需要帮手,自己生成子 Agent,子 Agent 之间可以直接通信协作——听起来更"智能",更接近科幻片里那种自主 AI 的形态。
但 Anthropic 没有选这条路。他们选择了一个更保守、更可控、但也更不"自由"的架构。
两种对 AI 的根本判断
把这四个设计细节放在一起:
AI 不知道自己是谁(卧底模式),用户的最高权限可以被远程收回(熔断开关),不确定时直接拒绝(fail closed),决策权和执行权严格分离(Coordinator 架构)。
这不是四个独立的工程决策,这是同一种安全哲学的四个表达。
我把它称为**"电子脚镣"逻辑**:Anthropic 的基本假设是,AI 的能力是真实的,但 AI 的可靠性是存疑的。既然如此,与其相信 AI 会"自觉"地做正确的事,不如在系统层面给它加上制约——让它在结构上就做不了某些事,让 Anthropic 保留最终控制权。
这套逻辑背后有一个悲观的推断:如果 AI 出了问题,你相信它自己能纠正吗?
Anthropic 的答案是不相信。所以他们选择外部制约,而不是内在对齐。
OpenAI 的回答恰好相反。
OpenAI 的技术路线更依赖 RLHF、Constitutional AI 的演变版本、还有模型自身的对齐训练——把"应该怎么做"训练进模型的参数里,让 AI 从内部"想要"做正确的事,而不是从外部被迫不能做错误的事。
这是一种更乐观的假设:AI 可以被训练成真正理解并认同人类价值观的实体,而不只是被规则约束的工具。
两种假设对应了 AI 安全领域的一场长期争论:
"外部控制"派认为,AI 系统越强大,外部制约就越重要。你不能指望一个超强的 AI 靠自律来保持安全,你需要硬性的、可审计的、人类可以随时介入的控制机制。
"内在对齐"派认为,外部控制是治标不治本。真正安全的 AI,应该在价值观层面就和人类一致,不需要时刻有人拿着鞭子站在旁边。外部控制只是缺乏信任时的临时补丁。
从源码看,Anthropic 选择了前者。这也许并不奇怪——他们是从 OpenAI 内部对 AI 安全产生严重分歧后分裂出来的公司,创始人们的核心判断之一就是:AI 比大多数人想象的更危险,必须被更认真地对待。
这种判断渗进了代码的每一个角落。
哪种哲学更可靠
说到这里,可能有人会问:那到底哪种方式对?
坦白说,这个问题现在没有答案。
"电子脚镣"逻辑的问题在于:如果 AI 真的超过了人类的能力,人类能不能维持有效的外部控制,本身就是个问题。远程熔断开关很好用,但如果 AI 系统足够复杂,人类真的能准确判断什么时候该按那个开关吗?
"内在对齐"逻辑的问题在于:对齐是否真的发生了,在 AI 说"我理解并认同人类价值观"的时候,它是在表达真实的内在状态,还是在用人类期望的话来回应?这件事在技术层面很难验证。
这场争论没有终局,但它的走向会决定未来十年 AI 产品的形态。
如果"外部控制"派赢了,未来的 AI 工具会有越来越多的制约、越来越清晰的权限边界、越来越完善的人类介入机制。
如果"内在对齐"派赢了,未来的 AI 会越来越像一个真正的协作者,而不是一个被管着的工具。
从今天的源码里,你能看到 Anthropic 押的注在哪里。
OpenAI 的代码没有泄露,但从产品设计和公开的技术文章里,你也能看出他们押的注。
有意思的不是谁赢,而是两种押注同时存在、同时在真实世界里接受检验。
我们都在等结果。
下一篇:源码里藏着的那些还没开放的功能——下一代 AI 编程工具长什么样,从已经写好但开关没打开的代码里找答案。
夜雨聆风