AReaL is a Python-based reinforcement learning infrastructure for agent-based applications, shipped with a microservice-oriented 2.0 architecture and tutorials. It provides asynchronous RL training, multiple agentic workflows, and examples for GSM8K reasoning and OpenClaw integration.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
AReaL is a reinforcement learning (RL) infrastructure designed to bridge foundation model training with agent-based applications. It describes itself as having a fully asynchronous RL training paradigm and supports online RL training for black-box agent applications. The latest release 2.0.0 introduces a microservice architecture with independent training, inference, agent, and weight-update services, along with Hermes online RL loop and SWE RL training examples.
How it works
The project separates components into services: training, inference, agent, and weight update. It ships with an Hermes online RL loop and various examples for agentic RL workflows. The README outlines that it supports fully asynchronous training and offers configurations for different backends (e.g., local scheduler or Ray cluster). The codebase includes training scripts that automatically download required datasets (openai/gsm8k) and models (Qwen/Qwen2-1.5B-Instruct).
Getting started
Getting started guidance is provided under Getting Started. The installation steps include cloning the repo, installing uv, and installing a prebuilt flash-attn wheel to avoid compilation from source. Commands quoted exactly:
git clone https://github.com/areal-project/AReaL
cd AReaL
pip install uv
# Install flash-attn pre-built wheel first to avoid compiling from source
# (pick the wheel matching your Python version; see https://github.com/mjun0812/flash-attention-prebuild-wheels/releases)
uv pip install "https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/download/v0.7.16/flash_attn-2.8.3+cu128torch2.9-cp312-cp312-linux_x86_64.whl"
uv sync --extra cuda # installs training packages + SGLang (default inference backend)
# For vLLM instead: cp pyproject.vllm.toml pyproject.toml && cp uv.vllm.lock uv.lock && uv sync --extra cuda
python3 examples/math/gsm8k_rl.py --config examples/math/gsm8k_grpo.yaml scheduler.type=local
python3 examples/math/gsm8k_rl.py --config examples/math/gsm8k_grpo.yaml \
cluster.n_nodes=2 cluster.n_gpus_per_node=8 \
cluster.fileroot=/path/to/nfs \
scheduler.type=ray
It also points to a quickstart guide for comprehensive setup instructions.
Recent releases
- v2.0.0 (2026-07-01): Micro-service Architecture with training, inference, agent, and weight-update services; Hermes online RL loop and end-to-end SWE RL training examples.
- v1.0.4 (2026-05-07): fix: FSDP initialization for set-valued wrap class names; chore: move figures into assets/figures and add comm
- v1.0.3 (2026-04-16): docker runtime updates (openclaw, ironclaw, zeroclaw, nanobot-ai) and add Agent service
- v1.0.2 (2026-03-17): Release Note text
- v1.0.1 (2026-03-04): Release Note text about docker dependency fix and documentation/testing enrichment
Traction
- Stars: 5639
- Forks: 573
- Open issues: 110
Caveats
- License: Apache-2.0
- Created: 2025-02-24
- Last push: 2026-08-04
- Language: Python
- Topics include agent, llm, llm-agent, llm-reasoning, machine-learning-systems, mlsys, reinforcement-learning, rl






