Claude Code 创造者从不打破的一条规则

AAI LABS
Computing/SoftwareAdult EducationInternet Technology

Transcript

00:00:00这位是 Boris,当大家在使用 Claude Code 时遇到问题,就会向他请教。
00:00:04但为什么他们会问他呢?
00:00:05因为 Boris 在 Anthropic 工作,而且他正是 Claude Code 的创造者。
00:00:09尽管他说自己的设置非常简单,但实际上并非如此。
00:00:12这只是他的视角。
00:00:13对他来说简单的东西,对其他人来说可能是一整套系统。
00:00:16接下来我们有很多内容要聊,因为有些观点确实让我感到惊讶,虽然有些技巧在技术上并不算新,但他仍然给了我全新的视角。
00:00:25在其中一个技巧中,Boris 纠正了人们在使用 Claude Code 构建项目时最常见的误解之一。
00:00:31他们基本上就是给 Claude 一个任务,然后当出现小错误,或者无法 100% 完成时,就会感到失望。
00:00:38但人类的工作方式其实非常相似。
00:00:40所以他告诉我们,应该始终给 Claude 一种验证其工作的方式。
00:00:44例如,如果你要编写任何用于构建项目的 Python 代码,你应该告诉它也要使用测试。
00:00:49这是因为 Claude 会获得反馈循环,这会立即提升最终结果的质量。
00:00:54即使你完全不想深入代码,实际上你可以询问它应该使用哪些测试,它会为实现的每一个功能都提供测试。
00:01:02即使你想让它自主工作,
00:01:03Boris 对此也有很多建议,
00:01:05你只需编辑 Claude.md 文件即可,
00:01:07这个文件会被发送到每个 Claude Code 会话中。
00:01:11在文件中,你可以告诉它在执行任何工作之前,应该说明如何验证该工作,这样它就能获得持续的反馈循环。
00:01:18Boris 指出的另一个重要点是,验证方式因领域而异。
00:01:22同样,
00:01:22可能简单到运行一个 bash 命令,
00:01:25或者对于基于 UI 的验证,
00:01:27你也有很多不同的方法,
00:01:28其中之一就是 Claude 自己的浏览器扩展。
00:01:32我们也制作了一个相当详细的视频,我们会在下方链接中提供。
00:01:35基本上,Claude 会浏览整个网站并验证一切。
00:01:39这几乎适用于任何事物的验证。
00:01:41例如,有人问如何验证正在构建的移动应用。
00:01:45实际上有很多 iOS 和 Android 模拟器 MCP 也可以使用。
00:01:50但如果你认为这些 MCP 太消耗 token,那么你不仅可以使用验证,还可以使用验证驱动的技术。
00:01:56例如,你可以使用测试驱动开发,先为新功能编写测试,然后再进行实际实现。
00:02:03你还可以在这个过程中使用截图来验证 UI。
00:02:06说到 Claude.md,Boris 也强调了这个文件的重要性,以及它对每个 Claude Code 仓库应该有多独特。
00:02:14这样想吧,它应该包含新创建的 Claude 会话应该了解的关于你项目的所有基本信息。
00:02:20这包括技术栈、基本的项目结构、团队遵循的一些代码风格和约定,最重要的是,它不应该做的事情。
00:02:28这是因为如果你在任何会话中遇到错误,你可能不希望 Claude 重复这些错误。
00:02:34所以他养成了一个习惯,让整个团队每周多次为 Claude.md 做出贡献。
00:02:39每当他们看到它做错了什么,也会将其添加到文件中。
00:02:43团队的每个成员还负责维护特定的文件。
00:02:47对于全栈应用来说,另一个很好的结构是你运行的每个微服务都可以有自己的 Claude.md。
00:02:53前端可以有自己的,后端也可以有自己的。
00:02:56另一个重要的事情是不要让 Claude.md 变得臃肿。
00:02:59他通过说自己的 Claude.md 大约是 2.5K token 来证实这一点,他甚至准确地强调了他们在其中涵盖的内容。
00:03:06你可能已经知道可以在不同模式下使用 Claude Code,其中计划模式专门用于规划。
00:03:12我们稍后会回到这一点,因为这是一个重要的观点。
00:03:15然后是自动接受模式,基本上会自动接受所有文件编辑。
00:03:19但还有另一个选项,就是危险跳过权限模式,Claude 本质上拥有运行一切的权限。
00:03:26Boris 说他不使用这个,他是对的,特别是在生产环境中,一个终端命令就可能搞砸整个项目。
00:03:33相反,他使用 Claude Code 中的权限来设置允许哪些命令、运行前应该询问哪些命令,以及完全拒绝哪些命令。
00:03:41你几乎可以添加任何你想要的规则并在项目级别设置它,Claude 会遵循它。
00:03:46为了与团队共享这些,
00:03:47.Claude 文件夹还包含一个 settings.json 文件,
00:03:52其中写下了所有这些命令,
00:03:53然后他可以与团队其他成员共享该文件。
00:03:56在某种程度上,Claude Code 一直是 Anthropic 命名最糟糕的产品之一,因为它不仅用于代码。
00:04:02你甚至可能看到人们用它生成完整的 n8n 工作流,或者设置整个 SEO 管道,或者用于分析商业市场和其他事物的不同代理。
00:04:12关键是,它是一个完整的系统,供人们控制许多不同的工作流。
00:04:16Boris 给出的例子是,Claude 几乎也为他使用了所有其他工具。
00:04:21例如,
00:04:21他使用 MCP 服务器将 Slack 与 Claude Code 一起使用,
00:04:24以及一堆其他工具,
00:04:25如 BigQuery 和 Sentry,
00:04:27都是通过它们在 Claude Code 中的 CLI。
00:04:30同样,这只是表明你可以将 Claude Code 用作一种编排器。
00:04:33对我来说,我在这种编排中使用它的最大方式之一是在 Notion 内部,Claude 通过 MCP 连接到 Notion。
00:04:40它能够创建数据库、填充它们,并理解我们所有视频创意的上下文。
00:04:45当然,你会看到它们是模糊的,因为这些是即将推出的视频创意,但我希望你能理解这一点。
00:04:50现在,
00:04:50如果你想知道 Boris 在开始实现任何功能或任务之前实际上是如何使用 Claude Code 的,
00:04:57他首先切换到计划模式并清楚地描述他想要什么。
00:05:00一旦 Claude 有了计划,他就会从那里继续。
00:05:02他认为,拥有一个好的计划极其重要,他需要与代理进行的所有来回沟通都发生在计划模式期间。
00:05:09他只在验证计划确实有效后才启动代理。
00:05:13之后,他以自动接受编辑模式启动它,而不是危险跳过权限模式。
00:05:17至于他如何大规模使用它,他还提到他并行运行五个 Claude Code 会话。
00:05:23在使用它们时,他基本上给标签页编号。
00:05:26他这样做是为了当他从不同标签页收到通知时,他知道它们来自哪个终端标签页。
00:05:32除此之外,他还大量使用 Claude Code 的 Web 会话。
00:05:35在这里,
00:05:35你将 Claude Code 的 Web 版本连接到你的 GitHub,
00:05:40授予它访问演示仓库的权限,
00:05:41它就能够在云端处理它。
00:05:43Boris 的工作方式是,他使用后台代理功能将任何长时间运行的任务放入后台。
00:05:49有时,
00:05:49他甚至在手机上使用它,
00:05:51Claude 可以在云会话中自动完成所有工作,
00:05:54完成后,
00:05:55它会创建一个新分支并将所有代码更改推送到那里供你审查。
00:05:59还有传送命令,它将云会话带回本地终端,让你可以自己查看和处理它。
00:06:06这真正定义了与任何 AI 代理一起工作,他基本上将其视为初级开发人员。
00:06:11他提到的另一个有趣的点是,他几乎在所有事情上都使用启用了思考功能的 Opus 4.5。
00:06:17他认为,
00:06:17尽管它是一个更大、
00:06:18更慢的模型,
00:06:19比 Sonnet 花费的时间更多,
00:06:21比 Haiku 模型花费的时间明显更多,
00:06:24但它犯错误的几率要低得多。
00:06:26因此,使用 Opus 4.5 与模型一起工作并引导它所花费的总时间实际上要少得多。
00:06:33他还使用了 Claude Code GitHub action,
00:06:36这基本上是一个可以在你授权的 GitHub 仓库中调用的机器人。
00:06:40他也为此提供了一个非常有力的应用场景。
00:06:43在代码审查时,每当发现错误,他只需要让 Claude 将这些错误添加到 Claude.md 文件中。
00:06:49至于长时间运行的任务,他使用了三种不同的方法。
00:06:52第一种是让 Claude 使用 Claude Code 自己创建的不同测试来验证其工作,然后将这些任务放到后台运行。
00:07:00这些不是我们所说的云端代理。
00:07:02这些只是在后台静默运行的任务,完成后会向主代理报告。
00:07:07第二种方法是使用停止钩子,在 Claude 停止输出时自动触发验证。
00:07:12他提到的第三个选项也基于这个想法,这就是 Ralph Wiggum 插件的基础。
00:07:17我们制作了一个关于 Ralph Wiggum 插件的详细视频。
00:07:20我们展示了如何使用 Ralph 插件,
00:07:22以及如何在开发过程中进行测试,
00:07:24以验证 Claude Code 生成的 UI 是否真正正确。
00:07:28它本质上完全将人从流程中移除。
00:07:31再次重复他提到的验证模式,他还使用它通过各种语言的不同 linter 和格式化工具来验证代码的格式。
00:07:41他基本上说,虽然模型确实能生成正确的代码,但这些格式化工具有助于清理剩余的 10%。
00:07:47这很重要,这样在 GitHub 集成管道的 CI 中运行代码时就不会出现任何错误。
00:07:53现在来谈谈一些 Claude Code 中存在已久的简单功能,它们仍然能节省大量时间,但许多初学者并不太了解。
00:08:01正如他已经提到的,他自己的工作流程出乎意料地简单。
00:08:04这适用于我们大多数人。
00:08:06我们不需要将 Claude Code 中的所有东西都过度复杂化才能真正提高生产力。
00:08:09这些简单的内置功能已经能让你获得大约 90% 的生产力提升。
00:08:15从 /commands 开始,他将重复性工作流程称为他的「内循环」工作流程,即每天必须重复多次的事情。
00:08:22他给出了一个他经常使用的 GitHub /command 的简单示例。
00:08:26由于所有这些 /commands 都存储在 .claud 文件夹的 command 子文件夹中,
00:08:31你实际上可以将它们提交到 git。
00:08:33这也是他与整个团队共享这些命令的方式。
00:08:36之后,另一个非常简单的内置功能是子代理。
00:08:39人们对这个功能有点疯狂,几乎为每个可以想象的用例都构建了子代理,比如市场研究员或产品验证器。
00:08:47每个人都有自己的用例,但 Boris 使用子代理来自动化需要完全不同指令的简单工作流程。
00:08:55例如,他的大多数代理用于验证代码架构是否正确、重构已编写的代码以及验证最终构建是否真正有效。
00:09:04现在让我们谈谈 Automata。
00:09:05在教了数百万人如何使用 AI 构建之后,我们开始自己实施这些工作流程。
00:09:11我们发现可以比以往更快地构建更好的产品。
00:09:14我们帮助将你的想法变为现实,无论是应用程序还是网站。
00:09:18也许你看过我们的视频后会想:「我有一个很棒的想法,但我没有技术团队来实现它。」这正是我们发挥作用的地方。
00:09:24把我们想象成你的技术副驾驶。
00:09:26我们将教给数百万人的相同工作流程直接应用到你的项目中,
00:09:30将概念转化为真正可用的解决方案,
00:09:33而无需承受招聘或管理开发团队的麻烦。
00:09:36准备好加速将你的想法变为现实了吗?
00:09:39请通过 hello@automata.dev 与我们联系。这就是本期视频的全部内容。
00:09:43如果你想支持我们的频道并帮助我们继续制作这样的视频,可以使用下方的超级感谢按钮。
00:09:50一如既往,感谢观看,我们下期视频见。

