AREX-Skill: GitHubリポジトリからAI研究を加速させる専門知識を蒸留する方法

自律的にコードを書き、実験を回し、結果を比較する「エージェント」が、機械学習研究の現場に入り込み始めています。もっとも、こうしたエージェントを実際に使ってみると、有名なライブラリの使い方を一つ間違えるだけで実験全体が無駄になったり、同じような失敗を別のタスクでも繰り返してしまったりする場面に心当たりがあるのではないでしょうか。

この背景には、自律型エージェントの構成要素として長らく語られてきた「モデル」と「ハーネス(Harness: エージェントの実行制御を担う仕組み)」だけでは説明できない欠落があります。この欠落は「運用知識(Operational Knowledge)」と呼ばれ、GitHubリポジトリや論文に埋もれた実践知を自動的に抽出し、AIエージェントが扱える形の「スキル」として蓄積する手法「DisCo」と、それを1,000のリポジトリに適用して構築した「AREX-Skill」ライブラリが登場しました。GPT-5.5をバックボーンに据えた同一のエージェントで比較したところ、スキルを与えるだけで複数のベンチマークのスコアが大きく向上することが確認されています。

この記事では、運用知識という考え方がなぜ必要とされているのか、DisCoがどのようにリポジトリから使えるスキルを作り出しているのか、そして実際のベンチマークでどれだけの効果が確認されたのかを順に解説します。あわせて、記事の後半では実際にAREX-Skillを手元の環境に導入し、使ってみる手順も紹介します。

1. モデルとハーネスだけでは不十分

従来のエージェント構成とその限界

自律型のML研究エージェントは、一般に以下の2つの要素で説明されます。

  • モデル: 理解・推論・計画・実行を担います。フロンティアモデルの世代が進むごとに強化されていきます。
  • ハーネス: オーケストレーション・記憶・検証・反復的な改善を担います。エンジニアリングの積み重ねによって成熟していきます。

しかし、ML研究は専門性が色濃く問われる領域です。研究を成功させるためには、以下の判断が欠かせません。

  • どの手法やツールを選ぶべきか
  • いつそれを使うべきか
  • どう正しく使うべきか

モデルの知識は幅広いものの固定的であり、ハーネスは手続きを制御するだけでドメインの中身までは持っていません。

第三の要素「運用知識」の必要性

そこで、この抜け落ちた層を「運用知識」と位置づけ、モデル(\(M_\theta\))とハーネス(\(H\))からなる従来のエージェント \(A = (M_\theta, H)\) に対して、運用知識 \(K\) を明示的に組み込んだ \(A_{\text{res}} = (M_\theta, H, K)\) という捉え方が提示されています。\(K\) は、エージェントが行動を選ぶたびに参照できる「操作可能なコンテキスト」として与えられます。

運用知識は、単に「何かが正しい」と述べる宣言的な知識とは明確に異なります。

  • 宣言的な知識: 「あるパッケージのAPIはこの引数を受け取る」といったドキュメントの記述です。これをそのままエージェントに渡しても、目の前のタスクにどう当てはめるべきかまでは示されません。
  • 運用知識: 宣言的な知識を「この状況ではこう行動する」という実行可能な手順にまで翻訳したものです。

既存の情報源が抱える課題

こうした運用知識は、リポジトリやドキュメント、論文の中にすでに大量に存在しています。ただし、エージェントがそのまま活用するのは困難です。

  • 冗長性: ドキュメントや論文は人間の読解を前提に構成されており、エージェントが1回のタスクで読み込むには冗長すぎます。
  • コンテキストの制約: リポジトリ全体を丸ごとタスクのたびにコンテキストへ読み込むのも現実的ではありません。
  • 情報の更新: パッケージはバージョンアップのたびに正しい使い方が更新されます。
  • 暗黙知の存在: よくある実装ミスや評価上の注意点は、ドキュメントに体系立ててまとめられていないことも多くあります。

このため、エージェントはタスクごとに試行錯誤を通じてパッケージの挙動を推測せざるを得ず、その過程で消費した予算はタスクをまたいで再利用されません。

従来、この橋渡しは専門家が手作業でリポジトリや論文を読み込み、ツールやスクリプトにまとめ、使用条件を書き下すことで行われてきました。しかし、その労力はドメインの数、そしてリリースの数だけ積み重なっていきます。したがって、運用知識を宣言的な情報源から自動的かつ大規模に生成することが、解決すべき重要な課題となっています。

