简要总结
本视频采访了 Claude Code 的创建者 Boris Churnney,讨论了 Claude Code 的发展历程、设计理念以及未来展望。主要内容包括:
- Claude Code 的意外诞生和快速发展,以及终端界面的重要性。
- 如何利用 Claude Code 提高工程师的生产力,以及 Anthropic 内部的使用情况。
- 对于开发者工具创始人,应该如何构建面向未来的产品,以及如何利用 LLM 解决问题。
- 编码的未来,以及软件工程师的角色转变。
介绍
Boris Churnney 是 Claude Code 的创建者,他分享了 Claude Code 的诞生和发展历程。主持人表示 Claude Code 让人着迷,感觉像火箭助推器。Boris 回忆起 2024 年 9 月份创建 Claude Code 时的感受,当时他意识到自己可能做出了一个有用的东西,虽然当时还不能真正编码。
Claude Code 崛起过程中最令人惊讶的时刻
Boris 认为最令人惊讶的是,现在还在使用终端。他原本以为终端只是起点,没想到会是终点。其次,Claude Code 真的很有用,因为一开始它并不能真正编写代码。即使在 2 月份,它也只能编写 10% 的代码。Anthropic 的理念是为六个月后的模型构建,而不是今天的模型。对于构建 LLM 的创始人,应该思考模型在哪些方面还不够好,因为模型会不断进步。
Boris 如何产生 Claude Code 的想法
Claude Code 的想法是偶然产生的。Anthropic 一直致力于编码,认为实现安全 AGI 的途径是通过编码。首先要教会模型如何编码,然后教会它如何使用工具,最后教会它如何使用计算机。Boris 加入 Anthropic 后的第一个团队是 Anthropic Labs 团队,该团队开发了 Quadcode、MCP 和桌面应用程序。没有人要求 Boris 构建 CLI,但当时感觉应该构建一些编码产品,因为模型似乎已经准备好了,但没有人真正构建出能够利用这种能力的产品。Boris 开始研究 Anthropic API,并构建了一个小型的终端应用程序来使用 API。
终端的优雅简洁
终端以其优雅简洁的形式而著称。终端已经存在很长时间了,这种设计约束使得开发者体验非常有趣,感觉不像在工作,而像在玩耍。Boris 表示,终端的流行是一个意外。在终端开始在内部流行之后,Boris 将其提供给团队进行试用。第二天,另一位工程师 Robert 就在使用 Claude Code 进行编码。在 2024 年 11 月或 12 月的发布评审中,Dario 询问内部的 DAU 图表是否是强制工程师使用造成的,但实际上工程师们只是互相推荐。
最初的用例
在 2024 年,工程师们使用 Claude Code 自动化 git。由于 Claude Code 已经做了很长时间,Boris 几乎忘记了 git。自动化 bash 命令也是一个早期的用例,例如操作 Kubernetes。人们也使用它进行编码,最早的用例是编写单元测试,因为风险较低。人们开始编写 markdown 文件,然后让模型读取该文件,这就是 QuadMD 的由来。产品开发的最大原则是潜在需求。
Boris 的 CLAUDE.md 中有什么?
Boris 的 Claude.md 文件只有两行。第一行是,每当提交 PR 时,启用自动合并。第二行是,每当提交 PR 时,将其发布到内部团队 stamps 频道。其他的指令都保存在代码库中的 quadmd 文件中,整个团队每周都会多次贡献。如果 Claude.md 文件过大,建议删除并重新开始。应该做尽可能少的事情,以使模型走上正轨。随着模型的改进,需要添加的内容会越来越少。
如何决定终端的详细程度?
终端的详细程度经常变化。早期,Boris 试图删除 bash 输出,但 Anthropic 的员工强烈反对,因为他们认为 bash 输出非常有用。最近,他们隐藏了文件读取和文件搜索,只显示读取了一个文件,搜索了一个模式。六个月前,模型还没有准备好这样做,因为模型经常会读取错误的内容。用户仍然需要在那里并捕获并调试它。但是现在,模型几乎每次都能走上正轨。由于它使用了大量的工具,因此最好对其进行总结。在 GitHub 上发布后,人们不喜欢它,因此添加了一个新的详细模式。
随着模型的改进,初学者的心态是关键
对于技术创始人来说,要成为最新模型版本的最大化主义者,需要保持初学者的心态和谦逊的态度。工程师们已经习惯于拥有非常强烈的意见,资深工程师也因此而受到奖励。但是,很多东西已经不再相关,很多意见应该改变,因为模型正在变得越来越好。最重要的技能是能够进行科学思考,并从第一性原理出发进行思考。在招聘时,可以询问他们犯错的例子,以了解他们是否能够认识到自己的错误,是否能够承担责任,以及是否能够从中学习。
超级专家 vs 超级通才
在团队中,最有效的工程师分为两类:超级专家和超级通才。超级专家精通特定的领域,例如 JavaScript 运行时系统。超级通才则涉猎广泛,例如产品、设计、用户研究和业务。Boris 喜欢看到人们做一些奇怪的事情。过去,这可能是一个警告信号,但现在这是一种优势。例如,一位工程师 Daisy 在加入团队几周后,提交了一个 PR,为 Claude Code 添加了一个新功能。但她没有直接添加该功能,而是首先提交了一个 PR,为 Claude Code 提供了一个工具,以便它可以测试任意工具并验证其是否有效。然后,她提交了该 PR,并让 Quad 编写自己的工具,而不是自己实现它。
Claude 团队的愿景
Claude 团队的愿景是协作。现在有一个新的领域是研究 agent 拓扑结构,即配置 agent 的方式。其中一个想法是不相关的上下文窗口,即多个 agent 具有新的上下文窗口,这些窗口本质上没有被彼此的上下文或他们自己先前的上下文所污染。如果向问题投入更多的上下文,那将是一种测试时间计算。如果拥有正确的拓扑结构,agent 可以以正确的方式进行通信,它们可以构建更大的东西。插件功能完全是由一个 swarm 在周末构建的。
子代理
团队中的一位工程师给 Quad 一个规范,并告诉 Quad 使用 Asauna board。然后,Quad 在 Asauna 上发布了一堆 tickets,并生成了一堆 agent,agent 开始执行任务。主要的 quad 只是给它指令,他们都弄清楚了。现在,大多数 agent 实际上是由 quad 提示的,以子 agent 的形式。子 agent 只是一个递归的 Claude Code,由 mama quad 提示。
一个没有计划模式的世界?
Claude Insights 建议更多地使用子代理进行调试,以便并行调试。因此,Boris 将其添加到 Claude.md 文件中,以便下次尝试修复错误时,让一个 agent 查看日志,另一个 agent 查看代码路径。计划模式可能有一个有限的寿命。没有计划模式的世界会是什么样?只需在提示级别进行描述,它就会一次性完成吗?Claude Code 现在可以自行进入计划模式。计划模式实际上并没有什么秘密,它只是在提示中添加了一个句子,即请不要编码。
为未来构建的创始人的提示
对于创始人来说,为未来构建的一些提示是:潜在需求。人们只会做他们已经在做的事情。如果人们正在尝试做某件事,而你使其更容易,那这是一个好主意。Claude 将越来越擅长找出这些产品创意,因为它可以看到反馈、调试日志,并且可以弄清楚这一点。
终端还有多少生命力?
如果在一年前问 Boris,他会说终端只有三个月的寿命,然后我们将转向下一个事物。Claude Code 从终端开始,但现在它在 Web 上,在桌面应用程序中,在 iOS 和 Android 应用程序中,在 Slack 中,在 GitHub 中,有 VS Code 扩展,有 Jet Brains 扩展。他们一直在尝试不同的形式,以找出下一个事物。
对开发者工具创始人的建议
对于开发者工具创始人,应该思考模型想要做什么,并弄清楚如何使其更容易。当 Boris 第一次开始研究 Claude Code 时,他意识到它只是想使用工具,它只是想与世界互动。应该看到它想使用什么工具,应该看到它在尝试做什么,并像对待用户一样启用它。如果正在构建一个开发者工具创业公司,应该思考想要为用户解决什么问题?然后,当将模型应用于解决此问题时,模型想要做什么?
Claude Code 和 TypeScript 的相似之处
TypeScript 做出很多非常奇怪的语言决策。例如,几乎任何东西都可以是文字类型。TypeScript 的理念是,当 Joe Pamer 和 Anders 及其早期团队构建它时,他们必须将类型引入到大型的非类型化 JavaScript 代码库中,但他们不会让工程师改变他们的编码方式。他们不会让 JavaScript 人员像 Java 程序员那样拥有 15 层的类继承。他们将以他们的方式编写代码。他们将使用反射,他们将使用突变,他们将使用所有这些传统上非常难以键入的功能。因此,他们没有让人们改变他们的编码方式,而是围绕它构建了一个类型系统。
为终端设计很难
为终端设计非常困难。终端只有 80x100 个字符,有 256 种颜色,有一种字体大小,没有鼠标交互。可以启用终端中的鼠标交互,但需要虚拟化滚动,因此存在很多奇怪的权衡。终端中没有 DOM,只有转义代码。他们不得不发现构建终端的 UX 原则,因为没有人真正写过这些东西。终端 spinner 经历了 50 到 100 次迭代。
对构建者的其他建议
对于构建者来说,不要为今天的模型构建,而要为六个月后的模型构建。否则,会花费大量精力为当前的产品找到 PMF,然后会被其他人超越,因为他们正在为下一个模型构建。使用模型,感受它可以做什么的边界,然后为认为可能是六个月后的模型构建。永远不要与模型对赌。可以构建一个功能到 Claude Code 中,可以使其作为产品更好,这被称为 scaffolding。或者,可以等待几个月,模型可能可以做到这一点。
每位工程师的生产力
Anthropic 的工程师目前的平均生产力是谷歌工程师鼎盛时期的 1000 倍。Anthropic 的所有技术员工每天都使用 Claude Code。即使是非技术员工,也有半数的销售团队使用 Claude Code。去年团队规模翻了一番,但每位工程师的生产力增长了 70%。自 Claude Code 推出以来,Anthropic 的每位工程师的生产力增长了 150%。
为什么 Boris 选择加入 Anthropic
Boris 住在日本农村,每天早上都会打开 Hacker News,阅读新闻。新闻都是关于 AI 的。他开始使用一些早期的产品,并感到非常震惊。他开始与 Labs 的朋友交谈,以了解情况。他遇到了 Anthropic 的创始人 Ben Man,Ben Man 立即赢得了他的支持。Anthropic 作为一个研究实验室运作。产品非常小,最重要的是构建一个安全的模型。这种非常接近模型和非常接近开发的想法,以及产品不再是最重要的事情,因为模型是最重要的事情,这引起了他的共鸣。其次是它的使命驱动。他知道事情可能会变得很糟糕,因此他想在一个真正理解这一点并真正内化这一点的地方。
编码将如何改变
Boris 认为编码将被普遍解决。今天,编码实际上已经为他解决了,他认为这对每个人来说都是如此。无论领域如何,都将开始看到软件工程师的头衔消失。它可能只是构建者,可能是产品经理,可能保留头衔作为一种残余的东西,但人们所做的工作不仅仅是编码。软件工程师还将编写规范,他们将与用户交谈。团队中的每个人都进行编码,例如 PM、设计师、EM、财务人员。如果继续这种趋势,这就是下限。上限更加可怕。Anthropic 达到了 ASL4,即模型递归地自我改进。如果发生这种情况,在发布模型之前,必须满足一系列标准。极端情况是,这种情况发生,或者存在某种灾难性的滥用,例如人们使用该模型来设计生物病毒、设计零日漏洞。
结尾
Boris 表示,看到人们如何使用 Claude Code 令人兴奋和谦卑。他只是想构建一个很酷的东西,但最终它非常有用,这令人惊讶和兴奋。

