
Claude Code有多牛,大概已经不需要再多费口舌介绍。它是AI编程绕不开的一座大山,Anthropic最坚实的产品堡垒,也是Claude模型最能发挥其威力的主场。
2025年2月,Claude Code初次亮相,最初只是一个跑在终端里的AI编程工具,能自己读代码、改文件、运行命令,再根据运行结果继续修改。
同年5月,Claude Code正式向大众开放,并开始融入工程师更熟悉的开发流程:可以接入代码编辑器,也能在GitHub里处理任务、查看修改。
进入2025年下半年,Claude Code从“终端里的代码代理”继续进化,开始强调更自主的工作流、更长时间的任务执行、更好的回退与掌控力,并逐步嵌入到团队的软件工程流程中。
直到2026年,Claude Code已经长成了Anthropic最重要的AI Agent样板之一,成为这家公司用来证明“AI完全可以进入真实工作现场”的核心产品。
但,如果只看时间线和产品更新日志,未免有些无趣。
7月7日,Claude官方整理了一份关于Claude Code的历史故事。这些故事来自它的创造者们,也来自那些最初把它用起来、并推着它一路成长的早期用户。

这份历史最迷人的地方在于,它真实地还原了一个产品从无到有的全过程:一个早期的内部工具,是怎样被一小撮工程师反复使用、改造、吐槽、修复;又如何在模型能力跨过某个临界点后,突然摇身一变,成了Anthropic最重要的Agent产品样板。
有人说,它像一部情景喜剧的试播集,充满了各种尝试与错误。

也有人说,它像一个科技起源故事,只不过各种“剧情转折”,其实都不过是些Bug修复而已。

那么,让我们一起走进这个故事,看看这个让软件工程师们耳熟能详、爱不释手的Claude Code,究竟是怎样炼成的?

Anthropic很早就盯上了代码
故事要从2021年讲起。那时的Claude Code当然还不存在。
没有那个全大写的字符标志,没有后来被开发者反复截图的红绿代码行,更不用说“让Claude自己进代码库干活”这种在今天看来无比自然的产品形态。
那一年,Anthropic才刚刚起步。Dario Amodei从OpenAI“愤然离席”,立志要做一家更谨慎、更安全的AI公司。而“代码”,早早地就被摆在了公司的核心战略位置上。
2021年加入Anthropic的Dawn Drain,花了很长一段时间,心无旁骛地做一件事:让Claude学会写代码。她后来回忆说,自己在Anthropic头三年的主要项目,就是尽可能打造出一个编程能力一流的模型——目标很直接,至少得写得和她自己一样好。

这个目标听起来轻描淡写,真做起来却荆棘密布。他们从最简单的任务起步,先让模型尝试写一个小函数,然后自己再测试它对不对。很多时候,模型产出的东西一塌糊涂——函数逻辑不对,测试也跑不通。研究员们就继续拆解任务、调整训练策略、反复分析失败样本,再把模型能力往前推进哪怕一点点。

到了2022年,Anthropic已经开始认真琢磨“编程助手”这件事了。Anthropic联合创始人Ben Mann回忆,当他们决定动手做产品时,第一个做出来的就是个编程助手。那时它仅仅是一个VS Code插件,用户可以和它对话,它会针对一个问题给出几种不同的代码建议。

这就像一个坐在编辑器旁边的帮手:你问,它答;你给它一段代码,它给你几个可能的改法。在那时,它还不会自己钻进代码库翻文件,更不会打开命令行跑测试。
但这支研究团队显然不满足于此,他们迫切地想让模型“动起来”。光会写一段代码远远不够,它得知道代码到底能不能跑通。光能回答问题也不够,它要能自己搜索、调用工具,并在一个真实的环境里执行命令。
于是,工程难题一个接一个地冒了出来。Dawn和负责强化学习(RL)的同事们做了一个在当时很关键的事情:他们在容器里给模型接上了一个持久化的命令行环境。这使得模型不再仅仅是一段死板的“交卷式”代码生成器,它能实实在在地执行代码、读取输出,即便遇到超时也能被妥善处理掉。