2. DisCoによる運用知識の蒸留

エージェント基盤「DisCo」とスキルの構造

この課題を解決するアプローチとして登場したのが、DisCoという「スキルを作りながら、そのスキルを使って研究もする」エージェントです。

DisCoは運用知識の器として、Anthropicが提唱する「スキル」の形式を採用しています。スキルはClaude CodeやCodexのような既存のコーディングエージェント基盤に自然に組み込めるため、モデルやハーネス自体を変更する必要がありません。

AREX-Skillにおけるスキルは、以下の3つの層で構成されています。

  1. SKILL.md(知識インターフェース / 使用方針):
    • エージェントが最初に読む唯一の層です。
    • このスキルが何のためのものか、いつ使うべきか、どう進めるべきかを記した「入口」の役割を果たします。
    • 目的、重要な概念、ツールの使い方、具体例、既知の失敗パターンなどが簡潔にまとめられています。
  2. references/(知識の実体 / 実際の能力):
    • SKILL.md が指し示すより詳細な資料です。
    • API仕様やアルゴリズムの詳細、パラメータ設定などが収められており、必要になったときだけ読み込まれます。
  3. scripts/(実行インターフェース / 実際の能力):
    • 入出力が明確な実行可能ラッパーです。
    • エージェントは中身を再実装するのではなく、これをそのまま呼び出します。

このように SKILL.md が「使用方針」を担い、references/scripts/ が「実際の能力」を担うことで、エージェントは数千のスキルを保持しつつも、必要な数個だけを読み込めばよい構造になっています。

図1. DisCoの蒸留・利用パイプライン全体像

スキルグラフと段階的開示

1つのリポジトリや論文からは複数のスキルが生まれることが多いため、これらは「スキルグラフ」としてまとめられます。

  • 構成: エントリーとなるスキルと、そこから派生する複数のコンポーネントスキルから構成されます。
  • 関係性: 両者の間には「ルーティング」「依存」「合成」という3種類の関係が張られます。
  • 段階的開示(progressive disclosure): エージェントはまずエントリースキルを読み、必要な関係をたどって関連スキルを開き、それ以外は開かないようにします。これにより、扱う知識の量をタスクに応じて絞り込みます。

蒸留プロセスの4段階と2つの形態

スキルを生成する蒸留プロセスは、起点(アンカー)が何であっても共通して以下の4つの段階を踏みます。

  1. スコープの決定: どの能力をスキル化する価値があるかを見極めます。
  2. 根拠の収集: その能力を裏付ける証拠を情報源から収集します。
  3. スキルの組み立て: 実行可能な部品をラップして3層構造のグラフとして構成します。
  4. 検証: 実際に動かして問題がないかを確認したうえで、必要なら修正します。

このプロセスには以下の2つの形態があります。

  • タスク非依存の蒸留: リポジトリや論文そのものを起点として、あらかじめ幅広いタスクで再利用できるスキルを事前に作っておくアプローチです。sentence-transformersやAlphaFold、vLLMのような広く使われるリポジトリの蒸留がこれに当たります。
  • タスク指向の蒸留: 具体的な課題を起点として、その課題を解くのに不足している能力をその場で見つけ出し、必要な分だけスキルを生成するアプローチです。オープンエンドなアルゴリズム最適化やコンペティションへの参加など、個別性の高い課題に向いています。

どちらの形態においても、検証を通過しないスキルはライブラリに加えられません。この検証の有無こそが、単なる要約とスキル蒸留を分ける境界線として位置づけられます。

2つの動作モード

DisCoは同じバックボーンおよびハーネスの上に、2つの動作モードを備えています。

  • Creator Mode:
    • スキルの蒸留を担います。
    • 生成したスキルグラフはAREX-Skill Libraryに書き込まれます。
    • コストは情報源1つにつき1回だけ支払われ、その後の無数のタスクで償却されます。
  • Researcher Mode:
    • 蒸留済みのスキルを使って実際の研究タスクを解きます。
    • AREX-Skill Libraryから必要な部分だけを取り出して使用します。
    • タスクが実際に開いた分のコストしか消費しません。

この非対称性が、運用知識の層をスケールさせる鍵になっています。

