Snowflake Agent World Model (AWM)

Multi-Agent Systems 💻 Python 🟡 Quiet lately
446 stars

Agent World Model (AWM) is a fully synthetic environment generation pipeline that creates 1,000 executable, SQL database-backed tool-use environments exposed via a unified MCP interface for large-scale multi-turn agentic reinforcement learning. It solves the problem of scarce, costly real-world environments for training and evaluating AI agents. It is for researchers and developers working on agentic RL, tool-use agents, and synthetic data generation.

✨ Key features

  • Synthesizes 1,000 executable SQL database-backed environments
  • Unified MCP interface for tool-use agents
  • Generates tasks, database schemas, sample data, and API specs
  • Includes verification via code-augmented LLM-as-a-Judge or code-based Judge
  • Provides CLI for synthesis, environment management, and agent runs
  • Supports benchmarking on BFCLv3, tau2, and MCP-Universe

🎯 Use cases

  • Training agentic RL models on diverse synthetic environments
  • Evaluating tool-use agents on multi-turn tasks
  • Generating custom environments for testing agent behavior
  • Benchmarking agents against standard tool-use benchmarks

📦 Installation

🧰 Requirements: Requires Python environment with uv, LLM API credentials (OpenAI or Azure), and optionally vLLM for serving models.

Clone the repository and setup environment
uv sync
Set LLM API credentials (example for OpenAI)
export AWM_SYN_LLM_PROVIDER="openai"
export OPENAI_API_KEY="your-api-key"
Optional: custom base URL
export OPENAI_BASE_URL="http://xxxxxx"

For Azure OpenAI:

export AWM_SYN_LLM_PROVIDER="azure"
export AZURE_ENDPOINT_URL="https://your-endpoint.openai.azure.com/"
export AZURE_OPENAI_API_KEY="your-api-key"

Optionally set the model for synthesis:

export AWM_SYN_OVERRIDE_MODEL="your-model-name"

🚀 Usage

Download pre-generated environments (optional)
hf download Snowflake/AgentWorldModel-1K --repo-type dataset --local-dir ./outputs/
Start an environment (example scenario)
awm env start --scenario e_commerce_33 --envs_load_path outputs/gen_envs.jsonl --port 8001
Run an agent to solve a task
awm agent \
    --task "show me the top 10 most expensive products" \
    --mcp_url http://localhost:8001/mcp \
    --api_url http://localhost:8000/v1 \
    --model Snowflake/Arctic-AWM-4B

❓ FAQ

How do I generate my own environments?

Use the awm gen commands to run the synthesis pipeline: scenario, task, db, sample, spec, env, and verifier. See the Synthesis section for detailed steps.

What verification modes are available?

Two modes: sql (code-augmented LLM-as-a-Judge) and code (purely code-based Judge). Use awm gen verifier --mode sql or --mode code.

Can I use pre-generated environments without running synthesis?

Yes, download the AgentWorldModel-1K dataset from HuggingFace and use awm env start and awm agent directly.

What LLM providers are supported for synthesis?

OpenAI and Azure OpenAI are supported. Set environment variables as shown in the Setup section.

📊 Repository

Stars★ 446
Forks🍴 49
Open issues🐛 5
Last commit🕒 May 28, 2026
Created📅 Feb 2026
Language💻 Python

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.