到2023年,事情开始变得更加具体。Anthropic的研究团队已经不满足于让模型只写一个函数、跑一个测试了,他们开始朝着更开放的方向发力。Shauna的团队进展神速,他们给模型接上了bash工具,让它真正能在命令行里大展拳脚;同时也让模型拥有了搜索能力,可以自主在文件和信息汪洋里翻找。

这些东西现在听起来似乎很基础,但最基础的东西往往才最关键——对于一个会写代码的模型来说,这些能力简直就像“手”和“脚”。
在那时,Dawn Drain还在跟一个很具体的问题死磕:模型到底该怎么去“改代码”?让模型凭空生成一段新代码,和让它在已有项目里动手修改,完全是两回事。在已有项目里,代码绝不是一张白纸。你不能每次都让模型重写整个文件,更不能让它只在聊天框里丢出一句“我建议你把这里改一下”。它必须能精准地告诉系统:哪几行要删掉,哪几行要加上,改动应该精确落到哪里。
最自然的办法,莫过于让Claude学会写diff。毕竟开发者每天都要看diff,红色代表删,绿色代表加,一目了然。但真轮到一个模型来生成它,事情就没那么顺畅了。Dawn后来开玩笑说,她花了“令人尴尬地久”的时间去教Claude写diff——既要写得像人类开发者能看懂的修改记录,又要保证能被系统毫无差错地应用到文件里。
随后,他们捣鼓出了一个叫 clide 的命令行工具。

Shauna对它的评价是:“clide”虽然有些笨拙,但它非常、非常超前。”

想让clide正常工作,你得输入一大堆像咒语一样的指令。但奇怪的是,很多人都牢牢记住了它——因为它虽然难用,却带来了一种前所未有的神奇感觉。Dawn就曾经在编程时随手掏出clide,用它去回答一个关于整个文件夹的问题。正常情况下,这种体量的问题根本塞不进模型的上下文窗口,但clide会把任务分发出去,并行调遣上百个Claude Haiku去各自阅读,最后再把结果汇总收回。旁边的同事看见了,总是好奇地问她:“嘿,你从哪儿知道这些酷毙了的工具的?”

Adam Wolff也在clide上添加过一个早期的代理功能。那时clide还没有bash工具,能力相当有限,但它已开始能从一个不完整的改动里推测你的意图。当他第一次把这个功能跑通时,Adam在自家厨房里高兴得手舞足蹈。

clide最迷人的地方正在于此。它远远谈不上成熟,启动慢,操作繁琐,能力也短板明显。可只要你有过那么一两次,亲眼看见它真的帮你把事情漂亮地做成了,那种感觉便让人再难忘记。
Boris回忆起自己第一次被clide击中的经历:当时他手写了一个完整的Pull Request,结果Adam让他试试用clide来做。他把相关字符串直接复制粘贴进clide,它就自动生成了完整的请求代码。那只是一个五到十行的小改动,Boris却大受震撼:“我以前从没见过这样的工具,这简直像是来自未来的科技。”

如果用一个比喻,clide就像一块还未打磨好的原石。它太笨重、太慢、也太像内部玩具,可它已经把一个巨大的可能性,明明白白地摆到了Anthropic面前。
2024年1月,Ben Mann开始组建Labs团队。他敏锐地看到市场上存在一个巨大的空白:真正能干活儿的AI编程代理(Agent)尚未出现。同年9月,Boris加入Labs并开始接手相关工作。起初,Boris只想做一个代码检查工具,他想先从“代理式编程”的领域里切下一小块,做点小而具体的事情。
但Ben毫不犹豫地驳回了这个想法:“别做小的,要干,就干一票大的。”于是,Claude Code的车轮开始滚滚向前。

Boris后来回忆,他当时的第一反应是先学会怎么用Anthropic的API,因为在那之前,他自己也没正儿八经用过。于是他从零开始折腾,打开API,写一点,跑一点,想看看模型到底有多大本事。
一番瞎鼓捣之后,他弄出了一个叫“Claude CLI”的demo。

