“不是 Cursor 不够强,是 Claude Code 太猛了” !Claude 创始人详解 Claude Code 如何改写编程方式

一句话总结

Claude Code 创始人详解其代理式编程理念、强大能力及如何重塑开发者工作流。

摘要

文章通过访谈 Claude Code 创始人 Boris Cherny,深入探讨了这款 AI 编码助手的核心理念、设计初衷和用户体验。他指出 Claude Code 基于终端的代理式编程方式,能够高效处理大型代码库,并在性能上优于现有工具。尽管其能力强大,但高昂的价格是其早期爆发增长的主要制约因素。访谈详细阐述了 Claude Code 如何与终端、IDE、GitHub Actions 等现有工具和平台无缝集成,以及 Claude 4 模型对产品能力的显著提升。Boris Cherny 认为 Claude Code 代表了编程范式的演进,开发者角色将从"手写代码"转向"审查和协调 AI 代理",并分享了通过 Claude.md 文件和"规划优先"策略提升使用效率的技巧。文章最后展望了 Claude Code 未来在工具协作和多平台集成方向的发展。

主要内容

    1. Claude Code 实现终端内的代理式编程,不强制改变现有开发环境。

    通过终端作为通用入口,Claude Code 能直接在开发者熟悉的工作环境中执行任务,无需学习新工具或更换 IDE,降低了使用门槛。

    1. 产品核心优势在于其强大的代码处理能力,尤其适用于大型复杂代码库。

    创始人强调 Claude Code 能高效处理遗留 bug、大型项目,甚至进行复杂重构,被认为是当前编程领域最强大的模型之一。

    1. Claude Code 正推动编程范式从手写代码转向 AI 代理协调与代码审查。

    随着 AI 能力提升,开发者将更多依赖 AI 完成编码任务,重心转向定义需求、审查 AI 产出和协调代理工作流,提升效率。

    1. Claude 4 模型极大增强了 Claude Code 的指令理解和任务执行能力。

    新模型能更准确理解用户意图,一次性完成更复杂的任务,显著提升了在终端和自动化环境(如 GitHub Actions)下的表现。

    以下是访谈实录:

Alex Albert:Boris,我们先从最基本的问题开始:Claude Code 是什么?它是怎么诞生的?

Boris Cherny:Claude Code 是一种在终端里实现代理式编程(agentic coding)的方法。你不需要学习新的工具、不用更换 IDE,也不必打开特定的网站或平台。它就是一种能够在你原本工作环境中直接使用的代理式编程方式。

这个想法,其实源于 Anthropic 的工程师和研究人员日常的工作习惯------因为每个人使用的技术栈都五花八门。真的非常多样,根本没有统一标准。有些人用 Zed IDE,有些人用 VS Code,还有人坚持说:"谁也别想从我手里夺走 Vim,除非我死了。"所以我们想做一个对所有人都友好的工具,最终选择了终端作为入口。

Alex Albert:我明白了,终端几乎是所有界面中最通用的,它灵活,而且早就融入大家的工作流了。

Boris Cherny:完全正确。而且终端本身也非常简单,正因为它够简单,我们的迭代速度就特别快。回头看,这是一个意外的优势,虽然最初并不是我们有意为之。

Alex Albert:那如果我是一个新开发者,刚开始接触 Claude Code,我怎么样才能真正让这个产品运行起来呢?

Boris Cherny:只需要从 NPM 下载:npm install -g @anthropic-ai/claude-code。安装完之后,只要你的系统里有 Node.js,就可以直接运行了。启动后它会一步步引导你完成剩下的配置流程。安装完后就可以直接和它对话,它就会开始写代码。

它能在任何终端中工作,无论是 iTerm2、Mac 自带终端,还是 SSH/TMUX 会话都没问题。很多人其实是在 IDE 内的终端里使用 Claude Code,例如 VS Code 的内置终端。在这种情况下,你不仅能看到文件被修改,还能在 IDE 里看到它以更美观、更清晰的方式呈现出来。我们也会利用 IDE 提供的更多信息,让 Claude 更智能。不过无论在哪个终端里,使用体验是一致的,你只需要在终端运行 Claude 就可以了。

Alex Albert:Claude Code 是今年 2 月发布的,到现在差不多三个月了。社区反馈怎么样?

