Claude Code 之父关于软件工程的末世预言

Claude Code 之父关于软件工程的末世预言Boris Cherny 加入 Anthropic 的第一天 提交了一份手写的 Pull Request 代码没有问题 逻辑清晰 风格整洁 毕竟他曾是 Meta 最高产的代码贡献者之一 负责 Instagram Facebook WhatsApp 和 Messenger 全线代码质量 但他的入职指导伙伴 Adam Wolf 却拒绝了这个 PR 理由只有一个 你应该用

大家好,我是讯享网,很高兴认识大家。



Boris Cherny 加入 Anthropic 的第一天,提交了一份手写的 Pull Request。代码没有问题,逻辑清晰,风格整洁——毕竟他曾是 Meta 最高产的代码贡献者之一,负责 Instagram、Facebook、WhatsApp 和 Messenger 全线代码质量。但他的入职指导伙伴 Adam Wolf 却拒绝了这个 PR,理由只有一个:“你应该用 Clyde(Claude Code 的前身)来写。”

那是 2024 年 8 月。一个曾在 Meta 管理过上万次代码迁移的工程老兵,被告知手写代码已经过时了。

这个场景几乎可以作为整个软件行业正在经历的范式转换的完美缩影:当写代码从一门需要十年修炼的手艺,变成一种可以被模型代劳的基础设施时,工程师的价值锚点必须重新定义。在 Pragmatic Engineer 播客最近对 Boris 的深度访谈中,这位 Claude Code 的创造者和工程负责人毫无保留地描述了他的新工作方式——以及这种方式对所有技术管理者意味着什么。


Claude Code 的起源故事几乎违反了产品开发的所有教科书规则。

Boris 最初只是想了解 Anthropic 的公共 API。他不想构建 UI,于是写了一个终端里的聊天程序——“因为当时 AI 就是这个东西:一个聊天机器人”。转折点出现在他给模型接入了一个工具:Bash。

“我甚至不知道它能不能做到,但我问它‘我正在听什么音乐’,它就用 AppleScript 查询了我的音乐播放器,一次搞定。”这是 Boris 在 Anthropic 的“第二个震撼时刻”。而第一个,是 Clyde 一次性生成了一个完整可用的 PR,替代了他半天的手工劳动。

这两个时刻揭示了一个在当时被大多数人忽略的洞察:模型天然想要使用工具。Boris 的原话是:“如果你给它一个工具,它会自己想办法用这个工具来完成任务。”

这与行业主流思路形成了鲜明对比。大多数 AI 编程工具的设计思路是把模型“装进盒子里”——你预定义接口,预设行为边界,让模型充当系统中的一个模块。Boris 称之为“苦涩教训的推论”(a corollary of the bitter lesson):不要试图把模型放进盒子里。不要试图强迫它以特定方式行为。给它工具,让它自己决定怎么用。