Key Takeaway

Claude Code 创造者 Boris 的核心理念是:将 Claude 视为初级开发者,通过建立验证反馈循环、精心维护 Claude.md 配置文件、使用计划模式先行规划,以及设置合理的权限控制,实现高效且安全的 AI 辅助开发工作流。

Highlights

  • 始终为 Claude 提供验证工作的方式,例如通过测试来建立反馈循环,这会显著提升代码质量

  • Claude.md 文件是每个项目的核心配置,应包含技术栈、代码风格和禁止事项,团队需要定期更新维护

  • 使用计划模式先制定详细计划,验证方案可行后再切换到自动接受模式执行,避免盲目实施

  • Boris 更倾向使用 Opus 4.5 with 思考功能,虽然速度慢但错误率低,总体节省时间

  • 通过权限设置控制 Claude Code 可执行的命令,而非使用危险的跳过权限模式,确保生产环境安全

  • Claude Code 不仅用于编程,可作为编排器连接 Slack、BigQuery、Notion 等多种工具

  • 使用子代理、后台任务和验证钩子实现长时间运行任务的自动化验证

Timeline

验证驱动开发:Claude 工作流的核心原则

Boris 强调了人们使用 Claude Code 的最大误解:期望 Claude 一次性完美完成任务。他指出应该始终为 Claude 提供验证工作的方式,比如在编写 Python 项目时要求它同时编写测试代码,这样能建立反馈循环并立即提升结果质量。验证方式因领域而异,可以是简单的 bash 命令、UI 验证(通过 Claude 浏览器扩展)、或使用 iOS/Android 模拟器 MCP。对于不想消耗过多 token 的情况,可以采用测试驱动开发(TDD)方法,先编写测试再实现功能,或通过截图验证 UI 变化。

