返回

oh-my-codex 教程 2:$deep-interview 意图澄清工作流

详解 $deep-interview 技能的苏格拉底式追问机制,学习如何通过意图澄清避免返工,将模糊需求转化为明确的技术目标。

教程概述

$deep-interview 是 oh-my-codex 的意图澄清技能,通过苏格拉底式追问帮助你将模糊需求转化为明确的技术目标。

你将学到

  • ✅ $deep-interview 的工作原理
  • ✅ 苏格拉底式追问的流程
  • ✅ explore 预探索功能
  • ✅ 意图澄清的核心原则
  • ✅ 与 $plan 的衔接方法

触发方式标识

trigger_mode: "显式命令($deep-interview)"
codex_native_alternative: "手动澄清对话"
superpowers_equivalent: "brainstorming 技能"
when_to_use_omx: "需求模糊、目标不明确时使用"
when_to_skip_omx: "需求清晰、可直接执行时"

为什么需要 $deep-interview?

模糊需求的代价

flowchart TD
    A[模糊需求] --> B[开始实现]
    B --> C[中途发现理解偏差]
    C --> D[大量返工]
    D --> E[交付延期]
    E --> F[质量下降]

    style A fill:#ffcccc
    style C fill:#ffcccc
    style D fill:#ffcccc

意图澄清的优势

flowchart TD
    A[模糊需求] --> B[$deep-interview]
    B --> C[明确目标]
    C --> D[精准实现]
    D --> E[一次到位]
    E --> F[高质量交付]

    style B fill:#e1f5ff
    style C fill:#e1f5ff

$deep-interview 是什么?

$deep-interview 是 oh-my-codex 提供的意图澄清工作流,通过结构化的苏格拉底式追问,帮助你:

  1. 揭示隐含假设 - 挖掘需求背后的真实意图
  2. 明确边界范围 - 确定功能的包含与不包含
  3. 识别依赖关系 - 理清前置条件和外部依赖
  4. 量化验收标准 - 定义"完成"的具体指标

工作流程

flowchart LR
    A[用户提出需求] --> B{是否清晰?}
    B -->|否| C[$deep-interview]
    C --> D[追问关键问题]
    D --> E[补充缺失信息]
    E --> F[明确目标]
    F --> G[$plan 生成计划]
    B -->|是| G

    style C fill:#e3f2fd
    style F fill:#e8f5e9

苏格拉底式追问流程

核心提问框架

$deep-interview 使用以下六个维度进行追问:

维度 核心问题 目的
What “这个功能具体是什么?” 明确功能定义
Why “为什么需要这个功能?” 理解业务价值
Who “谁会使用这个功能?” 确定目标用户
When “什么时候需要完成?” 明确时间约束
Where “这个功能部署在哪里?” 确定运行环境
How “如何验证功能正确?” 定义验收标准

追问示例

原始需求:“帮我优化网站性能”

$deep-interview 过程

AI: "优化网站性能"这个目标比较宽泛。让我们澄清一下:

1. 你指的是前端性能(加载速度)还是后端性能(响应时间)?
   → 用户:前端性能,首屏加载太慢

2. 当前的首屏加载时间是多少?目标时间是多少?
   → 用户:现在 5 秒,希望优化到 2 秒以内

3. 主要是什么类型的网站?静态页面还是动态应用?
   → 用户:Next.js 电商网站

4. 目标用户的网络环境如何?需要支持低速网络吗?
   → 用户:主要是国内用户,需要支持 3G 网络

5. 你愿意接受哪些优化手段?代码分割、图片优化、CDN?
   → 用户:都可以,优先考虑成本效益最高的

澄清后的目标:
- 优化 Next.js 电商网站首屏加载时间从 5s 到 2s
- 支持 3G 网络环境
- 优先实施代码分割和图片优化

explore 预探索功能

在 $deep-interview 之前,可以使用 explore 命令对代码库进行预探索:

$explore "分析当前项目的性能瓶颈"

explore 会:

  1. 只读分析代码库
  2. 识别潜在问题区域
  3. 生成探索报告到 .omx/explore/

explore + deep-interview 组合

flowchart TD
    A[模糊需求] --> B[$explore 预探索]
    B --> C[生成探索报告]
    C --> D[$deep-interview]
    D --> E[基于事实的澄清]
    E --> F[明确技术目标]

    style B fill:#e3f2fd
    style D fill:#e3f2fd

完整实战案例

场景:开发用户反馈系统

原始需求

"帮我加个用户反馈功能"

