@akshay_pachaar: Andrej Karpathy summarized the entire history of LLM training in three nouns: - text - conversations - and environments…

X AI KOLs Timeline Tools

Summary

Andrej Karpathy frames LLM training as text, conversations, and environments; Prime Intellect's Verifiers is an open-source framework for building and sharing RL environments for LLMs, released under MIT license, with a hub of 2500+ environments.

Andrej Karpathy summarized the entire history of LLM training in three nouns: - text - conversations - and environments Pretraining ran on internet text, supervised fine-tuning ran on curated conversations, and the current era of RL runs on environments. OpenAI and Anthropic are spending billions building these environments, and frontier labs keep the good ones proprietary. Today I want to walk through an open-source framework that does all of this for free. But before that, some context on why environments matter this much. RL has two hard problems, scoring an answer and building the environment the model acts in. The first one is mostly handled now. Scoring used to need a separate model trained on human preferences, but DeepSeek's R1 showed that for any task with a verifiable answer, GRPO can learn from a plain check against the target instead. That leaves the environment as the real bottleneck, and it is the more interesting problem. An environment is the world the model acts in. It presents a task, hands the model a move, scores it, and returns the next state, one turn at a time. Underneath, it is three parts: - a dataset of tasks - a harness the model acts through - a rubric that scores the result The same definition can do more than train a model. It can also evaluate it, generate synthetic data, or stress-test an agent harness. Building a good environment is hard, which is why labs guard theirs. The open-source framework I mentioned earlier is Prime Intellect's Verifiers, released under an MIT license, and it works with any model. The part that compounds is the hub around it. Like Hugging Face for models, anyone can publish an environment they built and reuse one someone else built. Every task one person designs becomes a task the whole field can train on. The hub already holds more than 2,500. Check this out: https://github.com/PrimeIntellect-ai/verifiers… (don't forget to star ) I used it to build one from scratch, an Othello game where an LLM plays a built-in engine, scored on every move. Othello is just the worked example. The same blueprint, parse the move, score it, return the next state, is what every environment comes down to, so the walkthrough shows how to build and customize your own from scratch. The full build, with runnable code, is in the article quoted below.
Original Article
View Cached Full Text

Cached at: 07/12/26, 02:56 PM

Andrej Karpathy summarized the entire history of LLM training in three nouns:

  • text
  • conversations
  • and environments

Pretraining ran on internet text, supervised fine-tuning ran on curated conversations, and the current era of RL runs on environments.

OpenAI and Anthropic are spending billions building these environments, and frontier labs keep the good ones proprietary.

Today I want to walk through an open-source framework that does all of this for free.

But before that, some context on why environments matter this much.

RL has two hard problems, scoring an answer and building the environment the model acts in.

The first one is mostly handled now. Scoring used to need a separate model trained on human preferences, but DeepSeek’s R1 showed that for any task with a verifiable answer, GRPO can learn from a plain check against the target instead.

That leaves the environment as the real bottleneck, and it is the more interesting problem.

An environment is the world the model acts in. It presents a task, hands the model a move, scores it, and returns the next state, one turn at a time.

Underneath, it is three parts:

  • a dataset of tasks
  • a harness the model acts through
  • a rubric that scores the result

The same definition can do more than train a model. It can also evaluate it, generate synthetic data, or stress-test an agent harness.

Building a good environment is hard, which is why labs guard theirs. The open-source framework I mentioned earlier is Prime Intellect’s Verifiers, released under an MIT license, and it works with any model.

The part that compounds is the hub around it. Like Hugging Face for models, anyone can publish an environment they built and reuse one someone else built.

Every task one person designs becomes a task the whole field can train on. The hub already holds more than 2,500.

Check this out: https://github.com/PrimeIntellect-ai/verifiers…

(don’t forget to star )

I used it to build one from scratch, an Othello game where an LLM plays a built-in engine, scored on every move.

Othello is just the worked example. The same blueprint, parse the move, score it, return the next state, is what every environment comes down to, so the walkthrough shows how to build and customize your own from scratch.

The full build, with runnable code, is in the article quoted below.


PrimeIntellect-ai/verifiers

Source: https://github.com/PrimeIntellect-ai/verifiers

Prime Intellect


Overview

verifiers is our library for creating environments to train and evaluate LLMs.

verifiers is tightly integrated with the Environments Hub, as well as our training framework prime-rl and our Hosted Training platform.

Installation

We recommend installing the Prime CLI to interact with the environments.

# install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# install the prime CLI
uv tool install prime

Further reading

  • The docs contain short, human-written guides and overviews about the architecture.
  • The AGENTS.md and skills are for coding agents and go into more details.

Citation

Originally created by Will Brown (@willccbb).

@misc{brown_verifiers_2025,
  author       = {William Brown},
  title        = {{Verifiers}: Environments for LLM Reinforcement Learning},
  howpublished = {\url{https://github.com/PrimeIntellect-ai/verifiers}},
  year         = {2025}
}

Similar Articles