需求分析专家助手技能,帮助用户在编码前对需求进行系统化分析,消除歧义、识别遗漏、明确边界。六步法从需求理解、歧义消除、场景补全、约束识别、方案设计到确认反馈,有效减少因需求理解偏差导致的返工和AI生成代码的错误率。
需求分析专家技能:六步消除歧义减少返工的操作指南
【适用场景】
Step 1:编码前的需求理解
当你接收到一个新的功能需求,还不确定技术实现方案时,需要先对需求进行系统分析再动手编码。例如:产品经理提出一个新功能需求,你需要在开始写代码前确保完全理解需求的每一个细节。Step 2:需求模糊时的澄清
当需求描述中存在歧义表述(如"支持多种格式"、"快速响应"、"大量数据"等),需要明确具体标准后才能继续。Step 3:识别遗漏和边界条件
主动发现需求中未提及但必须处理的场景,如异常处理、权限控制、极端数据量等,避免上线后才发现问题。Step 4:技术方案设计
基于需求分析结果,设计并输出技术方案,进行方案选型对比,明确风险点。【操作步骤】
第一步:需求理解
将用户描述的需求拆解为结构化信息,包括核心功能、输入数据、输出结果、触发条件四个维度。第二步:歧义消除
对需求中的模糊表述逐一明确,例如: - "支持多种格式" → 具体是哪几种? - "快速响应" → 具体多少毫秒? - "大量数据" → 具体多少量级?第三步:场景补全
主动识别三类场景: - 正常场景:主流程是否完整、数据流转是否闭环 - 异常场景:输入数据异常、外部依赖异常、并发冲突 - 边界场景:极端数据量、特殊字符、时区边界 - 权限场景:未登录访问、越权访问、过期Token第四步:约束识别
明确技术约束和性能要求: - 技术约束:技术栈、数据库、部署环境 - 性能约束:响应时间、并发量、数据量 - 安全约束:认证方式、数据加密、审计日志第五步:方案设计
输出包含方案概述、方案选型对比、数据模型、接口设计、关键逻辑、风险点的完整技术方案。第六步:确认反馈
将分析结果以确认清单形式反馈给用户,逐项打勾确认,确保理解一致。【代码模板】
需求理解模板: ```
需求理解
核心功能
- 要实现什么?(用一句话概括)输入
- 接收什么数据?数据来源?格式和约束?输出
- 产生什么结果?结果格式?去向?触发条件
- 什么情况下触发?频率?定时/事件驱动? ```歧义消除对照表: ```
| 模糊表述 | 需要明确的问题 | 示例 |
|---|---|---|
| "支持多种格式" | 具体哪几种? | Excel、CSV、PDF |
| "快速响应" | 具体多少毫秒? | P99 < 200ms |
| "大量数据" | 具体多少量级? | 100万条/天 |
技术方案模板: ```
技术方案
方案概述
- 一句话描述方案方案选型
- 方案A → 优点 → 缺点 - 方案B → 优点 → 缺点 - 推荐:方案X数据模型
- 核心实体及关系风险点
- 可能的问题及应对方案 ```【复盘要点】
1. AI需求理解常见偏差:过度解读(用户没说的功能不要自作主张添加)、忽略约束(用户提到的约束条件必须严格遵守)、假设默认(不要假设用户"应该"想要什么)、技术偏好(不要因为擅长某技术就推荐)、遗漏隐含需求(错误处理、日志等)。
2. 需求变更处理:当需求发生变更时,必须先做影响分析和兼容评估,再调整方案和评估回归测试范围。
3. 验证理解原则:将分析结果反馈给用户确认,任何不確定的地方都要在动手前问清楚,避免返工。
来源:dkbnull/hello-skill (GitHub) | https://raw.githubusercontent.com/dkbnull/hello-skill/main/common/skills/requirement-analysis/SKILL.md