First Principles Thinking について
First Principles Thinkingは、アーキテクチャや設計などの基礎的な判断に使う体系的な思考スキルです。問題を分解して前提を問い直し、根本的な事実から解決策を組み立てて検証します。
主な機能
- 01問題と成功基準の明確化
- 02前提の洗い出しと再検討
- 03基本的な制約とニーズの特定
- 04検証済みの事実に基づく解決策の構築
- 05推論の追跡とストレステスト
活用シーン
- 01アーキテクチャや設計の選択の評価
- 02レガシーシステムの前提の再検討
- 03既存パターンの模倣を避けたシステム設計
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ awesome-skills/ first-principles-skill --skill first-principles-thinkingインストール後、Claude Code で/first-principles-thinkingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEREADME.mdexamples/architecture-review.mdreferences/software-examples.mdelon-musk-examples.md詳細
第一原理思考
複雑な問題を基本的な真実へと体系的に分解し、そこから推論を積み上げるアプローチです。類推による推論の落とし穴を避けます。
このスキルを使う場面
- アーキテクチャや設計が本当に最適かどうかを評価するとき
- 現在の状況に適していない可能性のある「ベストプラクティス」に疑問を持つとき
- 従来の解決策では不十分だと感じる状況を打破するとき
- 長期的な影響をもたらす基盤となる意思決定を行うとき
- レガシーシステムに引き継がれた前提に異議を唱えるとき
- 既存のパターンを盲目的に模倣せず、新しいシステムを設計するとき
中核となるプロセス
フェーズ 1:問題の本質を特定する
実装の詳細を取り除き、問題の核心を見つけます。
- 問題を明確に述べる - 具体的に何を解決する必要がありますか?
- 症状と原因を分ける - これは本当の問題ですか、それとも問題の表れですか?
- 成功基準を定める - 完璧な解決策は何を実現しますか?
重要な質問:
- ここで実現すべき根本的な仕事は何ですか?
- このシステムが存在しなかった場合、ユーザーは実際に何を必要としますか?
- どのように実現するかに関係なく、重要な結果は何ですか?
フェーズ 2:すべての前提に異議を唱える
あらゆる前提を特定し、疑問を投げかけます。
- 明示的な前提を列挙する - 何を所与のものとして受け入れていますか?
- 暗黙の前提を明らかにする - 疑問を持たずに従っている慣習は何ですか?
- 前提を一つずつ検証する - これは本当に制約ですか、それとも単に以前からそうしてきただけですか?
前提の分類:
| 分類 | 問いかけること |
|---|---|
| 技術 | 「この技術やパターンを使う必要がありますか?」 |
| ビジネス | 「この要件は本当に変更できないものですか?」 |
| リソース | 「これらの制約は実在しますか、それとも思い込みですか?」 |
| 歴史的経緯 | 「この決定は、もともとなぜ行われたのですか?」 |
危険信号(誤った前提の可能性が高いもの):
- 「いつもこうしてきました」
- 「業界標準では……」
- 「これには誰もが X を使います」
- 「単純すぎてうまくいかないでしょう」
フェーズ 3:確かな事実を明らかにする
これ以上分解できない事実を特定します。
- 物理学・数学上の制約 - 何を破ることはできませんか?
- ビジネス上の不変条件 - ビジネスにとって、何が常に成り立つ必要がありますか?
- ユーザーのニーズ - ユーザーが根本的に必要としているものは何ですか?
確かな事実のテスト:
- さらに分解できますか?
- これは広く信じられているだけでなく、証明可能な真実ですか?
- これに違反すると、確実に失敗しますか?
フェーズ 4:上へと推論を積み上げる
確かな事実から解決策を構築します。
- 最小限から始める - 確かな事実を満たす最も単純なものは何ですか?
- 必要なものだけを追加する - 追加する要素には、それぞれ正当な理由が必要です
- 各レイヤーに疑問を投げかける - このレイヤーの複雑さには、それに見合う価値がありますか?
積み木方式:
Ground Truth → Minimal Solution → Justified Additions → Final Design
↑ ↑ ↑
(proven) (sufficient) (each defended)
フェーズ 5:推論を検証する
解決策に妥当性があることを確認します。
- 確かな事実にさかのぼる - すべての設計上の決定を、根本的なニーズに結び付けられますか?
- 弱点を特定する - 推論のどこで前提に依存していますか?
- ストレステストを行う - この解決策が破綻するのはどのような場合ですか?
出力形式
第一原理思考を適用する際は、次の形式で分析を構成します。
## 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]
よくあるパターン
パターン:複雑さの罠
症状: 解決策が、問題に見合う以上に複雑です
第一原理による確認:
- コンポーネントを一つ取り除くと、システムは依然として中核の問題を解決できますか?
- 解決できるなら、そのコンポーネントは必須ではありません
- 中核機能が損なわれるまで、取り除く作業を繰り返します
パターン:類推の罠
症状: 「Company X がこの方法を採用しているので、私たちもそうすべきです」
第一原理による確認:
- Company X は実際にどのような問題を解決していましたか?
- 関連するすべての点で、私たちの問題と同じですか?
- Company X にはあって私たちにはない制約は何ですか(また、その逆はどうですか)?
パターン:レガシーの罠
症状: もはや役に立たない決定との互換性を維持しています
第一原理による確認:
- この決定が行われた当初の理由は何ですか?
- その条件は今も存在しますか?
- 変更にかかる真のコストと、維持にかかるコストはそれぞれどのくらいですか?
他の思考ツールとの連携
第一原理思考は、以下の補完的なアプローチと相性が良いです。
| ツール | 組み合わせるタイミング | 方法 |
|---|---|---|
| トレードオフ分析 | 基本的な真実を特定した後 | 選択肢を基本原則に照らして評価します |
| 5つのなぜ | 前提が浮かび上がったとき | 根本原因を見つけるために、さらに掘り下げます |
| プレモーテム | 解決策を確定する前 | 推論の連鎖にストレステストを行います |
| 仮説検証 | 基本的な真実が不確かなとき | 前提を実証的に検証します |
境界
行うこと:
- 前提を体系的に問い直します
- 第一原理から基本的な真実を特定します
- 基本原則から推論の連鎖を組み立てます
- 従来の通説が当てはまらない場合を明らかにします
行わないこと:
- 既存の解決策をすべて誤りだと退けません
- あらゆる決定に無制限の時間を費やしません(重要な選択のために時間を確保します)
- 理論的な純粋さを優先して、実務上の制約を無視しません
- 「最善」の解決策を保証しません(完璧な答えではなく、より良い推論を導きます)
クイックリファレンス
第一原理チェックリスト:
- 問題を解決策ではなく、成果の観点から記述している
- すべての前提を明示的に列挙している
- 各前提を問い直し、妥当性を確認している
- 基本的な真実を特定し、検証している
- 基本的な真実のみを基に解決策を組み立てている
- すべての設計上の決定を基本的な真実までたどれる
- 推論の連鎖を文書化している
追加リソース
参考ファイル
references/elon-musk-examples.md- SpaceX と Tesla の実例references/software-examples.md- ソフトウェアエンジニアリングへの応用
サンプルファイル
examples/architecture-review.md- マイクロサービスに関する意思決定の第一原理分析
コメント
Markdown 対応