Skip to main content
Execution backend 决定 AgentWorkflow 在哪里运行、request 如何变成可执行 task,以及 reward computation 在哪里发生。
osmosis eval submitosmosis train submit 不接收 backend flag。Platform 启动 rollout server 时,由 rollout entrypoint 构造 backend。将开源 SDK 嵌入自托管 harness 时,也需要选择 backend。

选择 Backend 路径

应把 HarborBackend 看成两条不同路径。两种 Harbor mode 都会把每个 rollout 隔离在 Harbor trial 中,但 instruction 的归属不同。
Template mode 只在 input model 上类似 LocalBackend:一个 rollout definition 处理变化的 dataset prompts。它的 execution model 仍然是 Harbor,每个 request 都有独立 task 副本和 sandboxed trial。

共享 Server Contract

所有 backends 都接收 ExecutionRequest、运行一次 agent execution,并返回至多一个 RolloutSample。由 create_rollout_server() 创建的 server 负责 controller callbacks,并在 execution 后执行 best-effort ATIF persistence。直接调用 backend methods 不会安装这个 server lifecycle。 Backends 不会发现 workflow、grader 或 config objects。Entry point 会显式选择它们:
Entry point module 中可以共存多个 workflow 和 grader classes。Constructor arguments 决定实际运行哪些 classes;SDK 不会扫描 module namespace。

决策指南

1

从进程内执行开始

开发 workflow 和 grader 时使用 LocalBackend。它提供直接 exceptions、breakpoints 和最短 feedback loop。
2

增加一个可复用 environment

当所有 rows 都应在同一个 task environment 中运行,但需要隔离 filesystem、process tree 或 dependency set 时,迁移到 Harbor template mode。
3

保留已编写的 Harbor tasks

当每个 task 已经拥有 instruction,且通常也拥有 verifier 时,使用 Harbor dataset mode。这是集成已经可以通过 harbor run 运行的本地 Harbor dataset 的最直接路径。
Dataset mode 会复用 Harbor task directories,但不会读取完整 Harbor job config 或任意 harbor run CLI arguments。HarborBackend 会替代 job orchestration,并支持 Osmosis AgentWorkflow 或已注册的原生 Harbor agents。

Backend 指南

LocalBackend

配置进程内执行、grading、concurrency、artifacts 和 errors。

HarborBackend

配置 template 或 dataset mode、原生 agents、task verifiers 和 sandbox capacity。
最后修改于 2026年8月10日