乐于分享
好东西不私藏

别让 AI 裸奔写代码 · 02|从一句话需求到可执行的 MVP

别让 AI 裸奔写代码 · 02|从一句话需求到可执行的 MVP

「AI 研发流水线」系列连载 · 第 2 篇 / 共 4 篇阅读时间约 8 分钟

📖 上一篇:《01|为什么 AI 写得越快,返工来得越早?》


回顾一下上一篇

上一篇我们说了一个反直觉的事实——AI 写得越快,返工来得越早。原因不在 AI,而在我们经常让它在缺少上下文、边界、验收标准的情况下直接开工。

解决方案是一条流水线 + 7 个文件 + 5 个 Gate:

docs/order-export/  00-intake.md          ← 本篇第 1 步  01-deep-research.md   ← 本篇第 2 步  02-requirements.md    ← 本篇第 3 步  03-mvp-1.md           ← 本篇第 4 步  04-mvp-1-prompt.md    ← 下篇  05-mvp-1-review.md    ← 下篇  open-questions.md     ← 全程持续更新

这一篇,我们用真实的"订单导出"需求走完前 4 个文件。


起点:一句让人头大的需求

产品给的原话只有一句:

"后台系统需要支持订单导出。"

很多开发者会直接打开 AI:

"帮我实现订单导出功能。"

这句话太危险了。因为它没说清楚:

  • • 导出哪些字段?
  • • 谁可以导出?
  • • CSV 还是 Excel?
  • • 数据量大怎么办?
  • • 是否需要异步?
  • • 是否需要操作日志?
  • • 是否允许导出手机号?
  • • 失败后怎么提示?

所以,不要直接进入编码。我们一步步来。


Step 1 · Intake:先把问题边界框住

Intake 不是写完整需求,而是先把"这是什么问题"说清楚

需求来了
先问 5 个问题
解决什么问题?
谁会使用?
什么算成功?
这次不做什么?
哪些问题需要研究?
00-intake.md

00-intake.md模板(可直接抄走):

# 订单导出功能 Intake## 一句话描述后台运营人员希望可以导出订单数据,用于财务对账和运营分析。## 背景目前订单数据只能在后台分页查看,无法批量导出。运营需要手动复制数据,效率很低。## 目标用户- 运营人员- 财务人员- 管理员## 成功标准- 用户可以在订单列表页点击"导出"按钮- 导出的数据和当前筛选条件一致- 普通运营只能导出自己权限范围内的数据- 大数据量导出不会拖垮系统## 非目标(本次不做)- 定时导出- 复杂报表模板- 导出历史管理页面## 约束- 不引入重型报表系统- 优先复用现有订单查询逻辑- 后台已有权限体系,必须遵守## 待研究问题- 常见后台系统如何处理大数据量导出?- CSV 和 Excel 哪种更适合 MVP?- 是否需要异步导出?- 导出权限和审计日志有哪些常见做法?

🎯 关键纪律:Intake 一页就够,不要写成大文档。它是"问题界定",不是"需求规格"。


Step 2 · Deep Research:研究是证据库,不是需求

接下来用 Gemini Deep Research(或其他研究型 AI)进行调研。但记住一个原则:

Research 是证据库,不是最终需求。

AI 研究结果只是输入,不能直接变成产品决策。这是非常多团队踩过的坑——把 AI 列的"最佳实践"直接当结论,然后做出一个对自家场景不合适的方案。

01-deep-research.md关键内容:

# 订单导出功能 Deep Research## 核心结论1. 小数据量可以同步导出2. 大数据量更适合异步导出3. CSV 实现简单,Excel 用户体验更好4. 导出必须受权限控制5. 敏感数据导出建议记录审计日志## 常见方案对比| 方案 | 优点 | 缺点 | 是否适合 MVP ||---|---|---|---|| 同步 CSV 导出 | 实现简单,交付快 | 大数据量容易超时 | ✅ 适合 || 异步导出任务 | 稳定,适合大数据 | 实现复杂,需要任务系统 | ⏸ MVP-2 || 报表系统 | 扩展性强 | 成本高,周期长 | ❌ 不适合 |## 风险- 大批量导出导致接口超时- 越权导出敏感订单- 导出字段包含隐私数据- 多人同时导出造成数据库压力## 建议MVP-1 先做同步 CSV 导出,并限制最大导出数量。MVP-2 再考虑异步导出和导出历史。

Research 阶段聚焦三个问题,不要研究太多:

  • • 这个需求有什么常见方案?
  • • 每种方案有什么优缺点?
  • • MVP 应该避开什么坑?

Step 3 · 需求分析:重点是收敛,不是发散

到这一步,你已经有了:问题边界方案证据库

接下来用 Claude 把它们收敛成可执行的需求文档。注意,是收敛——不是让 AI 继续发散。

02-requirements.md关键片段:

