mcpField
T
thinking-model-router

thinking-model-router

github.com/tjboudreauxエージェントワークフロー1.7k613 回インストール12 週間前に更新
リポジトリ

thinking-model-router について

適切な思考スキルが不明な分析作業で、候補を選ぶルーティングスキルです。問題の種類や制約に照らしてスキルを選び、適合しなければ NONE を返します。

主な機能

  1. 01問題の仕組みに応じたスキル選択
  2. 02領域・問題タイプ・制約の整理
  3. 03基準に沿った候補評価
  4. 04役割が異なる場合のみスキルを併用
  5. 05中止条件の設定と再ルーティング

活用シーン

  1. 01適切な分析スキルが不明な場合
  2. 02複数の候補フレームワークから選ぶ場合
  3. 03重要な作業で適合性を確認する場合
  4. 04スキルを使わず直接進めるか判断する場合

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tjboudreaux/cc-thinking-skills --skill thinking-model-router

インストール後、Claude Code で/thinking-model-routerを入力して読み込まれたか確認します。

詳細

モデルルーター

基本ルール: 「なし」または主要スキルを1つだけ選びます。慣例ではなく、仕組みとの適合性に基づいて振り分けます。役割が異なり、必要な場合に限って組み合わせます。

使用する場合

  • 適切な思考スキルが不明で、推測したりツールを積み重ねたりすることになりそうな場合。
  • カタログ内に有力なスキルが複数あり、主要なスキルを1つ(または明示的に「なし」)選ぶ必要がある場合。
  • 間違った捉え方が大きな損失につながり、分野×種類の素早い照合が役立つ、重要度の高い作業の場合。

使用しない場合

  • 適切なスキルがすでに分かっている、または明らかな場合(「ボトルネックはどこか?」→ theory-of-constraints)。そのスキルを直接呼び出し、形式だけの振り分けは行いません。
  • 分析上の未知要素がない、定型的な実装作業の場合。直接推論します(NONE)。
  • 合意済みの計画を実行中で、次の具体的な手順だけが必要な場合。
  • 依頼がこのカタログの対象外の場合(純粋なコーディング構文、判断を伴わないツール操作)。NONE。

モデルの呼び出し(スキルID)

ルーターはスラッグのみを出力します(例:id: five-whys-plus)。振り分けられたスキルは、正確なID thinking-skills:thinking-<slug> を指定してSkillツールで呼び出します。Procedureに記載されていないスラッグを決して作らないでください。NONE は呼び出しなしを意味します。