Claude.md 文件的重要性与团队协作实践

Boris 详细讲解了 Claude.md 文件对每个项目的独特价值,它应包含新 Claude 会话需要了解的所有基本信息:技术栈、项目结构、代码风格约定,以及最重要的「不应该做的事情」清单。他的团队养成了每周多次为 Claude.md 贡献内容的习惯,每当发现 Claude 犯错就添加到文件中,团队成员各自负责维护特定文件。对于全栈应用,每个微服务、前端和后端都可以有独立的 Claude.md。他强调文件不应臃肿,自己的 Claude.md 约为 2.5K token,并准确涵盖了必要内容。

安全的权限控制与团队配置共享

Boris 明确表示不使用「危险跳过权限模式」,因为在生产环境中一个终端命令就可能破坏整个项目。他推荐使用 Claude Code 的权限系统来设置允许、需询问和完全拒绝的命令类别,可以在项目级别添加自定义规则。为了与团队共享这些配置,.Claude 文件夹中的 settings.json 文件记录了所有权限设置,可以直接分享给团队成员使用。这种方法在保证安全的同时,也确保了团队工作流程的一致性。

Claude Code 作为多工具编排器的应用

Boris 指出 Claude Code 的命名具有误导性,因为它不仅用于编程,而是一个完整的系统编排器。人们用它生成 n8n 工作流、设置 SEO 管道、分析商业市场等多种任务。Boris 自己通过 MCP 服务器将 Slack、BigQuery、Sentry 等工具连接到 Claude Code 中,通过 CLI 统一使用。视频作者分享了自己的案例:通过 MCP 将 Claude 连接到 Notion,让它创建数据库、填充数据并理解所有视频创意的上下文,展示了 Claude Code 作为编排工具的强大能力。

