mcpField
R
recursive-research

recursive-research

github.com/anjos2生産性5275 回インストール27 週間前に更新
リポジトリ

recursive-research について

分野を問わず、情報源の評価とファイルへのチェックポイント保存を行いながら反復調査するエージェントスキルです。テーマや希望を最初に確認し、網羅度と飽和度を基に継続または終了を判断します。

主な機能

  1. 01開始前にテーマと調査条件を確認
  2. 02信頼性に基づく情報源の分類と選別
  3. 03複数の論点を反復して調査
  4. 04各サイクルの状態をファイルに保存
  5. 05網羅度と飽和度で完了を判定
  6. 06ウェブとローカル資料を調査

活用シーン

  1. 01技術文書や論文の調査材料を準備
  2. 02意思決定に向けて新分野を調査
  3. 03知識の空白や異なる見解を特定
  4. 04ローカルファイルとウェブから情報を整理

インストール

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

$npx skills add https://github.com/anjos2/recursive-research --skill recursive-research

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

詳細

スキル:再帰的な深掘り調査(v2.0)

調査の種(ルートテーマ)について、博士課程レベルに到達するまで反復する、自律調整型の調査です。あらゆる分野で機能します。形式科学、自然科学、社会科学、人文科学、芸術、テクノロジー、ビジネスなどが対象です。

使用するタイミング

  • あるテーマを専門家レベルまで深く掘り下げたい場合
  • 十分な情報に基づいて意思決定するため、新しい分野を理解する必要がある場合
  • 技術文書、論文、提案書、研究を準備する場合
  • 最先端の状況と知識のギャップを特定したい場合

原則

  1. 調査の前に質問する — スキルは開始前に、調査の種、モード、情報源についてユーザーに質問します
  2. 信頼できる情報源を透明性のある段階分けで評価する — 信頼性の低い情報源は自動的に除外します
  3. すべての重要な自律的判断でWDM+マンガーの逆思考を用いる
  4. 自律調整型のループ — 反復回数を固定せず、測定可能な終了基準を設けます
  5. 防御的なチェックポイント — 毎サイクル、ディスクに保存します。コンテキストの圧縮やセッション終了後も調査を継続できます
  6. 予防的な一時停止 — コンテキスト上限が近づいていることを検知し、強制終了の前に一時停止を提案します

全体の流れ

フェーズ0 — 初期質問(スキルが質問)

/recursive-researchを呼び出すと、スキルは次の順にユーザーへ質問します。

  1. 調査の種:「何を調査したいですか?」(自由記述)
  2. モード:web / local / mixto
  3. ローカルを含む場合:「どのローカルパスを調査しますか?」(カンマ区切りのパス一覧)
  4. 優先する情報源(任意):著者、ドメイン、希望する出版物
  5. 除外する情報源(任意)
  6. サイクル数の上限(デフォルト:20。設定可能)

スキルは概要を提示し、開始前に確認を待ちます。


フェーズ1 — 作業スペースの準備
  1. 調査の種のslugを生成します(kebab-case、最大40文字)
  2. 現在の作業ディレクトリにmemoria/investigaciones/<slug>/があるか確認し、なければ作成します
    • memoria/が存在しない場合は、作成します。次のように説明します。「プロジェクトにmemoria/フォルダーがありません。スキルでは、調査結果を毎サイクル、ディスクに集約する必要があるため作成します。これにより、新しいセッションでも調査を再開できます。」
  3. 初期ファイルを作成します。
    • estado.md — メタデータ、進捗、指標
    • hilos.md — 調査の種とサブスレッドのツリー
    • fuentes-tier-1.md、fuentes-tier-2.md、fuentes-tier-3.md、fuentes-rechazadas.md
    • hallazgos.md — 調査結果の集約

フェーズ 2 — シードスレッドを特定する

3~5 個のシードスレッド(テーマの異なる切り口)を生成します。

スレッドの選定に WDM を適用します:

基準重み評価内容
概念の網羅性4テーマの異なる側面を扱っていますか?
視点の多様性3異なる声/学派を取り上げていますか?
情報源の入手しやすさ3このスレッドに Tier 1/2 の情報源はありますか?
ユーザーとの関連性4調査のきっかけとなった目的に合致していますか?

候補となるスレッドを 5~8 個評価し、上位 3~5 個を選びます。

選んだスレッドに Munger の反転思考を適用します:

  • 重要なのに無視しているスレッドはありませんか?
  • どのような欠けている視点があると、調査が偏ったものになりますか?
  • 取り上げられていない学派/異論を唱える声はありませんか?

反転思考によって重要なスレッドの不足が明らかになった場合は、それを追加して WDM を再実行します。

分野別の例(コードだけではありません):

