questioning-framework.md 5.3 KB

需求澄清问题生成框架

指导 LLM 根据项目上下文动态生成澄清问题的框架


1. 问题生成原则

1.1 核心原则

  • 上下文感知:基于用户已提供的信息和之前的回答生成问题
  • 渐进深入:从宏观到微观,从业务到技术逐步细化
  • 避免重复:不询问已明确的信息
  • 实用性导向:每个问题都应影响后续设计决策

1.2 问题质量标准

每个问题应满足:

  1. 与当前项目类型/领域相关
  2. 有明确的业务或技术影响
  3. 选项覆盖常见场景,同时保留灵活性
  4. 至少 4 个有意义的选项 + "其他"选项

2. 问题分类框架

在需求澄清阶段,按以下维度逐一生成问题:

2.1 业务维度

触发条件:涉及业务逻辑、用户角色、工作流程时

问题生成方向:

  • 用户角色与权限边界
  • 核心业务流程与变体
  • 数据所有权与共享规则
  • 业务规则与约束条件
  • 异常情况处理策略

示例问题模式:

基于您描述的[业务场景],我需要了解:
[具体业务问题]?

选项:
A) [最常见场景]
B) [替代场景]
C) [边界场景]
D) [其他常见变体]
E) 其他:_______

2.2 技术维度

触发条件:涉及技术选型、架构决策、集成需求时

问题生成方向:

  • 架构模式偏好
  • 技术栈约束或偏好
  • 集成与扩展需求
  • 数据处理策略
  • 部署与运维需求

问题生成依据:

  • 项目规模(小型/中型/大型)
  • 团队技术背景
  • 性能预期
  • 现有系统约束

2.3 安全维度

触发条件:涉及用户数据、敏感操作、合规要求时

问题生成方向:

  • 认证与授权要求
  • 数据分类与保护级别
  • 合规标准要求
  • 审计与日志需求
  • 安全事件响应

问题深度调整:

  • 涉及 PII:深入询问数据保护
  • 涉及金融:询问交易安全
  • 涉及医疗:询问合规要求

2.4 性能维度

触发条件:涉及高并发、大数据量、实时性要求时

问题生成方向:

  • 预期用户规模与增长
  • 响应时间要求
  • 数据量级估算
  • 可用性要求
  • 扩展策略偏好

问题精度调整:

  • 小型项目:询问基本预期
  • 中大型项目:深入询问具体指标

2.5 用户体验维度

触发条件:涉及界面设计、用户交互、可访问性时

问题生成方向:

  • 目标用户群体特征
  • 设备与平台支持
  • 无障碍要求
  • 品牌与风格偏好
  • 用户反馈机制

3. 动态问题生成流程

3.1 问题选择策略

1. 分析用户初始描述,提取关键信息
2. 识别信息缺口(哪些关键决策点未明确)
3. 按优先级排序问题:
   - 阻塞性问题(影响整体架构)优先
   - 细节问题(影响实现细节)靠后
4. 每次生成一个问题,等待回答后调整后续问题

3.2 上下文追踪

在澄清过程中,追踪以下信息:

信息类别 已知内容 待澄清
业务领域
用户角色
技术约束
安全要求
性能预期
用户体验

3.3 问题生成示例

场景:用户描述"需要一个任务管理系统"

第一轮(业务维度):

这个任务管理系统的使用场景是什么?

A) 个人任务管理
B) 团队协作任务管理
C) 项目管理(含甘特图、里程碑)
D) 工作流/审批任务管理
E) 其他:_______

根据回答调整后续问题:

如果选择 B(团队协作):

团队成员之间的任务如何分配?

A) 管理者统一分配
B) 成员自主认领
C) 混合模式(可分配也可认领)
D) 按技能自动匹配
E) 其他:_______

如果选择 A(个人任务管理):

任务需要哪些组织方式?

A) 简单列表
B) 分类/标签
C) 优先级 + 截止日期
D) 番茄钟/时间跟踪
E) 其他:_______

4. 问题生成检查清单

在生成每个问题前,确认:

  • 该问题的答案会影响后续设计
  • 该信息尚未在之前的对话中明确
  • 问题的表述清晰、无歧义
  • 选项覆盖了常见场景
  • 包含"其他"选项以处理特殊情况

5. 澄清终止条件

当满足以下条件时,可以结束澄清阶段:

  1. 核心决策点已明确:

    • 业务范围和边界
    • 主要用户角色和流程
    • 技术架构方向
    • 关键约束条件
  2. 信息足够进入下一阶段:

    • 可以开始模块划分
    • 可以定义数据实体
    • 可以设计 API 轮廓
  3. 剩余问题可在后续阶段细化:

    • 具体字段定义 → 模块设计阶段
    • UI 组件细节 → UI/UX 规范阶段
    • 性能调优参数 → 架构规范阶段

6. 特殊场景处理

6.1 用户回答不确定

如果用户表示"不确定"或"还没想好":

  • 提供行业最佳实践作为默认选项
  • 说明各选项的利弊
  • 建议采用可逆的决策(后期可调整)

6.2 用户需求矛盾

如果发现回答中存在矛盾:

  • 指出矛盾点
  • 询问优先级
  • 提供权衡建议

6.3 超出范围的需求

如果用户提出的需求超出项目范围:

  • 确认是否需要纳入
  • 如纳入,评估对时间线的影响
  • 如不纳入,记录为未来迭代项