Boris Cherny:太疯狂了,完全出乎我们的意料。其实在发布之前,我们还犹豫过要不要放出来。这个工具在我们内部用得非常多,极大地提升了工程师和研究人员的效率。我们甚至讨论过:"这是我们的秘密武器,我们真的要公开给外界用吗?"毕竟这就是 Anthropic 内部每天都在用的工具。

但后来事实证明,把它发布出去是一个非常正确的决定。它确实能提升生产力,而且大家真的很喜欢。起初只有我们核心团队的少数几个人在用,后来我们开放给所有 Anthropic 员工使用。当时我们看到一个 DAU(每日活跃用户)图,短短三天内几乎是垂直上涨状态。我们当时就觉得:"这太疯狂了,肯定是个爆款。"

之后我们挑了一些外部用户做试点,想确认是不是我们自己太乐观了,结果收到的反馈也都是非常积极的,那时候就很清楚了------它确实有价值。

所以它首先在 Anthropic 内部引起轰动,所有的工程师,所有研究人员都在使用它,这才让我们决定把它发布出去。

而且我们整个开发过程也特别有意思:Claude Code 本身是用 Claude Code 写出来的。几乎所有的代码都经过了多轮用 Claude Code 编写和重构。

我们非常相信内部测试,因为这真的很重要。你能明显感觉到哪些产品是开发团队自己每天在用的,那些产品的细节打磨都非常到位。我们希望 Claude Code 也成为那样的产品------你一用上它,就能感受到开发者的用心。

Alex Albert:你觉得目前 Claude Code 最理想的用户是谁?谁在用它?是怎样的开发者?

Boris Cherny:我认为最重要的事情是------Claude Code 其实是相当昂贵的。

如果你只是周末写写代码玩玩,那可以尝试下,比如你拿个 API key 充个五块钱试试。但如果想拿它做更严肃的工作,每月大概需要花五十、一百,甚至两百美元。取决于用途,一般而言,每月大概会花五十美元左右。

现在其实有很多企业在用 Claude Code。对于大公司来说,它非常合适。特别是在处理大型代码库时,它表现非常好。不需要额外做索引,也不需要复杂配置,基本上开箱即用,几乎适用于任何语言的大型代码库。

至于 Claude Code 跟 Claude Max 的整合,是因为我们之前发现,用 API key 支付的用户常常会担心用量问题,这反而影响了他们使用的积极性。为了改善这个问题,我们把 Claude Code 纳入了 Claude Max 订阅计划中。你只需要订阅 Claude Max,就能无限使用 Claude Code,每月是 100 美元或 200 美元不等。用户可以根据需求选择不同的价格和使用上限,但实际上很少有人能用到限制,基本可以看作是"无限量"的 Claude Code。

Alex Albert:那我作为一个开发者,机器上有自己的代码库,我打开终端,输入 claude 并回车,接下来会发生什么?

Boris Cherny:Claude 会调用各种工具,分步骤执行任务。如果你之前用过那种在 IDE 里的编程助手,助手所做的就是完成一行或几行代码。我们这跟那个完全不一样。

Claude Code 是非常"agentic"的------它会理解你的请求,然后使用它可以用的一切工具,比如 Dash、file editing 等等,去探索代码库、读取文件,获取上下文,然后再对文件进行编辑或做出你希望的更改。

Alex Albert:听起来像是对过去 20 到 30 年编程范式的一种全新变革。

Boris Cherny:对我来说,这种变化是有很深的历史背景的。我自己写代码已经很多年了,但其实,我外祖父在上世纪 40 年代就是苏联最早的一批程序员之一。

那时候还没有软件编程,他是用打孔卡片写程序的。在美国,当时 IBM 提供了一套类似 IDE 的系统,他每天就用这套系统编程,把纸质卡片带回家。我妈妈小时候会拿这些卡片当画纸,用蜡笔在上面涂涂画画,那是她童年的一部分。

从那时起,编程不断演进:先是打孔卡,然后是汇编语言,接着出现了 COBOL、FORTRAN 这些第一代高级语言。80 年代是 Java 和 Haskell 这类静态类型语言的时代,到了 90 年代,我们又有了 JavaScript 和 Python------解释型语言,但又具备一定的安全性。