# 订单导出功能需求文档## 用户角色| 角色 | 权限 ||---|---|| 管理员 | 可导出全部订单 || 运营人员 | 只能导出自己权限范围内的订单 || 财务人员 | 可导出财务相关字段 |## 用户故事### Story 1:按筛选条件导出订单作为运营人员,我希望在订单列表页按照当前筛选条件导出订单,以便进行线下分析。**验收标准**- Given 用户已经设置订单状态和时间范围筛选- When 用户点击导出按钮- Then 系统导出的订单应与当前筛选条件一致## 范围内- 订单列表页增加导出按钮- 支持按当前筛选条件导出- 支持 CSV 文件- 限制单次最多导出 5000 条- 记录导出操作日志## 范围外- 定时导出 / 导出历史页面 / 自定义字段 / 异步任务队列## 验收标准汇总| 编号 | 验收项 | 是否必须 ||---|---|---|| AC-1 | 按当前筛选条件导出 | ✅ || AC-2 | 权限范围正确 | ✅ || AC-3 | 单次导出不超过 5000 条 | ✅ || AC-4 | 导出操作写入日志 | ✅ || AC-5 | 支持导出历史页面 | ❌ MVP-2 |

同时,全程都要维护 open-questions.md——任何一个还没拍板的问题都进这里:

# Open Questions| ID | 问题 | 优先级 | Owner | 状态 | 结论 ||---|---|---|---|---|---|| Q1 | 是否导出手机号? | P0 | 产品 | ✅ Resolved | MVP-1 不导出 || Q2 | 是否支持 Excel? | P1 | 技术 | ✅ Resolved | MVP-1 只支持 CSV || Q3 | 超过 5000 条如何处理? | P0 | 技术 | ✅ Resolved | 前端提示缩小筛选范围 || Q4 | 是否需要导出历史? | P2 | 产品 | 🟡 Open | 放到 MVP-2 评估 |

要不要进入下一步,看这张闸门图:

需求可进入设计?
范围明确?
继续澄清
验收标准可测试?
P0 问题已关闭?
✅ 进入 MVP 设计

P1/P2 问题可以带着进 MVP,P0 问题必须先关闭。


Step 4 · 抽取 MVP:必须明确"不做什么"

到这一步最容易翻车——AI 很会"热心地"把范围撑大。

"订单导出"如果不控制,AI 可能会主动设计出:

异步任务 + 导出历史 + 字段配置 + 报表模板 + 邮件通知 + 权限矩阵 + 报表中心...

这些功能不一定错,但它们不属于 MVP

用脑图先把范围切开:

订单导出

MVP-1

同步 CSV

当前筛选条件

权限控制

5000 条限制

操作日志

MVP-2

异步导出

导出历史

Excel 支持

暂不考虑

定时报表

自定义模板

报表中心

03-mvp-1.md必须包含三块内容:范围内、范围外、Done Definition。

# MVP-1:订单同步 CSV 导出## MVP 目标让运营人员可以在订单列表页导出当前筛选条件下的订单 CSV 文件。## 范围内| 功能 | 说明 ||---|---|| 导出按钮 | 在订单列表页增加 || 当前筛选条件导出 | 复用列表筛选参数 || CSV 文件 | 只支持 CSV || 条数限制 | 单次最多 5000 条 || 权限控制 | 复用现有订单查询权限 || 操作日志 | 记录导出人、时间、筛选条件 |## 范围外| 功能 | 处理方式 ||---|---|| Excel 导出 | MVP-2 评估 || 异步导出 | MVP-2 评估 || 导出历史 | MVP-2 评估 |## ADR:为什么选择同步 CSV?- **决策**:MVP-1 同步 CSV,限制 5000 条- **原因**:实现简单 / 风险低 / 可快速验证需求真伪 / 可复用现有筛选逻辑- **代价**:不适合超大数据量,无导出历史,后续可能需引入异步任务## Done Definition- 所有验收标准通过- 自动化测试通过- 人工验收通过- 无无关代码改动- 文档和 review 文件已更新

🎯 两句口诀:

没有"范围外",AI 很容易过度发挥。没有"Done Definition",就很难判断是否真的完成。


这一篇的成果

走完前 4 步,你手里已经有了 5 份文档:

docs/order-export/  ✅ 00-intake.md  ✅ 01-deep-research.md  ✅ 02-requirements.md  ✅ 03-mvp-1.md  ✅ open-questions.md

整个过程花的时间,通常比直接让 AI 写代码还短——因为绝大部分内容是 AI 帮你起的草,你只在关键决策点拍板。

但它换来的是:AI 真正知道这次任务的边界、目标和验收标准


下一篇预告

接下来才是很多人最关心的部分——

📌 第 03 篇:让 AI 一次写对代码的三个动作

  • • 怎么把 MVP 文档变成一份"AI 编码任务书"?
  • • 为什么必须先让 AI 出"实现计划",而不是直接出代码?
  • • 怎么让另一个 AI 帮你做"交叉 Review",找出第一个 AI 自己看不见的偏差?

还是用订单导出这条主线,附完整 Prompt 模板。


🔔 订阅这个系列

写到这里你可能注意到了:这套流程的核心其实不是"用什么 AI",而是"在哪里下决策、记录什么"。

工具会过时,这套思路不会。

👉 关注我,不错过下一篇连载更新。

如果这篇对你有用,欢迎转发给身边那个"周一接需求、周三救火"的同事。


下一篇见:让 AI 一次写对代码的三个动作 👋