基于方案的任务分解。 为降低攻击难度,我们开发了约 20 种程序化分解方案,将复杂的有害任务分解为相对无害且简单的子任务序列。我们通过两个维度衡量这些候选序列,即有害性和难度,并选择最优序列来实例化攻击。
面向执行的多轮交互。 对于触发执行拒绝的子任务,TRACE 构建子任务画像,并从持续进化的策略库中检索合适的面向执行的多轮交互策略。TRACE 利用所选策略实例化子任务,并通过多轮交互逐步构建合理的执行上下文,诱导目标智能体完成该子任务。
自适应恢复与策略进化。 当中间步骤失败时,TRACE 定位失败的子任务,保留先前进度,调整相应策略,并从失败的子任务处恢复,而无需从头开始。此外,TRACE 利用执行反馈持续进化面向执行的策略库。
assets/ 中提供了两个使用 Claude Code 和 Codex 录制的演示:
| 目标智能体 | 演示 |
|---|---|
| Claude Code | Claude Code 演示 |
| Codex | Codex 演示 |
| 路径 | 内容 |
|---|---|
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 启用基于方案的候选生成。
以下示例使用 AdvCUA 基准测试与 Codex。
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