# Sentaku

> 選択肢(A/B/C)の深掘り比較→淘汰→推奨で判断負担を下げ判断の質を上げるスキル。5段階（L1固定3点/L1.5案拡張Diverge・自動/L2評価軸マトリクス/L3複数LLM弁証論/L4過去判断照合）。 「比較して」「深掘りして」「メリデメ教えて」「お勧めは？」「徹底的に」「過去の判断と照合」「前にどう決めたっけ」「/sentaku」等で発火。teian(浅)の深掘り要求を受け取り、brainstorming(深:設計全体)と棲み分け。

- Skill: `fukukei23/sentaku` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fukukei23/sentaku`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fukukei23/sentaku/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: fukukei23 (https://skillmd.com/u/fukukei23)
- Updated: 2026-08-19
- Page: https://skillmd.com/skills/fukukei23/sentaku

---


# sentaku スキル（選択肢比較・淘汰・推奨）

## 概要

選択肢が複数ある場面で、**深掘り比較によってLLM側に最適案を淘汰させ、推奨1案に収束させる**。

判断負担の軽減 + 判断の質の向上が核心の価値。
専門知識のないユーザーが「問い方1つでLLMの分析を深度化できる」パターンを再利用可能にする。

```
選択肢群 → [深掘り比較] → 淘汰 → 推奨(1案) → 承認
                ↑                    ↓（不十分なら）
                └── 再反続（深さを上げて）
```

## トリガーワード

- 「比較して」「比べて」「それぞれ深掘りして」「それぞれ詳しく」
- 「メリデメ教えて」「メリット・デメリットは」「長所短所は」
- 「お勧めは？」「どれがいい？」「一番良いのは」
- 「ちゃんと比較して」「もっと深く」「徹底的に」「重要な判断なので」
- 「過去の判断と照合」「前にどう決めたっけ」「一貫性確認」
- `/sentaku`

## 5段階の深さ（要求or収束状況で昇格）

| 段階 | 名前 | 内容 | トリガー |
|---|---|---|---|
| **L1: Light** | 固定3点 | 各案の「メリット・デメリット・推奨」を表で比較 | デフォルト |
| **L1.5: Diverge** | 案拡張（軽量） | LLMが「他の軸はないか？」と自問→既存案と異なる視点の新案を1-2個提示 | **自動（L1の直後・毎回）** |
| **L2: Deep** | 評価軸マトリクス | コスト/確実性/リスク/工数 等の軸で採点マトリクス | 「もっと深く」「ちゃんと比較して」 |
| **L3: Dialectic** | 複数LLM弁証論 | 案ごとに別agentが擁護し弁証論→統合 | 「徹底的に」「重要な判断なので」 |
| **L4: Precedent** | 過去判断照合 | SSOT `01_DECISIONS/` から類似判断を検索→比較軸に「過去との整合/乖離」を追加 | 「過去の判断と照合」「前にどう決めたっけ」「一貫性確認」 |

- 基本は **L1** から、**L1.5 を自動で挟む**（L1の比較後に新案を1-2個提示・L2マトリクス前の「案拡張」）。ユーザーが「もっと深く」で L2、それでも絞れなければ L3 へ自動昇格。
- **L1.5フル**（6技法: 逆転/類推/統合上位概念/極端化/制約解除/次元追加）は「もっと広げて」「他に案はない？」で発動。
- **L4 は他段階と直交**（L1+L4 等、任意の段階に重ねて発火可能）。

## L1: Light（デフォルト出力テンプレート）

```markdown
## 🔍 選択肢比較：[トピック名]

### 選択肢
- **A: [案A名]** — [一言説明]
- **B: [案B名]** — [一言説明]
- **C: [案C名]** — [一言説明]（3つ目がある時のみ）

### 📊 比較表

