Skip to content
Open
8 changes: 2 additions & 6 deletions fern/versions/latest/pages/about/ecosystem.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ position: 3
---
NeMo Gym is one of several specialized libraries in the NVIDIA NeMo platform. Alongside NeMo RL for
post-training, NeMo Gym focuses on the *environments* agents act in — pairing a dataset, agent harness, and
verifier so the same environment can drive both evaluation and training.
verifier so the same environment can be used for both evaluation and training.

<Tip>
For what NeMo Gym does and when to use it, see the [Overview](/about) and [What NeMo Gym Provides](/about#what-nemo-gym-provides). For how environments are implemented as composable servers, see [Architecture](/about/architecture).
Expand Down Expand Up @@ -43,11 +43,7 @@ Use environments for SFT and RL training. If you're interested in integrating an

## Agent Harnesses

Agent harnesses are available out of the box for evaluation and training. Some examples:

- **[OpenHands](https://github.com/NVIDIA-NeMo/Gym/tree/main/responses_api_agents/swe_agents)** - software engineering agent harness
- **[Mini SWE Agent](https://github.com/NVIDIA-NeMo/Gym/tree/main/responses_api_agents/mini_swe_agent)** - software engineering agent harness
- **[LangGraph](https://github.com/NVIDIA-NeMo/Gym/tree/main/responses_api_agents/langgraph_agent)** - agent patterns built with LangGraph (reflection, orchestration, parallel thinking)
NeMo Gym includes agent harnesses for general tool use, coding, browser and desktop interaction, and benchmark-specific workflows. See [Integrate Existing Agents](/agent-server/integrate-existing-agents) to compare the supported harnesses, choose one, and configure it.

## Related Products in the NVIDIA NeMo Ecosystem

Expand Down
41 changes: 33 additions & 8 deletions fern/versions/latest/pages/agent-server/index.mdx

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the “Rollout Lifecycle” paragraph, could we make it explicit that, in the typical implementation shown below, the agent loop runs in responses()? For example:

In the typical implementation shown below, the agent loop runs in the responses() method. It sends the conversation to the model, receives a response, routes any tool calls to the Resources server, and feeds the results back to the model.

The “typical implementation” qualification avoids implying this is universal, since some agent servers implement the loop directly in run().

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The next sentence could also be more precise. “Turns” is ambiguous in this pseudocode because the loop is specifically iterating over model responses and tool calls, and reaching the model’s maximum sequence length may result in truncation or an error rather than a clean loop stop. Suggested wording:

The loop continues while the model returns tool calls, stopping when it returns no tool calls or the harness reaches its configured step limit. Other harnesses may define additional stopping conditions.

Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
---
title: "Configure Agents"
description: ""
description: "The Agent server holds the agent harness. Use an agent server NeMo Gym ships, whether its implementation is Gym-native or a third-party harness, or drive an agent you host yourself."
position: 1
---
The Agent server is the central component of environment design. It defines whether a rollout is single-step or multi-step, single-turn or multi-turn, and orchestrates all interaction logic — calling the model, executing tool calls through resources, and collecting the final reward. The Agent server does not run an LLM itself, it is orchestration code that delegates all text generation to the Model server.

An environment integrates four independent components: a dataset, an agent harness, a verifier, and per-task state. The Agent server is where the harness lives.

A harness controls how the model interacts with the environment: the number of turns, the system prompt, which tools are available, how tool results are fed back, the stopping condition, and any scaffolding such as planning, compaction, or sub-agents. The Agent server does not run an LLM itself. It is orchestration code that delegates text generation to the Model server and tool execution, state, and scoring to the Resources server.

An Agent server references a Resources server and a Model server by name, so which harness an environment runs is a config change. See [Agent Server Fields](/reference/configuration#agent-server-fields) for the syntax.

## Rollout Lifecycle

Expand Down Expand Up @@ -44,12 +49,32 @@ class Agent:
return conversation
```

## Existing Agents
In an Agent server built on an external harness, the harness supplies the interaction loop with the policy model. The three phases around it are the same: initialize the episode, produce a trajectory, score it.

## Choosing an Agent Server to Implement Your Agent

There are three options. The first two differ by who implements the agent, not by where the code lives — both ship in the NeMo Gym repo.

Use an agent server with a Gym-native implementation, such as `simple_agent` for multi-step tool calling. Use an agent server that runs a third-party harness — a coding CLI, an agent framework, or a benchmark's own scaffold — where the harness owns the loop and the agent server translates its output. Both take configuration, not code. Third, use `remote_agent`: keep the agent in your own repo, expose an endpoint that follows the OpenAI Responses contract, and NeMo Gym drives the loop against that endpoint.

Run `gym list agents` to list the available harnesses and their configuration variants. Run `gym list agents <name>` to inspect one harness, then use `--agent-type <name>` to compose a compatible environment with it.

<Cards>

<Card title="Integrate Existing Agents" href="/agent-server/integrate-existing-agents">
The agent servers NeMo Gym ships, how each third-party harness is wrapped, and what a wrapper needs to support training.
</Card>

<Card title="Drive a Remote Agent" href="/agent-server/remote-agent">
The `remote_agent` contract, an end-to-end quickstart, configuration fields, and failure handling.
</Card>

See [Integrate Existing Agents](/agent-server/integrate-existing-agents) to use a built-in NeMo Gym agent, wrap an external agent harness, or decide when tool logic belongs in the Agent server versus the Resources server.
<Card title="Agent Skills" href="/agent-server/agent-skills">
Set [Agent Skills](https://agentskills.io/specification) per run, separately from the dataset.
</Card>

## Server Configuration
<Note>
[Agent Server Fields](/reference/configuration#agent-server-fields) for server configuration syntax and fields.
<Card title="Agent Server Fields" href="/reference/configuration#agent-server-fields">
Configuration syntax for wiring an agent server to a compatible Resources server and Model server.
</Card>

</Note>
</Cards>
Loading
Loading