本文翻译自 harper.blog,作者 Harper Reed 是一位资深开发者,曾担任奥巴马 2012 年竞选技术总监。
Claude Code 在 2025 年 2 月发布后,Harper 立刻从 Aider 迁移过来。以下是他在真实项目中磨合出的工作流。
完整工作流:5 步流程
Step 1:用 GPT-4o 打磨想法
在开始写代码前,先和 gpt-4o 对话,打磨和明确你的想法。这一步的目的不是生成代码,而是厘清思路。
Step 2:用推理模型生成规格文档
选用最强的推理模型(Harper 用 o1-pro 或 o3)生成 spec.md——项目的完整规格说明。
Step 3:用推理模型生成 Prompt 计划
再次使用推理模型,基于 spec.md 生成 prompt_plan.md——一份分步骤的实现计划,每一步都是一个可执行的 Prompt。
Harper 的洞见:「用 LLM 生成 Prompt 是一种绝妙的 hack。它还会惹怒老一辈程序员。」
Step 4:把规格文档放到项目根目录
将 spec.md 和 prompt_plan.md 保存在项目根目录,Claude Code 启动时会自动读取。
Step 5:启动 Claude Code 并执行计划
在 Claude Code 中输入这个核心 Prompt:
1. 打开 @prompt_plan.md,找出所有未标记为完成的 Prompt
2. 对于每个未完成的 Prompt:
- 再次确认是否真的未完成(如有疑问请询问)
- 如果确认已完成,跳过
- 否则,按描述实现
- 确保测试通过,程序可以构建/运行
- 用清晰的提交信息提交变更到 git
- 更新 @prompt_plan.md,将该 Prompt 标记为完成
3. 完成每个 Prompt 后暂停,等待用户审查或反馈
4. 根据用户指引,继续下一个未完成的 Prompt
这个 Prompt 的魔力:
- 自动检查计划,只处理未完成的步骤
- 每步完成后提交 git(带意义明确的提交信息)
- 更新计划文件,持续追踪进度
- 每步完成后暂停等待反馈
然后你只需要不断说「continue」或者「yes」,Claude 就会自动完成整个计划。
三大「防御性编码」实践
1. TDD(测试驱动开发)
Harper 坦言自己曾经是 TDD 的反对者,认为写测试是浪费时间。但用 AI 编程后,他改变了看法:
机器人热爱 TDD。它们真的很享受这个过程。
最有效的方法:先让 AI 写测试和 Mock,下一步再让 AI 把 Mock 替换成真实实现。TDD 是 Harper 发现的对抗 AI 幻觉和范围漂移最有效的方法,帮助机器人保持专注。
2. Linting(代码规范检查)
Harper 大力推荐:
- Python:Ruff(极快的 Linter + Formatter)
- JavaScript:Biome
- Rust:Clippy
「机器人超级喜欢运行好的 Linter。」
3. Pre-commit Hooks(预提交钩子)
这是关键技巧。Claude Code 非常想要提交代码,所以在它提交前运行测试、类型检查、Linting:
# 安装 pre-commit
uv tools install pre-commit然后配置 .pre-commit-config.yaml,每次提交前自动运行所有检查。
效果:AI 写了乱糟糟的代码 → 尝试提交 → 预提交钩子报错 → AI 不得不修复 → 再次提交。不用等 CI/CD,就在本地解决问题。
⚠️ 趣味发现:「Claude 完全搞不清楚怎么正确使用
uv,如果不小心,它会到处pip install。就算告诉它用uv,它也会用uv pip install。」
CLAUDE.md 和自定义命令
Harper 从朋友 Jesse Vincent 那里「借」了一个 CLAUDE.md 模板,内容包括:
- 轻量版的大模型行为规则
- TDD 操作说明
- 个人编码风格偏好
自定义命令的典型用法:
/user:gh-issue #45 # 传入 GitHub Issue 编号Claude 会执行 gh-issue.md 文件中定义的完整 Prompt 流程。
Harper 还给自己的 CLAUDE.md 设置了「呼叫方式」:「如果卡住了,停下来寻求帮助——Harp Dog 可能知道最佳方案。」
实测数据
一个 8-12 步的开发计划,Harper 通常在 30-45 分钟内完成,无论项目复杂度或使用什么语言。
他和朋友 Bob 的一次赌约:Bob 说「用 C 语言写一个 BASIC 解释器」——Harper 不会 C,也不会写解释器,但还是接受了挑战。第一个能运行的版本在一小时内完成。 项目地址:github.com/harperreed/basic
团队协作
Harper 的整个团队都在用 Claude Code,每个人根据自己的情况做了调整:
- 测试覆盖率比以前任何时候都高
- 代码质量更好
- 在 Ghostty、VS Code 终端、Zed 终端和 Jupyter Notebook 里都能看到 Claude Code 在跑
原文:Basic Claude Code | Harper Reed | harper.blog | 2025-05-08