3. AREX-Skill Library - 5,000以上のスキルをどう検索可能にするか

大規模ライブラリの構成とタクソノミー構築

タスク非依存の蒸留をオープンなエコシステム全体に適用した結果として構築されたのが、AREX-Skill Libraryです。公開されているスナップショットには、以下の規模の知識が収められています。

  • 1,000の広く使われるMLリポジトリから蒸留された5,000以上のスキル
  • 20のエリアと178の機能カテゴリへの整理
  • リポジトリからエリア・フカテゴリへの厳密な割り当ては2,209件(うち700件のリポジトリは複数のカテゴリにまたがって登録)

このタクソノミー(分類体系)は、GitHubのスター数やURL、既存のカテゴリ情報を意図的に入力から除外し、各リポジトリの短い要約だけをもとに構築されています。人気度ではなく、機能的にどのような能力を提供しているかという観点で分類を決めるためです。

構築のプロセスは以下の手順で進められます。

  1. モデルにエリアとカテゴリの2階層構造を提案させます。
  2. 1,000リポジトリを10件ずつ100バッチに分割して検証します。
  3. 各バッチにおいて、暫定的な割り当てを担う「ロケーター」と、その割り当てがカテゴリの区別を正しく捉えられているかを審査する「ジャッジ」という、独立した2つの呼び出しを実施します。
  4. 審査結果と統計情報をもとに分類体系を改訂します。

このサイクルを収束条件を満たすまで繰り返します。実際の割り当てでは、キーワードが一致するだけ、あるいは依存関係に含まれるだけといった弱い根拠は却下され、リポジトリ本体の証拠と確信度を伴う判断だけが採用されます。

上位のエリアだけを見ても、次のように多くのリポジトリが分類されています。

エリアカテゴリ数リポジトリ数
コンピュータビジョン21211
LLMアプリケーション16153
データサイエンス12113
科学技術計算16108
トレーニング基盤12104
生成メディア13102

ルーターによる段階的検索とその他のスキル集合

整理されたライブラリは、リクエストのたびに全体をエージェントのコンテキストへ読み込むわけではありません。「エリアを選ぶ → カテゴリを絞り込む → リポジトリのスキルグラフを開く → 関連スキルへ辿る」という段階的な絞り込みを進めるルーターを介して検索されます。この仕組みにより、ライブラリ全体の規模が大きくなっても、実際にエージェントが読み込む分量はタスクに必要な範囲にとどまります。

また、リポジトリ由来のスキルに加えて、以下の2種類の集合も構築されています。

  • 論文由来のスキル: 後述するPaperBenchの評価対象となった20本の論文それぞれについて、関連研究として引用されている153本の論文から636個のスキルを蒸留したものです。
  • タスク指向のスキル: MLE-benchでは競技ごとに1つ、FrontierCSとPassNetではベンチマーク全体で1つのグラフとして、評価の直前に構築されています。
図2. ライブラリ構成

4. スキルを足すとどれだけ変わるか

実験の前提条件

運用知識としてのスキルが実際に効果を持つかどうかを確かめるため、GPT-5.5をバックボーンとするCodexハーネスを固定し、「スキルを与えるかどうか」だけを唯一の変数として、4つのベンチマークで比較検証が実施されています。スキルの構築にかかる予算は、比較対象となる実行時の予算には含まれていません。

ベンチマークごとの検証結果

図3. AREX-Skill とベンチマーク

1. MLE-bench(機械学習エンジニアリングの75競技)

Any-Medalスコア(何らかのメダル相当の成績を収めた割合)が全体で31.11%から72.89%へと大幅に上昇しました。

難易度スキルなしスキルあり
Low42.42%86.36%
Medium31.58%69.30%
High13.33%62.22%
全体(75競技)31.11%72.89%

難易度別に見ると、Highタスクでは13.33%から62.22%へと最も大きな相対的改善(366.8%)が確認されています。選ぶべきライブラリや実装、最適化の選択肢が多いタスクほど、当てずっぽうな試行錯誤のコストが大きくなるためと考えられます。

2. PaperBench(20本の論文の再現実装)