连Boris自己也承认,没人真正理解这个demo——包括他自己。这个demo长得很奇怪,它已经有了后来Claude Code的某些影子,但看来看去又不像一个清晰的编程产品。Boris曾让它去判断自己正在听什么音乐。Claude CLI没有让他手动输入歌名,也没调用什么规整的音乐接口,而是直接截了一张Apple Music的屏幕截图,然后自己读取了出来。

Boris说,这个demo大概花了他两天时间。如果用今天的Claude Code来重做,可能两分钟就搞定了。他把demo发到了公司内网的Slack上,反响平平,大概只收获了两三个赞。
但就在发布后的第二天,Boris在办公室里撞见了一个让他心头一震的场景。他看见同事Robert Boyce正在用Claude CLI干活。屏幕上跳动着红色和绿色的代码改动行——那种后来会变得极富辨识度的“修改痕迹”,Boris一眼就认了出来。Robert很自然地告诉他:“对,它正在帮我写代码。”

这对Boris的刺激太大了。Claude CLI还远远谈不上优秀,它粗糙、不稳定,离一个能正式发布的产品遥不可及。但Boris感到一股强烈的紧迫感。他开始连周末也扑在这件事上。朋友叫他出去玩,他也放不下。他后来形容,那段时间脑子里一直装着这个东西,就是停不下来。而且,这种紧迫感至今没有消失。

Claude Code的诞生
时间来到2024年10月,Boris几乎把全部精力都砸在了这个工具上。每周,他都跑去找Labs团队的工程负责人Raphael Lee要人。“Raph,给我工程师!”他知道这东西还非常粗糙,但也深知它不能再只做一个内部demo了。它已经开始变得有用,已经有人在真实地用它写代码。再往前一步,它就有可能蜕变成一个真正的产品。
Raphael后来回忆,Claude Code几乎“吃”掉了整个Anthropic Labs的资源。

尽管团队始终处在人才饥渴中,但规模并没有一夜之间膨胀。初期扩张主要靠内部转岗,外加一些节奏极慢、标准极高的外部招聘。这里出现了一个小分歧:Boris想把团队尽快做大,他需要人,需要速度,需要更猛的火力。而作为Claude Code团队的第一位经理,Adam Wolff却持有截然相反的态度。他不想让团队太快变大。Adam认为团队一旦扩张,流程、文化、产品判断都会变得复杂。多个人手当然能多做功能,但也极容易陷入过度设计、开过多的会、为了协调而协调的泥潭。

后来Boris回头看,也坦承小团队反而成全了他们。人少,就没法铺张宏大的架构;资源紧,倒逼着没法把每件事都做得很重;速度要快,因此只能把产品做得更轻量,同时也“迫使”他们不得不更多地依赖Claude本身来写代码。

Sid Bidasaria是Claude Code的第二位工程师。他在2024年8月加入Labs,之前没做过开发者工具,也没碰过编程工具。只是听说Boris手里有个很酷的命令行玩意儿,就跳了进来。最早那段时间,也就Boris、Sid,再加上“一点点”Ben Mann,在继续推进这个项目。他们一边做Claude Code,一边用Claude来写代码。

到了2024年12月,项目终于拿到了上线的“绿灯”。更多人从Labs和其他团队跳了进来,大概六七个人,开始进行最后一轮两周冲刺。Sid后来回忆,很多今天我们还能看到的核心功能,比如Bug反馈和登录流程,就是在那两周内做出来的。那一刻,他第一次真切地感觉到:“好吧,这东西真要变成一个正式产品了。”
他们的工作方式相当“粗暴”:代码库没有严格的PR限制,也没有很重的评审流程。发现Bug就直接修,用户说哪里不爽就马上改。Boris在早期还做了两个极其重要的设计:自动更新机制与完善的用户数据统计。这让Claude Code的迭代速度快得离谱。常常是有人前脚跑来抱怨“这地方不太好用”,几分钟后,用户手里的版本就已经静默更新了。

