用 Docker Sandboxes 构建可复现的 AI 评估工作流

作者: Karan Verma(Docker Captain)
原文发表于: 2026 年 9 月 2 日
原文: Building Reproducible AI Evaluation Workflows with Docker Sandboxes

为什么评估还需要固定执行环境

开始一次 AI 评估并不难,难的是让别人以后能够可靠地复现它。即使提示词、模型和评分方式保持不变,Python 依赖版本变化、本机工具漂移、未记录的安装步骤,也可能让同一工作流在另一台机器或几周后的运行结果不同。评估讨论通常聚焦基准、评分方法或评审模型,而执行环境同样会决定结果能否复现。

Docker Sandboxes 与 SBX Kit 可以把评估命令放在较一致、便于检查的环境里执行。由此形成的 SBX AI Evaluation Kit 是一个面向 Docker Sandboxes 的开源 Mixin Kit,重点是重复执行、结构化评估记录和运行时证据。它本身不会运行 AI 模型,也不会自动判断评估结果;它负责按配置执行命令,并记录实际发生了什么。

从配置一条执行命令开始

工作流先在 execution 配置块中指定命令及执行器。例如:

execution:
  executor: sbx
  command:
    - python3
    - -c
    - print("hello from sbx")

将执行器设为 sbx 后,运行器会把命令交给 Docker Sandboxes 执行,并把运行证据写入生成的评估产物。该仓库也以 SBX Mixin Kit 形式打包,启动 Claude sandbox 时可以应用这个 Kit:

sbx run claude --kit .

随后运行评估脚本:

python run_evaluation.py

每次评估由 YAML 文件描述评估内容和要执行的命令。仓库会校验该定义、执行配置命令,并生成结构化 JSON 结果。文档说明的区别是:文字记录描述原计划做什么,执行记录则保存实际运行情况。

让评估定义与执行位置分开

评估定义说明“运行什么”,执行器决定“在哪里运行”。本地执行器会在宿主机上运行配置命令;SBX 执行器则把命令交由 Docker Sandboxes。切换执行位置时,只需更改执行器配置,无需重写周边评估流程。这样,同一份评估定义可以在开发机器上使用本地执行器,也可以在 SBX 中执行,并以相同结构留下运行证据。

记录运行证据,而不是依赖假设

每次执行都会在评估产物中记录所选执行器、执行命令、标准输出、标准错误、退出码和执行耗时。运行器还会为评估配置生成摘要值,使配置与它产生的产物之间存在确定关联。这种记录有助于检查本次究竟执行了什么,但作者明确指出它并不打算取代完整的实验跟踪系统。

从单次评估扩展到评估套件

实际工作通常需要比较不同提示词、验证行为、检查版本间回归,或覆盖多个场景。评估套件可以把多份评估定义放入一个可重复执行的工作流。每项评估仍有自己的结构化产物,套件还会生成整次运行的汇总结果。套件因此扩展了执行规模,同时保留单项评估的记录方式。

将 SBX Kit 用于其他工程工作流

SBX Kit 不只用于 AI 评估。它可以把工程工作流依赖的环境和设置一起打包,供回归测试、策略检查、安全分析、代码生成实验,以及其他要求执行一致、结果可检查的任务使用。

适用范围

SBX AI Evaluation Kit 的职责是让已配置的评估工作流更容易重跑和检查;它不替代评估框架、基准套件或评分系统,也不自行产生模型评判。是否采用某种基准、评分方式或评审模型,仍需由评估工作流另行定义。

来源信息

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容