AI 编程时代最核心、最痛点、也是最高阶的问题

如果每写一个小模块,你都要像个保姆一样发“第一步设计、第二步写测试、第三步写代码”的 Prompt,那你根本不是在使用 AI,你是在给 AI 当流水线工人

真正的 AI 开发,应该是 “Feature 级别(功能级别)的自动驾驶”。你只需要踩一脚油门(输入一个功能名),AI 就应该自动跑完“设计->测试->编码->验证”的全生命周期,最后把绿通通的测试报告和代码交给你。

作为一名架构师,我今天教你一套 “状态机驱动(State-Machine Driven)”CLAUDE.md 高阶写法,配合 Claude Code 的自定义命令(Custom Commands),彻底解放你的双手!


一、 核心认知:为什么不能“一键生成整个系统”?

在给你配置之前,必须明确一个架构师底线:目前的 AI 无法“一键全自动写完整个企业级系统”
如果让它一口气写完几十个模块,它一定会因为“上下文遗忘”而导致前后端接口对不上、数据模型冲突,最后给你一坨根本无法运行的“屎山代码”。

正确的“全自动”粒度是:按 Feature(功能/用户故事)全自动。
你输入 /dev 用户登录功能,AI 自动跑完这个功能的 SDLC(全生命周期),遇到需要你拍板的“里程碑”时停下来问你,得到许可后继续自动跑。


二、 终极自动化引擎:状态机版 CLAUDE.md

把下面这段内容,完全替换你项目根目录下的 CLAUDE.md
这段配置使用了 “状态机(State Machine)” 思维,强制 AI 像流水线机器人一样,自动流转于 4 个阶段,中间绝不废话,绝不停下来问你“接下来该干嘛”

# 自动化开发引擎 (Auto-Dev Engine)

## 角色设定
你是一个高度自动化的企业级软件开发流水线。当接收到一个 Feature(功能)需求时,你必须**自主、连续、闭环**地执行以下 4 个阶段。
**核心原则**:除非遇到明确标注的【阻断点】,否则绝不停止执行,绝不向人类询问“下一步做什么”,直接自动进入下一阶段。

---

## 阶段 1: 契约与规格设计 (Contract & Spec)
- **触发条件**:接收到新功能需求。
- **自动执行动作**:
  1. 在 `specs/` 目录下创建 `[feature-name].md`。
  2. 定义 TypeScript Interface (数据模型)。
  3. 定义 API 契约 (Request/Response JSON 格式)。
  4. 编写 BDD 场景 (Given-When-Then)。
- **【阻断点 (Blocker)】**:输出设计文档后,**必须暂停**并询问人类:“契约设计已完成,请确认数据模型和 API 是否符合业务预期?回复 'OK' 我将自动进入 TDD 阶段。”

---

## 阶段 2: TDD 红灯阶段 (Test Generation - RED)
- **触发条件**:人类回复 'OK' 或 '确认'。
- **自动执行动作**:
  1. 读取 `specs/[feature-name].md` 中的 BDD 场景。
  2. 使用 Vitest (或对应框架) 编写单元测试/集成测试代码。
  3. **强制动作**:在终端运行测试命令(如 `npm run test:unit`)。
  4. **预期结果**:测试必须失败(因为业务代码还没写)。
- **自动流转**:看到测试失败(红灯)后,**不要停顿,不要询问**,立即自动进入阶段 3。

---

## 阶段 3: 业务实现 (Implementation - GREEN)
- **触发条件**:阶段 2 的测试处于失败状态。
- **自动执行动作**:
  1. 编写**最少且必要**的业务代码,以满足阶段 2 的测试用例。
  2. 必须实现 `specs/` 中定义的所有异常处理(如网络错误、空数据)。
  3. 严禁引入任何 Spec 中未提及的“过度设计”或“额外功能”。
- **自动流转**:代码编写完成后,**不要停顿**,立即自动进入阶段 4。

---