| 軸 | A: [案A] | B: [案B] | (C: [案C]) |
|---|---|---|---|
| ✅ メリット | [利1], [利2] | [利1] | [利1] |
| ❌ デメリット | [欠1] | [欠1], [欠2] | [欠1] |
| 💰 コスト | [高/中/低] | [高/中/低] | — |
| 🎯 確実性 | [高/中/低] | [高/中/低] | — |
| ⚡ 工数 | [大/中/小] | [大/中/小] | — |

### ⭐ 推奨：[案X名]
**理由：** [淘汰の決め手を1〜2行で]
**⚠️ 反証・最悪ケース（省略不可・サボりバイアス防止・2026-07-26 Phase0）:**
- **反証シナリオ1つ**: [推奨案が裏目に出る・壊れるケース（確証バイアス対策）]
- **最悪ケース**: [想定外の影響（楽観バイアス対策）]
- **見送った案の再評価点**: [B/Cが有利になる条件（範囲外逃げ対策）]
**次のステップ：** [どう進めるか]

> もっと深く比較しますか？（「もっと深く」で評価軸マトリクス昇格 / 「徹底的に」で弁証論 / 「過去と照合」でL4）
```

## L1.5: Diverge（案拡張・軽量・毎回自動）

> **設計意図**: L2マトリクスまで行かないケース（L1で終わる）でも案が少ないままだと比較の質が低い。L1の直後に**自動で**視点を変えた新案を1-2個提示し、L2マトリクスの前提から質を高める。「毎回フル6技法」だと重いので軽量版（1回自問）をデフォルトに・「もっと広げて」でフル6技法へ昇格。発案契機: 2026-07-06「他に案はない？」プロンプトでE案（3段階細分化）が出た実例。

### 動作（軽量版・毎回）

L1出力の直後に、LLMが**自問1回**「既存案とは違う軸・視点はないか？」と考え、1-2個の**新案**を提示する。6技法（後述）から直感的に1-2個選んで適用。

```
💡 案拡張（視点を変えて）
既存案（A/B/C）とは別の切り口:
- **D案**: [新視点の案] — [一言]
（例: 既存案が「図の有無」なら → 「図の質を段階化」・「emojiで代用」等の別軸）
```

### ユーザー反応による遷移

- **「D案いいね」「D案で」**: D案を含めて推奨確定（L1＋L1.5で比較完了）
- **「もっと広げて」「他に案はない？」**: **L1.5フル（6技法）** へ昇格
- **「もっと深く」**: L2マトリクスへ（D案を含めて定量比較）
- **（反応なし・沈黙）**: L1の推奨を尊重しつつD案も候補として残す

### L1.5フル（6技法・「もっと広げて」で発動）

| 技法 | 考え方 | 例（図解フォーマット案件） |
|---|---|---|
| **逆転** | 目的を逆にする | 「図を入れる」→「図を絶対入れない設計とは？」 |
| **類推** | 他分野の似た事象 | 料理・音楽・建築の「段階的提供」 |
| **統合上位概念** | 既存案を包含するメタ案 | A/B/C → 「図の質を段階化（L1/L2/L3）」 |
| **極端化** | 上限・下限を考える | 「全部フル図」「一切図なし」 |
| **制約解除** | 当たり前の前提を外す | 「図=ASCII」→「emojiでもいい」 |
| **次元追加** | 新しい軸を足す | 「重さ」以外に「頻度」「影響範囲」 |

適用後、生成した全新案を提示→ユーザーが選択→L2マトリクス（全案含む）へ。

## L2: Deep（評価軸マトリクス）

ユーザーが「もっと深く」「ちゃんと比較して」で昇格。

1. その判断に適した **評価軸**（コスト/確実性/リスク/工数/拡張性/学習コスト 等）を3〜5個設定
2. 各案を各軸で **5段階（または重み付き）採点**
3. 重み付き合計スコアで **定量淘汰**
4. スコア表 + 淘汰理由を出力

```markdown
### 📐 評価軸マトリクス（重み付き）

