关于 Inversion Exercise
Inversion Exercise 是一项通过系统地反转假设来检验问题的技能。它帮助探索替代方案,并判断哪些反向思路可能适用。
主要功能
- 01列出核心假设
- 02逐一反转假设
- 03探索替代方案的影响
- 04检查反转思路的适用场景
适用场景
- 01重新审视不自然的解决方案
- 02探索常规做法之外的方案
- 03识别依赖具体情境的假设
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ obra/ superpowers-skills --skill inversion-exercise安装后在 Claude Code 中输入/inversion-exercise确认已加载。
详细介绍
反转练习
概述
反转每个假设,看看哪些仍然成立。有时,反面能揭示真相。
核心原则: 反转可以暴露隐藏的假设和替代方案。
快速参考
| 常见假设 | 反转 | 揭示的内容 |
|---|---|---|
| 缓存以降低延迟 | 增加延迟以启用缓存 | 防抖模式 |
| 需要时拉取数据 | 提前推送数据 | 预取、积极加载 |
| 出错时再处理 | 让错误不可能发生 | 类型系统、契约 |
| 构建用户想要的功能 | 移除用户不需要的功能 | 简化 >> 增加 |
| 针对常见情况优化 | 针对最坏情况优化 | 弹性模式 |
流程
- 列出核心假设 - 哪些事情「必须」成立?
- 逐一系统地反转 - 「如果事实正好相反呢?」
- 探索影响 - 我们会采取哪些不同做法?
- 找出有效的反转 - 哪些反转在某些情况下确实有效?
示例
问题: 用户抱怨应用很慢
常规做法: 让所有东西都更快(缓存、优化、CDN)
反转: 在某些地方有意放慢速度
- 对搜索进行防抖(增加延迟 → 获得更好的结果)
- 限制请求速率(增加阻力 → 防止滥用)
- 延迟加载内容(延后加载 → 减少初始加载量)
启示: 有策略地放慢速度可以改善用户体验
你需要这种方法的警示信号
- 「这件事只有一种做法」
- 强行采用感觉不对的方案
- 无法说明为什么必须采用这种方法
- 「这事儿本来就该这么做」
请记住
- 并非所有反转都有效(测试边界)
- 有效的反转揭示了对上下文的依赖
- 有时,反过来才是答案
- 质疑「必须如此」的说法
评论
支持 Markdown