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