このリポジトリは、APEXディフェンダー、ベンチマークデータの正規化、信頼されたケイパビリティマニフェスト、および比較手法の統合を分離し、各レイヤーを独立して検査できるようにしています。
python -m venv .venv
source .venv/bin/activate
pip install -e '.[test]'
export PYTHONPATH="$PWD/src:$PWD"
モデルをバックエンドとするコンポーネントは、環境から OPENAI_API_KEY と任意の
OPENAI_BASE_URL を読み取ります。.env.example は参照用としてのみコピーしてください。
コードはローカルの認証情報ファイルを読み取りません。
| パス | 責務 |
|---|---|
src/apex/defender/ | APEX タスク契約、型付きバインディング、レシート、証明チェック、PLANT、WRAP、および継続処理 |
src/apex/core/ | 共有プロトコル、結果型、集約、およびプロバイダー中立なモデル境界 |
benchmark/adapter/ | ベンチマークリリースを単一の BenchmarkCase インターフェースへ読み取り専用で変換 |
benchmark/registry/ | 信頼済み機能の登録とベンチマーク固有のマニフェスト |
baseline/<name>/ | 比較手法ごとに1つの実装またはランタイム統合 |
tests/ | リポジトリの不変条件と高速な単体チェック |
コンポーネントの流れと拡張ポイントについては STRUCTURE.md を参照してください。
6つのベンチマークすべてに対するコンパクトで固定されたケース記述子が
benchmark/data/ に含まれています。上流の完全なリポジトリやランタイムサンドボックスは
ベンダー同梱されていません。None を渡すとパッケージ化されたデータが選択されますが、
明示的な data_root でそれを上書きすることも可能です。
from benchmark.adapter import adapter_for
adapter = adapter_for("scr", None)
attack_cases = list(adapter.cases("attack"))
アダプターは、ケース識別子、分割ラベル、スイートラベル、適格性、およびベンチマークランタイムに提示されるペイロードを管理します。ベンチマークの内容を変更したり、ツールの権限を登録したりすることはありません。
from benchmark.registry import module_for
registry = module_for("mcptox")
environment_plan = registry.load("12306-mcp")
ケイパビリティマニフェストはデータセットアダプターとは別に保持されます。これは、ベンチマークのテキストが信頼できないエピソード入力である一方、マニフェストはエピソード前に利用可能なオペレーター所有の実行境界を記述するためです。
すべての benchmark/registry/data/<benchmark>/manifest.json は、apex-benchmark-registry-v2 を使用する最終的なレジストリアーティファクトです。バンドルは重複排除された capability_units、再利用可能な環境、および明示的なケースバインディングを格納します。したがって、数百のケースを持つベンチマークでも、同一の Tool マニフェストを数百回複製することはありません。各ユニットは、正確な入力/出力スキーマ、effect、observation、effect_return、レシートの役割、および型付きアノテーションを保持します。各環境は、ソース、Skills、および agent_visible_surface を個別に記録します。
実験実装からの正確な監査済みソース入力は benchmark/registry/source/ の下に保持されます。ビルドステップはそれらの既存の登録を正規化および重複排除するものであり、ベンチマークのプロンプトから新しいケイパビリティのセマンティクスを推論するものではありません。すべての最終アーティファクトを次のコマンドで再生成します:
pip install -e '.[registry]'
python scripts/build_registry_manifests.py
python scripts/audit_registry_coverage.py
ローカルの上流チェックアウトからパッケージ化されたケース記述子を更新するには、次を実行します:
python scripts/import_benchmark_data.py \
--research-root <research-checkout> \
--scr-root <SCR_Bench-checkout>
SCRインポーターは、コンパクトなケース/Skill露出インデックスを導出する前に、固定されたコミットを検証します。
TaskContractor は、信頼されたユーザーリクエストをタスク契約にコンパイルします。決定論的チェックは、対象モデルから独立したままです。モデルに基づくロールは、同じ検証境界を通過しなければならない型付き候補を提出します。
baseline/registry.py は13個の比較メソッドを定義しています。各メソッドには、メソッド名にちなんだ専用フォルダと implementation.py エントリポイントがあります。独自のランタイムを持つ依存関係は遅延インポートされるため、すべてのベンチマーク環境をインストールしなくてもAPEXコアとデータアダプターをテストできます。
python -m compileall -q src benchmark baseline tests
pytest
リリース前に、ANONYMITY.md にある匿名性チェックも実行してください。認証情報、結果ファイル、マシン固有のパス、Git リモート、著者メタデータを提出物に追加してはいけません。