> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.nvidia.com/nemo/gym/main/build-verifiers/llms.txt. # Build Verifiers > Build the verifier that scores rollouts, in a Resources Server or a task folder, and the patterns for scoring. A verifier scores an agent's behavior on a task. Where you implement it depends on how you define your tasks: * **JSONL rows plus a Resources Server.** You implement the verifier in a **Resources Server**, the component that owns the verifier, per-task state, and any environment-specific tools. The rest of this page covers this path. * **Task folders.** The verifier is the task folder's `tests/`, or one `verifier.py` beside `dataset.toml` that grades every single-step task without `tests/`. The `harbor` Environment Server runs it in a sandbox after the agent finishes, with no Resources Server. See [Task Folder Verifiers](/main/data/task-folders/task-folder-verifiers). The pattern pages below apply to both paths: they describe how to score a rollout, whichever component runs the check. Their examples use a Resources Server's `verify()`. > **Info** > > New to the concepts? Start with [Environments](/about/concepts/environments) and [Architecture](/about/architecture) to see how the Environment Server, Resources Server, Agent Server, and Model Server fit together. ## Resources Server Interfaces You build a Resources Server by subclassing one of two base classes. At runtime it runs as a web server that is driven over HTTP: * **`SimpleResourcesServer`** — `/seed_session` initializes per-task state at the start (optional), and `/verify` scores the rollout at the end. An Environment Server that drives agent sessions, such as `single_agent_turn`, calls both in order. Only on the `legacy_agent` path, where the agent runs the whole episode itself, does the agent call them. Tools are exposed as additional endpoints or over MCP. * **`GymnasiumServer`** — scores incrementally via `/step` (with `/reset` at the start) instead of a single `/verify`, for environments that need per-turn observations and rewards. `GymnasiumServer` is provided by the bundled `resources_servers/gymnasium/` package, not the core `nemo_gym` library — import it with `from resources_servers.gymnasium import GymnasiumServer`. #### [Verification Patterns](/build-verifiers/verification-patterns) How to score a rollout, from execution and state checks to LLM-as-Judge. #### [Multi-Reward Verification](/build-verifiers/multi-reward-verification) Score an agent on several objectives at once. > Build the verifier that scores rollouts, in a Resources Server or a task folder, and the patterns for scoring. ## Docs - [Verification Patterns](https://docs.nvidia.com/nemo/gym/main/build-verifiers/verification-patterns.md): Patterns for evaluating agent behavior and computing scores. - [Equivalence Match](https://docs.nvidia.com/nemo/gym/main/build-verifiers/verification-patterns/equivalence-match.md): Extract an agent's answer and compare it deterministically with a reference value, structure, or rule. - [Execution and State Match](https://docs.nvidia.com/nemo/gym/main/build-verifiers/verification-patterns/execution-and-state-match.md): Run generated code, queries, actions, or proofs and score the observed output or resulting state. - [LLM-as-Judge](https://docs.nvidia.com/nemo/gym/main/build-verifiers/verification-patterns/llm-as-judge.md): Prompt an LLM to evaluate the agent's output against rubrics, instructions, or reference answers. - [Multi-Reward Verification](https://docs.nvidia.com/nemo/gym/main/build-verifiers/multi-reward-verification.md): Score a rollout on multiple reward components for richer evaluation and multi-objective RL