3.2 与 AI 确认需求 🔴
阅读完本节后,你将会收获:
- 理解 AI 的理解盲区,知道何时需要主动确认
- 掌握让 AI 确认理解的提示词模板
- 学会使用确认清单检查关键细节
- 掌握发现盲点的提示词方法
序言中提到的:AI 不会主动问你问题,你需要主动让它确认理解。
AI 的理解盲区
AI 不会主动提问。当需求描述模糊时,它会按默认理解或常见模式处理。这种默认处理往往与预期不符。
AI 的理解来源于上下文。上下文越完整,理解越准确。但上下文不是"字数越多越好",而是"关键信息越明确越好"。
这种差异源于 AI 的工作方式。当你与一个人类开发者讨论需求时,如果对方有不清楚的地方,他会停下来问你:"这个按钮是放在左上角还是右上角?""用户没有登录时能看到这个页面吗?"这些问题可能会让你感到有些烦琐,但它们确保了双方理解的一致性。AI 不会这样做。当你给出一个模糊的需求时,AI 会基于训练数据中的常见模式做出假设,然后直接开始生成代码。如果这些假设恰好符合你的预期,那当然是好事;但如果假设错了,你将在后续的迭代中付出更多的沟通成本来纠正。
更糟糕的是,AI 的假设往往是"合理"的——它选择的方案在技术上是可行的,在逻辑上是自洽的,只是不符合你的特定需求。这种偏差很难在代码生成之前被发现,因为你可能根本不会想到去确认那些"显而易见"的细节。只有当代码运行起来,看到结果与预期不符时,问题才会暴露。
常见的理解偏差来源:
| 偏差来源 | 导致的问题 |
|---|---|
| 用户模糊 | AI 猜测目标用户,可能猜错 |
| 功能边界不明确 | AI 可能加功能,也可能漏功能 |
| 技术约束未说明 | AI 选用了不兼容的技术 |
| 边缘情况未考虑 | 生成的代码缺少错误处理 |
主动确认的核心是:不要等 AI 来问你,而是让 AI 明确说出它的理解。
确认理解的提示词模板
每次讨论完需求后,使用以下模板让 AI 确认理解:
请确认你理解了我的需求。请按以下格式回复:
- 目标用户:[你理解的目标用户]
- 核心功能:[你理解的 3-5 个核心功能]
- 不做的事情:[你理解的不做的功能]
- 可能的问题:[你认为我可能没考虑到的地方]
如果有任何不确定,请列出问题清单。
这个模板的作用是让 AI 明确输出它的理解,方便逐项检查。
使用这个模板时,不要把它当作一种形式主义的流程。它的真正价值在于强迫 AI 把隐含的假设显性化。当 AI 写下"目标用户是职场人士"时,你可以立即发现这个理解是否准确——也许你指的是"大学生",也许你指的是"自由职业者"。这种显性的对比让误解无处藏身。
另一个容易被忽视的好处是,这个模板实际上在训练 AI 更好地理解你的需求。当你第一次使用时,AI 的确认可能有很多偏差;但随着你不断纠正这些偏差,AI 会逐渐学习到你的偏好和习惯,后续的理解会越来越准确。这是一个双向适应的过程。
为什么这样有效
| 只说"帮我做X" | 用确认模板 |
|---|---|
| AI 按猜测理解 | AI 必须明确说出理解 |
| 不知道 AI 理解对不对 | 能逐项检查 AI 的理解 |
| 有误解只能返工 | 在写代码前就发现误解 |
必须确认的细节清单
让 AI 确认时,检查它是否回答了这些关键问题。
用户与场景
| 确认项 | 为什么重要 |
|---|---|
| 目标用户是谁 | 决定 UI 复杂度、操作方式 |
| 使用场景是什么 | 决定技术选型(移动端/桌面端) |
| 解决什么问题 | 确保做的是有价值的功能 |
核心功能
| 确认项 | 为什么重要 |
|---|---|
| 最核心的 3-5 个功能 | 防止 AI 加太多功能 |
| 用户完成任务的流程 | 确保 AI 理解业务逻辑 |
| 有哪些状态变化 | 影响 UI 设计(加载、成功、失败) |
不做的事情
| 确认项 | 为什么重要 |
|---|---|
| 哪些功能这次不做 | 防止范围蔓延 |
| 哪些功能永远不做 | 保持产品聚焦 |
AI 倾向于"多做",必须明确告诉它边界。
这种倾向有其根源。在训练数据中,AI 看到了大量功能丰富的应用,它学会了"完整的产品应该包含什么"。但你的需求可能只是一个极简的原型,或者一个特定场景下的工具。如果不明确边界,AI 会默认按照"完整产品"的标准来生成代码,结果就是过度工程。
明确"不做的事情"还有一个心理层面的好处:它迫使你思考产品的核心是什么。当你列出"不做登录、不做云同步、不做分类标签"时,你实际上在确认这个产品最本质的价值是什么。这种聚焦对于早期产品至关重要。
数据与状态
| 确认项 | 为什么重要 |
|---|---|
| 需要存储哪些数据 | 决定数据结构设计 |
| 数据从哪里来 | 决定实现方式 |
| 边缘情况怎么处理 | 防止 bug(快速点击、网络错误等) |
技术约束
| 确认项 | 为什么重要 |
|---|---|
| 有技术栈限制吗 | 影响 AI 的代码选择 |
| 需要兼容哪些设备 | 影响 UI 实现 |
| 有性能要求吗 | 影响技术方案 |
发现盲点的提示词
讨论完需求后,用以下提示词让 AI 帮助发现问题:
基于我们刚才的讨论,请列出:
- 我可能没考虑到的边缘情况
- 你认为常见但我可能不需要的功能
- 需要明确的技术细节
请逐条列出,我会逐一确认。
AI 可能会指出:
- 用户删除数据后,需要能恢复吗?
- 数据列表有没有数量上限?
- 如果用户输入特别长的内容,怎么显示?
- 需要在手机上用吗?
这些就是被忽略的细节。
让 AI 帮你发现盲点是一种高效的做法。作为产品负责人,你不可避免地会有一些思维定式——你会假设某些事情是"显然"的,或者某些情况是"不会发生的"。AI 没有这些定式,它会从纯逻辑的角度审视你的需求,指出那些你因为太过熟悉而忽视的问题。
当然,AI 指出的问题不一定都需要解决。有些边缘情况可能确实很少发生,不值得为此增加复杂度。但知道这些问题的存在,让你能够做出知情的权衡,而不是在无知中冒险。
方案先行原则
在让 AI 生成完整代码之前,先让它生成方案或架构。
让 AI 先输出方案的好处:
- 能更快发现理解偏差
- 修改方案比修改代码成本低
- 确保整体架构合理后再进入细节
方案先行是一种"思维链"的应用。当 AI 直接生成代码时,它是在"边想边写"——每一个函数、每一个变量的命名都是即时决定的。这种方式容易陷入局部最优,导致整体架构的混乱。而先输出方案,相当于让 AI 先完成一次完整的思考,把整体框架确定下来,再进入具体实现。
从认知负荷的角度看,方案确认也降低了你的审核难度。审查一份方案文档,你只需要关注高层设计是否合理;而审查一份代码,你需要同时关注架构逻辑和语法细节。前者更容易发现根本性的误解,后者往往让人陷入细节的泥潭而忽略了整体方向的问题。
方案确认模板:
请先不要写代码,先给出实现方案:
- 数据结构设计
- 主要页面/组件及其职责
- 核心流程的实现思路
- 可能遇到的技术难点
对比:有确认 vs 无确认
无确认(常见错误)
你:帮我做一个待办清单。
AI:[生成带登录、云同步、分类标签的复杂版本]
你:太多了,我只要简单的。
AI:[重新生成,但可能还有其他你没说的功能]有确认(正确做法)
你:帮我做一个待办清单。请确认理解...
AI:我有几个问题...个人用还是团队用?
你:个人用,只要添加/勾选/删除。
AI:确认了:个人用,核心功能是添加/勾选/删除任务,不做登录/云同步/分类标签。
AI:[生成准确的版本]讨论结束的检查清单
当能全部打钩时,就可以让 AI 生成 PRD 或代码了:
- [ ] AI 明确说了目标用户是谁
- [ ] AI 列出了 3-5 个核心功能
- [ ] AI 明确了不做哪些功能
- [ ] AI 理解了完整的使用流程
- [ ] 数据怎么存、存什么已明确
- [ ] 边缘情况已讨论
- [ ] 技术约束已说明
- [ ] 让 AI 总结确认,它的理解准确
常见问题
Q1: AI 列出了很多我不需要的功能
A: 这说明边界不够明确。在确认模板中强调"不做的事情",并具体列出不需要的功能类别。
Q2: AI 的理解完全错了
A: 不要直接说"不对"。先理解它是如何理解的,然后指出偏差。使用"我说的 X 是指...,你理解的是..."这种对比方式。
Q3: 每次都要写这么长的确认提示吗?
A: 不需要。第一次或复杂需求需要完整确认。简单或后续的迭代,可以简化为"请确认理解"或"有没有不清楚的地方"。
Q4: AI 确认了,但生成的代码还是不对
A: 检查是否遗漏了某些细节,或者让 AI 生成方案时没有仔细审核。方案是代码的蓝图,方案错了,代码一定错。
本节核心要点
- ✅ AI 不会主动提问,需要主动让它确认理解
- ✅ 用确认模板让 AI 明确说出理解
- ✅ 检查 AI 的确认回复,发现误解立即纠正
- ✅ 让 AI 列出可能被忽略的问题
- ✅ 方案先行,确认方案后再生成代码
- ✅ 双方理解一致后,再让 AI 生成 PRD
理解确认后,接下来用标准模板写 PRD。
相关内容
- 前置:3.1 想法验证实战
- 详见:3.3 PRD 编写实战
