编译 | Tina
说到开发者们,很多人都觉得每月花20美元在Cursor和Copilot上简直是太值了,根本停不下来。不过,Anthropic推出的Claude Code可就有点不一样了。它处理大规模代码库的能力真是让人刮目相看,但价格却让人咋舌。要是你只是偶尔写写代码,几美元的API key可能就足够了;可要是你打算日常开发,每个月的费用轻松就能上百美元,甚至超过200美元。有用户直言:“Claude Code的能力确实比Cursor强,我之所以还在用Cursor,就是因为Claude Code实在太贵了。”
看来,价格成了这款产品发展壮大的最大绊脚石。毕竟,和其他工具相比,Claude Code的实力可谓“超级强”。虽然Cursor的底层模型同样出自Anthropic,但Steve Yegge却说:“Claude Code让Cursor、Windsurf、Augment这些工具看起来都像是过时的玩意儿。”


我试用了几天Claude Code,它在处理我那些杂乱无章的旧代码中的bug时,简直就像一台不停烧钱的碎木机,对那些遗留问题毫不留情。只需通过对话,它就能完成一些让我惊讶的复杂任务,根本不需要手动去选上下文。你只需放松心情,准备好花钱,Claude Code便会接手一切,它还会每隔八秒钟提醒你,询问是否可以运行一些只读命令,那些连朝鲜黑客都不怕他们在你机器上跑的命令。
不过,你得时刻关注它,因为它真的非常强大。只要银行的扣款授权在,它就会一直持续推进,直到把bug修复好上线,然后开始检测用户日志,看看表现如何。
说实话,Claude Code的使用体验有点笨重,它没有多模态支持,与其他工具的配合也不太流畅。但这些都不算太重要。虽然它的外观可能显得有些老旧,但使用起来却让Cursor、Windsurf、Augment等工具(包括我们自家的产品和Copilot,老实说)都显得像是过时的产物。
我明白这款工具还处于实验阶段,未来的极限我们也无法预测。但根据我目前的体验,它绝对是自代码助手出现以来最接近未来的产品之一。
因此,Anthropic不仅拥有当下最适合实际开发环境的大模型,他们显然也比其他公司更懂得如何高效利用这些技术。结合他们始终如一的强大模型、流畅的聊天界面、CEO精准的判断,以及现在的Claude Code——我开始怀疑,Anthropic可能真的是这个星球上唯一清楚自己在做什么的公司了。
最近,Claude Code的创始人Boris Cherny在一次访谈中,罕见地分享了他对这款产品的定位和设计理念。他谈到了开发这款编码助手的初衷、目标用户、定价策略背后的思考,还分享了一些使用小技巧。
同时,他也提到,作为当前编程领域最强大的模型公司之一,Anthropic对Claude Code的未来设想和愿景:他们希望帮助开发者从“写代码的人”转变为“判断代码是否正确的人”。也就是说,未来的开发者不再只是单纯敲敲键盘的人,而是技术决策的引领者。
以下是访谈实录:
Alex Albert:Boris,我们先从最基本的问题开始:Claude Code是什么?它是怎么诞生的?
Boris Cherny:Claude Code是一种在终端实现代理式编程的方法。你无需学习新的工具,不需要更换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,就可以直接运行。启动后,它会一步步引导你完成剩下的配置流程。安装后,直接和它对话,它就会开始为你写代码。
Claude Code:你身边的智能编程助手
无论你是在 iTerm2、Mac 自带的终端,还是在 SSH/TMUX 会话中,Claude Code 都能轻松使用。其实很多朋友喜欢在 IDE 内的终端里用它,比如 VS Code 的内置终端。在这个环境下,文件的修改一目了然,而且呈现得更美观、清晰。同时,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 是非常“主动”的——它能理解你的需求,利用它能用的所有工具,比如 Dash、文件编辑等,去探索代码库、读取文件,获取上下文,然后对文件进行编辑或者做出你想要的更改。
Alex Albert:听起来像是对过去 20 到 30 年编程方式的一次全新变革。
Boris Cherny:这变化其实有很深的历史背景。我自己写代码很多年了,实际上,我外公在上世纪 40 年代就是苏联最早的一批程序员之一。
那时还没有软件编程,他是用打孔卡片来写程序的。在美国,IBM 提供了一套类似 IDE 的系统,他每天就用这套系统编程,把纸质卡片带回家。我妈妈小时候会用这些卡片画画,那也是她童年的一部分。
编程从那时起不断演进:先是打孔卡,然后是汇编语言,接着有了 COBOL、FORTRAN 等第一代高级语言。80 年代是 Java 和 Haskell 等静态类型语言的时代,90 年代则出现了 JavaScript 和 Python——这些解释型语言也具备了一定的安全性。
编程语言和编程体验一直是同步发展的。比如 Java 出现的同时,我们看到了 Eclipse 这样的 IDE,首次引入了代码补全功能。你输入一个字符,它就会弹出建议列表问你“是不是想写这个?”对开发者来说,这是一次革命性的体验,不再需要记住所有细节。
所以在我看来,今天的 Claude Code 代表着又一次演进的开始。语言本身已经相对稳定,现代编程语言大致可以分为几个大类,而且彼此之间的相似性很强。
但现在的核心变化,是编程体验的变革:你不再需要处理打孔卡,不用写汇编,甚至不一定非得写代码,而是通过提示与模型对话,让模型来完成编码部分。这对我来说,真的是太令人兴奋了。
Alex Albert:我们基本上从打孔卡片时代走入了提示词时代。稍后再聊,但我想先谈谈模型方面的内容。之前,Claude Code 主要是由 Claude 3.7 Sonnet 驱动的,现在 Claude 4 系列模型在底层驱动 Claude Code,这带来了哪些新变化?接下来又会走向哪里?
Boris Cherny:大约在模型发布前的几个月,我们开始尝试这些新模型。我还记得第一次使用时真的被它的能力震撼到了,我觉得这能解锁许多新的使用场景。尤其是在终端中同步使用 Claude Code,最大的变化是:Claude 在理解和保持指令方面变得更加出色。不管你是通过提示词还是通过 Claude.md 给它下指令,它都能很好地执行并保持你的要求。
这一点变化很大,因为虽然 Claude 3.7 是个强大的编程模型,但它有时很难驾驭。
比如你让它写测试,它可能会直接跳过所有测试代码,然后你还得告诉它,“不,我不是这个意思。”通常你得重复一两次,它才会明白。但因为它的能力太强,你愿意原谅这些小问题。而现在,Claude 4 系列模型几乎可以第一时间准确理解你的意图并按要求完成任务。
Opus 更是比 Sonnet 进一步提升,它不仅能很好地理解我的意图,还能一次性完成许多以前模型做不到的事情。比如,我已经好几个月没亲自写过单元测试了,因为 Opus 会直接帮我写好测试,几乎每次都是一次性写对。在终端环境下,这非常有用,因为你可以更“放手”地使用它。
但我认为最酷的使用方式是放在 GitHub Actions 或其他环境中。你只需给它一个任务,它便能自动执行,等它带着正确结果返回时,那种“一次就成功”的体验真的非常棒。
Alex Albert:所以现在在 GitHub Actions 上,我们可以直接在 GitHub 中 @Claude,让它在后台处理任务,最后带着结果和新的 PR 回来?
Boris Cherny:没错。你在终端像平常一样打开 Claude,运行 claude 命令,然后执行 /install GitHub Action,它会一步步引导你完成安装。整个过程只需几个步骤,大部分都是自动的,只需点击几下按钮,Claude 的 GitHub 应用就能轻松安装到你的代码库中。
整体体验真的很酷。在任何问题中,你可以直接 @Claude。我每天都在 PR 中用它。比如,同事发了一个 pull request,我不会再说“嘿,你能不能修一下这个问题”,而是直接说“@Claude,修一下这个问题”,它就会自动修好。同样,我不会再说“你能不能写一下测试”。以前说这个我还觉得有点不好意思,现在我只需说“@Claude,写个测试”,它就会自动完成。这些事情现在根本不再是问题。
Alex Albert:这基本就是一种全新的编程方式——你可以随时调用一个随时可用的程序员来帮你解决问题,而且它不是在你的本地电脑上运行,而是在后台直接完成所有操作。
Boris Cherny:对,我觉得这标志着我们开始以“协作程序员”的方式与模型互动。以前你是提到一个同事,现在你可以直接提到 Claude。
Alex Albert:在这种模式下,软件工程会发生什么变化?当我们开始管理这些在后台运行的 Claude Code 实例时,会有什么转变?
Boris Cherny:我觉得这确实需要一些思维上的转变。
有些人非常享受控制代码的感觉,如果你习惯于手写代码,那么你就得适应整个行业正在转变的方式——你不再是亲自写代码的人,而是协调 AI 助手来帮你写代码。你的工作重点也将从“手动编码”转向“代码审查”。
程序员的新篇章:如何与AI工具高效协作
我觉得程序员们现在真是迎来了一个激动人心的时代,因为我们可以在更短的时间内完成更多的工作。当然,有些时候我还是需要亲自下手写代码,但坦白说,我现在有点畏惧这个过程了——毕竟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已经有一些上下文信息,你可以让它进入“扩展思考”模式,这时候它的表现会特别好。但如果它完全没有上下文,一开始就让它冥想,其实是没有效果的——就像人一样,你不去看代码,不了解上下文,只是坐着想是没用的。我的做法通常是:先让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更擅长处理那些你可能不想专门开个终端的小任务。比如,我能否在聊天工具里提到Claude,让它自动修复一个问题?就像现在你在GitHub上那样操作。
我们正在尝试多种方式,希望能找到真正“好用”的方案,然后再开放给用户使用。
声明:本文为InfoQ翻译整理,不代表平台观点,未经许可禁止转载。
今日好文推荐
我用大模型砌“屎山雕花”:5天肝出几万行代码!产品经理的AI编程翻车记
13年苦熬到170亿市值,一夜间被用户抛弃!一封“AI吹”全员信让网友“不喷不行”
手撕900万行屎山代码、少干28万小时!AI编程大刀挥向“古老”编程语言
18天光速打脸!OpenAI刚夸TypeScript最合适,转头就用Rust重写Codex CLI
活动推荐
6月27~28日的AICon北京站将继续聚焦AI技术的前沿突破与产业落地,围绕AI Agent构建、多模态应用、大模型推理性能优化、数据智能实践、AI产品创新等热门议题,深入探讨技术与应用融合的最新趋势。欢迎持续关注,与我们一起探索AI应用的无限可能!
标题:一场关于AI未来的盛宴,等你来参与!
在8号的AICon北京站,我们将继续探讨最前沿的AI技术,尤其是它们如何应用到实际行业中。届时,我们会围绕AI Agent的构建、多模态应用的展开、大模型推理性能的提升、数据智能的真实案例,以及AI产品的创新等热门话题,深入讨论技术与实际应用的完美结合。真心欢迎大家持续关注,让我们一起去发掘AI应用的无限可能吧!
