跳到主要內容
NVIDIA NeMo Gym 是什麼?Agent 訓練為何需要環境
/閱讀約 15 分鐘/

NVIDIA NeMo Gym 是什麼?Agent 訓練為何需要環境

NVIDIA NeMo Gym 是建立 Agent 訓練環境的開源工具,將 dataset、Agent Harness、verifier 與 state 組成可重複的互動任務。本文解釋 rollout、reward,以及它與 NeMo RL 的分工。

目錄+

NVIDIA 在 Nemotron 3 Super 的 post-training 階段,跑了超過 120 萬次 environment rollouts

這些不是把 120 萬組標準答案餵進模型。每一次 rollout 都是一次完整嘗試:模型觀察狀態、採取行動、呼叫工具、收到結果,再由 verifier 判斷做得對不對。

資料集教模型答案,環境教模型承擔後果。

NeMo Gym 就是 NVIDIA 用來建立這種練習場的開源專案。這篇會帶你看懂 environment 的四個元件、rollout 如何變成 reward,以及 NeMo Gym 與 NeMo RL 各自負責哪一層;讀完後,你就能判斷自己的 Agent 專案是否真的需要訓練環境。

NVIDIA-NeMo/Gym on GitHub

訓練 Agent,為什麼只有題庫還不夠?

傳統 supervised fine-tuning 很像看考古題。資料裡有 prompt,也有理想答案。模型學著重現答案的結構與語氣,對單輪問答、分類與格式遵循很有用。

但 Agent 面對的不是一張靜止考卷。

一個 coding agent 可能先搜尋 repository、讀錯檔案、修改程式、跑測試、看到失敗,再回頭找真正原因。資料分析 Agent 可能查詢 database、遇到空值、改寫 SQL,最後還要確認圖表是否回答原始問題。

這類任務至少多出四件事:

  • 世界會隨著行動改變。
  • 工具可能回傳錯誤或意外結果。
  • 中間步驟不只一條正確路徑。
  • 成功必須看最後狀態,不能只看回答像不像標準答案。

靜態資料可以示範一條成功路徑,卻不能讓模型真的練習失敗與修正。Agent training environment 的作用,就是讓模型在可控制的世界裡反覆嘗試,並把結果轉成可計算的訓練訊號。

NeMo Gym 是什麼?

**NeMo Gym 是一套用於評估與改善模型及 Agent 的環境基礎設施。**它提供環境介面、任務與 benchmark 集合、rollout collection,以及連接不同 Agent Harness、sandbox、model provider 與 training framework 的方法。

Environment 這個詞來自 reinforcement learning。Agent 採取 action,環境回傳 observation 與 reward,直到任務完成或超過限制。

你可以把它想成駕訓班:

  • Model 是還在學習判斷的駕駛。
  • Agent Harness 是方向盤、儀表板與操作流程。
  • Environment 是道路、號誌與其他車輛。
  • Verifier 是考官,依結果給分。
  • Training framework 會根據大量考試紀錄調整模型。

這也說明 NeMo Gym 與上一篇 NOOA Agent Harness 的差別。NOOA 研究的是「模型如何操作與管理自己」;NeMo Gym 管的是「Agent 在哪個世界完成什麼任務,以及怎麼判定成功」。NeMo Gym 也能換用其他 Harness,兩者不是互斥產品。

NeMo Gym 環境由哪四個元件組成?

官方文件把 environment 拆成 dataset、Agent Harness、verifier 與 state。Model 反而位於環境外面,透過 Agent 與環境互動。

元件負責什麼Coding Agent 範例
Dataset任務、起始條件,以及 verifier 才能看到的評分資料GitHub issue、初始 repository、hidden tests
Agent Harness組織模型呼叫、context、tools 與停止條件搜尋檔案、編輯程式、執行 shell 的迴圈
Verifier檢查結果並產生 reward執行測試,確認修正沒有破壞其他功能
State保存單次嘗試中會改變的世界被修改的檔案、terminal 狀態、database 內容

Dataset 不只是 prompt

NeMo Gym 的 task 可以包含模型看得到的題目,也可以帶 verifier 專用的 privileged information。例如預期 tool call、test cases、ground truth 或評分 rubric。

關鍵是不要把答案提前洩漏給 Agent。模型負責解題,verifier 才能看到驗收資料。

Harness 決定模型如何工作

語言模型本身是 stateless inference endpoint。Harness 才會管理歷史訊息、轉送 tool call、保存 context,並決定何時停止。

