0xMorty (@0xMortyx) 在 X 上

X AI KOLs 工具

摘要

本文概述了一个 9 步循环,利用 Claude Code 的内置原语(规划模式、子代理、钩子、CLAUDE.md、斜杠命令)来强制执行一个严谨的、高级工程师风格的开发工作流。它强调理解代码库、规划、执行标准以及确定性钩子,以避免代价高昂的错误。

https://t.co/FRtkxODjAf
查看原文
查看缓存全文

缓存时间: 2026/06/15 15:38

将 Claude Code 变成高级工程师的 9 步循环

大多数开发者使用 Claude Code 的方式就像一个需要不断监督的初级工程师。他们输入一个请求,看着它编辑文件,目测结果,然后输入下一个请求。这确实能工作。但这并不是 Claude Code 的设计初衷。

订阅我的 Substack 获取最新 AI 前沿信息:substack.com/@0xMortyx

高级工程师不会这样工作。他们会先理解代码库,制定计划,编写变更,测试它,对照团队标准进行审查,然后才交付。这个完整序列可以构建到 Claude Code 中,作为一个可重复的 9 步循环,使用其实际的原语:计划模式、子代理、钩子、CLAUDE.md 和斜杠命令。

只需设置一次,每个任务就会通过同样的严谨管道运行。以下是这 9 个步骤。

区别不在于模型,而在于模型周围的循环

Claude Code 自带严谨工作流程所需的确切原语:一个在接触代码前先思考的计划模式,在隔离上下文窗口中工作的子代理,以及每次确定性运行的钩子。初级设置和高级设置之间的差距,仅仅在于你是否将这些原语连接成一个循环。

1. 在接触任何代码前先探索

高级工程师会先阅读代码库。你的代理也应该如此。

探索子代理

初级做法是立即开始编辑。高级做法是先理解代码库。Claude Code 内置了一个探索子代理,它以只读模式读取你的代码,在自己独立的上下文窗口中运行,不会弄乱你的主会话或带来更改风险。

每个非平凡任务开始前,先让 Claude 去探索相关区域。它会带着对事物实际如何组合的理解回来,而不是靠猜测。

✓ 代理在写一行代码之前已经理解了代码

2. 在计划模式下制定计划

在编写任何代码之前,先确定方法。

计划模式

计划模式让 Claude 在不执行任何操作的情况下,完整思考整个方案。它会产出一个分步计划,你可以阅读、纠正和批准,然后才更改任何文件。这是你免费发现糟糕方法的地方,而不是在它已经构建了一半之后。

高级习惯:在你看过并同意计划之前,绝不让它开始构建。

✓ 你在任何可能被丢弃的代码存在之前就批准了方法

3. 将你的标准放入 CLAUDE.md

你的约定只需编写一次,每个会话都会读取。

CLAUDE.md

CLAUDE.md 是你的代码库中代理的宪法。它会在每个会话中读取这个文件,以锚定你的约定、命令和模式。高级工程师知道团队的标准,这就是你让你的代理拥有相同基线的方式。

**重要细微差别:**CLAUDE.md 中的指令是建议性的。Claude 在大多数情况下会遵循它们,但并非 100% 可靠。对于绝对不能被打破的规则,你需要第 5 步(钩子),那是确定性的。CLAUDE.md 设置默认值;钩子强制执行不可协商的规则。

✓ 每个会话开始时,你的约定已经加载完毕

4. 以小而可审查的片段构建变更

高级工程师交付少量代码。代理也应该如此。

主会话

计划已批准,标准已加载,构建步骤几乎显得无聊——这正是目的所在。指示代理以小的、自包含的片段来实现已批准的计划,而不是一个巨大的差异。较小的变更更容易验证,也更容易在出现问题时回滚。

✓ 变更以你可以实际审查的片段形式到达,而不是一个巨大的转储

5. 用钩子强制执行不可协商的规则

高级做法:让重要规则变得不可能被跳过。

钩子

这一步是真正的高级设置与精致初级设置的区别所在。钩子是在 Claude Code 生命周期特定点触发的 shell 命令,与 CLAUDE.md 不同,它们每次确定性运行。“编辑后始终运行 linter。”“绝不让带有失败测试的提交通过。“这些变成了保证,而不是建议。

✓ 你关键的规则现在自动运行,没有例外

6. 让它证明变更有效

没有“看起来不错“。每次都测试。

测试 + 钩子

高级工程师不相信未经测试的代码,包括他们自己的代码。指示代理为每个变更编写测试并运行它们。结合第 5 步的钩子,测试套件自动运行,因此“它有效“意味着测试确实通过了,而不是差异看起来合理。

✓ “完成“意味着测试通过了,而不是代码看起来没问题

7. 让第二个代理审查第一个代理

高级做法:一双没有编写代码的新鲜眼睛。

审查子代理

代码审查之所以有效,是因为审查者没有编写代码。你可以复制这一点:启动一个审查子代理,使用干净的上下文窗口,其唯一工作是批评变更。因为它有自己的上下文和批评者权限,它会发现构建者已经合理化忽略的问题。

✓ 一个干净上下文的批评者会发现构建者自己说服自己忽略的问题

8. 修复审查发现的问题,然后重新检查

循环在此闭合。修复,重新测试,重新审查,直到干净。

循环

这就是它成为循环而不是直线的关键。审查暴露出问题,代理修复它们,然后检查和审查在修复后的版本上再次运行。在变更结果干净之前,你不会继续前进。这正是高级工程师处理审查意见的方式。

✓ 问题被修复并重新验证,而不仅仅是确认

9. 用斜杠命令交付

将整个循环包装成一个可重用的命令。

斜杠命令

一旦变更干净,就交付它:一个清晰的提交,一个有真实描述的 PR。高级技巧是将这个完整的 9 步循环变成一个自定义斜杠命令,这样你就不用手动重新组装它。保存工作流一次,用一个命令触发整个管道。

✓ 整个循环现在从一个命令运行:/ship

为什么这真的有效

这些步骤没有一个是花招。它们就是高级工程师在每个任务上应用的相同纪律,映射到 Claude Code 已经自带的原语上。模型一直是能力足够的。缺少的只是它周围的循环。

  • 探索意味着它在编辑前理解,就像高级工程师先阅读代码
  • 计划模式意味着糟糕的方法在给你带来任何成本之前就消亡
  • CLAUDE.md 加上钩子意味着你的标准已加载,关键标准被强制执行
  • 测试加上独立审查意味着“完成“是挣来的,而不是声称的
  • 斜杠命令意味着你设置一次,永远运行

**诚实的总结:**这不会让 Claude Code 变得万无一失,没有任何东西能做到。但“需要盯着看的初级工程师“和“你可以信任完成任务的资深工程师“之间的差距,并不是更好的模型。而是在于你是否构建了循环。构建一次,每个任务都会通过它运行。

相似文章