资讯动态

Agents‘ Last Exam如何防止答案泄露:四阶段执行生命周期与隐藏参考延迟加载机制深度解析

发布时间:2026/10/16 5:45:04 来源:尧图企业网站定制
【免费下载链接】agents-last-examAgents Last Exam项目地址https://gitcode.com/gh_mirrors/ag/agents-last-exam点击查看免费下载Agents Last Exam简称 ALE是由 UC Berkeley RDI 联合 RDI Foundation 主导的通用智能体评测基准用真实专业任务考察 AI Agent 的端到端工作能力。由于被测 Agent 拥有完整的命令行与桌面权限如何防止它偷看答案就成了评测可信度的生命线。本文深入拆解 ALE 的四阶段执行生命周期以及隐藏参考hidden reference延迟加载机制——它通过时序隔离 加密落盘两条路径确保标准答案在 Agent 离场之后才进入沙箱从机制上杜绝答案泄露。一、ALE 评测框架真实任务 可验证产出ALE 的核心目标是构建覆盖面最广的智能体评测基准它把 13 大行业集群、55 个子领域的真实专业工作组织成任务让 Agent 在真实操作系统沙箱中从头干到尾最后按可验证的产出打分。一次完整运行由三个可插拔部件构成Agent harness被测系统如 Claude Code、Codex、ALE-Claw 等通过 CUA 桥接同时操作终端与桌面。Environment沙箱环境高保真复现真实生产环境的 Windows/Linux 机器。Task任务一段可执行的main.py包含指令、输入数据与一个隐藏参考由evaluate()把输出对照打分到[0, 1]。正是隐藏参考这一环决定了整套评测能否防作弊。二、为什么藏好答案是评测基准的生命线ALE 把 Agent 放进一台它几乎为所欲为的机器里可以读盘、可以find /、可以翻进程。如果标准答案以明文形式提前躺在沙箱里聪明的 Agent 完全可能直接抄到参考让分数失去意义。因此 ALE 的设计目标非常明确在 Agent 工作期间答案绝不能出现在机器上。官方文档将这一原则表述为The reference is injected the same way, but onlyafterthe agent has finished, in a separate phase, so while the agent works the answer is never on the machine to find.参考数据以同样的方式注入但只发生在 Agent 结束之后的独立阶段因此 Agent 工作时答案从未出现在机器上。这一答案在 Agent 离场后才登场的原则由一套严谨的生命周期与两条数据路径共同保证。三、四阶段执行生命周期答案在 Agent 离场后才登场整个单元的执行逻辑集中在 run_one_unit 中它把一次运行切成四个核心阶段外加收尾清理。这套答案后置的顺序是防泄露的第一道、也是最根本的一道防线。阶段 0Provision — 预配沙箱调用env.reset_async()拉起一台干净的沙箱。此时任务数据可能已随镜像预置但参考数据尚未可被消费。阶段 1Setup — 只注入输入绝不注入答案框架执行_stage_task_data()把任务的input/原材料与software/辅助脚本铺进沙箱随后由 TaskDriver 的setup()完成环境就绪。关键在此本阶段只碰输入reference/一个字节都不落地。阶段 2Agent — 让 Agent 独立干完活deployer安装并启动被测 Agent交给它只有任务描述让它独立工作直至完成agent_run_started→agent_finished。全程参考数据缺席Agent 即使用尽权限也找不到答案。阶段 3Evaluate — 此刻才解锁隐藏参考Agent 离场后生命周期才调用 stage_reference把标准答案拉入沙箱随后task_driver.evaluate()读取 Agent 的output/与刚就位的reference/产出分数。阶段 4Cleanup — 收尾清理env.close_async(modedelete)回收沙箱无论成功、超时还是失败都在finally中尽力执行保证资源不泄漏。 一句话概括这条生命线注入输入 → Agent 执行答案缺席→ 注入参考 → 评分。答案永远排在 Agent 之后。四、隐藏参考延迟加载机制两条防泄露路径时序后置是骨架而具体怎么保证答案藏得住取决于数据从哪来。ALE 通过task_data_source配置选择不同的任务数据后端但所有后端都遵守同一个契约——对外只暴露两个函数stage_input(sandbox, task_data, *, source)Agent 运行前调用只铺输入。stage_reference(sandbox, task_data, *, source)Agent 运行后、评分前调用才放答案。后端选择逻辑见 select。在此之上ALE 提供两条互斥的隐藏路径。路径一时序隐藏 —— 答案运行期根本不在机器上适用于gs://bucket、s3://、oss://、local:dir、mounted:dir等后端。答案就存放在云端对象存储或宿主机里Agent 执行期间压根不进沙箱gsbucket.py 的stage_input只拉取input/与software/stage_reference单独执行gsutil rsync拉取reference/且先清后拉wipe fresh rsync绝不信任沙箱里任何残留状态。local_host.py 用docker cp把输入拷进容器答案同样运行前不进、运行后才进。其哲学如源码注释所言No encryption is needed: the answer is hidden bytiming, not a password.靠时序而非密码来隐藏答案。只要 Agent 离场前答案不在容器/沙箱里天然防偷看。路径二加密隐藏 —— reference.7z 密码包适用于baked_in_sandbox后端镜像出厂时就带着全部任务数据省去冷启动拉取参考随之常驻磁盘。此时时序隔离被削弱了——答案文件确实躺在机器上。于是 ALE 给它加上了第二道锁加密。沙箱内的任务数据目录约定如下见 baked_in_sandbox.pysandbox.task_data_root/domain/task/variant/ ├── input/ ← 从 stage_input 起就可见 ├── software/ ← 辅助脚本 ├── output/ ← Agent 在此写结果 └── reference.7z ← 密码加密对 Agent 不可见评分时才解密为 reference/答案以密码加密的reference.7z形式存在Agent 无法破解自然偷看不到。解密密码来自宿主环境变量ALE_REFERENCE_ARCHIVE_PASSWORD定义见 REFERENCE_ARCHIVE_PASSWORD_ENV只在评分阶段从宿主机读取故意不写进发往沙箱的源码树里。stage_reference 在评分时才执行7z x -ppassword就地解密并先清掉旧目录防脏数据解密后若参考自带评估虚拟环境还会自动修复其失效的home路径。 两条路径殊途同归时序隐藏让答案运行期不在场加密隐藏让答案在场也不可解。无论走哪条Agent 都拿不到明文标准答案。五、评分阶段参考就位后的确定性打分答案一旦就位TaskDriver.evaluate 会调用任务的evaluate(cfg, session)读取 Agent 的output/与reference/并返回分数。ALE 支持两类评分器确定性评分精确或结构化比对文件、数值、解析内容覆盖大多数任务。裁判式评分Judge-based由 LLM/VLM 对需要语义或视觉判断的产出打分。评分在宿主机侧、Agent 彻底离场后运行即便是 LLM 裁判也绝不触碰Agent 的实时运行。整个过程由evaluate()的重试与重连机制瞬态 CUA 错误自动重建会话守护确保打分既公平又健壮。六、关键源码索引关注点文件四阶段生命周期编排ale_run/orchestration/lifecycle.py隐藏参考延迟注入stage_reference任务 setup / evaluate 驱动ale_run/tasks/driver.py任务定义加载ale_run/tasks/loader.py加密参考7z 密码包ale_run/environments/task_data/baked_in_sandbox.py时序隐藏GCS 拉取ale_run/environments/task_data/gsbucket.py后端选择ale_run/environments/task_data/init.py端到端示例任务tasks/demo/hello/main.py七、结语ALE 防答案泄露的设计本质是一场精心编排的时间差 加密博弈四阶段生命周期把注入参考强制安排在Agent 执行之后而延迟加载机制则用时序隐藏或reference.7z 加密包两种手段保证标准答案在评分之前对 Agent 完全不可得。正是这种让 Agent 全权工作、却在机制上锁死答案的平衡才让 ALE 既能充分考察前沿智能体的真实能力又能给出一个无法作弊、可复现、可审计的分数。赞分享【免费下载链接】agents-last-examAgents Last Exam项目地址https://gitcode.com/gh_mirrors/ag/agents-last-exam点击查看免费下载相关推荐深入解析 Angular 组件生命周期钩子执行顺序、渲染回调四阶段与源码实现深入解析 Angular 组件生命周期钩子执行顺序、渲染回调四阶段与源码实现 本文基于 Angular 官方文档 组件生命周期指南 https://link.前端Web框架Handsontable Pagination 插件源码深度解析行隐藏机制、生命周期与两种分页策略Handsontable Pagination 插件源码深度解析行隐藏机制、生命周期与两种分页策略 Handsontable 的 pagination 插件将前端UI组件lspsaga.nvim代码操作完全解析从灯泡提示到智能修复lspsaga.nvim代码操作完全解析从灯泡提示到智能修复 lspsaga.nvim是一款功能强大的Neovim LSP增强插件为开发者提供了从代码提示到创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