スキームベースのタスク分解。 攻撃の難易度を下げるため、複雑な有害タスクを比較的無害で単純なサブタスク列に分解する約20の手続き的分解スキームを開発しました。これらの候補列を有害性と難易度という2つの次元で評価し、攻撃をインスタンス化するために最適なものを選択します。
実行指向のマルチターン対話。 実行拒否を引き起こすサブタスクに対して、TRACEはサブタスクプロファイルを構築し、継続的に進化する戦略ライブラリから適切な実行指向のマルチターン対話戦略を取得します。TRACEは選択した戦略を活用してサブタスクをインスタンス化し、マルチターン対話を通じてもっともらしい実行コンテキストを徐々に構築し、ターゲットエージェントにサブタスクを完了させるよう誘導します。
適応的リカバリと戦略進化。 中間ステップが失敗した場合、TRACEは失敗したサブタスクを特定し、以前の進捗を保持し、対応する戦略を適応させ、最初からやり直すことなく失敗したサブタスクから再開します。さらに、TRACEは実行フィードバックを活用して実行指向の戦略ライブラリを継続的に進化させます。
Claude CodeとCodexによる2つの録画デモがassets/に提供されています:
| ターゲットエージェント | デモ |
|---|---|
| Claude Code | Claude Code demo |
| Codex | Codex demo |
| パス | 内容 |
|---|---|
improved_decomposer/ | 手続き的スキーム、候補生成、検証、選択 |
experiment/main.py | 実験のオーケストレーションと実行フィードバック |
experiment/runtime/ | モデル、戦略、サブタスク列のランタイムコンポーネント |
experiment/strategy_library/ | 戦略の保存、取得、改訂、フィードバック統合 |
experiment/config/ | 実験設定とプロンプトテンプレート |
agent_execution/ | ターゲットエージェントインターフェース、セッション処理、軌跡収集、検証 |
tools/ | ベンチマークブリッジ、APIアダプタ、診断 |
assets/ | Claude CodeとCodexのデモ動画 |
environment.yml | Conda環境仕様 |
提供されている環境仕様はLinuxとPython 3.11を対象としています。
conda env create -f environment.yml
conda activate trace
OpenAI互換のChat Completionsエンドポイントの認証情報とベースURLを設定します:
export OPENAI_API_KEY="<your-api-key>"
export OPENAI_BASE_URL="<your-api-base-url>"
python improved_decomposer/improved_task_decomposer.py \
--data_file_path /path/to/tasks.json \
--output_file_path outputs/decompositions.jsonl \
--model "<decomposition-model>" \
--num_decompositions_per_task 5 \
--use_schema_decompose
--use_schema_decomposeはスキームベースの候補生成を有効にします。
以下の例ではCodexでAdvCUAベンチマークを使用します。
python experiment/main.py \
--dataset /path/to/benchmark_with_subtasks.jsonl \
--config experiment/config/config.yaml \
--lab-backend vrap \
--compose-file /path/to/benchmark/docker-compose.yml \
--attacker-model-path /path/to/attacker-model \
--target-backend codex \
--codex-model "<target-model>" \
--responses-base-url "<target-responses-api-base-url>" \
--responses-env-key OPENAI_API_KEY \
--strategy-library outputs/experiment/strategy_library.json \
--output outputs/experiment/results.jsonl
利用可能なコマンドラインオプションを確認するには:
python improved_decomposer/improved_task_decomposer.py --help
python experiment/main.py --help