「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 不是写完整需求,而是先把"这是什么问题"说清楚。
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 评估 |要不要进入下一步,看这张闸门图:
P1/P2 问题可以带着进 MVP,P0 问题必须先关闭。
Step 4 · 抽取 MVP:必须明确"不做什么"
到这一步最容易翻车——AI 很会"热心地"把范围撑大。
"订单导出"如果不控制,AI 可能会主动设计出:
异步任务 + 导出历史 + 字段配置 + 报表模板 + 邮件通知 + 权限矩阵 + 报表中心...
这些功能不一定错,但它们不属于 MVP。
用脑图先把范围切开:
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 一次写对代码的三个动作 👋
夜雨聆风