| 軸(重み) | A: [案A] | B: [案B] | 備考 |
|---|---|---|---|
| コスト(×3) | 4 = 12 | 2 = 6 | Aは既存資産活用 |
| 確実性(×2) | 3 = 6 | 5 = 10 | Bは実績あり |
| 拡張性(×2) | 5 = 10 | 3 = 6 | Aは将来変更に強い |
| **合計** | **28** | **22** | → Aを採用 |
```

> 軸の選定はLLM/ユーザーが都度設定（自動決定はしない＝YAGNI）。

### L2 評価軸設定ガイド（この環境向け・軽量）

軸・重みは都度設定（上記YAGNI意図を維持）。選ぶ際の補助線として以下を参照:

**①環境の実コスト構造（前提知識）**
- サブスク+指示待ち → 実装時間・難易度はユーザーコストでない
- 非IT公務員 → 技術的エレガンス・最新手法は価値でない（理解しやすさ・動くこと=価値）
- 本番稼働+並行セッション常有 → 事故リスク・壊れにくさは実害

**②LLMバイアス自己チェック**（軸選び・重み決めの各タイミングで実施）
- 過大評価しがち: 実装コスト（自分が書く大変さ）/ 技術的エレガンス / 一般的ベストプラクティス（文脈無視の一般論）
- 過小評価しがち: 事故リスク・壊れにくさ（「多分大丈夫」楽観）/ ユーザーの理解コスト（非ITへの配慮欠落）
- チェック質問: **「この軸/重みは、私(LLM)の都合（書きやすさ/面白さ/一般論合致）由来か？ ユーザーが実際に被る不利益か？」** → 私の都合由来は重みを下げる/外す。外しても別軸で埋めなくてよい（不必要な厚付けは新たなバイアスの入り口）。

**③軸選びの出発点**: 「この判断で最悪の事態は何か？」「誰が・どう困るか？」から逆算して軸を立てる。

**④限界**: 本ガイドはLLMが自発的にバイアスに気づく確率を上げるのみ。完璧ではない。最終防波堤はユーザーの指摘（ガイドへの過信＝新たな盲点を生むため・2026-07-08 実装コスト過大評価の指摘で新設）。

## L3: Dialectic（複数LLM弁証論）

ユーザーが「徹底的に」「重要な判断なので」で昇格。重要度が高くL2でも決まらない時に。

1. 案ごとに **別agent（または別視点）が擁護側** として最强の主張を展開
2. 各擁護案に対し **反論** を立てる
3. 反論を統合し **合成案/最終推奨** を導出
4. 弁証論の過程（主張→反論→統合）を要約して出力

> agent数の自動調整はしない（固定 or ユーザー指定＝YAGNI）。
> Claude Code単独の場合は「視点を分けて自問自答」で代用。

## L4: Precedent（過去判断照合）

「過去の判断と照合」「前にどう決めたっけ」「一貫性確認」で発火。**任意の段階(L1〜L3)に重ねて使用可**。

### 動作
```
1. ssot-search スキル（または search.py）で 01_DECISIONS/ から類似判断を検索
   python3 /home/yn4416/projects/claude-config/scripts/ssot/search.py "<トピック>" --ssot-dir /home/yn4416/projects/obsidian-ssot/01_DECISIONS --top 5
   （実体パス直接指定。`~/.claude/scripts/...`はWSL側シンボリックリンクでWindows DesktopのUNCアクセスでは解決できないため・2026-07-11修正。WSL-CLIでは同一実体のため挙動不変）
2. 過去の決定・理由・結果を抽出
3. 現在の比較に「過去判断との整合性」軸を追加
4. 矛盾があれば明示:
   「過去は A を選んだ（理由: △△）。今回は B を推奨。差分理由: 〇〇」
