Skip to main content
Environments 是 execution providers。它们为 harness 提供统一的命令执行、文件传输、文本读写、endpoint 暴露和资源清理接口。 Benchmarks 和 harnesses 应依赖 EnvironmentSession 表面,而不是直接依赖 provider SDK。

Environments 负责什么

命令执行

以 shell 或 argv 方式执行命令,并支持 cwd、env、timeout、detach 和 return-code capture。

文件传输

在本地磁盘和 environment 之间 upload/download 文件或目录。

Workspace 访问

提供文本读写和 default workspace root 行为。

Provider 生命周期

打开 session、返回可选 endpoint,并释放 sandbox、container 或本地 session。

Session 接口

Provider 选择

通过 --env 选择 provider,默认值位于 config/defaults.yamlenvironments.<provider> 下。当任务只需要本地文件或直接模型调用时,从 host_process 开始;当任务需要 isolation 或 benchmark 专用镜像时,再切换到容器或远程 sandbox。对于支持 recipe 的 benchmark/provider 组合,image 和 workspace root 会从 task metadata 推导,通常不需要手动传 --env-params '{"image":"..."}'
各 provider 的凭据、配置步骤和可运行示例见执行环境章节;首次运行时如何挑选 provider,见环境选择实战指南

并发与限制

提高 task concurrency 前,应先确认模型 endpoint 和 provider 账号限额可以承受。

开发者说明

当执行发生在新的 provider 或 runtime substrate 中,新增 environment。不要为了选择不同 task image 新增 environment;那属于 environment.params 或 recipe。

相关页面