Claude Code本身也帮他们跑得更快——它是一个纯命令行产品,不是复杂的网页应用。没有庞大臃肿的前端架构,也没有太多层页面和服务要协调。简单,反而成了它最大的先发优势。
而这恰好形成了一个早期的“增长飞轮”:产品越能用,团队改产品的速度就越快;团队改得越快,用户越愿意持续反馈;反馈越多,产品就变得越可用。Ben Mann后来对此有一番精辟总结:做这种模型产品,你必须先做出一个现在只能成功二三成的“残次品”;等下一代模型出来,它也许就能成功八成;再下一代模型,可能就冲到九成以上。干这行需要极高的挫折忍耐力,因为你会一遍遍做错,一遍遍看到它不够好,但依然得坚持把那个“属于未来”的版本提前搭出来。他说:“你必须活在当下,同时也要着眼于未来。”

Claude Code当时就处在这种状态里。
时间推进到2025年2月,Claude Code终于正式对外发布。在正式露面之前,它先经历了一轮早期用户试用,但反响并没有想象中那般热烈。产品负责人Cat Wu后来回忆,那时很多人觉得想法很酷,但Bug实在有点多。更多时候,它就像一个潜力巨大的半成品:你能一眼看出它的远大方向,但同样能一眼看见它的种种毛病。尽管如此,团队还是决定,先把它发出去再说。

也是在这次发布前后,它从Claude CLI正式更名为Claude Code。这个名字出自产品营销团队的Alex Isken,团队喜欢它的简单直接,没有复杂概念,也无需多作解释。发布前的一个深夜,Igor Kofman又给它加了一个小彩蛋:他突然想到,如果登录时能有一个字符画成的Logo,会不会很酷?于是他和Claude一起填了一些字符画字体,做出了后来极有辨识度的全大写CLAUDE CODE标志。对于一个命令行工具来说,这种小细节,会突然让它有了人格与性格。

Meaghan Choi也加了一个她很是得意的玩意儿:终端里的小角色“Clawd”。

这个像素风格的小家伙原本是为Claude 3.5 Sonnet发布而生的,把它塞进冷冰冰的Claude Code终端里,多少有点“不务正业”,但也恰恰让这个硬核开发者工具在AI Agent开发社区里平添了几分可爱与温度。
就这样,Claude Code走到了外部用户的面前。

征服用户之路
早期的Claude Code远非完美,离后来那个声势浩大、一呼百应的Claude Code还差得远。但有些人,很快就被它击中了。
Ramp公司的工程师Austin Ray就是其中之一。他整个职业生涯都是命令行(CLI)的死忠,能待在终端里就绝不开别的窗口。当Claude Code以研究预览版发布后,他看见有人发帖提了一嘴,就去试了试。仅仅五分钟之后,他便产生了一种强烈的直觉:这东西将从根本上改变一切。

在Austin看来,只要一个工具能读、能编辑、能运行bash,它就已然拥有了搭建其他一切东西的元能力。于是他迅速在Ramp内部开始了近乎狂热的“推广运动”。他给每一个频道的同事发消息,看看还有谁在用这玩意儿。后来干脆直接走到别人办公桌前,让他们现场装好Claude Code,打开终端,把手头正干的活儿直接交给它试试。Austin后来和Boris、Cat每周都开反馈会议,开发者与核心用户之间那种珍贵的信任关系,就这样自然而然地建立了起来。

Bun的创始人Jarred Sumner也很早就试了Claude Code。他直接让它去给Bun实现WebSocket客户端的压缩功能,并把相关的RFC标准文档直接丢给它当“参考资料”。Claude Code一开始干得不怎么样,但在经历了好几轮提示和修正之后,它竟真的把功能给做出来了。这件事让Jarred彻底“上头”了——他甚至为此调整了Bun的工作优先级,让整个项目更便于与Claude Code配合。后来,Bun内部有人提议要不要禁用Claude Code,Jarred第一个跳出来坚决反对。


可以说,早期Claude Code的评价非常两极分化:有人觉得它Bug多,很不稳定;有人试了几分钟,就开始到处拉同事“入坑”;有人觉得它暂时帮不上自己什么大忙;也有人已经开始改变整个团队的工作方式去适配它。
有意思的是,同样的分裂也存在于Anthropic内部。Tristan Hume是做性能工程的,他的任务需要海量的背景知识,还常常涉及一些互联网上根本没有公开文档的定制加速器内核。对他来说,早期的Claude Code还不够强大。它无法很好地构建自己的工具,也不太擅长边调查边学习,因此除了少数特定的简单任务外,基本上派不上什么大用场。