步骤 1:运行 $deep-interview

$deep-interview "用户反馈功能"

AI 追问过程

让我们澄清这个需求的细节:

Q1: 反馈表单需要收集哪些信息?
A: 用户姓名、邮箱、反馈类型、详细描述

Q2: 反馈类型有哪些选项?
A: Bug 报告、功能建议、使用问题、其他

Q3: 反馈提交后如何处理?
A: 发送到管理员邮箱,并存入数据库

Q4: 用户是否需要看到反馈状态?
A: 不需要,这是内部系统

Q5: 有文件上传需求吗?
A: 需要支持截图上传,最大 5MB

Q6: 需要防 spam 机制吗?
A: 需要,加验证码

Q7: 技术栈是什么?
A: Next.js + Prisma + PostgreSQL

澄清后的完整需求

# 用户反馈系统需求

## 功能范围
- 反馈表单:姓名、邮箱、反馈类型、详细描述
- 反馈类型:Bug报告、功能建议、使用问题、其他
- 文件上传:截图,最大 5MB
- 防 spam:验证码验证

## 数据处理
- 存储:PostgreSQL 数据库
- 通知:发送邮件给管理员
- 状态:无需用户可见的状态跟踪

## 技术栈
- 前端:Next.js
- ORM:Prisma
- 数据库:PostgreSQL
- 文件存储:本地或云存储

步骤 2:衔接 $plan

$plan "实现用户反馈系统"

基于澄清后的需求,$plan 可以生成精准的 PRD。


核心原则

DO(推荐做法)

✅ 回答具体问题,补充上下文
✅ 提供可量化的指标
✅ 明确边界(哪些不做)
✅ 分享业务背景
✅ 承认不确定性

DON’T(避免做法)

❌ 用"你懂的"省略关键信息
❌ 给出无法验证的目标
❌ 隐瞒技术约束
❌ 假设 AI 知道你的业务背景

与 $plan 的衔接

flowchart LR
    A[模糊需求] --> B[$deep-interview]
    B --> C[明确需求文档]
    C --> D[$plan 规划]
    D --> E[生成 PRD]
    E --> F[开始实现]

    style B fill:#e3f2fd
    style D fill:#e8f5e9

最佳实践

  1. 复杂任务:必用 $deep-interview
  2. 简单任务:可直接 $plan
  3. 不确定时:先用 $deep-interview 澄清

反模式与常见错误

反模式 1:跳过澄清直接实现

❌ 错误:
用户:"优化性能"
AI:直接开始改代码

✅ 正确:
用户:"优化性能"
AI:"让我们用 $deep-interview 澄清一下..."

反模式 2:回答过于笼统

❌ 错误回答:
Q: "目标用户是谁?"
A: "所有人"

✅ 正确回答:
Q: "目标用户是谁?"
A: "25-35 岁的电商卖家,主要用 Chrome 浏览器"

反模式 3:忽视验收标准

❌ 不完整的需求:
"实现用户注册"

✅ 完整的需求:
"实现用户注册,包含:
- 邮箱验证
- 密码强度检查(8位以上)
- 注册成功率 > 95%"

vs 原生 Codex

特性 原生 Codex $deep-interview
澄清方式 渐进式对话 结构化追问
信息收集 被动等待 主动挖掘
输出格式 自由文本 结构化需求文档
与后续衔接 需手动整理 直接衔接 $plan
可追溯性 对话历史 生成需求文档

vs Superpowers

特性 Superpowers brainstorming $deep-interview
触发方式 自动触发 显式命令
提问风格 引导式设计 苏格拉底式追问
输出物 PRD 草案 需求澄清文档
使用时机 设计阶段 任何模糊需求

快速参考

命令速查

# 意图澄清
$deep-interview "你的模糊需求"

# 预探索
$explore "分析代码库"

# 澄清后规划
$plan "明确后的需求"

适用场景检查清单

  • 需求包含"优化"、“改进"等模糊词汇
  • 缺少具体数字指标
  • 边界不明确
  • 涉及多个系统/模块
  • 用户角色不清晰

小结

$deep-interview 帮助你在动手之前确保需求清晰,是 oh-my-codex 工作流的第一道关卡

核心要点

  1. 模糊需求必用 $deep-interview
  2. 诚实回答追问,补充上下文
  3. 澄清后直接衔接 $plan
  4. 探索 + 澄清 + 规划 = 高质量交付

上一篇教程 1:安装配置与快速入门

下一篇教程 3:$plan - 规划驱动的实现路径