在 Novita Agent Sandbox 上运行 Harbor 智能体评估

在 Novita Agent Sandbox 上运行 Harbor 智能体评估

Harbor 是一个用于评估和优化智能体及语言模型的框架。它围绕基准任务、容器化环境、并行试验以及用于优化工作流程的发布生成而设计。对于评估编码智能体或工具使用智能体的团队来说,执行环境并非一个次要细节:它决定了任务如何构建、命令如何运行、文件如何进出以及验证器日志如何收集。

本文着眼于 Harbor 中的 Novita 环境代码路径,以及它如何映射到 Novita Agent Sandbox。范围刻意限定在很窄的范围内:这是一个面向实现的概述,并非合作公告、基准测试或成本比较。

Harbor 对云端沙箱的需求

Harbor 任务定义了指令、测试、可选的解决方案逻辑和环境。环境通常由 environment/ 目录下的文件表示。Harbor 的任务文档解释所需文件取决于所选的环境类型。Docker 可以使用 Dockerfile 或 Compose 文件,而大多数云沙箱提供商支持 Dockerfile 定义的环境,而不是 Docker Compose。

这种模型对智能体评估至关重要。一次 Harbor 运行需要创建隔离的任务环境,执行智能体和验证器命令,传输诸如测试和工件之类的文件,然后清理运行时。当运行从少量本地试验扩展到大量远程试验时,沙箱提供者就成为了评估工具链的一部分。

Novita Agent Sandbox 的定位

Novita Agent Sandbox 是一个面向执行生成代码的 AI 智能体的云沙箱运行时。产品文档描述了一个安全隔离的沙箱环境、多语言执行支持、暂停/恢复、后台执行以及 SDK/CLI 管理。在 Harbor 的上下文中,相关的运行时表面是实际的:创建沙箱、运行命令、移动文件以及管理沙箱生命周期。

Harbor 的源码树在主分支上包含了 Novita 环境代码/路径,包括一个 novita 环境类型、harbor.environments.novita.NovitaEnvironment 的工厂连接以及 Novita Agent Sandbox 的源码级可选依赖连接。这应被描述为源码树的状态,而非已发布的 PyPI 支持。

集成形态

从高层次来看,Harbor 中的 Novita 环境路径将 Harbor 任务环境映射到 Novita 沙箱模板和运行时会话:

  • Harbor 读取任务环境定义,通常来自 environment/Dockerfile
  • Novita 环境实现为该环境构建或重用 Novita 沙箱模板。
  • Harbor 从模板创建一个沙箱用于评估试验。
  • 智能体、验证器和设置命令在沙箱内运行。
  • 根据 Harbor 任务生命周期的要求,文件被上传到沙箱或从沙箱下载。
  • 试验完成后沙箱被停止或清理。

这很有用,因为它保持了 Harbor 评估抽象的不变。任务作者仍然以 Harbor 的术语思考:指令、测试、奖励文件、工件和环境文件。沙箱提供者处理该接口背后的远程执行环境。

当前发布状态

Harbor 源码树在主分支上包含了 Novita 环境代码/路径。其中包括用于 novita 环境类型的源代码、NovitaEnvironment 实现以及 Novita Agent Sandbox 的源码级可选依赖连接。目前请将其视为源码树指南,而非可运行的 PyPI 快速入门。

截至当前发布检查,Harbor PyPI 版本 0.7.0 不包含 novita 额外依赖,不通过 Harbor Novita 额外依赖安装 novita-sandbox,也不将 novita 暴露为有效的 CLI 环境值。请勿发布要求读者安装 Novita Harbor 额外依赖或对 PyPI 包使用 Novita CLI 环境运行 Harbor 的命令,直到包含此接口的 Harbor 版本发布为止。

对读者安全的最佳指导是:Harbor 源码树在主分支上包含 Novita 环境代码/路径,而发布的 PyPI 包尚未包含该接口。一旦 Harbor 发布了包含 Novita 额外依赖和 CLI 环境的版本,本文可以更新为经过测试的安装和运行命令。

最小任务心智模型

一个 Harbor 任务通常包含:

  • instruction.md:面向智能体的任务说明。
  • task.toml:任务元数据和运行时配置。
  • environment/:容器环境定义。
  • tests/:验证器逻辑。
  • 可选的 solution/ 目录:用于参考或健全性检查工作流。

对于云沙箱提供者,保持环境定义的可移植性非常重要。Harbor 文档指出,大多数云沙箱提供商只支持 Dockerfile 定义的环境,因此基于 Docker Compose 的任务在假定其可以在远程运行之前应进行检查。

本文不做的主张

这一集成路径应精确描述。当前基于公开源码的主张仅限于 Harbor 主分支的代码级状态和 Novita Agent Sandbox 的产品能力,而不涉及商业或基准声明。除非存在公开公告,否则避免声称 Novita 和 Harbor 已宣布正式合作。除非有基准测试或定价比较可供引用,否则避免声称 Novita 路径比其他 Harbor 环境提供者更快、更实惠或更可靠。避免暗示 Harbor 的公共文档目前推荐 Novita 作为默认云提供者。

最有力的可发布声明更窄但更有用:Harbor 源码树在主分支上包含 Novita 环境代码/路径,而 Novita Agent Sandbox 提供了 Harbor 评估环境所需的沙箱运行时原语:隔离执行、命令执行、文件操作、基于模板的设置以及生命周期管理。

如何立即使用

请将本文视为架构概览和发布状态说明,而非可直接复制粘贴的快速入门指南。如果你今天正在从当前的 PyPI 包评估 Harbor,在假设 Novita 环境可用之前,请检查已安装的 Harbor 版本和 CLI 帮助。如果已安装的版本没有暴露 Novita 额外依赖或 CLI 环境,请等待 Harbor 发布包含该接口的版本,然后再发布可运行命令或将此路径添加到生产评估文档中。

对于最终的 Novita 发布,可以在 Harbor 发布包含 Novita 额外依赖和 CLI 环境的版本后添加经过测试的命令块。在此之前,本文应明确界限:Harbor 主分支包含 Novita 环境代码路径,而当前 PyPI 用户不应被引导运行特定于 Novita 的 Harbor 命令。

常见问题

Harbor 是否支持 Novita Agent Sandbox?

Harbor 的主分支包含一个 Novita 环境路径,可将 Harbor 评估环境映射到 Novita Agent Sandbox。在 Harbor 发布包含 Novita 额外依赖和 CLI 环境的版本之前,请将其视为源码树支持。

我今天可以从 PyPI 安装带有 Novita 支持的 Harbor 吗?

不能从当前已验证的 PyPI 版本安装。最新检查的 Harbor 包 harbor 0.7.0 不包含 Novita 额外依赖或 Novita 环境实现,因此本文不将其呈现为现成可用的安装路径。

为什么本文中没有可运行的 Harbor 命令?

可运行命令会暗示 Novita 路径在已发布的 Harbor 包中可用。在包和 CLI 表面发布并经过测试之前,更安全的指导是解释集成形态和当前的发布边界。

Harbor 发布 Novita 支持后会有什么变化?

Harbor 发布包含 Novita 额外依赖和 CLI 环境的版本后,本文应更新为实用的快速入门指南,包含经过验证的安装步骤、环境变量、基于 Dockerfile 的任务示例以及预期的验证输出。

来源