编程语言的演进和编程体验的演进一直是同步进行的。比如 Java 出现的同时,我们也看到了 Eclipse 这样的 IDE,第一次出现了代码补全功能。你打一个字符,它就弹出建议列表问你"是不是想写这个?"对开发者来说,这是一次革命性的体验,因为你不再需要记住所有细节。

所以在我看来,今天 Claude Code 代表的是又一次演进的开始。语言本身已经相对稳定了,现代语言基本上可以归类为几个大的家族,而且彼此相似。

但现在的核心变化,是编程体验的变革:你不再需要处理打孔卡,不用写汇编,甚至不一定非得写代码,而是通过 prompt 与模型对话,然后模型计算出编码部分。这对我来说,是一件非常令人兴奋的事情。

Alex Albert:我们基本上是从打孔卡片时代进入了提示词时代。我们稍后展开聊,但在此之前,我想先聊聊模型方面的内容。在不久前,Claude Code 主要是由 Claude 3.7 Sonnet 驱动的。那么现在 Claude 4 系列模型在底层驱动 Claude Code,这带来了哪些新变化?你认为接下来会走向哪里?

Boris Cherny:大概是在模型发布前的几个月吧,我们内部开始尝试这些新模型。我还记得第一次用时真的被它的能力震惊到了,我认为这可以解锁许多新的使用场景。尤其是在终端里同步使用 Claude Code 时,一个很大的变化是:Claude 在理解和保持指令方面变得更强了。不管你是通过提示词还是通过 Claude.md 给它下指令,它都能很好地执行并坚持你的要求。

这点变化非常大,因为 Claude 3.7 虽然是个很强的编程模型,但是,它很难驾驭。

比如你让它写测试,它可能会直接 mock 掉所有测试代码,然后你还得对它说,"不,我不是这个意思。"通常你得说上一两次,它才会明白,但因为它太强了,所以你愿意容忍这些小问题。而现在,Claude 4 系列的模型基本上第一次就能准确地理解你的意图并按要求完成任务。

Opus 更是比 Sonnet 再上一个台阶,它不仅能很好地理解我的意图,还能一次性完成很多以前模型做不到的事情。比如说,我已经几个月没有亲自写过单元测试了,因为 Opus 会直接帮我写好测试,而且几乎每次都是一次性写对。在终端环境下这非常有用,因为你可以更"放手"地使用它。

但我觉得最酷的使用方式是放在 GitHub Actions 或其他环境里。你只需要给它一个任务,它就可以自动执行,等它带着正确结果回来时,那种"一次就成功"的体验真的很棒。

Alex Albert:所以现在在 GitHub Actions 里,我们可以直接在 GitHub 中 @Claude,让它在后台处理任务,最后带着结果和新的 PR 回来?

Boris Cherny:对,没错。你在终端像平常一样打开 Claude,运行 claude 命令,然后执行 /install GitHub Action,它会一步步引导你安装这个功能。只有几个步骤,但基本都是自动的,只需要点两下按钮,Claude 的 GitHub 应用就能安装到你的 repo 里。

整体体验真的挺酷的。在任何 issue 里,你可以直接 @Claude。我每天都在 PR 里用它。比如说,同事发了一个 pull request,我不会再说"嘿,你能不能修一下这个问题",我会直接说"@Claude,修一下这个问题",然后它就会自动修好。同样,我也不会再说"你能不能写一下测试"。以前说这个我还觉得有点不好意思,现在我只需要说"@Claude,写个测试",它就会自动完成。这些事情现在根本不再是问题了。

Alex Albert:这基本就是一种全新的编程方式------你可以随时调用一个随时可用的程序员来帮你解决问题,而且它不是在你的本地电脑上运行,而是在后台直接完成所有操作。

Boris Cherny:对,我觉得这是开始以"协作程序员"的方式来与模型互动。以前你是 mention 一个同事,现在你可以直接 mention Claude。

Alex Albert:那在这种模式下,软件工程会发生什么变化?当我们开始管理这些在后台运行的 Claude Code 实例时,会发生哪些转变?

Boris Cherny:我觉得这确实需要一些思维上的转变。