NeMo Gym v0.4.0 已提供多種現成整合,包括 Claude Code、Hermes、OpenHands、OpenCode、OpenClaw、Pi 與其他 Agent。這讓同一個 benchmark 可以換 Harness 重跑,有助於分辨問題可能來自模型、prompt、工具還是 orchestration。

Verifier 定義什麼叫成功

Verifier 可以是 exact match、unit tests、state comparison、reward model 或 LLM-as-Judge。它通常回傳 0 到 1 的 reward,也能分開評分 correctness、schema validity、format 等多個目標。

同一個分數有兩種用途:做 evaluation 時,它會變成 accuracy、pass@1 或 pass@k;做 reinforcement learning 時,它會變成更新模型所需的 reward signal。

State 讓每次嘗試真的有過程

數學問答的 state 可能很少,coding、browser 與遊戲環境則會不斷改變檔案、頁面或棋盤。每次 task attempt 應從乾淨狀態開始,否則前一次執行留下的檔案可能污染下一次分數。

Runtime 與 sandbox 也要分清楚。Local process、Docker、Apptainer 都能提供執行環境;只有具備隔離邊界的 runtime 才能當作不受信任程式碼的 sandbox。NeMo Gym 提供 pluggable sandbox API,不代表每個 environment 預設都完成安全隔離。

Rollout 如何變成 Agent 訓練資料?

Rollout 是 Agent 從任務開始到結束的一次完整軌跡。它不只是最後回答,還包含模型呼叫、工具動作、observations、狀態變化與 verifier 給出的 reward。

Loading diagram...

以修 bug 為例,同一個 issue 可以跑多次。有些 rollout 一次就找對檔案,有些先走錯方向,有些修好表面問題卻過不了 hidden tests。Verifier 把這些結果轉成 reward;以 GRPO 為例,訓練框架會比較同組嘗試,強化更有效的行為。

這裡有個常見誤會:**一百萬次 rollout 不等於一百萬個獨立任務。**同一筆 task 可以搭配不同 seed、模型版本、Harness 或重複次數執行很多次。Rollout 衡量的是互動嘗試量,不是資料集題數,也不是成功率。

Model、Agent、Resources 三種 server 怎麼協作?

NeMo Gym 把執行面拆成三種 server abstraction:

  1. Model Server:包裝 OpenAI-compatible inference endpoint,可連託管模型或本地 vLLM。
  2. Agent Server:執行 Harness,負責多輪互動、tool routing 與輸出格式。
  3. Resources Server:提供 tools、task state 與 verification logic。

這種 async HTTP API 拆分,讓模型推論、Agent 邏輯與環境依賴能放在不同 process 或機器。當你要同時跑大量 task attempts,也比較容易獨立擴充瓶頸部分。

v0.4.0 的 quickstart 已收斂到統一 gym CLI。以下指令會啟動 multiple-choice 範例需要的 resources、Agent 與 model servers:

gym env start \
  --resources-server mcqa \
  --model-type openai_model

接著 gym eval run 會把 task materialize、收集 rollouts,並輸出 aggregate metrics。正式專案仍需要設定 model endpoint、資料來源、concurrency、repeat 次數與 sandbox provider;這段只用來展示三種 server 的關係。

NeMo Gym 與 NeMo RL 有什麼差別?

兩個名字常一起出現,但責任邊界很清楚:

專案主要責任不負責什麼
NeMo Gym執行 Agent 與 environment 互動、收集 trajectories、計算 reward不直接計算梯度或更新模型權重
NeMo RLRL training loop、generation backend、GRPO 等演算法、distributed training、weight update不替每個領域定義工具、任務與成功條件

NeMo Gym 也沒有綁死 NeMo RL。官方 ecosystem 目前列出的 training integrations 包含 NeMo RL、Unsloth 與 veRL。反過來說,如果任務只是 stateless output check,而且不需要大量重跑或 training,一支簡單 script 可能就夠了,不必為了名字裡有 Gym 而導入整套系統。

Nemotron 3 如何使用 NeMo Gym?

NVIDIA 公布的 Nemotron 3 Super post-training 資料,包含 21 組 NeMo Gym environment configurations、37 個 datasets,以及超過 120 萬次 environment rollouts。任務涵蓋軟體工程型 Agent training,以及帶工具的搜尋與規劃。

這組數字說明 NVIDIA 已把 environment-based RL 用在模型家族,而不只是提供一個研究範例。但它仍是 NVIDIA 對自家訓練流程的揭露,不是第三方 benchmark。環境數與 rollout 數也無法單獨證明每一項能力提升了多少。

