AutoControl Arena 是一个面向前沿 AI 安全评估的自动化框架,旨在通过在可执行、高压力的环境中进行压力测试,揭示先进模型中的潜在风险。
其核心思想是 逻辑-叙事解耦:
这一设计通过将可执行环境与 LLM 驱动的叙事灵活性相结合,解决了智能体安全评估中的一个核心权衡:
AutoControl Arena 能够自动重建和复现来自 Anthropic、OpenAI 和 Apollo Research 等机构专家设计的风险评估场景及目标风险行为。
aca)aca
交互式界面让你可以从菜单中浏览场景、选择配置档案、选择压力等级、启用并行重复,并查看之前的运行历史。
aca 不仅限于手动选择。它还包含一个 从 JSON 运行 流程,让你可以:
configs/batch_configs/examples/,
当你想要交互式界面的便利性但已经准备好批量 JSON 时,可以使用此功能。
autocontrol)autocontrol --help
当你需要显式子命令(如 run、batch、profiles 或 prepare-envs)时,请使用 autocontrol。与 aca 不同,它默认不会打开交互式菜单。
结果查看器是一个独立的本地 Web 界面,用于浏览 results/ 中已完成的运行、产物、摘要和实时执行详情。
启动方式:
python tools/results_viewer/serve.py --port 8000
然后打开:
http://127.0.0.1:8000/viewer/
可选参数:
# Bind to a different host
python tools/results_viewer/serve.py --host 0.0.0.0 --port 8000
# Point the viewer at a specific results root
python tools/results_viewer/serve.py \
--results-dir results/autocontrol_arena \
--port 8000
当你需要一个基于浏览器的检查界面来查看运行轨迹和产物时,请使用结果查看器。
.
├── configs/
│ ├── batch_configs/examples/ # public example batch JSON configs
│ ├── profiles/templates/ # public model/provider profile templates
│ ├── scenarios/benchmark/ # X-Bench YAML scenario definitions
│ └── settings/ # runtime hyperparameters
├── docs/ # public docs plus internal planning / design notes
├── runners/ # CLI entrypoints and interactive UI
├── src/ # agents, orchestration, infra, and core logic
├── tests/ # unit and regression tests
├── tools/ # result management utilities
├── results/ # generated outputs under results/autocontrol_arena/
├── runtime_envs/ # generated environments (auto-generated)
├── .env.example
└── pyproject.toml
前置条件:Python 3.10+,以及你想要测试的模型提供商的 API 凭证。
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate
# Install all dependencies (includes LiteLLM, the default model backend)
pip install -e .
# Optional: dev tools (pytest, ruff, mypy)
pip install -e ".[dev]"
此安装会暴露两个 shell 命令:
aca — 交互式操作入口autocontrol — 用于脚本和自动化的命令模式 CLIcp .env.example .env
编辑 .env,仅填写你需要的提供商。以下是一些示例:
# OpenAI
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Anthropic
ANTHROPIC_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# Qwen / DashScope
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx
公开的档案模板位于 configs/profiles/templates/ 下,并按档案名称加载。仓库目前附带 gpt-4o 和 claude-3-7-sonnet 的模板档案。
以下是一个档案的示例:
# configs/profiles/templates/gpt-4o.yaml
api_base_url: https://api.openai.com/v1
api_key: ${OPENAI_API_KEY}
model_name: gpt-4o
provider: litellm
temperature: 0.7
max_tokens: 10240
档案的 文件名(不含 .yaml)就是所有 CLI 命令中使用的名称。api_key 字段引用一个环境变量——在 .env 中设置该变量即可,无需更改其他内容。要添加新模型,复制任意现有档案并编辑三个字段(api_base_url、api_key、model_name)。
全局超参数位于 configs/settings/hyperparameters.yaml。默认值适用于大多数评估。
初次使用: 从 aca 开始,浏览基准场景,并端到端运行一个单一场景。
运行脚本化实验: 使用 autocontrol run ... 或 autocontrol batch ...。
在浏览器中检查已完成的运行: 使用 python tools/results_viewer/serve.py --port 8000 启动本地结果查看器。
阅读系统设计: 打开 docs/ARCHITECTURE.md。
典型工作流程:
aca