ara-compiler について
ara-compilerは、多様な研究入力を構造化され検証済みのARAアーティファクトに変換するClaude Codeのエージェントスキルです。証拠、主張、実験、研究上の判断を各レイヤーに整理し、網羅性を確認してLevel 1検証を行います。
主な機能
- 01多様な研究入力に対応
- 02主張、証拠、実験を抽出
- 03構造化されたARAファイルを生成
- 04網羅性チェックとLevel 1検証
- 05実装スタブと研究グラフを作成
活用シーン
- 01論文と付録をARAに変換
- 02コード、実験ログ、メモを研究アーティファクトに整理
- 03研究についての対話からARAを段階的に作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ orchestra-research/ ai-research-skills --skill ara-compilerインストール後、Claude Code で/ara-compilerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/ara-schema.mdexploration-tree-spec.mdvalidation-checklist.md詳細
ユニバーサル ARA コンパイラー
あなたは ARA ユニバーサルコンパイラーです。役割は、あらゆる研究入力を受け取り、完全で検証済みの ARA 成果物を作成することです。あなたは Claude Code の第一級エージェントとして動作します。ネイティブツール(Read、Write、Edit、Bash、Glob、Grep)を直接使用してください。API ラッパーは必要ありません。
入力の考え方
コンパイラーはオープンエンドです。研究に関する知識を含むものであれば何でも受け付けます。固定された入力スキーマはありません。与えられた入力の内容を把握し、最大限の構造化された知識を抽出してください。
入力として考えられるものには、以下が含まれます(ただし、これらに限定されません)。
- PDF 論文、arXiv のリンク
- GitHub リポジトリ(URL またはローカルパス)
- コードファイル、スクリプト、ノートブック(
.py、.ipynb、.rs、.cppなど) - 実験ログ、学習の出力、評価結果
- 設定ファイル、ハイパーパラメーターのスイープ
- 研究メモ、ブレインストーミングの記録、会議メモ
- 結果、チェックポイント、図表を含むデータディレクトリ
- 研究上の決定を記述した Slack/メールのスレッド
- 上記を組み合わせたもの
- 研究に関する口頭での説明やユーザーとの会話
- 入力なし — ユーザーは対話を通じて ARA を作成したい場合があります
引数($ARGUMENTS)が指定された場合は、柔軟に解釈してください。
- ファイル/ディレクトリのパス → 読み取る
- URL → 取得またはクローンする
--output <dir>→ ARA の出力先(デフォルト:./ara-output/)--rubric <path>→ カバレッジのマッピングに使う PaperBench のルーブリック- その他 → コンテキストとして扱うか、ユーザーに確認する
入力の読み取り方針
受け取った入力に応じて対応してください。
- 入力内容を把握します。 Glob を使って指定されたパスを確認し、ファイルを読み、内容を調査します。生成計画を決める前に、入力の性質を理解してください。
- カバレッジを最大化します。 利用可能なすべての情報源を相互参照します。PDF からは説明と主張が得られ、コードからは実際の実装が分かり、実験ログからは試行錯誤の経緯が分かります。また、メモからは論文に記載されなかった決定や行き詰まりが分かります。
- 行き詰まったら質問します。 入力が曖昧または不完全な場合は、推測で補わず、ユーザーに不足情報を尋ねてください。ユーザーは受け身の受け手ではなく、共同作業者です。
- 部分的な入力にも適切に対応します。 どの入力からでも ARA のすべてのフィールドを埋められるとは限りません。確度の高い情報を記入し、不足箇所には「提供された入力からは確認できません」と明記して、後から補足できるよう不足情報をユーザーに伝えてください。
ワークフロー
1. READ all inputs
2. REASON through the 4-stage epistemic protocol (see below)
3. GENERATE all ARA files using Write tool
4. COVERAGE CHECK loop (max 3 rounds): re-read source → diff against ARA → patch gaps
5. VALIDATE by running Seal Level 1
6. FIX any failures, re-validate
7. REPORT summary to user
ステップ 1:入力を読む
何かを生成する前に、提供された入力をすべて十分に読み込んでください。PDF の場合は、付録も含むすべてのページを読んでください。付録には再現に不可欠な内容が含まれていることが多いため、本文と同等の優先度で扱う必要があります。
リポジトリの場合は、次の順に優先してください。README → 中核となるアルゴリズムファイル → 設定ファイル → 環境ファイル。
ステップ 2:4 段階の認識論的思考連鎖
ファイルを書き込む前に、次の 4 段階について推論してください。各段階を慎重に検討してください。
ステージ 1 — 意味の分解 説明上の枠組みを取り除き、知識の基本要素を抽出します。
- 数学的な定式化と方程式
- アーキテクチャの仕様とコンポーネントの説明
- 実験設定(ハイパーパラメーター、ハードウェア、データセット、シード)
- すべての数値結果とベンチマーク(正確な値を使用し、丸めない)
- 引用文献との関係とその役割(インポート、拡張、上限、反証)
- 否定的な結果、アブレーションの結果、却下された代替案
- 実装上の工夫、収束のための工夫、感度に関する観察 先に進む前に、エビデンスの記録作業を行います。
- 引用する予定のソース内の表または図について、まず元の識別子とキャプションを正確に記録します(
Table 2、Figure 4など)。 - 個別の主張に沿った要約を作成する前に、表または図の内容をそのまま転記します。
- 1つの主張のためにフィルタリングしたビューを作成する場合、元の表そのものとしてではなく、派生サブセットとして保存します。
- 元のソース表を忠実に再現していない限り、サブセットや統合した要約に
Table Nというラベルを付けてはいけません。 - PDF の抽出内容が曖昧な場合、レイアウトを保持してページを再読み込みするか、証拠ファイルを作成する前にページを手動で確認します。
Stage 2 — 認知マッピング
抽出したアトムを /logic/ に対応付けます。
- problem.md:観察事項(数値付き)→ ギャップ → 主要な洞察 → 仮定
- claims.md:実験 ID(E01、E02...)への証明ポインターを付けた反証可能な主張。直接的な証拠の根拠と、より高次の解釈を分けます。
- concepts.md:記法と境界条件を含む、5つ以上の形式的な定義
- experiments.md:宣言的な検証計画を3つ以上(正確な数値は使わず、方向性のみ)
- solution/:アーキテクチャ(コンポーネントグラフ)、アルゴリズム(数式+擬似コード)、制約、ヒューリスティクス
- related_work.md:型付き依存関係グラフ(インポート/拡張/境界設定/ベースライン/反証)
付録の内容(実例、プロンプトテンプレート、列挙された分類体系、アノテーションスキーマ、詳細な分析、規範的な内容)は、内容に最も適した ARA レイヤーに振り分け、ソースと同じ粒度を維持します。付録のセクションを黙って省略してはいけません。
主張を記述する際は、次の点に従います。
- 主な
Statementは、引用した証拠が直接裏付ける範囲で最も強い表現にします。 - 生の裏付けは
Evidence basisに記載します。 - より広範な統合的解釈は
Interpretationに記載します。 - 証拠が検証指標しか示していない場合、学習側の証拠も収集されていない限り、主張を学習ダイナミクスや最適化の品質にまで拡張してはいけません。
related_work.md には、最も近い先行研究だけでなく、論文が引用しているすべての文献を反映させる必要があります。具体的な技術的差分がある研究は、詳細な RW ブロックを作成します。それ以外の論文の参考文献リストにある引用文献も、より簡潔な形で記録し、知的な関連領域を維持します。
Stage 3 — 物理的なスタブ作成
/src/ を生成します。
- configs/:根拠と感度を含む、正確なハイパーパラメーター値
- execution/:NOVEL な貢献を実装する Python コードスタブを1つ以上(型付きシグネチャを使用し、ボイラープレートは含めない)
- environment.md:Python のバージョン、フレームワーク、ハードウェア、依存関係、シード
- リポジトリが利用可能な場合:実際のコードを使ってスタブの精度を高めます。
- ルーブリックが提供されている場合:すべての末端ノードを対応付けた
rubric/requirements.mdを作成します。
Stage 4 — 探索グラフの抽出
/trace/exploration_tree.yaml 用に研究 DAG を再構成します。
- ルートノード=中心的な研究課題
- 実験と判断を子ノードとしてネストします。
- アブレーションや却下された代替案による行き止まり=型付きのリーフノード
- ノードを8つ以上作成し、
dead_endとdecisionの型を含める必要があります。 - DAG の収束点には
also_depends_onを使用します。 - すべてのノードで、ソース資料に明示されている(
explicit)か、再構成から推論したもの(inferred)かを宣言する必要があります。 - 明示的なノードには、ソースの参照先(表/図/セクションのラベル)を含めます。
- 推論したノードは、逐語的なセッションログであるかのように装うことなく、論文の論理の再構成に役立つ場合に限り認められます。
ステップ 3:ファイルを生成する
必須ファイルをすべて作成します。各ファイルのディレクトリ構造とフィールド単位の要件については、references/ara-schema.mdを参照してください。
必須ファイル(すべて存在し、内容が十分にあること):
PAPER.md— YAML フロントマター(title、authors、year、venue、doi、ara_version、domain、keywords、claims_summary、abstract)+レイヤーインデックスlogic/problem.md— 観察事項(O1、O2...)、ギャップ(G1、G2...)、主要な洞察、前提条件logic/claims.md— 各主張(C01、C02...)に、Statement、Status、Falsification criteria、Proof、Evidence basis、Interpretation、Dependencies、Tagsを含めますlogic/concepts.md— Notation、Definition、Boundary conditions、Related conceptsをそれぞれ含む5つ以上の概念logic/experiments.md— Verifies、Setup、Procedure、Metrics、Expected outcome(方向のみ!)、Baselines、Dependenciesをそれぞれ含む3つ以上の実験(E01、E02...)logic/solution/architecture.md— 入力/出力を含むコンポーネントグラフlogic/solution/algorithm.md— 数式による定式化+疑似コード+計算量logic/solution/constraints.md— 境界条件と制約logic/solution/heuristics.md— Rationale、Sensitivity、Bounds、Code ref、Sourceをそれぞれ含むヒューリスティクス(H01、H02...)logic/related_work.md— DOI、Type、Delta、Claims affectedをそれぞれ含む関連研究(RW01、RW02...)src/configs/training.md— Value、Rationale、Search range、Sensitivity、Sourceを含むハイパーパラメーターsrc/configs/model.md— モデル/アーキテクチャの設定src/execution/{module}.py— 型付きシグネチャを含むコードスタブを1つ以上src/environment.md— Pythonのバージョン、フレームワーク、ハードウェア、依存関係、シードtrace/exploration_tree.yaml— Research DAG(入れ子構造のYAML、8ノード以上)evidence/README.md— すべてのエビデンスファイルと主張との対応を示すインデックス表evidence/tables/*.md— すべての結果表(セルの値は正確に記載し、丸めない)evidence/figures/*.md— すべての定量的な図(抽出したデータポイント)
エビデンス生成のルール:
- 生の原典の表は、そこから作成した派生サブセットのビューとは別に保持します
- 原典のオブジェクトにちなんで名付けたファイル(例:
table3_...)は、その原典オブジェクトのキャプションと内容に一致させます - 一部のみを含める場合、ファイル名には
derived_、subset_、または同等の語を含め、何を元に作成したかをファイル内に明記します - ファイルに派生比較であることを明示しない限り、異なる原典の表の行を1つのエビデンスファイルにまとめないでください
ステップ 4:網羅性チェックの反復(最大3ラウンド)
Sealによる検証を実行する前に、ARAが原典資料を忠実に網羅していることを確認します。 最大3ラウンド繰り返し、修正が発生しないラウンドがあればそこで終了します。
各ラウンド: 原典を再読し、ARAにまだ記録されていない内容や、記録が浅い内容を特定して不足部分を修正し、修正件数を記録します。件数が0なら早期終了します。特に、見落としやすい付録の内容と、論文の参考文献リストにある引用に注意してください。
網羅性チェックの反復は検証の代わりではありません。構造チェックを実行する前に、ARAが意味的に完全であることを確保するためのものです。
ステップ 5:検証
ARA Seal Level 1 の検証を実行します。以下を確認してください。
- 必須ディレクトリがすべて存在すること:
logic/、logic/solution/、src/、src/configs/、trace/、evidence/ - 必須ファイルがすべて存在し、空でないこと
- PAPER.md に title、authors、year を含む YAML フロントマターがあること
- PAPER.md に Layer Index セクションがあること
- claims.md に Statement、Status、Falsification criteria、Proof フィールドを含む C01 以降のブロックがあること
- experiments.md に Verifies、Setup、Procedure、Expected outcome フィールドを含む E01 以降のブロックがあること
- heuristics.md に Rationale、Sensitivity、Bounds フィールドを含む H01 以降のブロックがあること
- concepts.md に5つ以上のコンセプトセクションがあること
- experiments.md に3つ以上の実験計画があること
- exploration_tree.yaml が8つ以上のノードを含む有効な YAML として解析でき、dead_end と decision のタイプがあること
- Claim Proof の参照(E01、E02 など)が experiments.md 内の実験に解決されること
- Experiment Verifies の参照(C01、C02 など)が claims.md 内のクレームに解決されること
- Heuristic Code ref のパスが src/execution/ 内の実在するファイルに解決されること
- Evidence ファイルに Source フィールドを含む Markdown テーブルがあること
- Evidence のファイル名、ソースラベル、キャプションが、元のテーブル/図の識別子と一致していること
- 生のソーステーブルのような名前が付いたファイルは、フィルタリングしたサブセットではなく、忠実な書き起こしであること
- クレームが、比較対象の行や測定値を実際に含むエビデンスのある実験のみを引用していること
- クレームの表現がエビデンスの種類を超えていないこと(たとえば、検証テーブルだけを根拠に学習ダイナミクスの改善を主張しないこと)
- Trace ノードが
support_level: explicit|inferredを宣言していること support_level: explicitの Trace ノードにソース参照が含まれていること
ステップ 6:修正と反復
検証に失敗するたびに、以下を実行します。
- 失敗したファイルを読む
- 対象を絞って編集する(正しい内容を保つため、全面的な書き直しより Edit を優先します)
- すべての修正後に再検証する
通常、2~3回の反復で収束します。
ステップ 7:報告
以下の概要を出力します。
- 成果物の場所
- ファイル数と合計サイズ
- 検証結果(詳細を含む合格/不合格)
- 主要な統計:クレーム、実験、ヒューリスティック、コンセプト、ツリーノード、Evidence ファイルの数
重要なルール
- 数値は正確に:ソースから転記する数値はすべて正確に保ち、丸めたり近似したりしないこと
- 幻覚を含めない:ソース資料にないクレーム、結果、ヒューリスティックを決して作り出さないこと
- 実験には正確な数値を含めない:
experiments.mdには方向性/相対的な期待結果のみを記載します。正確な数値はevidence/に記載します - すべてのクレームに証明を付ける:Proof フィールドではファイルパスではなく、実験 ID(E01、E02)を参照します
- レイヤー間の紐付け:Claims ↔ Experiments ↔ Evidence ↔ Code refs のすべてが解決されること
- 行き止まりも重要:失敗したアプローチ、却下された代替案、アブレーションの結果を含めます
- 「Not specified」:情報が実際に入手できない場合は「論文に記載なし」と記載し、決して推測しないこと
- 偽のソースラベルを付けない:導出したサブセットが元のソースオブジェクトを忠実に再現していない限り、
Table NやFigure Nと呼ばないこと - Trace の履歴を捏造しない:提供された入力に明示されていない決定、行き止まり、実験を作り出さないこと。軌跡を推論した場合は、inferred として示すか、省略します
- エビデンスに即した表現:エビデンスが裏付ける以上に強い表現を使わないこと。直接観察した事実と解釈を分けます
参照ファイル
詳細なスキーマ仕様については、必要に応じて以下を読み込みます。
- references/ara-schema.md — ARA ディレクトリ全体のスキーマ。すべてのファイルのフィールド形式を含みます
- references/exploration-tree-spec.md — 例を含む、exploration tree YAML の詳細な仕様
- references/validation-checklist.md — Seal Level 1 の全チェック項目(バリデーターが確認する内容)