Claude Code 的工具集因此极度精简——Bash 和文件编辑,仅此而已。后来团队不断实验新工具,“统计上大多数我们写的代码都被扔掉了”。他们甚至试过本地向量数据库做 RAG(检索增强生成),最终发现“自主搜索打败了一切——说白了就是 glob 和 grep”。模型变得足够聪明,能自己搜索代码库,就像 Instagram 工程师在点击跳转到定义失效时做的那样:搜索 foo( 来找函数定义。

这种“让模型自己来”的哲学,与其说是产品设计决策,不如说是一种对智能本质的认知——你不需要为模型搭建脚手架,你需要为它拆除围栏


Boris 目前的日常工作流是这样的:五个终端标签页,每个都有一个独立的代码仓库检出。他在每个标签页中启动 Claude Code 的 Plan Mode(连按两次 Shift+Tab),像轮盘一样在它们之间巡回——第一个标签页开始规划时,切到第二个启动另一个任务,然后第三个、第四个。当收到通知说第一个完成时,回去审查结果。

“每天 20 到 30 个 PR。Opus 4.5 和 Claude Code 写了其中 100% 的代码。我没有手动编辑过一行。”

这不是夸张修辞。Boris 回忆他在 2024 年 12 月的“编程假期”——在欧洲各地边旅行边写代码,整整一个月,Opus 引入的 bug 大约两个。如果是他自己手写,“大概会有 20 个”。

更令人不安的是他的下一个发现:他卸载了 IDE,而且是在一个月后才意识到自己根本没在用它。他现在甚至用手机写代码——通过 Claude 桌面应用的 Code 标签页,在 iOS 上启动代理。“如果六个月前有人告诉我,我会在手机上写三分之一到一半的代码,我会觉得他疯了。”

对于技术管理者而言,这里的关键不是个人英雄主义的故事,而是生产力的度量单位正在发生根本性变化。Boris 在 Instagram 时代就是 Top 3 的高产工程师,但那时候的 20-30 个 PR 大多是代码迁移类的一行修改。现在的 20-30 个 PR,“每一个都完全不同——有些是几千行,有些是几百行,有些是一行”。这意味着在 AI 辅助下,生产力的提升不是线性的,而是维度上的跃迁:从“写得快”到“同时思考更多不相关的问题”

这种工作方式有一个 Boris 团队内部的术语——“非关联上下文窗口”(uncorrelated context windows)。每个并行的 Claude 实例拥有独立的上下文,它们不知道彼此在做什么。这实际上是一种测试时计算(test-time compute)的形式,通过投入更多不相关的推理路径来提升结果质量。


“如果 AI 写了所有代码,谁来审查?”——这是每个 CTO 在午夜三点会惊醒的问题。

Boris 的答案是一个他称之为“瑞士奶酪模型”的多层防御体系——这个比喻来自航空安全领域,意思是没有任何单一防线是完美的,但足够多的层叠加在一起,总概率会趋近于安全。

第一层:模型自测。 Claude Code 在写完代码后,会自发运行测试——这不是被编程进去的行为,而是从 Opus 44.5 开始模型“自发”出现的能力。它甚至会启动自身的子进程来进行端到端测试。

第二层:CI 中的 AI 审查。 Anthropic 的每一个 Pull Request 都由 Claude Code(通过 Claude Agent SDK)进行代码审查。Boris 估计这一步能捕获大约 80% 的 bug。Claude 会自动修复它能处理的问题,对不确定的部分则留给人类。

第三层:人类终审。 始终有一个工程师做第二轮代码审查。“至少现在,循环中必须有一个人。”

第四层:确定性检查。 类型检查器、linter、构建系统——这些传统工具并未被取代。Boris 特别提到他的旧习惯:过去他会把代码审查中反复出现的问题记在电子表格里,攒够三四个就写一条 lint 规则。现在他直接在同事的 PR 里 @Claude,“请为这个写一条 lint 规则”。

第五层:模型对齐。 针对提示注入等安全风险,Opus 4.6 在模型层面增强了抵抗力。结合运行时分类器和子代理摘要机制(例如网页抓取结果先由子代理总结,再返回主代理),形成了多层次的安全纵深。

Boris 坦承不确定性是这个模型的核心挑战——“LLM 是非确定性的”——但他的应对策略不是追求确定性,而是用概率堆叠来逼近确定性。“你只需要数一数那个概率里有多少个 9,然后选择你想要的阈值。”

这对技术管理者的启示是深刻的:代码质量保障正在从“人审人”的线性流程,演变为“AI 审 AI + 人审 AI”的复合概率系统。 管理者的角色不再是确保每一行代码都被人类眼睛看过,而是设计和维护这个多层概率模型。


在 Anthropic 的 Claude Code 团队,没有人写 PRD(产品需求文档)。

这不只是因为 Anthropic 仍是一家初创公司、不需要太多对齐流程。而是因为他们发现了一种根本不同的产品开发方式:原型即规格说明

Boris 举了一个例子:团队为 Claude Code 的任务列表功能制作了 15 到 20 个交互式原型——不是线框图,不是 Figma 模拟,而是真正可运行的版本——在一天半内完成。在传统工作流中,“一两周做三个就不错了”。

更极端的例子是 Agent Teams(Anthropic 的“群体智能”实现)。Daisy、Suzanne、Karen 等团队成员在几个月内试了“大概几百个版本”,才找到用户体验足够好的方案。“如果我们从 Figma 的静态模型或 PRD 开始,根本不可能交付这个功能。”

Boris 把这种方法论的转变归因于一个简单的经济学变化:建造成本的断崖式下降改变了最优策略。“在旧方式里,建造成本高,所以你必须花大量精力仔细瞄准后再开枪,因为你只有有限的子弹。现在,建造成本极低——但我们也不知道应该瞄准哪里。所以只能不断尝试,看什么感觉对。”

他的自我评估也毫不留情:“坦白说,我大概有一半的想法是糟糕的。我不知道是哪一半,直到我尝试过。”

这里有一个更深层的组织设计启示:在 Anthropic,团队中每个人都写代码——工程师、设计师、数据科学家、财务人员。这不是一种文化号召,而是 Claude Code 降低编程门槛后的自然结果。当团队的数据科学家开始用 Claude Code 跑 SQL 查询并生成 ASCII 可视化时,“下一周那一整排数据科学家的电脑上都装了 Claude Code”。

原型文化的本质不是“快速迭代”——这个词已经被用滥了。它的本质是承认无知,并用大量低成本实验来对冲认知偏差。


Boris 最钟爱的隐喻来自 15 世纪的印刷术革命。

在古腾堡之前,欧洲不到 1% 的人识字。抄写员是一个精英阶层——需要多年训练,需要领主或国王的雇佣——而雇主本人往往是文盲。“国王自己不识字,所以需要雇佣抄写员。”

Boris 认为今天的软件工程师就是那些抄写员。“我们有企业主,他们知道自己想建什么,但他们自己不能写代码。所以他们雇佣软件工程师。我们经常嘲笑那些拿着白板草图来说‘这应该很简单’的 CEO——但他们和中世纪的国王处境完全一样。”

印刷术出现后,印刷品成本在 30-50 年内下降了约 100 倍,数量增长了 10000 倍。全球识字率最终从不到 1% 攀升到 70%——虽然这花了两三百年。“抄写员并没有消失。他们变成了作家和作者。这个新类别之所以存在,是因为文学市场扩大了无数倍。”

Co-Work——Claude Code 团队在 10 天内构建并发布的面向非工程师的产品——是这个隐喻的直接产品化。Boris 看到了经典的“潜在需求”信号:非技术用户正在“跳过重重障碍来使用一个不是为他们设计的产品”。有人用 Claude Code 监控番茄植物生长,有人用它恢复损坏硬盘上的婚礼照片,Anthropic 的财务团队和销售团队都在日常使用 Claude Code。

Co-Work 的技术架构并不复杂(“同一个 Claude Agent SDK,同一个 Claude Code”),但在安全层面投入巨大:虚拟机沙箱、多层分类器、重新设计的权限系统、Chrome 扩展的安全交互模型。因为目标用户不会(也不应该需要)阅读 Bash 命令来判断 AI 在做什么。

Boris 用 Co-Work 做他自己的项目管理——让它打开 Google 表格检查未更新的状态行,然后自动在 Slack 上提醒对应的工程师。这个场景几乎就是“CEO 终于学会了自己读写”的现代翻版。


Boris 在访谈尾声抛出了一个几乎挑衅性的观点:“今年是通才之年,也是 ADHD 之年。

他的工作已经从深度聚焦单一任务,转变为在多个 Claude 实例之间跳转、管理多个并行上下文。“关键不再是深度工作,而是我在上下文切换方面有多出色。”

这与他在 Meta 的经历形成了有趣的对照。在那里,他花了七年时间证明代码质量对工程生产力有“两位数百分比”的因果影响——这是一个需要极度耐心和方法论严谨性的长期项目。而现在,他观察到团队里更新的成员、更年轻的工程师,“有时候以比我更好的方式做事”。模型每隔几个月就有质的飞跃,“过去不管用的想法现在可能管用了——这是历史上第一次,每隔几个月重试同一个想法不再是疯狂的行为”。

Anthropic 的扁平化组织架构映射了这种理念:所有人的头衔都是“Member of Technical Staff”(技术人员),不分工程师、PM、设计师。Boris 认为这不是一种组织实验,而是“对未来的一瞥”。“当每个人的头衔都一样时,你默认假设每个人什么都做。”

他列出了“正在贬值的技能”和“正在增值的技能”:

贬值的: 对代码风格、编程语言、框架的强烈执念。“模型可以用任何语言和框架,如果你不喜欢,它可以帮你重写。所以这些争论不再重要了。”

增值的: 方法论的严谨性(假设驱动的思维在产品设计和调试中都至关重要)、跨领域的好奇心(“如果你真正理解业务那一面,你就能构建真正出色的产品”)、以及一种持续的智识谦逊——“你必须始终保持初学者心态”。


Boris 在访谈中说了一句值得每个技术管理者打印出来贴在墙上的话:

“回想印刷术诞生的时候,如果让人们预测会发生什么,没有人会预测到麦克风的出现。”

从抄写员到作者,中间隔着 500 年的文明演化。从 IDE 到手机上的 5 个并行 Claude 实例,中间只隔了不到 12 个月。

软件工程正在经历的不是一次工具升级,而是一次社会分工的重构。代码从一种需要精英阶层掌握的“手艺”,正在变成一种所有人都可以使用的“基础设施”。在这个过程中,Boris Cherny 的日常工作方式——零手写代码、原型代替文档、通才代替专才、概率代替确定性——不是一个极端案例,而是一幅来自未来的速写。

那些仍在争论“AI 到底能不能写出生产级代码”的人,可能还没意识到:问题不是 AI 能不能写代码。问题是当 AI 能写代码之后,你能做什么。

印刷术没有让抄写员失业。它让整个世界识了字。然后,一些抄写员成了莎士比亚。


小讯
上一篇 2026-03-09 10:55
下一篇 2026-03-09 10:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/209085.html