分野シード典型的なスレッド
科学がん免疫療法分子メカニズム / 臨床試験 / 歴史と変遷 / 論争と限界 / 商業化の現状
芸術20 世紀音楽におけるミニマリズム主要な作曲家 / 技法 / 歴史的・文化的背景 / 批評と評価 / 代表作
ビジネスB2B SaaS の収益化モデル価格戦略 / 財務指標 / 文書化された事例 / 法的枠組み / B2B 購買の心理
人文科学現代に応用するストア哲学一次資料(エピクテトス、セネカ、アウレリウス) / 現代的な解釈 / 実践的な応用 / 哲学的な批判 / 心理学的な実証研究
テクノロジーマイクロサービスにおけるヘキサゴナルアーキテクチャ理論的基礎 / 言語別の実装 / 実例 / トレードオフと批判 / ツール

フェーズ 3 — 利用可能なツールを検出する

最初のサイクルの前に、利用可能な MCP を検出し、優先順位を付けます。

優先順位(速度/効果の高い順):

  1. AI 向けに最適化されたスクレイピング MCP:Firecrawl(firecrawl_scrape、firecrawl_crawl、firecrawl_search、firecrawl_extract)— 構造化テキストを高速に取得
  2. 公式ドキュメント MCP:Context7(query-docs)— 情報源がライブラリ/フレームワークの場合に使用
  3. ネイティブツール:WebSearch、WebFetch — 汎用的なフォールバック
  4. 実ブラウジング MCP(Chrome DevTools):優先度を下げる — コンテンツの取得に明示的な JS 実行が必要な場合のみ使用(SSR なしの SPA、認証後のコンテンツ)

理由:AI スクレイパーは実ブラウザーより 10~50 倍高速で、構造化済みのテキストを取得できます。


フェーズ 4 — 推奨されるシードソース

スキルはユーザーに、ドメインごとに事前に読み込まれたシードソースのリストを提示し、確認、追加、または却下してもらいます。

一般科学/論文:

医学/生物学:

人文科学/社会科学:

コード/テクノロジー:

データ/統計:

芸術/文化/人文科学:

一般:

  • Wikipedia — 出発点として使用します。Tier 1/2 にたどり着くため、必ず参考文献のセクションに進みます
  • Wikidata — 構造化データ

ローカルソース(ユーザーがパスを指定した場合):

  • フォルダー構成を一覧表示する
  • .md、.pdf、.txt、.doc/.docx、.html、.epub を優先する
  • エージェントの読み取りツール(Read、Grep、Glob)を使用する

フェーズ 5 — 調査サイクル(自律調整型 LOOP)

各サイクルでは、次のサブステップを実行します。

5.1. 網羅率が最も低いスレッドを選ぶ

各スレッドの現在の網羅率(登録済みの発見事項 / 期待される発見事項の代理値)を計算します。割合が最も低いものを選びます。

5.2. 今回のサイクルで使用するソースに WDM + Munger を適用する

候補ソースごとの WDM:

基準重みスケール
権威性(Tier)5Tier 1 = 5 · Tier 2 = 3 · Tier 3 = 2 · 却下 = 0
現在のスレッドとの関連性5意味的な一致度を 1~5 で評価
アクセス可能性35 = 全文公開 · 3 = 抄録 + ペイウォール · 1 = アクセス不可
分野に適した新しさ2コード:新しいほど優先 · 古典哲学:古いほど関連性が高い
利益相反がないこと35 = 独立 · 1 = 利害関係者から資金提供

上位 3~5 件を選びます。

選択したソースに Munger の反転思考を適用する:

  • 使用すべきなのに使っていないソースはありますか?(異論を唱える人、批判的な学派、声を封じられた人々)
  • 選択したソースに共通する偏りは何ですか?(英語圏のみ、特定の時代のみ、特定の学派のみ)
  • 反対意見として文書化されたものはありますか? → 存在する場合は、矛盾するソースを少なくとも 1 件追加する
5.3. 検索/読解を実行する
  • フェーズ 3 で検出した優先順位に従って MCP を使用する
  • 具体的な事実、数値データ、出典を明記した直接引用、新たに見つかった人物/作品/概念の名前を抽出する
  • サイクルの作業メモに記録する
5.4. 調査した各情報源にティアを適用する

ティア 1 — 最高の信頼性:

  • インデックス登録された学術誌の査読済み論文(Scopus、Web of Science、PubMed、ACM、IEEE)
  • 学術出版社の書籍(MIT Press、Oxford UP、Cambridge UP、Springer)
  • 標準規格の公式ドキュメント(W3C、IETF/RFC、ISO、IEEE、WHO、FDA、BIS)
  • 検証可能な一次資料(国立博物館、大学図書館、州立公文書館)
  • 公的な統計機関の生データ