2025年2月的Claude Code,并没有一举征服所有人。它让一部分开发者深感震惊,也让另一部分人觉得“还不够格”。但随后,Claude 4模型的发布,让一切都变得迥然不同了。

用AI圈流行的“黑话”讲,那大概能算作Claude Code的“ChatGPT时刻”——尽管Anthropic官方大概率不愿意被这么形容。我们必须清楚,在模型能力真正跨过那道“好用”的门槛之前,产品设计能做的事情其实相对有限。而Claude 4模型变得更会写代码,更会处理复杂任务,也更像一个能独立向前推进工作的自主Agent。Boris后来一语道破天机,Claude Code的真正起飞主要就靠两件事:模型能力的跃迁与商业模式的创新——订阅制。模型让产品功能变得真正成立,而订阅模式推出后,用户终于可以更自然、更高频地去使用它。

到这时,Claude Code开始变成了一个真能被开发者每天打开的生产力工具。也正是在这个阶段,很多人第一次意识到,Claude Code的作用早已不止是“提高写代码的速度”,它正在重新定义工程师与自己代码之间的距离。
Claude 4之后,Boris自己对Claude Code的依赖开始指数级攀升:到了2025年冬天,他更是公开表示,自己所有的代码都由Claude Code一手包办了,他不再亲手书写哪怕一行代码。

Shauna Kravec的情况则恰好相反。同样是Claude Code的重度用户,作为研究负责人的她,前几年其实已经不怎么亲手写代码了。但Claude Code反而让她重新写得更多了,因为写代码这件事,突然变得简单了太多。她不用再钻进每一个细节,从空白文件开始吭哧吭哧地敲。她只要把任务拆解开,放手让Claude先跑起来,再看结果、调整方向、继续推进。她说自己同时在用十二个不同的Claude实例干活:有的在读文档,有的在更新数据,还有的则负责从Slack里把关键信息抓取回来。

而Igor Kofman则看到了更深刻的一层变化:随着模型和Claude Code不断变强,人需要管理的对象也将向上再抽象一个层次。现在你可能还在管理一堆Claude实例,但再往后,你可能只需要管理那个“管理Claude的Claude”。这听起来像个绕口令,却精准对应了Claude Code后来演化出的两大方向:一是子代理,让不同的Claude分头处理不同任务;二是Skills乃至Loop Engineering,让人不再一步步提示AI,而是设计一套目标、检查规则与停止准则,让AI自己去反复推进。说白了,人写得越来越少,但安排得越来越多了。

Tristan Hume的感受则更为复杂。前面说过,早期Claude Code对他用处有限,但后来,他眼睁睁看着同事们从Claude Code那里获得了巨大的生产力杠杆。他意识到,如果要实现最高效率,编程的方式已经从根本上变了。而为了跟上这种变化,有时还得先付出一段不菲的适应成本。他甚至不得不专门请了一周的假,把自己的开发环境整个重新搭建好,才能让Claude Code更好地融入自己的工作流。

Cat Wu也观察到一个有趣的信任转变。Claude Code刚发布时,用户们都会小心翼翼地逐条审阅它提出的每一项权限请求:读什么文件,改什么东西,执行哪条命令,都要仔仔细细看一遍。但到了后来,绝大多数用户都开启了“自动接受一切”的模式。Cat Wu认为,这种变化的本质是Claude Code已经赢得了用户深层的信任。用户不再把它当成随时可能闯祸的“外来者”,而是把它当成一个已经熟悉项目、值得放手一搏的工作伙伴。

当然,这种信任的转变背后,除了产品体验的优化,恐怕还得归功于Claude Code增加了强大的回退机制。至少,用户们开始确信,就算它改错了,我也能轻松回退到之前的状态,不至于把事情搞到万劫不复的地步。这,或许是通往真正信任的最后一块拼图。
![宣传引导图已删除]