写代码前,先让 AI 帮你做需求分析

0 阅读6分钟

06_cover_ai_requirement_analysis.png

很多 AI 编程翻车,不是因为代码生成能力差,而是因为需求一开始就是糊的。

你说“做一个记账 App”,AI 就会开始生成页面、接口、数据库表。看起来效率很高,但很快会遇到问题:

  • 记账是个人用还是多人用?
  • 支出分类能不能自定义?
  • 是否需要预算提醒?
  • 是否支持多账户?
  • 数据能不能导出?
  • 第一版到底做到哪里算完成?

如果这些问题没想清楚,AI 写得越快,返工越快。

所以我建议:正式写代码前,先让 AI 做需求分析。

需求分析不是写长文档

很多程序员一听需求分析,就想到几十页 PRD。

这不是我们要的。

AI 编程里的需求分析,目标很简单:把一个模糊想法变成可以开发、可以验证、可以取舍的任务。

最少要回答 6 个问题:

  • 用户是谁?
  • 用户遇到什么问题?
  • 核心流程是什么?
  • 第一版必须做什么?
  • 哪些先不做?
  • 做完以后怎么验收?

只要这 6 个问题清楚,后面架构设计和代码开发都会稳很多。

06_flow_ai_requirement_analysis.png

第一步:先描述背景,不要直接列功能

不要一上来就说:

我要做一个记账 App,帮我列功能。

更好的方式是描述真实场景:

我想做一个个人记账 App。
目标用户是刚开始工作、想控制日常开销的年轻人。
他们的问题是:每月不知道钱花到哪里,也不想使用复杂的财务软件。

请先不要写代码,帮我做需求分析。

这段话比“做记账 App”强很多,因为它给了用户、问题和产品方向。

第二步:让 AI 输出 MVP 范围

MVP 的意思不是“功能越少越好”,而是第一版只做能验证核心价值的功能。

可以这样问:

请输出这个产品的 MVP 范围。
要求:
1. 分成必须做、可以后做、暂时不做
2. 每个功能说明为什么放在这个优先级
3. 避免一开始就做复杂功能

AI 通常会输出类似:

必须做:

  • 记录收入和支出。
  • 设置分类。
  • 按月查看统计。
  • 编辑和删除记录。

可以后做:

  • 预算提醒。
  • 多账户管理。
  • 数据导出。

暂时不做:

  • 多人共享账本。
  • 股票基金资产管理。
  • 自动识别账单。

这个结果的价值是帮你砍需求。

很多项目失败,不是因为做得太少,而是第一版做得太散。

第三步:让 AI 画出核心流程

功能列表还不够,你还要知道用户怎么走。

提示词:

请基于 MVP 范围,整理核心用户流程。
输出格式:
1. 用户进入应用后的第一步
2. 新增一笔支出的完整流程
3. 查看月度统计的流程
4. 编辑或删除记录的流程
5. 每个流程的异常情况

这一步会暴露很多细节。

比如新增支出时:

  • 金额为空怎么办?
  • 金额为负数怎么办?
  • 分类未选择怎么办?
  • 日期默认今天还是必须选择?
  • 保存失败是否保留表单内容?

这些问题如果不提前想,最后都会变成开发中的返工。

第四步:让 AI 提取数据模型

需求分析阶段不需要设计完整数据库,但要知道核心数据有哪些。

可以这样问:

请根据上面的需求,提取核心数据模型。
要求:
1. 只输出业务字段,不写具体数据库代码
2. 标明必填字段和可选字段
3. 说明字段之间的关系
4. 指出还不确定的问题

可能得到:

  • Transaction:金额、类型、分类、日期、备注、创建时间。
  • Category:名称、类型、颜色、排序。
  • MonthlySummary:月份、总收入、总支出、结余。

注意这里有一个关键要求:指出还不确定的问题。

好用的 AI 不是只给答案,也应该帮你发现问题。

第五步:让 AI 输出验收标准

很多需求最大的问题是“做完”没有定义。

你可以要求:

请把 MVP 功能整理成验收标准。
每条使用这种格式:
当……时,用户应该能够……
同时列出至少 5 个边界场景。

例如:

  • 当用户输入金额、分类和日期时,应该能够成功保存一笔支出。
  • 当金额为空时,应该提示用户填写金额,不能保存。
  • 当用户删除一笔记录时,月度统计应该同步更新。
  • 当没有任何记录时,统计页应该显示空状态。

这些验收标准后面可以直接变成测试用例。

第六步:让 AI 反问你

这是很多人忽略的一步。

不要只让 AI 回答,也要让它提问:

请站在产品经理和技术负责人角度,列出 10 个必须确认的问题。
这些问题如果不确认,可能影响后续设计或开发。

AI 可能会问:

  • 是否需要登录?
  • 数据只保存在本地,还是同步到云端?
  • 是否需要多端同步?
  • 分类是否允许删除?
  • 删除分类后历史记录怎么办?
  • 统计按自然月还是自定义周期?

这些问题就是需求风险。

你不一定要全部回答,但必须知道哪些暂时不做,哪些必须现在决定。

一个完整提示词模板

你可以直接复制下面这段:

我想做一个【产品/功能名称】。
背景是:【用户是谁,遇到什么问题】。
目标是:【希望解决什么问题】。

请先不要写代码,帮我做需求分析。

请输出:
1. 目标用户
2. 核心使用场景
3. MVP 功能范围
4. 暂时不做的功能
5. 核心用户流程
6. 关键数据模型
7. 验收标准
8. 边界情况
9. 还需要我确认的问题

要求:
- 不要过度设计
- 优先保证第一版可落地
- 每个结论都说明理由

最后

AI 编程不是从写代码开始,而是从定义问题开始。

需求越清楚,AI 越像工程助手;需求越模糊,AI 越像随机代码生成器。

如果你要做一个新功能,建议先让 AI 产出需求分析,再让它做架构设计,最后才进入代码开发。

下一篇我会继续写:如何让 AI 帮你做架构设计,以及如何避免一上来就把项目做复杂。