ティア 2 — 高い信頼性:

  • 活発で評価の高いプロジェクトの公式リポジトリ
  • 引用可能な著者(研究者、経歴を検証可能な専門家)のブログ/出版物
  • 評価の高い学会での講演(動画と論文あり)
  • ティア 1/2 の参考文献を含む Wikipedia(参考文献のアグリゲーターとして扱う)
  • 公開された方法論に基づくシンクタンク/コンサルティング会社のレポート(Pew、Gartner、McKinsey Institute)

ティア 3 — 注意して利用:

  • ティア 1/2 への内部引用があるブログ
  • 高評価かつ引用を含む Stack Overflow/フォーラム
  • 身元を特定できる専門家への録画インタビュー
  • 著者が明記された業界向け出版物

自動的に却下:

  • 著者を特定できない
  • 実証データのないマーケティング
  • スパム/SEO アグリゲーター
  • 出典を引用していないチュートリアル
  • 検証可能な文脈のないソーシャルメディア
  • 人間による監督が記録されていない AI 生成コンテンツ

調査した各情報源は、該当するティアのファイルに、タイトル、URL、著者、日付、割り当てたティア、根拠とともに記録します。

5.5. チェックポイントにまとめる

サイクルの最後に、memoria/investigaciones/<slug>/ciclo-N.md に以下を保存します:

  • 作業したスレッド
  • 調査した情報源(ティア付き)
  • 新たな知見
  • 以前のスレッドとのつながり
  • 次のサイクルに向けた未解決の質問
5.6. estado.md を更新する
  • サイクル数を増やす
  • スレッドごとの網羅率を再計算する
  • 飽和度の指標を記録する:saturacion = hallazgos_nuevos_ciclo / hallazgos_totales_acumulados
  • 消費したツール呼び出し数と出力トークン数の推定値を更新する
5.7. 終了基準を評価する — フィットネス関数「博士課程レベル」

以下の 5 つの基準をすべて満たす必要があります:

  1. すべてのシードスレッドで網羅率 ≥80%
  2. スレッドごとにティア 1 の情報源が 3 件以上(ティア 1 が少ない分野では、ティア 1 と 2 を合わせてよい)
  3. 飽和度 ≤5% が 3 サイクル連続で続く
  4. 知識の状態に Munger の反転思考を適用:知らないこと、情報源同士が矛盾している点、検出したバイアスを記録する
  5. スレッド間の横断的な統合:異なるスレッド間の明示的なつながりを 3 件以上記録する

判断:

  • すべて満たす → フェーズ 6(自然終了)
  • サイクル上限に到達 → フェーズ 6(警告を伴う強制終了)
  • それ以外 → 手順 5.8 に進む
5.8. 予防的な一時停止(コンテキストの確認)

しきい値:

  • tool_calls_en_sesion ≥ 150
  • または tokens_output_aprox ≥ 80000

いずれかに達した場合:

  1. チェックポイントを完全に書き込む(5.5 + 5.6)
  2. メッセージを出力する:
[PAUSA PREVENTIVA RECOMENDADA]

Estado actual:
- Ciclos completados: N
- Tool calls en sesión: X (cerca del límite)
- Tokens de output aprox: Y

Razón: me aproximo al límite de contexto. Si continúo, podría perder coherencia
al compactarse la sesión.

La investigación está guardada en:
  memoria/investigaciones/<slug>/

Para reanudar en nueva sesión:
  /recursive-research --resume <slug>

¿Pausar aquí, o continuar 1-2 ciclos más? (continuar / pausar)
  1. 応答を待つ。continuar の場合は続行します。pausar の場合はフェーズ 6(部分終了を記録)に進みます。

しきい値に達していない場合 → 次のサイクルに向けて 5.1 に戻ります。


フェーズ 6 — 終了

自然終了(5 つの基準を満たした場合)、強制終了(サイクル上限に達した場合)、または部分終了(手動で一時停止した場合)のいずれでも、次を行います。

  1. sintesis.md — エグゼクティブサマリー:

    • 平易な言葉での要約(3~5 段落)
    • 相互参照を含む、各スレッドの調査結果
    • 検出された論争点と矛盾
    • 知識のギャップ(調査していない内容/未解決の事項)
    • 追跡したスレッドのマップ(ツリー)
  2. acciones.md — 影響度順に優先順位を付けた、実行可能なアクションのチェックリスト

  3. 知識の状態に対する、Munger による最終的な反転思考(gaps.md に記録):

    • まだ分からないことは何か?
    • どの情報源が互いに矛盾していて、未解決のままか?
    • 情報源の集合には、どのような偏りがあるか?
    • 批判的なレビュアーなら、どんな質問をするか。その質問に答えられないものは何か?
  4. ユーザーに質問する:

[INVESTIGACIÓN COMPLETADA — estado: natural / forzado / pausado]

Semilla: <tema>
Ciclos ejecutados: N / <tope>
Fuentes consultadas: X total (T1: A · T2: B · T3: C · Rechazadas: D)
Estado PhD: alcanzado / NO alcanzado (razones: ...)

