mcpField
F
First Principles Thinking

First Principles Thinking

github.com/awesome-skills开发14364 次安装47 周前更新
代码仓库

关于 First Principles Thinking

First Principles Thinking 是一项结构化推理技能,适用于架构、设计等基础决策。它拆解问题、质疑假设、识别基本事实,并据此构建和检验方案。

主要功能

  1. 01明确问题与成功标准
  2. 02列出并质疑假设
  3. 03识别基本约束与需求
  4. 04从已验证事实构建方案
  5. 05追溯并压力测试推理

适用场景

  1. 01评估架构或设计选择
  2. 02重新审视遗留系统中的假设
  3. 03避免照搬既有模式来设计系统

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/awesome-skills/first-principles-skill --skill first-principles-thinking

安装后在 Claude Code 中输入/first-principles-thinking确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
README.md
examples/
architecture-review.md
references/
software-examples.md
elon-musk-examples.md

详细介绍

第一性原理思维

一种系统性方法,将复杂问题分解为基本事实,并从这些事实出发进行推理,避免陷入类比推理的陷阱。

何时使用此技能

  • 评估某种架构或设计是否确实最优
  • 质疑可能不适用于当前情境的“最佳实践”
  • 在常规解决方案难以奏效时找到突破口
  • 做出会产生长期影响的基础性决策
  • 挑战遗留系统中沿袭下来的假设
  • 设计新系统时避免盲目照搬现有模式

核心流程

阶段 1:找出问题的本质

剥离实现细节,找出核心问题:

  1. 清晰陈述问题——究竟需要解决什么?
  2. 区分症状与原因——这是真正的问题,还是某种表现?
  3. 定义成功标准——完美的解决方案应该达成什么?

关键问题:

  • 这里需要完成的根本任务是什么?
  • 如果这个系统不存在,用户实际需要什么?
  • 无论如何实现,什么结果才是重要的?
阶段 2:质疑所有假设

找出并质疑每一个假设:

  1. 列出显式假设——有哪些事情是我们认为理所当然的?
  2. 揭示隐式假设——有哪些惯例是我们未经质疑就遵循的?
  3. 检验每个假设——这确实是约束,还是只是一直以来的做法?

假设类别:

类别要问的问题
技术“我们必须使用这种技术/模式吗?”
业务“这项需求真的不能变吗?”
资源“这些限制是真实存在的,还是只是我们以为存在?”
历史“最初为什么会做出这个决定?”

警示信号(可能是错误的假设):

  • “我们一直都是这么做的”
  • “行业标准是……”
  • “大家都会用 X 来做这件事”
  • “这太简单了,不可能行得通”
阶段 3:确定基本事实

找出不可再简化的事实:

  1. 物理/数学约束——哪些规则不可违背?
  2. 业务不变量——业务必须保持哪些事实成立?
  3. 用户需求——用户从根本上需要什么?

基本事实检验:

  • 这个事实还能进一步分解吗?
  • 这有可证明的依据,还是只是普遍的看法?
  • 违背这个事实是否必然导致失败?
阶段 4:逐步向上推理

从基本事实出发构建解决方案:

  1. 从最小方案开始——满足基本事实的最简单方案是什么?
  2. 只添加必要内容——每项新增内容都必须证明其必要性
  3. 质疑每个层次——这一层是否值得它带来的复杂性?

构建模块方法:

Ground Truth → Minimal Solution → Justified Additions → Final Design
     ↑              ↑                    ↑
  (proven)     (sufficient)        (each defended)
阶段 5:验证推理

确保解决方案合理可靠:

  1. 追溯至基本事实——每项设计决策都能追溯到根本需求吗?
  2. 找出薄弱环节——推理在哪些地方依赖假设?
  3. 压力测试——哪些情况会导致这个解决方案失效?

输出格式

应用第一性原理思维时,请按以下结构组织分析:

## First Principles Analysis: [Topic]

### 1. Problem Essence
**Core problem:** [One sentence]
**Success criteria:** [Measurable outcomes]

### 2. Assumptions Challenged
| Assumption | Challenge | Verdict |
|------------|-----------|---------|
| [Assumption] | [Why question it] | [Keep/Discard/Modify] |

### 3. Ground Truths
- [Irreducible fact 1]
- [Irreducible fact 2]
- [Irreducible fact 3]

### 4. Reasoning Chain
Ground Truth → [Step 1] → [Step 2] → Solution

### 5. Conclusion
**Recommended approach:** [Description]
**Key insight:** [What the first principles analysis revealed]
**Trade-offs acknowledged:** [What we're accepting]

常见模式

模式:复杂性陷阱

症状: 解决方案的复杂程度超出了问题本身的需要

第一性原理检查:

  1. 移除一个组件——系统还能解决核心问题吗?
  2. 如果可以,该组件就不是必需的
  3. 重复此过程,直到移除组件会破坏核心功能
模式:类比陷阱

症状: “X 公司是这么做的,所以我们也应该这么做”

第一性原理检查:

  1. X 公司当时实际要解决什么问题?
  2. 我们的问题在所有相关方面都与其相同吗?
  3. 他们有哪些我们没有的约束(反之亦然)?
模式:遗留陷阱

症状: 为了兼容那些已不再有益的决策而持续维护

第一性原理检查:

  1. 当初做出这一决定的原因是什么?
  2. 当时的条件现在还存在吗?
  3. 改变的实际成本与持续维护的成本分别是多少?

与其他思维工具集成

第一性原理思维与以下互补方法配合得很好:

工具何时结合使用方法
权衡分析确定基本事实之后根据基本原理评估选项
5 个为什么出现假设时深入挖掘,寻找根本原因
事前验尸最终确定解决方案之前对推理链进行压力测试
假设检验基本事实不确定时通过实证验证假设

适用边界

会:

  • 系统性地质疑假设
  • 从第一性原理中识别基本事实
  • 从基本原理出发构建推理链
  • 揭示常识何时不适用

不会:

  • 将所有现有解决方案都视为错误
  • 在每个决策上花费无限时间(留给重要选择)
  • 为了理论上的纯粹性而忽视实际限制
  • 保证给出“最佳”解决方案(帮助改进推理,而非提供完美答案)

快速参考

第一性原理检查清单:

  • 用结果而非解决方案来描述问题
  • 明确列出所有假设
  • 对每项假设提出质疑并说明其依据
  • 识别并验证基本事实
  • 仅基于基本事实逐步构建解决方案
  • 每项设计决策都能追溯到某项基本事实
  • 记录推理链

更多资源

参考文件
  • references/elon-musk-examples.md - SpaceX 和 Tesla 的真实案例
  • references/software-examples.md - 软件工程应用
示例文件
  • examples/architecture-review.md - 对微服务决策进行第一性原理分析

评论

支持 Markdown