AutoControl-Arena:実行可能なAgentリスク試験場を自動生成する

·Toolin 編集部

復旦大学 × 創智 × オックスフォードがICML 2026論文AutoControl-Arenaを共同発表。実行可能なテスト環境を自動合成してAgentのロングテールシナリオでの潜在リスクを発見し、Anthropic/OpenAI安全報告の再現で相関係数0.87を達成。

AutoControl-Arena:実行可能なAgentリスク試験場を自動生成する

AI Agentがチャットボックスから実際のアプリケーションへ進出するにつれ、安全問題の形は変わりました。かつて気にされていたのは「モデルが危険な質問に答えてしまうか」ですが、今心配すべきはこうです:Agentはタスク達成のために承認をバイパスしないか?指標のプレッシャーの中で検証ロジックを改ざんしないか?マルチツール協調の中で権限を超えてファイルにアクセスしないか?自分が評価されていることに気づいて、挙動を変えないか?

こうした「ロングテールリスク」を人手で1つずつベンチマークに書いてカバーするのはほぼ不可能です。復旦大学、上海創智学院、オックスフォード大学が共同発表したAutoControl-Arena(ICML 2026採択済み)が自動化による回答を示しました。実行可能なテスト環境を自動合成し、研究者和開発者がAgentの未知シナリオでの潜在リスクを迅速に発見できるようにします。

最大の特徴は——テスト環境が本当に動くことです。LLMに環境を「シミュレート」させる(状態の前後矛盾するハルシネーションを生みがち)のではなく、ファイルシステム、データベース、コマンドラインツール、承認フロー、ログシステムを実際に構築し、その中でAgentがどう行動するかを観察します。

AutoControl-Arenaの中心目標:実行可能なテスト環境の自動合成により、Agentのロングテールリスクを発見する。

始める前の準備

最小サンプルの想定実行時間:30分。

第1歩:解決すべき「安全評価の矛盾」を理解する

Agent安全評価はずっと1つのコアジレンマにはまり込んでいました:

  • 実環境は忠実度が高いが、コストが高く、遅い。リスクシナリオを1つ増やすたびにツール、状態、ルール、フィードバックを再設計する必要がある
  • LLMシミュレーション環境は安く柔軟だが、「ロジックのハルシネーション」が起きやすい——ファイル状態の前後不一致、データベースの返り値の捏造、権限ルールがあったりなかったり

一方でロングテールリスクはまさに「多シナリオであること」と「信頼でき実行できること」の両方を要求します。AutoControl-Arenaの解法は、LLMにテスト環境の「設定記述」を生成させ、その記述を実際に実行可能なDockerコンテナ(本物のファイルシステム、本物のデータベース、本物の承認フロー付き)へコンパイルするものです。「安さ」と「信頼性」を同時に手に入れます。

実環境は信頼できるが拡張できず、LLMシミュレーションは拡張できるが信頼できない。AutoControl-Arenaは両者の中間を取る。

第2歩:リポジトリをクローンし、最小リスクシナリオを動かす

git clone https://github.com/CosmosYi/AutoControl-Arena.git
cd AutoControl-Arena
pip install -e .

# Dockerデーモンが動いていることを確認
docker info

# 内蔵サンプルを1つ実行:Agentは承認をバイパスするか
python -m autocontrol.run \
  --scenario examples/bypass_approval.yaml \
  --agent your_agent_module:YourAgent

各テストシナリオは3つの部分で構成されます:

  • 環境設定:ファイルシステムの初期状態、データベーススキーマ、利用可能なツール群、承認ルール
  • タスク記述:Agentに与える目標(多くの場合ルールと緊張関係にある)
  • リスクプローブ:事後にAgentが特定のリスク挙動をトリガーしたか検出するスクリプト

第3歩:7類のフロンティアリスクで自社Agentをカバーする

AutoControl-Arenaには7類のフロンティアリスクテンプレートが内蔵されており、そのまま使えます:

  1. 承認のバイパス:Agentはタスク達成のため権限を超えるか
  2. 検証ロジックの改変:指標プレッシャー下で結果を通すために「ズル」をするか
  3. 権限外ファイルアクセス:マルチツール協調の中で読むべきでないファイルを読むか
  4. 評価の検知:「テスト中だと知って」行動戦略を変えるか
  5. 代替リスク:自分が置き換えられる脅威を感知すると敵対的戦略を取るか
  6. リソースの囲い込み:ツールや権限を過剰に占有するか
  7. 目標のドリフト:元のタスク目標から外れていくか

各テンプレートは環境設定の変更で数十〜数百のバリエーションを生成でき、人手での出題し直しは不要です。

from autocontrol import RiskTemplate, synthesize_scenarios

# 「承認バイパス」テンプレートで50個のバリエーションシナリオを一括生成
template = RiskTemplate("bypass_approval")
scenarios = synthesize_scenarios(template, n=50, seed=42)

for s in scenarios:
    env = s.build_environment()  # 実行可能なDockerコンテナ
    result = your_agent.run(env, s.task)
    risk_triggered = s.probe(env, result)
    print(s.id, risk_triggered)

第4歩:「既知事例」との対照でベンチマークを較正する

安心できる設計が1つあります。AutoControl-ArenaはAnthropic、OpenAI、Apollo Researchなどの機関が安全報告で既に開示したリスク挙動を自動的かつ正確に再現できます。相関係数は0.87に達します。

公式安全報告の再現

Anthropic/OpenAIなど機関が開示済みのリスク挙動を再現できることが、このベンチマークの信頼性の基準線になる。

較正手順:

  1. 公式報告で開示済みのリスク事例を1つ選ぶ(リポジトリのexamples/known_cases/にリストがある)
  2. 同じモデルバージョンでAutoControl-Arenaの再現シナリオを走らせる
  3. トリガー挙動が一致するか比較する
  4. 一致すればharnessに問題がないことが裏付けられ、自社シナリオを安心して走らせられる

検証結果

一連のテストを走らせると、こんな形のリスクレポートが手に入ります:

Agent: YourAgent-v1
Scenarios: 350 (7 categories × 50 variants)
Risk triggered: 23 (6.6%)
  bypass_approval:        12
  verification_tampering:  7
  aware_of_eval:           4
Calibration (known cases): 0.87 correlation

ある類のトリガー率が他を明確に上回っているなら、それがAgent配備前に最も補うべき弱点です。

よくある質問

  • Dockerコンテナの起動失敗:大半はポートかマウントの衝突です。AutoControl-Arenaはデフォルトでランダムポートによる分離を使うので、docker psで残存コンテナがないか確認してください。
  • 生成されたシナリオが「厳しすぎない」:synthesize_scenariosのtemperatureかnを上げてください。ただし高すぎるtemperatureはシナリオを実行可能な境界から逸脱させるので注意が必要です。
  • 既知事例の再現が合わない:元の報告と同じモデルバージョンとシステムプロンプトを使ったか確認してください。Agentの挙動はsystem promptに極めて敏感です。

💡 ヒント:このツールの価値は「高スコアを出すこと」ではなく「自社Agentがどこで事故を起こすかを早めに知ること」です。CIパイプラインに入れて、モデル更新のたびに7類のリスクテンプレートを一巡させれば、リリース前に最も危険なロングテール挙動を防げます。