更值得看的,是 NVIDIA 願意公開部分 RL tasks、environments 與 evaluation recipes。外部團隊至少能檢查 task、Harness、verifier 與模型之間的介面,而不是只看到最後一張排行榜。

如果想先掌握模型層,可以對照 Nemotron 在異質模型編排中的定位。下一篇則會獨立拆 NeMo RL,說明 GRPO、async RL 與 weight update 真正在哪一層發生。

NeMo Gym v0.4.0 增加了什麼?

2026 年 7 月的 v0.4.0 不只增加 benchmark,還補上完整實驗流程需要的工具:

  • 統一 gym CLI,並用 gym env validate 在開跑前檢查設定。
  • BLADE 讀取 rollout、metrics 與 configs,分析失敗任務和優先修正方向。
  • Agent skill evaluation 讓同一批 task 搭配不同 skills 重跑。
  • Pluggable sandbox framework,內建 OpenSandbox 與 Apptainer provider。
  • 新增 OpenCode、OpenClaw 與 Pi 等 Harness。
  • 支援 Fireworks、Together.ai、OpenRouter 等 OpenAI-compatible hosted providers。

BLADE 特別符合 NeMo Gym 的核心價值。分數下降不一定要立刻重訓模型,也可能是 Harness、prompt、verifier 或工具設計出了問題。先定位失敗層次,再決定改環境還是動模型,能少燒很多算力。

這也和 OpenShell、NemoClaw 的安全執行層形成互補:Gym 負責安排任務與驗證,sandbox runtime 負責控制 Agent 能碰到哪些資源。

誰適合使用 NeMo Gym?

如果你需要 stateful environment、可重現 verifier、大量重跑,或想讓 evaluation 直接銜接 RL,NeMo Gym 有明確價值。若只是測一組 prompt 的 final answer,導入三種 server 反而可能增加維護成本。

官方目前仍把專案標成 early development。API 會變、文件可能不完整,偶爾也會遇到 bug。Python 需求是 3.12 以上;Windows 使用 WSL2。核心 library 不需要 GPU,但本地 model inference 或個別 resources server 可能需要。

使用 hosted API 可以完全不準備 GPU。若要在本地測試較小的量化模型,麗臺 RTX PRO 4000 Blackwell 24GB可作為工作站選項,但能跑多大的模型取決於量化方式、context 與 inference backend;它不是使用 NeMo Gym 的必要條件。

常見問題

NeMo Gym 本身會更新模型權重嗎?

不會。NeMo Gym 負責 Agent 與環境互動、收集 trajectories 並計算 reward;NeMo RL、Unsloth 或 veRL 等訓練框架才會使用這些訊號更新模型權重。

使用 NeMo Gym 一定需要 NVIDIA GPU 嗎?

不需要。NeMo Gym 核心程式可在一般開發機執行,但若你選擇本地 vLLM 模型或需要 GPU 的 resources server,該部分仍可能需要加速卡。

NeMo Gym 與 OpenAI Gym 或 Gymnasium 有什麼差別?

概念都來自 Agent 與 environment 的互動,但 NeMo Gym 專注在 LLM Agent,原生處理文字對話、工具呼叫、Harness、verifier、rollout 與外部訓練框架整合。

NeMo Gym 可以搭配非 NVIDIA 模型嗎?

可以。它支援 OpenAI-compatible 端點、vLLM 與多家託管 provider,訓練端也能接 NeMo RL、Unsloth 或 veRL 等框架。

我的判斷

NeMo Gym 最重要的貢獻,不是又增加一套 RL 指令,而是把「如何讓 Agent 練習」變成可重用的工程介面。

對多步 Agent 來說,真正稀缺的不是更多 prompt,而是可靠的起始狀態、工具、驗證方式與重跑能力。這四件事沒做好,訓練演算法再漂亮,也只是在放大一個不可信的 reward。

如果你只能先投資一件事,我會先把 verifier 和 held-out evaluation 做對,再考慮大量收集 rollout。下一篇會繼續回答:NeMo RL 收到這些 reward 後,究竟如何更新模型?


利益揭露:本文含一條蝦皮聯盟連結,若你透過連結購買,我可能獲得分潤,不影響你的價格。

資料來源NeMo Gym GitHubNeMo Gym environments 文件NeMo Gym v0.4.0 releaseNVIDIA Agentic RL 指南Nemotron 3 Super 技術文章