手順

  1. 早期終了します。 仕組みの観点から明らかに適合するスキルが1つあれば、そのスキルだけを返します。作業の質を明らかに高めるスキルがなければ、NONEを返し、直接推論します。終了します。
  2. 特性を把握します。 ドメイン(コーディング、アーキテクチャ、プロダクト、戦略、個人、抽象、リスク、イノベーション)と問題の種類(診断、決定、理解、創造、評価、予測、最適化)を記録します。制約(時間、情報、重要度、可逆性、複雑さ)にも注意します。
  3. 種類ごとの既定候補を選びます(制約に応じて変更します)。 有効なカタログ内のスキルだけを残します。
    • 診断 → five-whys-plus または scientific-method(IS/IS-NOT マトリックスが必要な場合は kepner-tregoe)
    • 決定 → まず可逆性、その後 opportunity-cost または probabilistic
    • 理解 → systems(モデルと現実のギャップがある場合は map-territory、アプローチすべきドメインが不明な場合は cynefin)
    • 創造 → first-principles(矛盾には triz、手段主導の場合は effectuation、まず取り除く場合は via-negativa)
    • 評価 → steel-manning(前提や定義が不明な場合は socratic)
    • 予測 → probabilistic
    • 最適化 → theory-of-constraints(時間的なプレッシャーがある場合は ooda、探索を打ち切る場合は bounded-rationality)
    • リスク/「何が失敗するか?」 → pre-mortem または red-team、バッファーには margin-of-safety
    • プロダクトの「何を作るべきか?」 → jobs-to-be-done
    • 能力/持続性 → circle-of-competence、lindy-effect
    • 制御された仮定の検討 → thought-experiment
    • 複数の視点を使うのは、主要スキルで盲点の確認を行っても不十分な場合に限ります → model-combination
  4. 基準に基づいて選択します(満足化)。 候補が2つ以上残る場合、または重要度の高い状況で既定の選択を安全に行えない場合のみ採点します。各基準を1〜5で評価します(1=不適合/該当なし、3=不十分な点はあるが使用可能、5=直接適合):問題との適合性(30%)、利用可能な入力(20%)、適用にかかる時間(15%)、関係者にとっての使いやすさ(15%)、正しく適用する能力(20%)。問題との適合性が4以上、かつ加重合計が3.5以上の方法を選びます。基準に満たない場合はNONEを返します。合計点の差が0.25以内の場合は、必要な入力が少なく実行時間が短い方法を優先します。それでも同点なら、スキルがそれぞれ異なる補完的な問いに答える場合を除き、NONEを選びます。
  5. 複数スキルの使用は例外に限ります。 主要スキルで扱えない異なる補完的な役割を各スキルが担う場合のみ、2つ目または3つ目のスキルを追加します。最大3つまでとします。並行して適用するより、順番に適用する方法を優先します。近接するスキルや同義語を重ねて使ってはいけません。組み合わせのパターンを使う場合は、主要スキルを挙げたうえで model-combination に引き継ぎます。
  6. 終了します。 適用を中止する目安を示します(無理に当てはめている、要素を無視している、約15分経っても洞察が得られない)。適合しない場合は、1回だけ別の方法に切り替えるか、NONEに戻します。フレームワークを無理に当てはめてはいけません。

ドメインの早見表(まずは主要候補を検討します。ただし、既定では1つまたはNONEを選びます):

ドメインの兆候優先する候補
バグ/根本原因/不安定な動作five-whys-plus、scientific-method、systems
アーキテクチャ/技術選定reversibility、systems、lindy-effect、opportunity-cost
機能/ロードマップ/エンゲージメントjobs-to-be-done、opportunity-cost、theory-of-constraints
戦略/競争/成長cynefin、systems、red-team、second-order
個人/キャリアに関する決断opportunity-cost、reversibility、circle-of-competence、pre-mortem
議論/信念の更新steel-manning、probabilistic、socratic、first-principles
セキュリティ/災害/破滅的な損失pre-mortem、red-team、margin-of-safety、via-negativa
イノベーション/矛盾/簡素化first-principles、triz、effectuation、via-negativa

出力

outcome: NONE | one | multi
routes:
  - id: <primary skill id or NONE>
    role: <job this skill performs>
    unique_question: <question only this route answers>
  - id: <secondary skill id, only for multi>
    role: <distinct complementary job>
    unique_question: <distinct open question>
  - id: <tertiary skill id, only for multi>
    role: <distinct complementary job>
    unique_question: <distinct open question>
domain: <domain>
problem_type: <type>
constraints: <time/info/stakes/reversibility>
rationale: <mechanism fit in one sentence>
blind_spots: <what primary still ignores, if any>
exit: <when to abandon or re-route>

既定の入力値:outcome: NONEにid: NONEのルートを1つ指定するか、outcome: oneにルートを1つ指定します。列挙した各スキルがそれぞれ異なる役割と固有の問いを持つ場合に限り、multiを使用します。

検証

  • 誤りと判断する/停止する: 適用する理由が仕組みとの適合性ではなく、習慣や慣れである場合は、その候補を破棄して再評価するか、NONE を返してください。複数のスキルを挙げてもそれぞれの役割が明確でない場合は、最適な主要スキルひとつに絞ってください。明らかに役立つ候補がなければ、NONE が正解です。候補をでっち上げないでください。
  • 過剰適用の防止: スキルがすでに明白な場合は、候補に含めないでください。スキルを3つより多く返さないでください。削除済みまたはカタログにない名前を挙げないでください。ルーターを、直接呼び出されるリーフスキルの前提条件として扱わないでください。

コメント