Claude Code 创造者 Boris Cherny 深度访谈 -- 从 Meta 七年到 Anthropic,一个改变软件工程方式的工具是如何诞生的
从 eBay 上卖宝可梦卡片发现 HTML,到计算器上写汇编作弊,Boris 的编程之路始于极其实用的动机。
在 eBay 卖宝可梦卡时发现了 blink 标签,用它让卡片从 49 分卖到 99 分。编程从一开始就是实用工具。
在 TI-83 上写答题器给全班用,随着考试变难,从 BASIC 降到汇编来提速。8年级就碰底层了。
大学辍学做多个创业项目,包括大麻评测网站和 YC 医疗软件公司。每次失败都在验证产品市场匹配。
"Coding is a means to build things and to make useful things. I never thought that coding would be a career at all. It was always very practical to me." -- Boris Cherny
在 YC 创业公司 Agile Diagnosis,Boris 发现医生根本没时间用他们的决策树软件 -- 5分钟的间隙,3分钟等电脑启动,剩下的不够登录。他骑摩托车去 UCSF 跟随医生观察了两天才发现这个问题。这种"先理解用户,再写代码"的方式,定义了他之后的职业风格。
从 Facebook Groups 到领导整个 Meta 的代码质量,Boris 在7年里获得4次晋升,并总结出代码质量对工程效率有两位数百分比的因果影响。
Zuckerberg 要求每个工程师花 20% 时间修复技术债。Boris 建立了集中优先级排序和效果追踪体系,发现代码质量对工程效率有两位数百分比的因果贡献。
妻子在日本农村工作,Boris 从那里远程为 Instagram 工作。时差反而成了优势 -- 没有会议,有更多时间做 code review,成为公司最高产的审查者之一。
Facebook 拥有世界最好的 Web 技术栈(Hack + HHVM + GraphQL + React + Relay),而 Instagram 是"类型检查不工作、跳转定义不工作的 Python + Django"。Boris 到 Instagram 后无法高效工作,于是主动转去做 DevInfra,推动了 Python 到 Facebook monolith 的迁移和 REST 到 GraphQL 的迁移。
"Code quality actually contributes like double digit percent to productivity. It turns out even at the biggest scale." -- Boris Cherny
Boris 加入 Anthropic 后手写了第一个 PR,结果被 ramp buddy Adam Wolf 拒绝 -- "你应该用 Clyde 来做这个。"这成了他的第一个 AI 顿悟时刻。
Boris 面试了多家 AI 实验室,选择 Anthropic 的原因是安全使命。作为一个重度科幻读者,他深知 AI 可能走向灾难的路径,而 Anthropic 聚集了"认真思考这个问题的人"。
"I just know how bad this thing can go and I just felt like this is a place that has serious thinkers. People are taking this very seriously and thinking about what can we do to make this thing go better." -- Boris Cherny
Clyde 是一个用 Python 写的研究工具,启动要 40 秒,不具备 agentic 能力,需要精确的 prompt 才能工作。但即便如此,它在半天的学习成本后,一次性生成了一个可工作的 PR。Boris 在 2024 年 8-9 月经历了他在 Anthropic 的第一个"天啊"时刻。
从一个终端聊天机器人到给它 Bash 工具后的"第二个顿悟时刻",再到内部爆发式增长和"要不要对外发布"的辩论。
Boris 想了解 Anthropic API,写了个终端聊天工具。"那时候 AI 就是聊天机器人。"
Tool Use 功能发布后,Boris 给聊天机器人加了一个 Bash 工具。问它"我在听什么音乐",Sonnet 3.5 一次性写了 AppleScript 去查音乐播放器。
内部采用率曲线"垂直上升"。Dario 问"你是不是在强迫大家用?"Boris 说不是,人们用脚投票。如今 Anthropic 80% 的代码由 Claude Code 编写。
"The model just wants to use tools. If you give it a tool, it will figure out how to use it to get the thing done. Don't try to put the model in a box. Don't try to force it to behave a particular way." -- Boris Cherny
不要把模型当作程序的一个组件。当时所有人的思路都是"在程序里挖个洞,塞进一个 AI 模块"。Boris 的顿悟是反过来:让模型自己决定用什么工具、写什么程序。这是 Bitter Lesson 的一个推论。
"Always understand the layer under" -- Boris 给工程师的建议是始终理解你工作的底层。10年前是理解 VM 和框架,今天是理解模型。
内部有过激烈辩论:这个工具让 Anthropic 工程师极其高产,要不要公开?最终决定发布,因为在真实环境中研究安全(in the wild)能获得实验室和评测无法给出的洞察。事实证明这是正确的决定。
5个终端标签、Plan Mode 起步、手机上开始一天的编码、每天 20-30 个 PR,零手写代码。
5个终端标签,每个有独立的代码仓库 checkout。循环启动 Claude Code,几乎总是从 Plan Mode 开始(Shift+Tab 两次)。溢出到桌面应用的 Work Tree 功能。
每天起床先在 iOS App 上启动几个 agent。Boris 自己估计大约三分之一到一半的代码是在手机上完成的。半年前他绝不会相信这件事。
"I wrote maybe 10-20 pull requests every day. Opus 4.5 and Claude Code wrote 100% of every single one. I didn't edit a single line manually. Opus introduced maybe two bugs, whereas if I had written that by hand, that would have been like 20 bugs." -- Boris Cherny
Plan Mode 先行:在进入实现前,先和 Claude 反复打磨计划。Opus 4.6 到了"有好计划就能一次完成实现"的水平。
没有唯一正确的方式:Claude Code 被设计为 hackable,因为每个工程师的工作流都不同。"We're like craftspeople -- you choose your tools."
Opus 4.5 是转折点:从那时起 Boris 卸载了 IDE,因为发现一个月都没打开过。模型写的代码比他自己手写的 bug 少 10 倍。
什么时候用 Learn Mode 深入跟踪,什么时候放手让多个 agent 并行,以及角色从"执行者"到"编排者"的转变。
新代码库 = Learn/Explanatory Mode:当你不熟悉代码库时,用 /config 设置 explanatory 输出风格,让 Claude 解释它在做什么。这也是 Anthropic 新人入职的推荐方式。
熟悉代码库 = 并行 Plan Mode:一旦熟悉了代码库,角色就从"跟踪执行"变成"编排多个 agent"。在第一个标签启动 Plan Mode、等它跑起来后去第二个标签、第三个标签......收到通知后回来审查。
"I don't really go deep into tasks anymore. I start a Claude in plan mode, have it kick something off. Once there is a good plan, it will oneshot the implementation almost every time." -- Boris Cherny
从 Meta 时代的电子表格追踪 review pattern,到今天让 Claude 写 lint 规则、CI 里跑 Claude 审查,再加人类最终把关。
每次在 review 中发现重复问题就记录到电子表格。当同一类问题出现超过3-4次,就写一个 lint 规则自动化它。"I've always tried to automate myself away."
Claude 写完代码后会自动运行测试,甚至会启动自己的子进程来端到端测试 Claude Code 本身。这是 Opus 4.5 开始自发出现的行为。
每个 PR 都由 Claude (Agent SDK) 在 CI 中做 code review,能捕获约 80% 的 bug。并行启动多个 agent + 去重 agent 做 best-of-N 来提高确定性。
最终仍然有工程师做第二轮审查并批准变更。"至少现在,必须有人在回路里。"
"Claude is actually so good at writing lint rules. Now, when a coworker puts up a PR and I think 'this is lintable', I'll just be like: @Claude, please write a lint rule for this." -- Boris Cherny
令人惊讶地简单:一个核心查询循环 + 不断增删的工具集 + 多层安全机制。复杂的是安全,不是功能。
一个查询循环 + 一组工具。工具经常被添加和删除 -- 团队在不断实验。
处理用户交互、终端集成、IDE 扩展等前端体验。
多层安全机制:模型对齐、分类器检测、静态分析、用户权限控制 -- 瑞士奶酪模型。
以 Web Fetch 为例(Claude 读取网页可能遇到恶意指令):
1. 模型对齐:Opus 4.6 是"Anthropic 发布过的最对齐的模型",它本身就能识别并拒绝恶意指令。
2. 分类器:专门训练的检测模型,覆盖模型层可能遗漏的情况。
3. 人类确认:对高风险操作要求用户明确授权。
"For safety and security, there's no one perfect answer. It's always a Swiss cheese model. You need a bunch of layers and with enough layers, the probability of catching anything goes up." -- Boris Cherny
即使是 find 和 sed 这样的"安全"命令也有执行任意代码的方式。权限系统从 Claude Code 的第一个版本就存在。
Claude Code 默认对权限非常保守。原因是:即使是看起来安全的 Unix 命令也可能被利用。find 命令有 -exec 标志可以执行任意代码,sed 也有类似的系统调用方式。很少有工具真正是"只读"的。
用户可以配置 allow list,对每个需要权限的命令选择:
运行一次 / 本次会话允许 / 全局允许
这个权限系统从 Claude Code 最初版本就存在。团队还对 allow list 本身做安全检查,确保用户不会无意中开放危险权限。
统一头衔 "Member of Technical Staff"、通才优先、速度优先、以及 demo 文化如何驱动产品决策。
所有人都叫 "Member of Technical Staff"。效果:默认假设每个人都什么都能做。这打破了"你是工程师所以我不问你产品问题"的壁垒。
团队极小,迭代极快。想法 -> 快速原型 -> 内部测试 -> 决定是否发布,整个流程可能只需几天。
Anthropic 大量招聘通才。一个典型的"软件工程师"可能同时在做产品设计、用户研究、写需求文档、写产品代码、写基础设施代码、甚至做一些 ML 研究。Boris 认为这就是软件工程的未来。
"When everyone's title is member of technical staff, by default you assume everyone does everything. It inverts the relationship between people even if you don't know each other well yet." -- Boris Cherny
10天建成、从监控番茄到恢复婚礼照片、以及为什么"看到非工程师跳过障碍来使用你的工具"是最强的产品信号。
大量非工程师在用 Claude Code:有人用它监控番茄植物(摄像头 + Claude 每天汇报生长状况),有人用它从损坏的硬盘恢复婚礼照片,Anthropic 的财务团队和销售团队也在用。当人们跳过层层障碍来使用一个不是为他们设计的产品时,就该为他们做一个专属产品了。
"In the product world, when you see latent demand -- you see people jumping through hoops to use a product that was not designed for them -- that's a really good sign it's time to build another product that is built just for them." -- Boris Cherny
作为企业产品,Anthropic 看不到用户的数据。这让 bug 调查变得极其困难,也倒逼了隐私优先的日志设计。
Anthropic 作为企业公司极度重视隐私。当用户报告 bug 时,Boris 无法查看用户的日志。这要求团队在设计日志和事件时就考虑隐私保护 -- 只记录必要的结构化数据,不记录用户内容。
Claude Code 最初不是一夜爆红。真正的增长拐点是 2025 年 5 月 Opus 4 和 Sonnet 4 发布时。而 Cowork 则从发布第一天就获得了压倒性的正面反馈 -- 说明市场已经被 Claude Code 教育好了。
从 sub-agent 到 Agent Teams,以及"不相关上下文窗口"的概念 -- 为什么有时候遗忘是一种优势。
在同一个上下文窗口里做两个任务,第二个任务知道第一个任务的信息。Skill(/command)使用的就是父上下文。
Sub-agent 的上下文窗口是全新的,除了来自父 agent 的 prompt 外,不知道父上下文的内容。有时候这种"遗忘"反而是优势。
Agent Teams 允许一个 lead agent 将任务分配给多个 teammate agent。Boris 强调:不相关上下文窗口 + 更多上下文是两个独立的维度,把它们结合可能产生超线性的效果。
"There's this interesting thing where uncorrelated context windows and just throwing more context at the problem -- these are two different approaches and combining them tends to produce superlinear results." -- Boris Cherny
中世纪的抄写员变成了作家和编辑。软件工程师正在经历同样的转变。
"One metaphor I have for this moment in time is the printing press in the 1400s. There was a group of scribes that knew how to write. Some of the kings were illiterate who were employing the scribes. And if you think about what happened to the scribes, they ceased to become scribes, but now there's a category of writers and authors." -- Boris Cherny
抄写员没有消失,他们进化了。印刷术让抄写的技能贬值,但创造了全新的"作家"和"编辑"角色。同样,手写代码的能力在贬值,但理解要构建什么、如何验证、如何系统性思考的能力正在急剧升值。
印刷术还让文学市场扩大了无数倍。同样,AI 编码工具将让"软件"的市场扩大无数倍 -- 以前无法被软件化的领域现在都可以了。
Boris 在 Anthropic 看到的三种杰出原型:快速原型者、产品市场匹配者、跨界混合人才。
从0到0.5的人 -- 能快速验证一个想法是否可行,理解技术能做什么不能做什么。
从0.5到1的人 -- 能把原型变成有真实用户的产品。理解用户需求,能找到产品市场匹配。
横跨产品+工程+基础设施,或设计+工程,或工程+商业的人。越来越多,也越来越有价值。
Boris 对安全问题的态度从"可能重要"变成了"最重要的事情"。从内部看到过去一年出现的新风险后,他对 AI 安全的担忧大幅增加了。
代码风格和语言之争可以扔掉了。方法论思维、好奇心、跨学科能力比以前更重要。
语言之争和代码风格之争。模型可以用任何语言和框架,如果你不喜欢,让它重写就好。这些争论不再有意义。
假设驱动、系统化思考 -- 对产品设计、调试、验证 AI 输出都至关重要。
理解业务端就能做出真正好的产品。下一个十亿美元产品可能来自一个同时懂工程、产品和商业的人。
Boris 推荐函数式编程,因为它教会你用类型思考 -- 这种思维方式在指导 AI 时同样有效。
"I think the next billion dollar product, the next trillion dollar startup, it might just be one person that has some cool idea and their brain is able to think across engineering and product and business, or design and finance and something else." -- Boris Cherny
科幻读物理解未来,函数式编程修炼思维。
《三体》作者的短篇集。Boris 是刘慈欣的粉丝,推荐不仅限于三体本身。
Charles Stross 的科幻小说。"本质上就是未来50年的产品路线图。"从 AI 起飞写到木星轨道上的龙虾意识体。关键是它捕捉到了加速的感觉。
即使语言选择不再重要,Boris 依然强烈推荐。"它教会你用类型思考。做所有习题,我做了三遍。"
"Accelerando is essentially the product roadmap for the next 50 years. It starts with takeoff starting to happen and ends up with group lobster consciousnesses orbiting Jupiter. The thing it really captures is just the pace -- this quickening quickening quickening pace." -- Boris Cherny