计划模式优先与大规模并行使用策略

Boris 的工作流程从计划模式开始:首先切换到计划模式并清晰描述需求,与 Claude 进行所有必要的来回沟通都在此阶段完成。只有在验证计划确实可行后,才切换到自动接受编辑模式(而非危险跳过权限模式)启动执行。他会并行运行五个 Claude Code 会话,给标签页编号以便识别通知来源。此外,他大量使用 Claude Code Web 版本,将其连接到 GitHub 授权访问仓库,利用后台代理功能处理长时间任务,甚至在手机上使用。完成后 Claude 会创建新分支并推送代码供审查,还可以使用传送命令将云会话带回本地终端。

模型选择与自动化验证机制

Boris 将 Claude 视为初级开发者,在几乎所有任务中都使用启用思考功能的 Opus 4.5。尽管它比 Sonnet 更慢、比 Haiku 慢得多,但他认为由于错误率大幅降低,实际与模型工作和引导所花费的总时间反而更少。他还使用 Claude Code GitHub action(可在授权仓库中调用的机器人),在代码审查发现错误时,让 Claude 自动将错误添加到 Claude.md 文件。对于长时间任务,他采用三种方法:让 Claude 创建测试验证工作后放入后台、使用停止钩子在输出结束时自动触发验证、以及使用 Ralph Wiggum 插件完全移除人工验证环节。

代码格式化验证与简单功能的高效利用

Boris 使用各种语言的 linter 和格式化工具来验证代码格式,虽然模型能生成正确代码,但这些工具能清理剩余 10% 的问题,确保在 GitHub CI 管道中不会出错。他强调自己的工作流程出乎意料地简单,不需要过度复杂化就能获得 90% 的生产力提升。他将重复性工作流程称为「内循环」,通过 /commands 实现并存储在 .claud/command 文件夹中提交到 git 与团队共享。对于子代理,他不追求复杂用例,而是用于自动化需要完全不同指令的简单工作流,如验证代码架构、重构代码和验证构建有效性。视频最后介绍了他们的 Automata 服务,帮助将想法转化为实际产品。

Community Posts

View all posts