Gaps identificados:
  1. ...
  2. ...
  3. ...

Opciones:
  1. Cerrar aquí
  2. Profundizar un gap específico (indica cuál)
  3. Añadir nuevo hilo y continuar
  4. Cambiar de modo (web → mixto, etc.)

¿Qué prefieres?

調査に終わりはありません — 終了するのはユーザーの判断による場合のみです。


--resume モード

呼び出し:/recursive-research --resume <slug>

  1. memoria/investigaciones/<slug>/ を検索する
  2. 存在しない場合 → 明確なエラーを表示し、通常の /recursive-research を提案する
  3. 存在する場合:
    • estado.md を読み込み、指標を復元する
    • 最後の ciclo-N.md を読み込み、直近のコンテキストを把握する
    • hilos.md を読み込み、現在のツリーを把握する
    • 「サイクル N から再開します。次の手順:[スレッド X]。続行しますか?」と提示する
  4. フェーズ 5 からループを続行する

--list モード

呼び出し:/recursive-research --list

現在のプロジェクトの memoria/investigaciones/ に保存されたすべての調査を一覧表示します:

  • スラッグ · シード · 完了したサイクル数 · 状態(進行中/終了) · 最終更新

積極的に拒否すべきアンチパターン

  1. 表面的な検索 — 実際の検索結果を深掘りせず、同義語でクエリを繰り返す
  2. Munger を無視する — 都合のよい情報源だけを選ぶ。反転思考は必須です
  3. チェックポイントの欠如 — ディスクに書き出さずに 5 サイクル進める
  4. 参照のない Tier 3 — Tier 1/2 を明示的に引用していないブログを受け入れる
  5. PhD の自己認定 — 測定された 5 つの基準を満たさずに PhD と宣言する。1 つでも欠けている場合は、終了してはいけません
  6. ギャップを無視する — 何が分からないかを記録せずに終了する。ギャップも成果物の一部です
  7. 知的な傲慢さ — 「要約を汚さないため」に論争点や矛盾を隠す。知的誠実さこそが成果です
  8. 内部知識を盲信する — エージェントの知識は古くなっている可能性があります。必ず情報源と照らし合わせて確認してください

生成される最終ファイルの構成

memoria/investigaciones/<slug>/
├── estado.md              ← progreso, métricas, metadata
├── hilos.md               ← árbol de hilos y sub-hilos con estado
├── fuentes-tier-1.md      ← fuentes más confiables consultadas
├── fuentes-tier-2.md      ← fuentes de alta confianza
├── fuentes-tier-3.md      ← fuentes con cautela
├── fuentes-rechazadas.md  ← fuentes evaluadas y descartadas (con razón)
├── hallazgos.md           ← consolidación de descubrimientos
├── ciclo-01.md            ← checkpoint del ciclo 1
├── ciclo-02.md
├── ciclo-N.md
├── sintesis.md            ← síntesis ejecutiva (Fase 6)
├── acciones.md            ← checklist de acciones aplicables
└── gaps.md                ← lo que NO se sabe, controversias, sesgos

呼び出し例

Usuario: /recursive-research

Skill: ¿Cuál es el tema que quieres investigar?
Usuario: Mecanismos de la memoria episódica en humanos

Skill: ¿Modo? (web / local / mixto)
Usuario: mixto

Skill: ¿Rutas locales?
Usuario: C:/Dropbox/papers-neurociencia

Skill: ¿Fuentes / autores priorizados? (opcional)
Usuario: Endel Tulving, Eleanor Maguire

Skill: ¿Fuentes excluidas? (opcional)
Usuario: -

Skill: ¿Tope de ciclos? (default 20)
Usuario: 25

Skill: Confirmado.
       Semilla: "memoria episódica en humanos"
       Modo: mixto · Local: [C:/Dropbox/papers-neurociencia]
       Priorizar: [Tulving, Maguire] · Tope: 25 ciclos

       Aplicando WDM + Munger para identificar hilos semilla...
       [muestra tabla]

       Hilos seleccionados:
       1. Bases neuroanatómicas (hipocampo, PFC)
       2. Fenomenología y taxonomía (Tulving et al.)
       3. Trastornos y disociaciones (amnesia, Alzheimer)
       4. Modelos computacionales
       5. Neurociencia cognitiva contemporánea

       La carpeta `memoria/` no existe. La creo — es necesaria para
       consolidar cada ciclo en disco.

       Ruta: memoria/investigaciones/memoria-episodica-humanos/

       Arrancando ciclo 1 (hilo con menor cobertura: 1)...

著者およびライセンス

貢献を歓迎します。対象外のアンチパターン、より優れたヒューリスティック、またはより堅牢な PhD 基準を見つけた場合は、PR を作成してください。

コメント