mcpField
F
flow-deep-understanding

flow-deep-understanding

github.com/jurgendn生産性1150 回インストール6 週間前に更新
リポジトリ

flow-deep-understanding について

flow-deep-understanding は、ある程度理解している論文、手法、定理、導出を深く学ぶためのルーティングスキルです。再構成、仮定の確認、仕組みの検証、ストレステスト、独力での再導出を順に進め、演習や議論で進捗を確かめます。

主な機能

  1. 01単一の対象を深く学習
  2. 02各段階を専門スキルに委譲
  3. 03演習または議論によるゲート確認
  4. 04未通過時に該当段階へ戻る
  5. 05記法や拡張向けの分岐

活用シーン

  1. 01理解しかけている手法の習得
  2. 02定理の前提条件の確認
  3. 03導出や小さな例の検証
  4. 04試験や会議での説明準備

インストール

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

$npx skills add https://github.com/jurgendn/agent-skills --skill flow-deep-understanding

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

詳細

深い理解(オーケストレーター)

ユーザーがすでにある程度知っている単一の対象を、深く習得します。目標は、記憶からそれを再構成し、依拠している前提をすべて挙げ、どこで、なぜ破綻するのかを正確に説明できるようになることです。このスキルは、単一の対象に特化したスキル同士を振り分けるものであり、それ自体が教えることも、監査することも、反例を作ることもありません。

関連スキルとの違い:

  • flow-learn-new-topic — なじみのない 分野 を、幅広く学び始めるためのスキルです。ユーザーが周辺の全体像を把握していない場合に使います。
  • flow-idea-to-proof — ユーザー自身のアイデアを形式化するためのスキルです。ここでは、対象はすでに存在し、固定されています。

始める前に:対象を特定する

推測できないことだけを尋ねます。必要なのは次の情報です。

  • 正確な対象 — どの論文/手法/定理/導出か。関連する一群ではなく、ひとつの対象です。
  • 現在の理解度 — すでに理解していることと、曖昧になる箇所です。習得は深さを重視するため、曖昧になる境界から始めます。
  • 目的 — 実装する、発展させる、レビューする、会議や試験で説明する、のいずれかです。批判的検討をどこまで深めるかを決めます。

ユーザーがひとつの対象ではなく分野全体を挙げた場合は、まず flow-learn-new-topic に振り分けます。

パイプライン

順番に進めますが、ユーザーが曖昧さを感じる境界から始めてください。すでに理解していることを教え直してはいけません。

Reconstruct → Surface assumptions → Verify mechanism → Stress-test → Teach cold

ゲートは想定するのではなく、検証します。 各終了ゲートは、演習チェックポイントで確認します。その段階向けの短い採点付き問題セット(解答は別ファイル)を作成するため、concept-exercise-generator に引き継ぎます。これは導入ではなく習得を目的とするため、チェックポイントでは Tier 3~4(分析/導出/反例の構成)を中心に扱います。その段階は、ユーザーがそれらを独力で解けた場合にのみ合格です。ユーザーがその段階の曖昧さを感じる境界をすでに越えていることが明らかな場合に限り、チェックポイントを省略します。

ディスカッションでゲートを検証することもできます。 説明しながら学ぶユーザーは、演習セットの代わりに、その段階の内容についてのディスカッションラウンドを通じて、いずれのゲートも通過できます。詳しくは以下の ディスカッションモード を参照してください。各段階で、どちらの検証方法を使うかは選べます。演習では導出できるかを、ディスカッションでは知識を借りずに説明できるかを確かめます。どちらも簡単な選択肢ではありません。独力で合格するか、合格できないかのいずれかです。

Stage 1 — 推論を再構成する → professor-mentor-technical-teaching

メンターのように対象を再構成するため、引き継ぎます。対象がなぜ存在するのか、機能させる唯一のひらめき、形式化、実装、限界を扱います。これが理解の骨格になります。 終了ゲート: ユーザーが、対象がどのような要請に応えるのかと、核となるメカニズムを自分の言葉で説明できます。 チェックポイント: Tier 3 の問題セット(明白な代替案ではなく、なぜこの対象が存在するのか。核となるひらめきによって何が得られるのか)。

