reasoning-router について
reasoning-router は、問題を分類して思考 MCP の手法に振り分けるエージェントスキルです。手法の選定や進捗監視、比較を行い、停滞時には別の手法へ切り替えます。
主な機能
- 01構造・複雑度・領域で分類
- 02適切な思考手法へルーティング
- 03停滞を検出して再ルーティング
- 04複数手法の結果を比較
- 05複雑な問題で手法を組み合わせ
活用シーン
- 01問題に合う推論手法を選択
- 02進捗が止まった際に手法を変更
- 03同じ課題への複数の方法を比較
- 04複雑な課題の推論手順を構成
MCP 対応
このスキルは問題を思考 MCP ツールに振り分け、進捗を監視します。sequential-thinking、cascade-thinking、crash などの手法を利用します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wyattowalsh/ agents --skill reasoning-routerインストール後、Claude Code で/reasoning-routerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/capability-map.mdcomposition-patterns.mdrouting-matrix.mdstall-detection.mdscripts/check.pyproblem-classifier.pyscripts/asset_toolkit/__init__.py_shared.pycommon.pypackage.pyvalidate_evals.pyvalidate_hooks.pyvalidate_skill.py詳細
Reasoning Router
メタ推論レイヤー:問題を分類し、最適な思考 MCP に振り分け、進捗を監視し、停滞した場合は再ルーティングします。高い確信度の結論に至るまでの総トークン数を最小限に抑えます。
常に最も高性能なモデル(現在は Opus 4.6)を使用します。「どのように考えるか」についてのメタ推論は、最も効果の高い推論タスクです。
Dispatch
$ARGUMENTS | アクション |
|---|---|
| 問題または質問のテキスト | Route — 分類し、最適な思考手法に振り分けます |
compare <problem> | Compare — 同じ問題に 2〜3 個の戦略を適用し、最適なものを選びます |
status | Status — 現在の思考セッションの状態を表示します |
switch <method> | Switch — セッション中に指定した手法へ再ルーティングします |
recap | Recap — これまでに使用したすべての手法での推論を要約します |
methods | Methods — 使用可能な手法と用途の早見表を表示します |
| 空 | Guide — 振り分けの早見表とトークン階層表を表示します |
Classification
決定論的な事前スキャンを行うため、!uv run python scripts/problem-classifier.py "$ARGUMENTS" を実行し、
その後、LLM の判断で調整します。
Axis 1 — Structure(推論の形はどのようなものか?)
| 構造 | 手がかり | 主な手法 |
|---|---|---|
| 分解可能 | 「分解する」、複数段階の推論、サブクエスチョン | atom-of-thoughts |
| 逐次的 | 「段階的に」、順序のあるプロセス、デバッグ | sequential-thinking |
| 分岐型 | 「選択肢を探る」、「もし〜なら」、代替案 | cascade-thinking |
| 制約付き | 「〜を前提として」、要件、形式仕様 | shannon-thinking |
| 相互接続型 | 依存関係、循環、複雑なシステム | atom-of-thoughts(フル) |
| 創造的 | 「ブレインストーミング」、「斬新な」、「行き詰まった」、「捉え直す」 | creative-thinking |
| 矛盾を含む | パラドックス、「両方とも真」、緊張関係、ジレンマ | lotus-wisdom |
| 調査型 | 「なぜ〜が起きたのか」、根本原因、デバッグ、診断 | crash |
Axis 2 — Complexity(どの程度深く考えるか?)
| 複雑さ | 手がかり | 深さの制御 |
|---|---|---|
| シンプル(1〜3 ステップ) | 短い入力、単一の概念、「手早く」 | Tier 1 のみ:aot-light または sequential |
| 中程度(4〜8 ステップ) | 複数の要因、ある程度の不確実性 | デフォルトの深さ、構造に合った手法 |
| 複雑(9 ステップ以上) | 複数分野にまたがる、高い不確実性 | 最大の深さ、ステップを拡張 |
| 難問(自由形式) | 明確な解決策がない、価値観が対立する | 構成パターンを使用可能 |
Axis 3 — Domain(どのような種類か?)
| 分野 | 手法 | 理由 |
|---|---|---|
| エンジニアリング/アーキテクチャ | shannon-thinking | 制約 → モデル → 証明 |
| デバッグ | crash | ツールを活用した調査 |
| リサーチ | cascade-thinking | 複数の視点を並行して検討 |
| 数学/論理 | atom-of-thoughts | 依存関係 DAG |
| 戦略 | think-strategies | 戦略の比較 |
| クリエイティブ/デザイン | creative-thinking | 発想を広げるテクニック |
| 哲学/倫理 | lotus-wisdom | 非二元的な統合 |
| 計画 | sequential-thinking | 直線的な進行 |
| パターン追跡 | structured-thinking | 永続的なメモリ |
Routing Algorithm
高い確信度の結論に至るまでの総トークン数を最小限に抑えるよう最適化します。
1. Run problem-classifier.py for deterministic signals
2. Score each axis (structure × complexity × domain)
3. Apply efficiency gate:
- Simple: ALWAYS Tier 1 (aot-light or sequential-thinking)
- Moderate: structure-matched method at default depth
- Complex: full method with extended depth
- Wicked: composition patterns allowed
4. Resolve conflicts:
- Structure > domain (HOW > WHAT)
- Complexity modulates depth AND tier
- Ties: ALWAYS prefer lower token cost
5. Select primary + fallback
6. Present: "Using [method] — [why]. Fallback: [method]." (1 line)
7. Invoke with minimum viable totalThoughts
8. Monitor for stalls — escalate only on evidence
Token Cost Tiers
Tier 1 (lightest): aot-light, sequential-thinking
Tier 2 (moderate): structured-thinking, cascade-thinking, crash
Tier 3 (heavy): shannon-thinking, atom-of-thoughts (full), think-strategies
Tier 4 (heaviest): creative-thinking, deep-lucid-3d, lotus-wisdom
Efficiency Rules
- Tier 1〜2 で処理できる問題に Tier 3〜4 を使用しないでください
- 最小限の実行可能な
totalThoughtsから始め、needsMoreThoughtsの場合にのみ拡張します cascade-thinking:まず分岐を最大 2 つにし、カバー範囲が不十分な場合にのみ追加しますcreative-thinking:難問でない限り、timeframe: "quick"を使用しますthink-strategies:より負荷の高い戦略を使う前に、linearまたはchain_of_thoughtから始めます
停滞の検出
停滞の兆候が発生した場合は、references/stall-detection.md を読んでください。
4 つの停滞の兆候:
- 確信度の停滞 — 3 ステップ以上にわたり、増加幅が 0.05 を超えない
- 循環論法 — 同じ主張を言い換えて繰り返す
- ステップ数の超過 — 初期見積もりの 2 倍を超える
- ユーザーのシグナル — 「別の方法を試して」または
/think switch
ブロックタイプ別のルーティング変更:
| ブロック | 新しい手法 | 理由 |
|---|---|---|
| 深掘りで行き詰まった | cascade-thinking | 視野を広げる |
| 広げすぎた | atom-of-thoughts | 分解する |
| 形式的すぎる | creative-thinking | 捉え直す |
| 抽象的すぎる | crash | 証拠に基づかせる |
| 矛盾がある | lotus-wisdom | 統合する |
| 手法が不適切 | 再分類 | ルーティングを最初からやり直す |
厳格な上限: 1 セッションあたりのルーティング変更は最大 3 回です。ステップ数の見積もりの最大 3 倍までです。行き来は禁止です(ルーティング変更元の手法には戻れません)。ルーティング変更が 3 回に達したら → リカバリープロトコル:調査結果を提示し、ユーザーに指針を求めてください。
組み合わせパターン
完全なプロトコルについては、references/composition-patterns.md を読んでください。
| パターン | 順序 | 使用する場面 |
|---|---|---|
| 概要→詳細 | aot-light → aot(完全版) | まず手早く概要を作成し、その後深掘りする |
| 発散→収束 | creative-thinking → sequential | 選択肢を生成し、その後評価する |
| 探索→形式化 | cascade-thinking → shannon | 全体像を調査し、その後証明する |
| 分解→調査 | aot → crash(各アトムごと) | 分解してから、それぞれをデバッグする |
| 分析→統合 | cascade-thinking → lotus-wisdom | 矛盾を明らかにしてから統合する |
| 戦略→計画 | think-strategies → sequential | いったん立ち止まり、その後の計画を立てる |
コンテキストの引き継ぎ: 手法を切り替えるたびに、重要な調査結果を確信度スコア付きで 100 語以内に要約してください。主張を引き継ぎ、足場は引き継がないでください。
組み合わせない場合: 複雑さが低度または中程度の場合、最初の手法で収束に向かっている場合、時間的な制約が厳しい場合。
比較モード
compare <problem> で呼び出された場合:
- 通常どおり問題を分類します
- 候補となる手法を 2~3 個選択します(主な手法 1 個と、妥当な代替手法 1~2 個)
- 同じ問題について、それぞれ 3~5 ステップ実行します
- 比較します:どの手法が、より少ないトークンで、より高い確信度の調査結果を生み出したか?
- 比較表を提示し、最適な手法を推奨します
- ユーザーが同意した場合は、最適な手法で続行します
手法のクイックリファレンス
methods で呼び出された場合、またはルーティングのチートシートを表示する場合:
| 手法 | MCP ツール | ティア | 最適な用途 |
|---|---|---|---|
| sequential-thinking | sequentialthinking | 1 | 線形で順序立った推論 |
| aot-light | aot-light | 1 | 手早いアトミックなスケッチ |
| structured-thinking | capture_thought | 2 | セッションをまたぐメモリ |
| cascade-thinking | cascade_thinking | 2 | 複数の視点からの探索 |
| crash | crash | 2 | ツール統合によるデバッグ |
| shannon-thinking | shannonthinking | 3 | 制約下での形式的な証明 |
| atom-of-thoughts | aot + atomcommands | 3 | DAG による詳細な分解 |
| think-strategies | think-strategies | 3 | 名前付きの戦略フレームワーク |
| creative-thinking | discover_techniques → plan → execute | 4 | 水平思考(3 ステップ必須) |
| deep-lucid-3d | analyze_problem | 4 | 全体的な UCPF 分析 |
| lotus-wisdom | lotuswisdom(開始:tag: begin) | 4 | パラドックスと矛盾 |
ツールの全パラメーターとワークフローについては、references/capability-map.md を読んでください。
リファレンスファイル一覧
| ファイル | 読むタイミング |
|---|---|
references/capability-map.md | 初回の呼び出し時、またはツールのパラメーターに不慣れな場合 |
references/routing-matrix.md | ルーティングの競合、同点、または例外的なケースを解決する場合 |
references/composition-patterns.md | 問題に複数ツールの順次使用が必要な場合 |
references/stall-detection.md | 停滞の兆候が発生した場合、またはセッションが予想ステップ数を超えた場合 |
リファレンスは一度に 1 つだけ読み込んでください。事前にまとめて読み込まないでください。
対象範囲
対象範囲: 問題の分類、思考 MCP のディスパッチ、停滞の検出、再ルーティング、合成パターンの選択、手法の比較。
対象外: 実際に推論を行うこと(それは思考 MCP が行います)、ツールの実行やコードの記述(適切なスキルを使用してください)、コードレビュー(review)、調査(research)、実装のデバッグ(crash MCP を直接使用してください)。
標準用語
| 用語 | 意味 |
|---|---|
| method | 特定の思考 MCP ツール(例:cascade-thinking) |
| tier | トークンコストの分類(1=最軽量、4=最重量) |
| structure | 問題が必要とする推論の形 |
| routing | 分類された問題に最適な手法を選択すること |
| stall | 手法が進展しなくなること(確信度の停滞、循環的な推論) |
| re-route | セッションの途中で別の手法に切り替えること |
| composition | 複雑な問題に対し、2 つ以上の手法を順番につなげること |
| efficiency gate | 単純な問題に Tier 1 の手法を強制する上書きルール |
| context transfer | 手法を切り替える際に、調査結果を要約すること |
重要なルール
- 常に最も高度なモデルを使用する —
model: opus。ダウングレードは禁止です。 - 結論に至るまでの総トークン数を最小限にする — 問題に対応できる最軽量の手法を選びます。停滞の兆候が確認された場合にのみエスカレーションします。
- 呼び出す前にルーティングの判断を提示する — 1 行で、手法、選択理由、フォールバックを示します。
- 分類せずに呼び出さない — ユーザーが手法を指定した場合でも、適合性を確認します。
- 再ルーティング時には引き継ぐ — 調査結果を 100 語以内で要約し、最初からやり直さないでください。
- 単純な問題には単純な方法を使う — 単純な問題には必ず Tier 1 を使用します。例外はありません。
- 同等の場合はトークンコストで決める — 適合度が同じなら、Tier の低い方を選びます。
- 最小限から始め、根拠に応じて拡張する —
totalThoughtsを最小に設定し、ツールから追加を求められた場合、または停滞が検出された場合にのみ増やします。 - 一度に 1 つの手法を使う — 思考 MCP を同時に複数実行してはいけません。合成は順次行います。
- ルーターは思考者ではありません — 分類、ディスパッチ、監視を行います。推論を重複して行わないでください。
- ツールのワークフローを尊重する — creative-thinking:発見→計画→実行。lotus-wisdom:
tag: beginで開始。aot:制御にはatomcommandsを使用します。 - トークンの消費量を記録する — ルーティングを改善できるよう、セッションごとのおおよそのトークン数を記録します。