第 5 课:与 AI 协作确认需求
AI 的理解盲区与偏差来源
AI 很强大,但它有一个根本性的局限:它不会主动告诉你它没理解。
当你说"做一个用户管理功能"时,AI 不会追问"你说的用户是注册用户还是所有访问者?管理包括删除吗?删除后数据怎么处理?"。它会基于自己的理解直接生成代码——而这个理解可能跟你的意图完全不同。
AI 的理解偏差主要来自三个地方:
- 歧义:同一个词在不同上下文中含义不同。"用户"可以是注册用户、登录用户、付费用户
- 默认假设:AI 会用训练数据中最常见的模式来填补你没说的部分。你没提的错误处理方式,AI 会按最常见的方式处理——但不一定是你想要的方式
- 边界情况盲区:你说了正常流程,但没说异常情况。AI 不会替你想到"如果网络断开怎么办""如果用户中途退出怎么办"
让 AI 主动追问的方法
与其被动接受 AI 的理解偏差,不如让 AI 帮你发现需求中的模糊之处。方法很简单:
在对话开头加一句:"在开始之前,先列出你不理解的或需要确认的部分。"
这样做的好处:
- AI 会从实现的角度审视你的需求,找出模糊和遗漏
- 它提出的问题往往就是你没想清楚的边界情况
- 这个过程本身就是需求确认的一部分
另一个有效的方法:让 AI 复述你的需求。 "用你自己的话复述一遍我刚才说的需求,我们确认一下理解是否一致。"如果 AI 的复述跟你的意图有出入,说明你的需求描述不够清晰。
需求确认清单与检查点
每次跟 AI 讨论需求时,过一遍这个清单:
1. 用户与场景
- 目标用户是谁?使用场景是什么?
- 用户的起点和终点分别是什么?
2. 正常流程
- 用户会经历哪些步骤?
- 每一步的输入和输出是什么?
3. 异常情况
- 哪些环节可能出错?
- 出错后用户看到什么?可以怎么恢复?
4. 边界条件
- 最大/最小的数据量?
- 并发情况怎么处理?
- 权限怎么控制?
5. 不做什么
- 明确排除哪些功能和场景
- "不做什么"和"做什么"一样重要
一个实际例子
假设你想让 AI 帮你做"一个待办事项应用"。
模糊的需求描述:
做一个待办事项应用,用户可以添加、删除、编辑任务
经过确认后的需求描述:
做一个个人待办事项应用。用户可以添加任务(包含标题、截止日期、优先级),标记完成,删除任务。不支持多人协作,不支持子任务。数据存储在浏览器本地。界面要简洁,一个页面展示所有任务,按优先级排序。
差别在哪?模糊版给 AI 留下了大量自行判断的空间,确认版把关键决策都明确了。AI 根据确认版生成的代码,大概率更接近你想要的。
关键概念
- AI 不会主动告诉你它没理解:它会基于自己的假设直接生成结果
- 让 AI 追问和复述:用 AI 来帮自己发现需求中的模糊之处
- 需求确认清单:用户场景、正常流程、异常情况、边界条件、不做什么
课后练习
- 用确认清单与 AI 讨论一个需求,记录 AI 提出的追问——哪些是你没想清楚的?
- 让 AI 复述你的需求,记录理解偏差——偏差来自你描述的哪部分?