平均再現スコアが29.45%から39.59%へと10.14ポイント(相対で34.4%)向上しました。

  • 大幅に向上したタスク:
    • rice の再現タスク: 7.94%から48.51%(+40.57ポイント)
    • sequential-neural: 41.67%から65.37%(+23.70ポイント)
  • スコアが低下したタスク:
    • 20論文中2件(sample-specific-masksstay-on-topic)ではスキルを与えたほうがスコアが下がりました。いずれも元々のスキルなしスコアが平均を上回っていたタスクでした。

3. FrontierCS(オープンエンドな計算機科学の問題188件)

スコアが70.63から77.14へと6.51ポイント(相対で9.2%)向上しました。

トークン効率の面でも大きな差がついています。

  • Codex + AREX-Skill: 4.47Mトークンでスコア77.14を達成
  • Claude Opus 4.8搭載 Claude Code: 14.72Mトークンを消費し、スコアは2.64ポイント低い結果
  • Qwen3.7 Max搭載構成: 13.85Mトークンを消費し、スコアは15.24ポイント低い結果

4. PassNet(グラフコンパイラのパス生成、200サンプル)

主要指標であるAS Scoreが1.343から1.5313へと向上し、正解率(Correctness)も81.35%から90.76%へと改善しました。加えて、処理が破綻して失敗と判定されたサンプル数は14件から5件へと減少しています。

実験結果から見られる共通傾向

4つのベンチマークに共通して観察されているのは、スキルなしの初期スコアが低いタスクほど改善幅が大きいという傾向です。

PaperBenchの ftrl(1.50% → 17.17%、11.4倍)や rice(7.94% → 48.51%、6.1倍)のように、当てずっぽうの探索が行き詰まりやすいタスクほど、あらかじめ用意された手順や検証済みの選択肢が効果を発揮しやすいと解釈できます。

5. スキルは常に効くわけではない

検索精度と再現率のトレードオフ

ここまでの結果は総じて好意的なものですが、スキルを与えたことでかえって性能が下がったタスクも一部に存在します。

PaperBenchの sample-specific-masks では57.11%から52.04%へ、stay-on-topic では32.31%から27.79%へと、それぞれスコアが下がりました。いずれも、スキルなしの時点で20論文の平均(29.45%)を上回っていたタスクです。

この現象は、検索されたスキルの内容が、そのタスク固有の狭く特殊な実装上の選択からエージェントを引き離してしまう「検索精度と再現率のトレードオフ」として説明できます。もともとエージェント単体でも収束できていたはずのアプローチから、あまり合致しないスキルに引きずられてしまう可能性があるためです。

改善の方向性としては、以下の点が挙げられています。

  • ルーティングの精度を高めること
  • 検索されたスキルが十分に適合しない場合にスキルなしの推論へフォールバックする仕組みを設けること

既存の自己改善手法との比較とアプローチの前提

DisCoのアプローチは、既存のエージェント自己改善手法とも対比されます。

  • 既存の手法(Voyager、実行履歴からのワークフロー抽出、経験からの教訓蒸留など):
    • エージェント自身の試行錯誤の軌跡から自由形式のコードやワークフロー、教訓を導き出します。
    • そのため、生成された知識の品質を検証したり、失敗の原因を特定したりすることが難しいという課題があります。
  • DisCo / AREX-Skill の手法:
    • リポジトリや論文という出所の明確な静的資料を情報源とします。
    • 検証の記録を伴う形でスキルを生成します。

ただし、エージェント自身が実行時に発見するような、資料に書かれていない現場限りの知見までは対象にしていないという点が、このアプローチの範囲を考えるうえでの前提となります。

運用コストの課題

運用面での注意点として、リポジトリ1件あたりの構築には平均で40ドル程度のコストがかかります。1,000リポジトリという規模を一度構築するだけでなく、パッケージのアップデートに追従して継続的にスキルを更新していくには、このコストを恒常的に負担し続ける体制が必要になります。

6. AREX-Skillを導入して使ってみる

ここまで紹介してきた仕組みは、GitHub上で公開されているAREX-Skillのリポジトリを通じて、実際に手元の環境で試すことができます。中心となるのはDisCoというコマンドラインツールで、スキルの作成(Creator Mode)と、スキルを使った研究タスクの実行(Researcher Mode)の両方をこの1つのCLIから操作します。

インストール

DisCoの実行にはNode.js 22.19.0以上が必要です。もっとも手軽な方法は、管理スクリプトを使ったインストールです。

# macOS / Linux / WSL / Git Bash
$ curl -fsSL https://github.com/VectorSpaceLab/AREX-Skill/releases/latest/download/install-disco.sh | sh