Stage 2 — 前提を明らかにする → theory-assumption-extractor

明示的な前提と隠れた前提をすべて抽出するため、引き継ぎます。どれが論理的に不可欠で、どれが便宜上のものか、そして議論が実際にどこに依拠しているかを明らかにします。結論を支える前提を列挙できなければ、対象を理解したとは言えません。 終了ゲート: ユーザーが前提の一覧を作成し、必要な前提と便宜上の前提を明示的に区別しています。 チェックポイント: Tier 3 の問題セット(どの前提が結論を支えるか。ある前提を取り除いた場合、結論の何が変わるか)。

Stage 3 — メカニズムを検証する → theorem-and-claim-audit(および/または theory-to-toy-cases)

導出がある場合は、各行を確認するよう引き継ぎます。手法/アルゴリズムの場合は、theory-to-toy-cases を使って、ユーザーが最小限の例で実際に計算できる形にし、メカニズムを具体化します。 終了ゲート: ユーザーが導出を一段階ずつたどるか、最小の例を最初から最後まで実行しています。 チェックポイント: Tier 2 と Tier 4 の問題セット(初見の簡単な例を独力で計算する。参考資料なしで、重要な一段階を再導出する)。

ステージ 4 — ストレステスト → theory-counterexample-hunter

対象に攻撃を仕掛けます。エッジケース、異常な入力、各前提が成り立たなくなる状況を探ります。理解するとは、その境界を知ることでもあります。 終了条件: ユーザーが、対象が破綻する具体的な状況を少なくとも 1 つ、その理由とともに説明できます。 チェックポイント: Tier 4 のセット(対象を破綻させる入力や状況を構成し、どの前提に反するのかを説明する)。

ステージ 5 — 再導出して、初見の相手に教える → naive-student

ユーザーに、正直な初心者に対象を初見で教えるつもりで再導出させ、そのうえで 対象に内在する(取り除けない)トレードオフを説明させます。学習者の説明を通じて、問題点を黙って修正することなく、理解の抜けを特定できます。説明が破綻した場合は、不足している前提を扱うステージに戻します。 終了条件: ユーザーが対象を自力で再現し、その根本的な限界を説明できます。 チェックポイント: このステージ自体が総仕上げのテストです。ユーザーが採点付きの最終確認を希望する場合は、concept-exercise-generator を使って Tier 4 のセット(対象を初見で再導出し、取り除けないトレードオフを説明する)として形式化します。 ディスカッションモードでは、ステージ 1 から説明が続いています。このステージでは、学習者と初めて向き合うのではなく、対象全体を振り返ってまとめます。

ディスカッションモード

読むだけでなく、説明する側になることで学ぶユーザーもいます。ディスカッションモードでは、ユーザーが現在の段階の内容を3人の登場人物に教え、そのやり取りの再生結果によって、演習チェックポイントの代わりにその段階のゲートを通過します。これはゲートの仕組みであり、新しい段階ではありません。上記のパイプラインに変更はなく、各ゲートの確認方法だけが変わります。

登場人物。 STUDENT(naive-student)は、得た質問を使って進行します。PEER(whiteboard-peer)は、ユーザーの回答に異議を唱えます。MENTOR(professor-mentor-technical-teaching)は、不足している依存関係をまれに補います。MODERATORはこのファイルです。回答を一行で判定し、次に進むタイミングを決めます。

教授役は3つに分かれています。 司会は教えることでも、採点することでもありません。ディスカッション中はprofessor-criticを決して起動してはいけません。これは完成した成果物、明確に指定された読者、合格基準を必要としますが、進行中のセッションにはそのいずれもありません。未完成の考えに判定を下すだけでは、意欲を損なうことになります。

各役が知り得ること。 STUDENTが使えるのは、このセッションで声に出された内容だけです。ドメイン知識を外部から持ち込んではいけません。それは誤りを黙って修正する失敗モードであり、再生結果を診断ではなく飾りにしてしまいます。STUDENTは、受け入れたすべてのつながりに[USER]、[PEER]、[MENTOR]のいずれかのタグを付けます。PEERとMENTORは知識に制限はありませんが、タイミングと発言量には厳しい制限があります。

