为什么偏偏是 claude code 赢了
从一个终端窗口伸出的无限触手——Claude Code 的缰绳效应
2 月初 SemiAnalysis 发了一份报告,标题就叫《Claude Code is the Inflection Point》。报告里说,截至 2 月 2 日,Claude Code 每天的代码提交量已经占到 GitHub 公共提交的 4%,照这个速度涨下去,到 2026 年底会超过 20%。20% 是往后推出来的,到时候能不能到不知道,但我只能说,光是 4% 就已经很吓人了。GitHub 上有几千万活跃开发者,Claude Code 才发布 13 个月,它不是 IDE,也不是什么 SaaS 平台,就是终端里的一个命令行工具。
而且不只提交量这一个数。Mercury 的数据说,70% 的创业公司首选的模型是 Claude。NASA 拿 Claude Code 给火星探测器 Perseverance 算轨道,团队还把这件事做成海报挂在办公室里,Boris 的原话是「这是最酷的事」。从 YC 的初创公司到火星任务都在用,光看一个指标已经说不清它铺得有多开了。
我自己天天在 Claude Code 里干活,这些数字我一点不意外。让我意外的是,主流分析机构终于开始把它当回事了。
报告里有个类比我觉得挺准,说 ChatGPT 时代是 Web 1.0,Claude Code 时代是 Web 2.0。Web 1.0 是静态网页,你发一个请求,服务器回一个页面。TCP/IP 是底层协议,但真正做出万亿价值的,是后来建在它上面的动态应用。ChatGPT 的 API 就相当于 AI 世界的 TCP/IP,发过去一段文字,回来一段文字,一问一答。
Claude Code 做的事不一样。它在模型外面套了一层 harness(模型外面那层控制程序),让模型自己读 codebase、定执行计划、调工具、跑命令、验证结果、自己 debug,一轮轮做下去,直到任务做完。有了这层 harness,模型干的活就从「回答问题」变成了「完成任务」。以前是你问它答,现在是你给它一个目标,它自己把整件事跑完。
harness 外壳把模型套进读代码→定计划→调工具→验证→自己 debug 的循环,从回答问题变成完成任务
Boris Cherny 是 Claude Code 的作者,这个产品怎么来的,他在访谈里讲得挺清楚。2024 年 9 月,他就是想试试 Anthropic 的 API,用 TypeScript 写了个最简单的终端聊天程序,然后给模型加了个 Bash 工具,纯粹因为文档里的示例就是这么写的。这下模型能读文件,也能跑命令了。然后他随口问了句「现在在听什么歌」,模型自己写了一段 AppleScript,控制了他的 Mac,去查音乐播放器,把正在放的歌名报给了他。当时用的还是 Sonnet 3.5,放到今天看,能力很有限。没人教它这么干,prompt 里也没写「请控制用户电脑」,它拿到工具以后,自己想出了怎么用工具把这件事办了。
Boris 说那是他第一次真正有 AGI 的感觉:「这个模型只是想要使用工具。这就是它想做的全部事情。」
但起源故事只讲了一半。harness 重要,模型本身变强更重要。今天的 foundation model 已经不是补全文本的机器了。Opus 能自己想下一步做什么,判断该调哪个工具,看了返回结果再定下一步,一个决定接一个决定地做,直到把复杂任务做完。想、做、判断、再做,agentic model 底下就是这么一个循环。能碰 codebase、能跑 shell 命令、能调 API、能读写文件系统,这些只是它能动手的地方,拿主意的是模型自己。
这跟以前所有的自动化都不一样。CI/CD 管线、自动化脚本、RPA,全是按写死的规则跑,if A then B, else C,自己没有判断力,碰上意外就卡死。agentic 的做法是模型先弄懂任务、拆目标、想好路线,再去调工具干活,一条路走不通就换一条。所以它能干多少,不再被事先写好的规则卡住,天花板变成了模型的判断力,而判断力在指数级往上涨。第五篇说的那 99.99% 的人,可能还觉得 AI 就是个更聪明的搜索引擎。用过 Claude Code 就知道,AI 已经能直接把事情干了,从头干到尾那种。
传统自动化按写死的规则跑、遇障碍就卡死,agentic 范式先理解再规划、遇阻能换条路
那为什么偏偏是 Anthropic?头部几家的模型能力差得越来越少,OpenAI 的算力更多,ChatGPT 的月活也比 Claude 多得多。我只能说,Anthropic 先想明白了一件事,「编排」比「生成」更重要。benchmark 上多两分少两分,他们好像没那么在意,心思都花在怎么让模型真替人把事做完上了。
他们拿出来的,是一个看着很「原始」的终端工具。这个选择甚至说不上是深思熟虑的。Boris 说做成终端程序,纯粹因为当时团队就他一个人,用不着也没时间做 UI,本来就是个原型,从最便宜的地方起步。但他们后来一直留在终端,原因挺有意思。模型进步太快,他们觉得什么 UI 六个月后都会过时,终端反而因为「原始」,成了最经得住时间的形态。
公司内部用起来的速度,也印证了这个判断。第一版原型做出来两天,坐他对面的工程师 Robert 就自己用上了,没人让他用。准备对外发布的时候,Dario Amodei 看着内部使用量的图表问:「DAU 图表完全垂直上升。你们在强制工程师使用吗?」Boris 说没有,他就发了个帖子,然后大家自己就开始互相安利了。
选终端听着反直觉,但道理很硬。IDE 插件更友好,更像个「产品」,可插件里的 AI 只能在一个受限的沙箱里帮着写代码。进了终端,就等于拿到了整台电脑的权限,能读文件系统、跑 shell 命令、调 API、部署服务,能干的事没有上限。Cursor 和 Copilot 那套,其实还是人在写代码,AI 在旁边搭把手。Claude Code 是你把想要什么说清楚,剩下的它自己去跑。这两个东西看着都叫 AI 编程,其实差得挺远,差的是整个干活的方式。
还有一点我觉得真的很牛,就是他们对模型能力会怎么涨的判断。Boris 说团队最信的一条是,别给今天的模型做产品,要给六个月后的模型做产品。刚发布的时候,模型大概只能写他 10% 到 20% 的代码,产品并不好用,他们赌的就是模型会变强。而且对他们来说这都不太算赌,因为三位联合创始人就是 Scaling Laws 论文的前三位作者,指数增长他们天天都在经历,用不着说服自己。
团队办公区的墙上,挂着一幅裱好的 Rich Sutton《苦涩的教训》,讲的就一件事,更通用的模型最后总会赢过更专门的模型。所以他们不给 Claude Code 加复杂的脚手架和 workflow 编排。Boris 说脚手架也许能把性能提 10% 到 20%,但下一个模型一出来,这点提升就被抹平了,与其一遍遍重搭脚手架,不如把注押在模型身上。
这么干下来,代码上有个挺离谱的结果,Claude Code 里没有一行代码是六个月前写的。产品一遍遍重写,用不着的工具删掉,新的加进来,每隔几周就迭代一轮,一段代码可能也就活几个月。
Claude Code 团队是用 Claude Code 来开发 Claude Code 的。Boris 说从 Opus 4.5 开始,他自己的代码 100% 是 Claude Code 写的,IDE 已经卸了,一行都没手动改过,每天提 10 到 30 个 PR。今年 1 月出的 Cowork,4 个工程师 10 天做完,代码全是 Claude Code 写的。Plan Mode 这个功能,Boris 说其实就是在 prompt 里加了一句「请先不要写代码」,他周日晚上看 GitHub Issues,花 30 分钟写出来,第二天早上就上线了。用户要什么,直接就变成功能,产品自己造自己,这个循环会自己越滚越强,竞争对手很难抄。
Claude Code 用自己造自己,用户需求直接变功能,形成对手难抄的自我强化循环
这还带出了一种挺特别的干活方式,就是并行 agent。简单的 bug 一个 agent 就够了。碰上复杂的问题,Boris 会同时开三到五个甚至十个 agent,每个从不同的角度去查。他管这个叫不相关的 context window,各自独立的 context window 开得越多,整体能力越强,快只是顺带的。
Boris 觉得 Plan Mode 活不了太久,他说可能也就一个月。Claude Code 已经能自己判断要不要先规划再动手,再往下走,模型就完全用不着这种专门切换的模式了。功能就是这样一点点被模型吃进去,变成它本来就会的东西。
有人问 Boris 今年会发生什么,他给了一个下限、一个上限。下限是编码对所有人来说都算解决了,「软件工程师」这个头衔开始消失,换成 builder 或者产品经理这类叫法。上限他自己说「恐怖得多」,就是到 ASL4,模型开始递归式地自我改进。ASL 是 Anthropic 的安全等级体系,规定了发更强的模型之前必须达到哪些严格标准。Boris 说他在食堂偷听到别人聊天,大家聊的都是 AI 安全,「这真的是每个人最关心的事」。把编码 agent 做得最强的这家公司,内部聊得最多的却是安全,我觉得挺有意思,也确实只有他们是这样。
光我一个人这么说,可能是个人偏见,所以值得听听写了几十年代码的人怎么说。分量最重的是 Andrej Karpathy,就是一年前造出 vibe coding(氛围编码)这个词的人。他最近说,他已经明显感觉到自己手写代码的能力在慢慢退化,在脑子里,生成代码和看懂代码用的是两种不同的能力。这话他说我是信的,因为他天天泡在这些工具里,自己哪方面在退化,他感受最直接。
别人说得更直白。NodeJS 的作者 Ryan Dahl 直接下了结论,「人类编写代码的时代已经结束」。Rails 的作者 DHH 说,现在手写 Ruby 代码已经算是一种奢侈,这门手艺也许很快就会失传。连 Linus Torvalds 都开始用 AI 帮着写代码了。
前 Google 工程师 Steve Yegge 给了个更夸张的数,说现在一个 Anthropic 工程师的平均生产力,是巅峰期 Google 工程师的 1000 倍。三年前行业还在争到底有没有「10 倍工程师」,这边直接说 1000 倍,拿来比的还是巅峰期的 Google 工程师。这个数听着夸张,但我是信的。Anthropic 内部用上 Claude Code 以后,每个工程师的生产力提升了 150%。Boris 以前在 Meta 管全公司的代码质量,Facebook、Instagram、WhatsApp 所有的 codebase,一个专门的团队干一整年,能提升几个百分点。所以放在传统软件工程里,150% 根本不敢想。
连招聘都在变。YC 在试着让候选人交 Claude Code 的 session 记录,看他和 agent 一起开发一个功能的整个过程。合伙人说,这样能看出一个人怎么想问题,会不会看日志,agent 跑偏了能不能拉回来,有没有系统思维。现在看的就是你能不能用好 agent,代码本身写得怎么样,反倒没那么重要了。
反正现代编程就是这批人定义出来的,他们现在各自用自己的方式说同一件事,手写代码的时代要走到头了。但如果只把 Claude Code 当成编程工具,还是会错过真正在发生的事,因为写代码只是这场范式转移的第一站。它怎么从代码一路扩到所有事情,第九篇接着聊。