Windowsの場合はPowerShellから次のコマンドを実行します。

$ powershell -NoProfile -ExecutionPolicy Bypass -Command "& { irm https://github.com/VectorSpaceLab/AREX-Skill/releases/latest/download/install-disco.ps1 | iex }"

npmなどのパッケージマネージャーからグローバルインストールすることも可能です。

$ npm install -g --ignore-scripts @arex-skill/disco

インストール後は disco --version で導入を確認できます。初回起動時には /login コマンド、または OPENAI_API_KEYANTHROPIC_API_KEY といった環境変数を設定することで、利用するモデルプロバイダーを指定します。

スキルライブラリの導入

DisCo本体を導入したら、次のコマンドで公開されているAREX-Skill Libraryを取り込みます。

$ disco repo-skills install
$ disco repo-skills status

status サブコマンドでは、導入済みのスキルグラフの状態を確認できます。ライブラリを最新の状態に更新したい場合は disco repo-skills update を実行します。

なお、ライブラリの導入や更新のあとは、変更を反映させるためにResearcher Modeのセッションを開始し直す必要があります。

Researcher Modeで研究タスクを解く

スキルライブラリを導入した状態で disco を実行すると、デフォルトのResearcher Modeが起動し、自然言語でタスクを依頼できます。例えば、次のような依頼を投げることができます。

Use the installed skills to benchmark vLLM and SGLang on this machine under the same model, workload, and hardware constraints. Report verified throughput and preserve the commands and measurements needed to reproduce the comparison.

対話的なセッションを介さず、コマンド一つでタスクを実行することもできます。

$ disco --researcher -p "Benchmark vLLM and SGLang with the same model and workload on this machine."

特定のスキルを名指しで使わせたい場合は、/skill:<スキルID> という形式でプロンプト内に埋め込みます。

$ disco --researcher -p "/skill:vllm determine and verify the highest-throughput vLLM configuration for <model and workload>"

Creator Modeで新しいスキルを蒸留する

手元のリポジトリや、ライブラリにまだ収録されていない対象からスキルを新しく作りたい場合は、Creator Modeを使います。

$ disco --creator -p "Create a repo skill for /path/to/repo."

既存のスキルを最新のコードベースに合わせて更新したい場合も、Creator Modeから依頼できます。

$ disco --creator -p "Refresh the skill at /path/to/repo/skills/example-skill against the current /path/to/repo code."

作成したスキルは、CodexやClaude Codeなど他のコーディングエージェントの環境へエクスポートすることも可能です。

$ disco --creator -p "/skill:import-repo-skills-to-agent import vllm and sglang to ~/.claude"

コマンドの詳細な仕様は今後変更される可能性があるため、最新の情報はAREX-Skillのリポジトリを参照することをおすすめします。

おわりに

自律型のエージェントによるML研究を実際に前進させているのは、モデルの世代交代やハーネスの工夫だけではなく、その裏側でどれだけ具体的な運用知識をエージェントに与えられているか、という点にあることが明らかになってきています。モデルとハーネスを一切変えずに、リポジトリや論文から蒸留したスキルを追加するだけで、MLE-benchで134.3%、PaperBenchで34.4%、FrontierCSで9.2%、PassNetで14.0%という一貫した改善が確認されたという結果は、運用知識という第三の層の存在を強力に裏付けています。

実務の観点では、既存のエージェント運用フローを大きく組み替えずに、日常的に使っているリポジトリや手法に対応するスキルを少しずつ揃えていくところから着手できる点は取り組みやすい特徴です。一方で、検索されたスキルが必ずしもタスクに合致するとは限らず、狭く特殊な実装が求められる場面ではむしろスキルなしの判断のほうが優れることもあるため、導入初期はスキルの適合度を見ながら運用するバランス感覚が求められます。

今後の展望としては、リポジトリのアップデートに追従してスキルを継続的に更新し続ける体制づくりや、検索精度をさらに高めるためのルーティングの改良、そして現在カバーされている20エリア・178ファミリーを超えた対象領域の拡大が課題として位置づけられるでしょう。モデルとハーネスの改善だけでは埋まらなかった隙間に、運用知識という第三の軸を持ち込んだ点が、この取り組みのなかでも特に画期的な部分といえます。

More Information