为了更直观地理解 Claude Code 如何重塑开发体验,我们以开发一个通用的日常需求为例:“为现有的电子商务系统设计并实现一个‘新客首单满 100 减 20’的优惠券激活与校验功能”

在传统范式下,你需要经历:读文档 $\rightarrow$ 建分支 $\rightarrow$ 逐个文件码字 $\rightarrow$ 手动编译 $\rightarrow$ 调测 Bug $\rightarrow$ 写单测 $\rightarrow$ 提交。

而在 Claude Code 框架下,整个过程将演变为一场人机协同的“意图导向(Intent-Driven)”流转


阶段一:准备与上下文对齐(人类主导)

在开始前,你无需向 AI 灌输几万行的代码,因为项目根目录下的 CLAUDE.md 已经死死锁定了工程的规范(如:编译命令为 npm run build,必须使用 TypeScript,严禁直接操作数据库单例等)。

  1. 创建功能分支:
    你在终端创建并切换到新分支:git checkout -b feature/new-user-coupon
  2. 唤醒 Claude Code:
    在项目根目录下键入命令,直接在终端拉起常驻的 AI 工程师:

    
    claude

*此时,Claude Code 启动,秒级加载了 CLAUDE.md,并在后台通过守护进程完成了项目 AST(结构树)的增量索引,随时准备行动。*

---

## 阶段二:意图拆解与动态探索(AI 探索,人类确认)

你不需要告诉它去修改哪一个文件,你只需像对一个高级工程师说话一样,下达你的**原始意图**:

> **人类:** “我们需要添加一个‘新客首单满 100 减 20’的优惠券功能。包含激活逻辑和下单时的校验逻辑。请帮我看看目前系统里优惠券模块是怎么实现的,并给我一个开发计划。”

1. **自主搜索(Agentic Search):**
Claude Code 收到指令后,开始在本地文件系统施展“主动检索”。你会在终端看到它自动调用了内置工具(类似高性能 grep):
* *Tool Call: Searching for "coupon" in src/...*
* *Tool Call: Reading src/services/CouponService.ts*

2. **反思与输出计划:**
几秒钟后,Claude 分析完了现有的优惠券架构,在终端给出了清晰的答复:
```text
我已为你找到了现有的优惠券基础类 `BaseCoupon` 和校验拦截器 `CouponValidator.ts`。
为了实现该需求,我计划进行以下三步修改:
1. 在 `CouponType` 枚举中新增 `NEW_USER_FIRST_ORDER`。
2. 在 `CouponService` 中实现激活逻辑(校验用户是否为真正的新客)。
3. 在 `CouponValidator` 中注入满减判断(订单金额 >= 100 且未支付过)。
是否按照此计划执行?(Y/n)

阶段三:TDD 2.0 自动化闭环(AI 狂飙,工具把关)

你输入 Y 确认计划,并向它提出了质量要求。

人类: “同意计划。请采用 TDD(测试驱动开发)模式,先在 tests/CouponService.test.ts 中为新客和老客分别写好测试用例,然后再去写业务实现。每次修改后自动运行测试,直到全绿。”

接下来,你会看到终端进入了高频、全自动的“智能体循环(Agentic Loop)”:

  1. 写测试: Claude 自动修改了测试文件,加好了边界条件(如:购买过商品的老客激活该券应当报错)。

  2. 跑测试(断言失败): 它调用本地测试工具 npm run test。控制台返回红色报错(因为业务代码还没写)。

  3. 写业务代码: Claude 捕捉到测试失败的上下文,开始修改 CouponService.tsCouponValidator.ts

  4. 编译并再跑测试(自我反思):

    • 它再次运行测试。突然,编译器报错:“Type 'NEW_USER_FIRST_ORDER' is not assignable to...”(类型未定义完整)。
    • AI 自愈: Claude 瞬间读懂了报错,意识到自己漏掉了枚举定义,它自动打开 src/types/coupon.d.ts 把枚举补上。
  5. 最终验证: 再次触发测试。控制台输出:All 4 tests passed (100% green)


阶段四:微型提交与云端 CI 终审(人机协作)

当本地测试全绿后,Claude Code 会主动向你汇报战果:

✨ 需求已开发完成!
- 修改了 4 个文件,新增了 2 个针对新老客的单元测试。
- 本地编译通过,单测 100% 绿。
是否为你自动生成 Git Commit 并提交 Pull Request?(Y/n)
  1. 自动提交: 你输入 Y。Claude 自动根据刚刚修改的代码语义,生成了极其标准、规范的 Commit Message:feat: implement new user first order coupon activation and validation logic,并推送到远端。

  2. 云端 CI 防线触发:
    代码推送到 GitHub/GitLab 后,触发云端的持续集成流水线。

    • 流水线会再次运行全量 Lint 静态扫描、安全漏洞扫描以及全局集成测试。
  3. 代码评审(Code Review):
    作为核心骨干的你,打开 Pull Request 页面。你不需要再去纠结它有没有写漏分号、类型有没有配错,因为 CI 和本地测试已经帮你完成了死守。你只需要把关:“AI 设计的这个满减架构,是否符合团队未来的扩展方向?”

确认无误后,你点击 Merge,需求正式交付。


核心对比:传统开发 vs Claude Code 开发

步骤 传统开发范式 Claude Code 开发范式
找代码位置 凭记忆或在 IDE 里全局搜索、翻目录。 向 AI 下达意图,AI 自主检索并梳理依赖图谱。
语法与编写 逐字敲键盘,查阅 API 文档,处理 Lint 报错。 AI 秒级生成,通过 CLAUDE.md 自动对齐规范。
调试与纠错 看报错 $\rightarrow$ 猜原因 $\rightarrow$ 改代码 $\rightarrow$ 重编(死循环)。 AI 捕获控制台报错,自主理解并实现代码自愈
测试编写 嫌麻烦,经常滞后编写或干脆不写。 TDD 2.0 强制前置,AI 自动完成高覆盖率单测。
人类的精力 80% 消耗在语法、编译、配环境等搬砖体力活上。 100% 聚焦在需求边界定义、架构合理性、核心合规审查上。