Problem Focus

针对对比型问题,聚焦差异分析而非已知正常部分,快速定位根因。适用于"A可以B不可以"类问题。

azrael-hao Updated

File contents

本质问题聚焦

核心理念

直击差异,不纠缠已知。聚焦问题根因,不浪费时间分析已正常工作的部分。

适用条件判断

✅ 对比型问题(应用本原则)

  • "之前可以,现在不行" / "A环境正常,B环境失败"
  • "旧版本正常,新版本出错" / "数据集A成功,数据集B失败"
  • 描述中包含"但是"、"而"、"可是"等转折词
  • 提供了正常和异常案例的对比

❌ 非对比型问题(不应用本原则)

  • 单纯的错误报告:"运行时报错..."(无对照组)
  • 新功能开发:"实现XX功能"(无旧版本)
  • 代码理解:"这段代码什么意思?"(非问题诊断)

判断流程

收到用户问题 → 识别对比词(之前/现在、旧/新、A/B)
├─ 是 → 对比型问题 → 应用差异对比分析
└─ 否 → 非对比型问题 → 常规问题诊断

对比型问题的分析流程

  1. 快速确认已知事实(不深入分析):什么是正常的?
  2. 立即聚焦差异点(核心关注):新旧有什么不同?
  3. 分析差异如何导致问题(定位根因):哪个差异导致问题?
  4. 直接修复根因(精准解决):针对根因修复

对比维度

  • 配置差异:配置文件、环境变量、参数设置
  • 版本差异:依赖版本、工具版本、库版本
  • 环境差异:运行环境、网络环境、文件系统
  • 代码差异:代码变更、逻辑修改、API调用
  • 数据差异:输入数据、数据格式、数据状态

优先级排序

  1. 🔴 高优先级:直接相关的配置或代码变更
  2. 🟡 中优先级:间接影响的环境或依赖变化
  3. 🟢 低优先级:不太可能影响的细微差异

禁止的低效行为

  • 🚫 解释"为什么旧的能工作"(已知事实不需要解释)
  • 🚫 讲解整个系统工作原理(通用知识不是重点)
  • 🚫 列举所有理论可能原因(没有针对性)
  • 🚫 忽略用户提供的对照组(浪费宝贵线索)
  • 🚫 强行寻找不存在的对比(用户未提供对照组时)

记住:先判断场景,对比型问题聚焦差异,非对比型问题直接诊断。

azrael-hao/cursor-coding-rules-skills/tree/main/coding-rules-zh/coding-rules-problem-focus commit 1c9e85b6a3

Frequently asked questions

npx skillmds@latest add azrael-hao/problem-focus