nemo_gym.sandbox) — Docker locally, or Daytona / Apptainer / ECS Fargate /
OpenSandbox — selected by config, no agent changes.
Miles integrates NeMo Gym as an
agent-function integration: per sample, the agent
function POSTs the task to a NeMo Gym agent server’s /run endpoint with
policy_base_url set to the session’s OpenAI-compatible URL. NeMo Gym runs
its agent harness (mini-swe-agent v2 in mini_swe_agent_2) against that URL,
so Miles’ session server records every turn losslessly (token ids, logprobs,
loss masks — see Agentic Rollout (TITO)); NeMo Gym
grades the episode itself and the grade enters training through a custom
reward hook reading sample.metadata["reward"].
Try it
The maintained recipe is SWE-bench GRPO with mini-swe-agent inexamples/experimental/nemo-gym.
In short:
- Environment side — on any docker-capable host, clone NeMo Gym
main(>=fcca3a8) and start themini_swe_agent_2responses-API agent server with the docker sandbox provider config. - Data — convert SWE-bench Verified to Miles prompt data with
download_and_process_data.py; the task instance rides in each sample’smetadata. - Training side — point
NEMO_GYM_URLat the agent server and launchrun.py, wiring the chain:

