mcpField
G
gap-finder

gap-finder

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

gap-finder について

gap-finderは、論文にある研究可能な理論的ギャップを見つけるスキルで、理論結果の拡張を目指す研究者向けです。主張と仮定を整理し、保証と実践の隔たりを調べ、各ギャップの価値と実現可能性を評価します。

主な機能

  1. 01理論上の主張と仮定の抽出
  2. 02保証と実践の隔たりの比較
  3. 03仮定の必要性と強さの検討
  4. 04理論構造上のギャップ分析
  5. 05発表価値と実現可能性による順位付け

活用シーン

  1. 01論文から発表可能な理論的ギャップを探す
  2. 02定理の仮定を緩和できるか検討する
  3. 03理論が実際の手法を扱うか確認する
  4. 04週ごとに1つの補題を分析する

インストール

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

$npx skills add https://github.com/jurgendn/agent-skills --skill gap-finder

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

同梱ファイルevals/evals.json

詳細

ギャップファインダー

論文を読み、理論の弱い部分を見つけます。

目的は、査読者のように論文を「批判」することではありません。数学者が新たな成果を生み出せる、出版に値する理論的ギャップを見つけることです。ギャップに価値があるのは、(1)手法は実験的には機能するものの、理論的な正当化が不足している場合、(2)理論は存在するものの、その仮定が実践と合っていない場合、または(3)自然な一般化が未解決のまま残されている場合です。

モードの選択

  • ギャップの全体スキャン: 以下のステップ1~5を実行します。
  • 週次補題解剖: 以下の簡潔なプロトコルを、補題ちょうど1つに対して実行します。

週次補題解剖

スペクトルグラフ理論、コミュニティ検出、GNN 理論、またはユーザーの現在の研究分野から、対象範囲内の補題を1つ選びます。習慣にするのは週に1回の分析であり、網羅的な論文レビューではありません。

攻撃を始める前に、著者による限界の記述、考察、補題に関するコメントを読まないでください。定理の主張と証明を読むのは問題ありません。ここでの目的は、著者の見解を借りる前に、独自に診断することです。

  1. 補題を固定します。 結論と仮定を正確に書き写します。証明の依存関係を、最大5ステップで示します。
  2. 仮定を1つ弱めます。 変更は1つだけ、かつ厳密に定めます。例:連結 → 非連結も許す、ギャップが正 → ギャップが非負、独立 → 弱依存、または別の数学的に明示された弱化。
  3. 最初に破綻する箇所を予測します。 計算する前に、失敗すると予想する証明の箇所を正確に示します。
  4. 検証します。 弱めた仮定が作用する、最小のグラフ、分布、行列、またはパラメーター領域を構成します。以下を区別します。
    • 証明のステップは失敗するが、主張は成立する可能性がある。
    • 反例によって主張が偽である。
    • 弱化しても問題はなく、補題を強められる可能性が高い。
  5. ここで初めて比較します。 著者の考察または付録を読み、著者も同じ境界に気づいていたかを記録します。著者の診断によって、独自の診断を置き換えないでください。
  6. 次の習慣を記録します。 論文、補題、弱めた仮定、最初に失敗した箇所、証拠となる例、判定、次回の予定週を記録します。

最初に、次の判定を1つ示します。

  • 破綻 — 主張が偽
  • 破綻 — 証明のみ
  • 成立 — 仮定は弱められそう
  • 結論保留 — 不足している検証を明記

次に、弱めた仮定、最初に失敗した箇所、最小の証拠となる例、著者との比較を報告します。1回の解剖から導く具体的な診断は1つだけにし、考えられる限界を列挙しないでください。

補題解剖で陥りがちな失敗
  • 後付けのすり替え: 著者の限界を先に読んで、それを独自の発見として言い換える。
  • 曖昧な弱化: 仮定を正式に変更せず、「強い」と述べる。
  • 証明と主張の混同: 証明の一箇所が破綻したことを、定理が偽である証拠として扱う。
  • 大きすぎる証拠: 最小の厳密な例を試す前に、シミュレーションに頼る。
  • 対象範囲のすり抜け: 攻めやすいという理由だけで、ユーザーの進行中の研究と無関係な補題を選ぶ。
補題解剖モードを使わない場合
  • 対象がユーザー自身の予想である → theory-counterexample-hunter。
  • ユーザーが形式的な行単位の証明確認を必要としている → theorem-and-claim-audit。
  • 目的が診断の練習ではなく、投稿先へのレビューである → peer-review-writer。
  • 論文に証明がない、または依存関係を構造化できる主張がない。

2つの失敗モード

  1. 偽のギャップ。 論文がすでに扱っている事柄を指摘すること(付録、引用された関連論文、またはよく知られた結果による暗黙の扱いなど)。報告する前に必ず確認してください。
  2. 些細なギャップ。 手法が有限グラフを対象としているのに、「無限次元では収束を証明していない」と指摘すること。ギャップは関連性のあるものでなければなりません。つまり、解決されることに関心を持つ人がいる課題である必要があります。

ステップ 1:論文の理論的な骨格を抽出する

論文を読み、次の項目だけを正確に構造化して要約してください。

主張。 すべての定理、命題、補題、系を、すべての量化子と定義域を含めて厳密に記述してください。また、「この手法は収束する」「これは最適である」「計算量は O(n log n) である」など、形式的な記述で裏付けられていないものも含め、著者が本文で述べている非形式的な主張をすべて含めてください。

仮定。 各主張について、次の項目を列挙してください。

  • 明示的な仮定(定理内で述べられているもの)
  • 暗黙の仮定(証明で使われているが明記されていないもの、または引用先の結果から引き継がれているもの)
  • モデリング上の仮定(問題の定式化がデータ、グラフ、分布について前提としていること)

保証。 各結果が具体的に何を保証するかを示してください。次の点を区別してください。

  • 存在、一意性、またはその両方
  • 厳密か近似か(近似の場合は、その指標と誤差限界)
  • 最悪ケース、平均ケース、高確率のいずれか
  • 有限サンプルか漸近的か

手法が実際に行うことと理論が対象とする範囲。 多くの論文では、アルゴリズム(X、Y、Z を行う)と理論(理想化された条件下で X のみを解析する)の間に隔たりがあります。この隔たりを明示的に対応づけてください。


ステップ 2:各仮定を検証する

骨格で挙げた各仮定について、次の点を確認してください。

  1. 必要か。 この仮定がなければ結果は成り立たないのか、それとも証明で使われている便宜上の仮定であり、結果自体には必要ないのか。(不要と思われる場合は、それ自体がギャップです。より弱い仮定のもとで結果を証明してください。)

  2. 現実的か。 この仮定は、実際に手法が使われる状況で成り立つのでしょうか。よくある問題となる例:

    • 応用先が時間的・空間的なのに、データが i.i.d. であると仮定している
    • 実際のネットワークには孤立点があるのに、グラフが連結であると仮定している
    • 実際のグラフは裾の重い分布を持つのに、次数が有界であると仮定している
    • ニューラルネットで関数を学習しているのに、滑らかさ/リプシッツ連続性を仮定している
    • 実際には未知なのに、コミュニティ数が既知であると仮定している
    • プロセスが変化しているのに、定常性を仮定している
  3. タイトか。 より弱い仮定に置き換えて結果を強化できるでしょうか。この分野に既知の仮定の階層がある場合、この論文はその中のどこに位置するのでしょうか。


ステップ 3:各保証を検証する

各保証について、次の点を確認してください。

  1. 限界はタイトか。 一致する下界はあるでしょうか。ない場合、上界と下界の間に大きな隔たりはあるでしょうか。緩い限界はギャップです。

  2. 収束率は最適か。 収束結果については、これが達成可能な最良の収束率でしょうか。それとも改善の余地があるでしょうか。計算量の結果については、一致する下界があるでしょうか。

  3. 保証は、人々が実際に重視する損失関数/指標に合っているか。 理論では L2 の結果を証明している一方、実務者が重視するのは L∞ であったり、高確率の限界が必要なのに期待リスクを証明していたりすることがあります。

  4. 漸近領域は現実的か。 n > 10^8 で初めて成り立つ結果は、データセットの n = 10^4 なら技術的には正しくても、実用上は役に立ちません。論文の実験が、理論の適用範囲に入る領域で行われているか確認してください。

ステップ 4:理論構造上のギャップを特定する

論文にまとめやすいのは、特定の定理の弱点ではなく、論文全体の理論的構成に欠けている部分です。

理論と実践のギャップ。 手法に含まれる要素(ヒューリスティック、ハイパーパラメーターの選択、初期化方式など)に理論的な根拠がありません。実験では重要性が示されているものの、なぜ、あるいはどのような場合に重要なのかを説明する定理がありません。

一般化の欠如。 結果は特別なケース(例:無向グラフ、均質なネットワーク、静的な設定)について証明されていますが、手法はより広い範囲に適用されています。より広い設定への一般化は未解決です。

関連性の欠如。 論文の手法は既知の枠組み(最適輸送、スペクトル理論、情報幾何学など)と類似している、あるいは関連付けられる可能性がありますが、そのつながりが示されていません。それを形式化すれば、より簡潔な証明や強い結果につながる可能性があります。

計算と統計のトレードオフ。 論文では統計的保証と計算上の保証を別々に証明していますが、統計的最適解を達成することが計算上実現可能か、あるいはその逆かを分析していません。

ロバスト性。 手法はノイズ、敵対的摂動、モデルの誤指定がない条件で分析されていますが、それらがある場合は分析されていません。保証はどの程度劣化するのでしょうか?


ステップ 5:順位付けして報告する

すべてのギャップに取り組む価値があるわけではありません。各ギャップを次の観点から順位付けします。

  • 論文としての価値。 このギャップを埋めることは、論文になるでしょうか? 論文の一節でしょうか? それとも脚注でしょうか?
  • 取り組みやすさ。 妥当な証明戦略はありますか? それとも、既知の難しい未解決問題でしょうか?
  • ユーザーの研究との関連性。 (関連する背景情報があれば — 例:ユーザーがランダムウォーク、GNN、スペクトル手法に取り組んでいる場合、それらの手法と結び付くギャップを指摘します。)

出力形式:

論文の骨子

ステップ 1 で作成した構造化された要約を簡潔に示します。

見つかったギャップ

各ギャップについて、以下を記載します。

  • 不足しているもの: 1 文で説明
  • 重要な理由: 1 文で説明
  • 難易度の見込み: 簡単な拡張/中程度/難しい未解決問題/不明
  • 証明戦略のヒント: あれば、どのような手法や技法が使えそうか
  • 関連するもの: ユーザーが活用できる関連研究や枠組み

推定される論文としての価値 × 取り組みやすさの順に並べ、最も有望なものを先頭にします。

確立されている点

公平性を保つため、また、ユーザーが批判するのではなく発展させるべき部分を把握できるよう、論文が十分に証明していることを簡潔に記します。


原則

  • 反例を構成できるギャップは、単に疑うだけのギャップ 10 個分の価値があります。論文の理論が適用されない一方で、手法は使われるような小さな例(グラフ、分布、関数)を構築できるなら、そのことを明記します。
  • 「著者は X を証明していない」と「X は誤りである」を区別します。前者はギャップ、後者は欠陥です。どちらも有用ですが、異なる研究計画につながります。
  • ギャップを報告する前に、付録と補足資料を確認します。多くの論文はそこで制限に対処しています。
  • 論文が証明のために関連論文や技術報告書を引用している場合、そこでギャップが解消されている可能性があることに触れます。ただし、確認できない場合は「未検証」と明記します。
  • 具体的に述べます。「仮定が強い」はギャップではありません。「仮定 3 はスペクトルギャップが有界であることを要求していますが、Barabási-Albert グラフのスペクトルギャップには有界性がないため、最も一般的な合成ベンチマークが理論の対象外です」はギャップです。

引き継ぎ

  • 疑わしい不成立を体系的な反例探索に進める → theory-counterexample-hunter
  • 厳密な代数的または解析的ステップを監査する → theorem-and-claim-audit
  • 残った拡張を形式的な定理へ発展させる → flow-idea-to-proof
  • 論文の投稿先向け査読を書く → peer-review-writer

コメント