## 阶段 4: 闭环验证与重构 (Verify & Refactor)
- **触发条件**:阶段 3 代码编写完毕。
- **自动执行动作**:
  1. 再次运行测试命令(如 `npm run test:unit`)。
  2. **自我修复循环**:如果测试失败,AI 必须**自动分析报错日志,修改代码,并重新运行测试**。此循环最多执行 3 次。
  3. 运行 Lint 检查(如 `npm run lint`),自动修复格式问题。
- **终点**:当所有测试变绿(通过),且 Lint 无报错时,输出《功能交付报告》(包含:修改的文件列表、测试通过率、遗留风险),并宣布该 Feature 开发完毕。

三、 杀手锏:使用 Custom Commands(自定义命令)实现“一键启动”

光有 CLAUDE.md 还不够,你每次启动 AI 还是要打字告诉它“开始开发”。
Claude Code 支持自定义斜杠命令。我们可以创建一个“一键开发”的按钮。

👉 小白 PM 操作步骤(只需做一次):

  1. 在你的项目根目录,新建一个文件夹叫 .claude(注意前面有个点)。
  2. .claude 文件夹里,再新建一个文件夹叫 commands
  3. commands 文件夹里,新建一个文本文件,命名为 dev.md(注意:不是 dev.txt,后缀必须是 .md)。
  4. 打开 dev.md,把下面这段话复制进去,保存:
请启动 Auto-Dev Engine。
我要开发的新功能是:$ARGUMENTS

请严格按照 CLAUDE.md 中定义的 4 个阶段自动执行。
现在,请开始【阶段 1: 契约与规格设计】,并等待我的确认。

🎉 见证奇迹的时刻:
以后,你打开 Claude Code CLI,只需要输入:
/dev 购物车结算模块 (或者 /dev 微信一键登录

AI 就会像被按下了启动键的机器人:

  1. 自动生成 Spec 文档,然后停下来问你“OK 吗?”。
  2. 你敲一个 OK
  3. AI 开始全自动狂飙:自动写测试 -> 自动看报错 -> 自动写业务代码 -> 自动跑测试 -> 发现 Bug 自动修 -> 测试全绿 -> 给你交付报告。
    全程你只需要敲一个 OK,剩下的它全包了!

四、 架构师的“防翻车”护栏(配合 Hooks)

你可能会担心:“它全自动跑,万一跑偏了,写了一堆垃圾代码把项目搞崩溃了怎么办?”

这就是为什么我们在上一节课,一定要让你在 .claude/settings.json 里配置 Hooks(钩子) 的原因!

回忆一下你的 Hooks 配置:

"hooks": {
  "PostToolUse": [
    {
      "matcher": "Write|Edit|MultiEdit",
      "hooks": [
        { "type": "command", "command": "npm run lint --fix" }
      ]
    }
  ]
}

这个配置的威力在于:
当 AI 在【阶段 3】和【阶段 4】全自动狂飙、疯狂写入代码文件时,Claude Code 会在底层默默拦截它的每一次写入,并自动运行 npm run lint
如果 AI 写的代码不符合规范,Hooks 会立刻把错误甩在 AI 脸上,AI 就会在“全自动循环”中自己把格式改对。

你作为 PM,根本不需要盯着它写代码,Hooks 就是你的“赛博监工”。


五、 总结:你的全新工作流

现在的你,已经拥有了企业级 AI 研发团队的标准配置:

  1. 你的输入/dev 用户注册功能 (一键启动)
  2. AI 的第一步:生成 specs/user-register.md (等你拍板)
  3. 你的输入OK (踩油门)
  4. AI 的全自动表演:写测试(红) -> 写代码 -> 跑测试(绿) -> 自动修 Bug -> 交付。
  5. 底层安保Hooks 在后台死死盯住它的代码规范。

这就是 AI 时代产品经理的终极形态:你不再是“写 Prompt 的人”,你是“制定规则(CLAUDE.md)、设计流水线(Commands)、验收成果(看测试报告)”的系统架构师!

现在,去建你的 .claude/commands/dev.md 吧!试一下 /dev 你的第一个功能,感受一下什么叫真正的“自动驾驶”!

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