返回博客2026年2月24日

Cloudflare 工程主管的 Claude Code 工作流:先研究,再规划,最后才写代码

Claude CodeAI 编程工作流Cloudflare

Boris Tane 是 Cloudflare 的工程主管,之前创办了 Serverless 可观测性平台 Baselime(2024 年被 Cloudflare 收购)。他最近分享了自己使用 Claude Code 的完整工作流,核心只有一条纪律:

永远不要让 Claude 在你审批计划之前就开始写代码。

这句话听起来简单,但它背后是一套完整的方法论 - 把"思考"和"打字"严格分开。

第一步:研究

每个重要任务都从深度阅读开始。不是让 Claude 扫一眼代码就动手,而是要求它把相关代码彻底读透,然后把发现写进 Markdown 文件。

Boris 特别强调用词的重要性。像"deeply""intricacies""go through everything"这些词不是修辞,而是信号 - 告诉 Claude 浅层阅读不够。不加这些信号,Claude 会倾向于浏览文档然后跳过关键细节。

为什么要写进文件而不是口头总结?因为写下来的东西可以被审查。这防止了最昂贵的失败模式:代码本身能跑,但和周围系统不兼容 - 忽略了缓存层的函数、不遵守 ORM 约定的迁移、重复造轮子的逻辑。

第二步:规划

研究完成后,让 Claude 在单独的 Markdown 文件里写详细的实现计划,包括代码片段、要修改的文件路径、权衡考虑。

Boris 用自定义 Markdown 文件而不是 Claude Code 内置的 plan mode,理由很实际 - 自己控制文件格式,而且文件是持久化的,不会随会话消失。

一个很有价值的技巧:如果你知道某个开源项目有类似的好实现,把那段代码一起给 Claude 做参考。有了具体参考,Claude 的输出质量会明显优于从零设计。

核心环节:标注循环

这是整个工作流里最有区分度的部分。

Claude 写完计划后,Boris 会在编辑器里打开这个 Markdown 文件,直接在计划里加批注 - 指出错误假设、否决某些方案、补充领域知识。比如:

  • "用 drizzle:generate 做迁移,不要写原始 SQL"
  • "不对 - 这里应该用 PATCH,不是 PUT"
  • "这部分整个删掉,我们不需要缓存"
  • "visibility 字段应该放在 list 上,不是 item 上"

然后把文件扔回给 Claude:"我加了批注,逐条处理,更新计划。先不要实现。"

这个循环会重复 1 到 6 次。"先不要实现"这句话是安全阀 - 防止 Claude 在计划没确认之前就开始写代码。

为什么这样做比在聊天里来回对话好?因为 Markdown 文件是人和 AI 之间的共享可变状态。批注精确指向问题位置并给出修正,不需要在聊天记录里翻来翻去回忆之前做了什么决定。

三轮标注下来,一个通用的计划就能变成完全贴合现有系统的方案。Claude 擅长理解代码和提出方案,但它不了解产品优先级、用户痛点、团队的工程偏好 - 标注就是注入这些判断的渠道。

第三步:实现

计划确认后,Boris 用一条标准化的指令启动实现:

"全部实现。每完成一个任务或阶段就在计划文档里标记完成。完成之前不要停下来。不要加多余的注释或 jsdoc,不要用 any 或 unknown 类型。持续运行类型检查,确保没有引入新问题。"

这条指令编码了几个关键原则:按计划执行所有内容,不要挑挑拣拣;以计划文档为进度的唯一来源;不要中途暂停等确认;保持代码干净;通过持续类型检查尽早发现问题。

实现阶段应该是机械的、无聊的。 创造性的工作在标注循环里已经完成了。计划对了,执行就是直线前进。

实现过程中的反馈

进入实现阶段后,人的角色变成简短的纠偏。提示变成一句话:

  • "你没实现 deduplicateByTitle 函数。"
  • "你把设置页面建在了主应用里,应该在管理后台,移过去。"

前端工作最需要迭代。看着浏览器快速给反馈:"宽一点""还是被裁了""有 2px 的间隙"。

如果方向错了,不要打补丁 - 直接 revert 重来:"我回滚了所有改动。现在我只要把列表视图做得更简洁。"

一个长会话搞定

Boris 倾向于在一个连续会话里完成研究、规划和实现,而不是拆成多个对话。到了实现阶段,Claude 已经通过整个会话 - 研究、标注循环、吸收领域修正 - 建立了足够的理解。

计划文档在 context window 压缩后依然完整保留,这意味着你随时可以用它来校正方向。

一句话总结

深度阅读,写计划,标注计划直到它对了,然后让 Claude 一口气执行完,过程中持续检查类型。

没有魔法提示词,没有精心设计的 system prompt,没有花哨的 hack - 只是把思考和打字严格分开。研究防止无知的改动,计划防止错误的改动,标注注入人的判断,实现指令确保不间断地执行。

这套方法论的本质很朴素:AI 做它擅长的(理解代码、生成代码),人做人擅长的(判断优先级、把控方向、注入领域知识)。两者配合的界面就是那个 Markdown 文件。

相关文章

准备开始了吗?

先简单说明目标,我会给出最合适的沟通方式。