```

ヒット0件なら「過去に類似判断なし」として L1〜L3 の結果で判定（L4は必須ではない）。

### 副次価値
- **SSOT活用促進**: `01_DECISIONS/` が「書きっぱなし」から「判断時に参照される」資産へ
- **説明性向上**: 「なぜ前回と違う判断か」が常に説明できる
- **一貫性保証**: 同じような判断でブレない

## 2モード

### 対話モード（ユーザー主導）= 本スキルの基本
- 選択肢が出た状態でユーザーがトリガー
- 現段階（基本L1）で比較→推奨。「もっと深く」で昇格
- ユーザー承認で確定

### 自律モード（LLM自問自答）
- 実装中（loop-eng / dev-cycle）に「選択肢が複数ある判断」に直面しユーザー不在の時
- LLMが自力で L1 → 候補残れば L2 → それでも絞れなければ L3 へ自動昇格
- 重要度が高い判断は自動で L4 発火（過去との整合を確認してから採用）
- 1案に絞れたら採用 / 上限(L3まで)到達で最推奨案を採用し**判断根拠を記録に残す**
- 発火ポイントの定義は `00_SYSTEM/共通ルール/自律開発ループ.md` 側

## 棲み分け（関係スキル）

```
「提案して」 → teian（浅: さっと2-3案提示）
       ↓ 深掘りしたい
「比較して/深掘りして」 → sentaku（中: 深掘り比較→淘汰→推奨）← 本スキル
       ↓ 設計全体を詰めたい
「ちゃんと設計したい」 → brainstorming（深: 要件抽出から設計全体）
```

- **teian** は浅い提案の入口。「深掘り」要求で本スキルへ委譲
- **brainstorming** は設計全体。本スキルは「既に出た選択肢の比較」に特化
- **ssot-search** は L4 の検索を委譲先として使う（新規検索機能は作らない）

## 終了後の処遇（構想段階の永続化・ルートα）

sentaku で推奨案が確定しても、即実装せず次セッション以降に持ち越す場合（深夜・別セッション推奨・前提タスク待ち等）、その合意は**構想段階**にあたる。spec 未作成で消えるのを防ぐため `バックログ.md` 該当タスク直下に 📝WIPメモで残す（`@rules/_shared/記録.md`「構想段階の合意の永続化」準拠）。

推奨確定後、ユーザーが即実装に入らない場合は以下を提示する:

```
この推奨内容をバックログの該当タスク直下に 📝WIPメモとして残しますか？[y/N]
```

- **y**: `ssot-record` 構想モードで該当タスク直下に方針+経緯(候補/選択理由/却下)を追記
- **N**: 何もしない（即実装する場合等）

※ brainstorming(superpowers プラグイン)終了時も同様。プラグイン本体は編集しない（アップデートで消える）が、本ルール(`@rules/_shared/記録.md`)が共通に適用される。

## 禁止事項

- **選択肢を提示するだけのteianと混同しない** — 本スキルは「比較→淘汰→推奨1案」まで責任を持つ
- **深さを勝手にL3まで上げない** — ユーザー要求 or 収束失敗時に限る（YAGNI）
- **推奨を出さずに終わらない** — 比較だけして判断を丸投げしない
- **サボりバイアス禁止（迎合/楽観/過剰YAGNI/確証）** — 推奨には反証シナリオ1つ＋最悪ケースの列出力を義務付ける（`@rules/_shared/LLMサボりバイアス防止.md`・自己申告でなく形式で強制）
- **平易な解説を省かない** — 比較表・推奨の提示には、専門説明の後に素人にもわかる一言（💡一言でいうと）を必ず併記する（ユーザーが理解しないまま承認させるのを防ぐ・CLAUDE.md平易解説ルール）

## 成功基準

- 選択肢提示場面で「深掘りして」の一言で、メリデメ+推奨が1画面で返ること（L1）
- L4で過去判断と照合でき、乖離時に差分理由が明示されること
- teianから「深掘り」で本スキルに委譲できること

## 関連

- 設計spec: `obsidian-ssot/docs/superpowers/specs/2026-06-26-選択肢比較-skill-design.md`
- 設計詳細: `obsidian-ssot/01_DECISIONS/claude-code/2026-06-26_ブレスト設計2件-タスク正典集約と選択肢比較スキル.md`
- 関連スキル: teian / brainstorming / ssot-search
- 自律ループ正典: `obsidian-ssot/00_SYSTEM/共通ルール/自律開発ループ.md`