ラウンド。 STUDENTは、裏付けが最も早く途切れるつながりについて質問を1つします → まず必ずUSERが回答します → その後、PEERは(通常の行動として)異議を唱えるか、ユーザーが明示的にパスした場合に限り、部分的な手助けを1つだけ行えます → MODERATORがCORRECT/INCOMPLETE: <不足している内容>/WRONG: <誤り>/STALLEDと判定します → STUDENTは情報源タグを記録し、次の質問をします。

段階的なエスカレーション。 段階を飛ばしてはいけません。

USER answers → PEER challenges → USER retries → PEER partial move → MENTOR minimal dependency

メンターへいきなり進むと、ディスカッションはユーザーが避けようとした講義に戻ってしまいます。各ラウンドでは、STUDENTの質問は1つ、PEERの実質的な働きかけは1つ、MODERATORの発言は1行、MENTORによる依存関係の補足は最大1つです。MENTORが2ラウンド連続で起動した場合は中止してください。内容がユーザーの現在の理解度を超えているため、講義で押し通すのではなく、1つ前の段階に戻ります。

ゲートの通過。 再生結果が成り立ち、かつ基盤となるすべてのつながりが[USER]によるものなら、ゲートを通過します。借り物のつながりで成り立つモデルは、理解ではなく負債です。そのつながりをknowledge-debt-auditに回し、本来それを確立するはずだったラウンドをやり直してください。

これは1つの対象を習得するためのものなので、PEERの異議は段階に応じて強める必要があります。最初は定義の細部を問い、次に前提を攻め、さらに対象が破綻する条件を探ります。ステージ4までに、異議が1つも残らないディスカッションラウンドしか行われていない場合、習熟を認定できるほど対立的な検討ができていません。

オプションの分岐

  • 記法が障害になっている、または別の形式で説明すると明確になる → theory-formalism-translator。
  • 対象が難解な論文で、ステップ1の前にその形式的な中核を抽出する必要がある → theory-paper-to-theorem-distiller。
  • 理解が深まり、対象を改善したいと思うようになった → gap-finder、次にflow-idea-to-proofへ引き継ぎます。
  • ユーザーが部分的な拡張案を持ち、主導権を奪わずに反論してくれる共同解決者を必要としている → whiteboard-peer。
  • 目的が対象を弁護することだった(会議、試験、委員会) → ステージ5の後、ユーザーに説明を完成した文章として書いてもらい、明確に指定した読者と合格基準(ユーザーが提示したもの)を添えてprofessor-criticに引き継ぎます。どちらもこちらで作り出してはいけません。批評役が関わるのはここです。ディスカッション中ではなく、ディスカッション後に確定した成果物に対してです。

ルーターのルール

  • 重複させず、委任します。 各ステージは単一の担当に引き継ぎます。このファイルが管理するのは、順序付けとゲートのみです。
  • 曖昧な境界から始めます。 ユーザーがすでに通過しているステージは飛ばします。深く掘り下げるのは、理解が途切れる箇所に労力をかけるためです。
  • 対象は1つだけです。 対象がメソッド群に広がった場合は、flow-learn-new-topic の担当です。
  • ステージ5での再導出が本当のテストです。 うなずきながら先のゲートを通過しても、合格にはなりません。ユーザー自身に再現させてください。
  • 力ずくで進めず、戻ります。 ゲートに失敗したユーザーは先に進ませず、該当するステージに戻します。
  • Tier 3+ のチェックでゲートを確認します。 concept-exercise-generator による、分析・導出・問題解決に重点を置いたチェックポイント、またはディスカッションラウンドで各ゲートを確認します。ユーザーが助けなしでクリアした場合にのみ、先へ進めます。演習はその場で生成してください。ここに直接記述してはいけません。
  • ディスカッションモードでは、まずユーザーが回答します。 ピアが先回りして回答すると、診断の意味が失われます。その場合、振り返りで評価されるのはユーザーではなくピアになってしまいます。

コメント