AgentWorkflow 和 Grader 是 Osmosis SDK 中用于强化学习训练的两个核心抽象。它们共同定义了一个 rollout —— 即训练集群在每个训练步骤中执行的 Agent 行为和评估单元。Documentation Index
Fetch the complete documentation index at: https://docs.osmosis.ai/llms.txt
Use this file to discover all available pages before exploring further.
训练循环
Osmosis 上的 RL 训练遵循四步循环:提示
训练集群从您的数据集中选择一行,并将其中的输入 prompt 发送给您的 AgentWorkflow。大多数情况下,这一行只需要包含
system_prompt、user_prompt 和 ground_truth。评分
您的 Grader(评分器)根据这一行的参考答案(
ground_truth,在运行时作为 ctx.label 暴露)评估 AgentWorkflow 的输出,并分配一个数值 reward(通常为 0.0 到 1.0)。核心抽象
| 抽象 | 用途 | 基类 |
|---|---|---|
| AgentWorkflow | 定义 Agent 行为 —— 模型如何处理 prompt、调用工具并生成输出 | AgentWorkflow |
| Grader | 定义评估逻辑 —— 如何对 Agent 输出进行评分以产生 reward 信号 | Grader |
rollouts/ 目录中,您需要对其进行子类化并实现。
快速示例
SDK 会自动从入口文件中发现您的
AgentWorkflow 和 Grader 子类。无需注册或装饰器 —— 只需在模块中定义恰好一个 AgentWorkflow 子类和零个或一个 Grader 子类即可。从代码到训练
写完 rollout 后,走到正式训练只需要三步:使用 osmosis eval run 做本地评估
使用您自己的 LLM API key,在本地数据集上运行 rollout,检查 reward、通过率和 agent trace 是否符合预期。只想快速 smoke test 时,可以用
--limit N 限制运行的 prompt 数量。详见本地评估。提交并同步代码
把
rollouts/<name>/ 目录提交并推送到您已连接的 GitHub 仓库的默认分支。Osmosis 平台会通过 Git Sync 拉取变更 —— 这份同步过来的副本才是 osmosis train submit 真正执行的代码,未提交的本地改动不会被包含进来。提交训练任务
使用指向您 rollout 和入口文件的训练 TOML 运行
osmosis train submit。平台会自动分配 GPU、从同步的 commit 部署您的 rollout 并为您运行 RL 训练。如果需要可复现性,可以用 commit_sha 固定到特定版本。下一步
构建 AgentWorkflow
实现 AgentWorkflow 类以定义您的 Agent 行为。
构建评分器
实现 Grader 类以定义训练的 reward 信号。
本地评估
使用
osmosis eval run 评估 rollout —— 也可以在提交训练任务前作为 smoke test。训练任务
本地 eval 通过后,提交一次训练任务。