有些人非常享受控制代码的感觉,如果你习惯于手写代码,那么你就需要适应整个行业正在转向的方式------你不再是亲自写代码的人,而是协调 AI 代理来帮你写代码。你的工作重点也将从"手写代码"转向"审查代码"。

我认为对于程序员来说,这个变化非常令人兴奋,因为你可以在更短的时间里完成更多的事情。当然,还有一些我必须深入研究并手写代码的情况,但说实话,我已经开始害怕(dread )了------因为 Claude 在这方面非常擅长。

我认为,随着模型能力的进一步提升,那些你不得不亲自写代码的场景,比如特别复杂的数据结构,或者多个系统组件之间的高复杂交互,又或者是你实在描述不清楚的需求,这些情况会越来越少。未来,越来越多的编程工作将会是关于"如何协调这些 AI 代理去完成开发任务"。

Alex Albert:我想更深入聊聊你们的工作流,也就是你们如何使用这套工具组合:从 IDE 集成、Claude 在终端中的使用,到它在 GitHub 中做的这些后台操作。你现在是怎么把它们结合起来使用的?

Boris Cherny:我现在的工作基本可以分为两类。一类是很简单的任务,比如写一些测试,修复一个小 bug,这类任务我通常会直接在 GitHub Issue 里让 Claude 来完成。还有一种情况是我通常会并行跑多个 Claude。我本地有好几个代码库的副本,所以在某个终端标签页里,我会让 Claude 做一件事,按下 Shift+Enter 进入自动接受模式,然后过几分钟回来看看,Claude 通常会完成并给我发一个终端通知。

另一类工作就比较复杂了,需要我更深度地参与,我认为这仍然是工程的主流。大多数工程任务其实都不是"一击即中",它们依然很难。这种情况下我会在 IDE 的终端里运行 Claude,让它做一部分工作,然后它可能会卡住,或者代码不太完美。那我就会在 IDE 里手动改改,把最后那一段路完善掉。

Alex Albert:感觉和 Claude 的交互是基于任务难度的,越简单就越自动化,越复杂你就越得亲自参与。

Boris Cherny:是的,一开始用这类工具的时候会有个学习过程。有些人刚开始用,就试图让 Claude 一下子搞定太复杂的事情,结果它卡壳了,输出也不理想,你自己也不开心。这是大家必须经历的一个学习阶段,得慢慢形成一个"内在校准",知道 Claude 能做什么、哪些是它能一发搞定的、哪些需要你引导两三次才能完成的。

而且每换一个新模型,这个校准都得重新来一遍。因为能力是在不断提升的,每次模型一更新,Claude 就能一次性做对更多的事。也就是说你可以逐步把更复杂的任务交给它。

Alex Albert:我也注意到了,哪怕是在非代码领域,这些模型进化得也非常快。如果你六个月前用某个模型做不了某个任务,你现在还按那个标准判断就不对了。你得每次都重新设定自己的直觉。

Boris Cherny:对,完全正确。

Alex Albert:我挺好奇的,还有没有一些实用技巧或窍门?比如你们内部或者开发者社区里,有哪些有趣的用法是你见过的?

Boris Cherny:我觉得目前见过最有价值的一个技巧是:无论是 Anthropic 内部还是外部的重度用户,现在很多人都会先让 Claude 做"规划",再开始写代码。新用户常见的误区是直接让 Claude 实现一个很复杂的功能,结果它写出来的内容和你预期差距很大。

一个更有效的方法是先让它出一个方案。我会明确告诉 Claude:"这是我要解决的问题,在写代码前,请先给我列出几种思路,别着急动手。"然后它会给我列出几个方案,比如方案一、二、三。我可以挑出一和三,说:"我们可以结合一下,现在你可以开始写了。"Claude 在这方面的配合度一般都很高。

如果 Claude 已经有一些上下文信息,你可以让它进入"扩展思考"模式(extended thinking),这个时候它表现会特别好。但如果它完全没有上下文,一开始就让它冥想,它其实啥也想不出来------就像人一样,你不读代码,不看上下文,只是坐着想,是没用的。我的做法通常是:先让 Claude 把一些相关文件读一遍,然后暂停一下,让它开始头脑风暴,列思路,再让它开始写代码。

Alex Albert:所以你是采用那种"交替式"的工作流:调用工具→思考→再调用工具→再思考,这种来回往复的方式。

Boris Cherny:对,正是这种方式。我们内部做模型评测的时候也是这么设计的:先提供上下文,然后让模型进行思考,再让它用工具来编辑或者使用 Bash 命令,效果普遍会更好。从使用者角度来看,体验也的确是这样的。

Alex Albert:聊聊 Claude.md 文件吧,这东西看起来很强大。

Boris Cherny:对,我们用 Claude.md 做很多事。它是 Claude 的"记忆",可以让 Claude 持续记住你对它的指令。这些指令可以在你的团队中共享,也可以在你的所有项目中共享。

最简单的做法就是在你的代码库根目录下新建一个 Claude.md 文件,一个普通的 markdown 文件(CLAUDE 全大写,md 小写),Claude 启动时会自动读取它。你可以写一些通用指令,比如常用的 Bash 命令,重要的架构决策变更文件,MCP 服务器,等等,全都写进去。

这种是团队级的 Claude.md,这种是你写好之后跟团队其他成员共享的,这样大家不用每个人都单独写一份。

第二种是你自己的专属版本,叫 Claude.local.md,放在同样的位置,但不提交到代码库(可以被 .gitignore 忽略),只对你个人生效。

第三种是全局的 Claude.md,放在你的 home 目录下的 .Claude/ 文件夹里,大多数人其实不怎么用这个,但如果你希望与 Claude 分享指令,这是个办法。

最后,还有一种是嵌套型的 Claude.md,可以放在代码库的任何子目录下,Claude 会在它认为相关时自动加载。

Alex Albert:所以这些 Claude.md 文件,其实可以定义很多内容,比如你的编码风格、Claude 与你交互的方式、它应该知道你的哪些偏好等等,对吧?

Boris Cherny:对,完全可以。有时候我跟 Claude 对话的时候,它表现特别好或者特别差,我就会按下"#"(井号),这相当于进入"记忆模式"。我会告诉它:"你应该记住这一点。"比如说,"我每次写代码都要运行 linter",我会明确告诉它,它就会自动把这条写进合适的 Claude.md 文件里。

Alex Albert:Claude Code 接下来有什么计划?

Boris Cherny:我们现在考虑的方向有两个。一个是让 Claude 更好地与各种工具协同工作。目前它已经可以配合所有终端使用,现在也能支持很多 IDE,还能与多个 CI 系统配合。

我们在探索如何进一步拓展,让 Claude 能够"原生地"使用你常用的所有工具,理解这些工具的使用方法,并能无缝集成。

另一个方向是让 Claude 更擅长处理那些你可能不想专门开个终端的小任务。比如,我能不能在聊天工具里 mention Claude,让它自动修复一个问题?就像现在你在 GitHub 上那样操作一样。

我们正在尝试多种方式,希望能找到真正"好用"的方案,然后再开放给用户使用。

参考链接:

www.youtube.com/watch?v=Yf_...

x.com/Steve_Yegge...

相关推荐
Georgewu8 小时前
【ModelArts】ModelArts一站式AI开发平台详解(一)
aigc·openai·ai编程
Georgewu8 小时前
【HarmonyOS 5】鸿蒙CodeGenie AI辅助编程工具详解
华为·ai编程·harmonyos
黑码哥10 小时前
Copilot for Xcode (iOS的 AI辅助编程)
人工智能·copilot·ai编程·xcode·ai辅助编程
chentao10613 小时前
1-Spring AI手把手教程-亲手创造我的AI助手
ai编程
雪球工程师团队14 小时前
让 Bug 自动“蒸发”!我们造了个 AI 程序员同事
前端·ai编程·测试
AI产品自由15 小时前
Cursor + 飞书MCP = 王炸组合!开发者的AI记忆神器来了
ai编程
技术便签15 小时前
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
人工智能·python·ai编程·agi·多智能体·智能体·adk
37手游后端团队16 小时前
15页PPT深挖AI编程新范式!程序员必看的破局指南
程序员·ai编程·求职
Android洋芋17 小时前
从零到一:掌握Trae复杂项目开发全流程,打造企业级智能化应用
ai编程
荣姐聊AI17 小时前
项目告急,协议不懂?看AI编程工具Cursor如何3小时力挽狂澜!
cursor