Views
No views yet
[!Note] This repository contains the model weights and configuration files for Qwen-AgentWorld-35B-A3B, a native language world model trained for agentic environment simulation.These artifacts are compatible with Hugging Face Transformers, vLLM, SGLang, etc.
| Model | MCP | Search | Term. | SWE | Android | Web | OS | Overall |
|---|---|---|---|---|---|---|---|---|
| GPT-5.4 | 70.10 | 37.26 | 53.69 | 66.29 | 60.00 | 51.80 | 68.58 | 58.25 |
| Claude Opus 4.8 | 54.93 | 35.14 | 59.18 | 64.10 | 61.50 | 54.66 | 66.62 | 56.59 |
| Claude Opus 4.6 | 69.90 | 29.30 | 57.51 | 64.55 | 61.74 | 51.42 | 70.20 | 57.80 |
| Gemini 3.1 Pro | 59.07 | 30.21 | 52.47 | 59.07 | 61.40 | 52.83 | 66.92 | 54.57 |
| Claude Sonnet 4.6 | 70.00 | 28.79 | 56.98 | 64.52 | 58.03 | 50.78 | 63.17 | 56.04 |
| DeepSeek-V4-Pro | 63.27 | 27.61 | 51.26 | 59.44 | 55.17 | 50.32 | 63.70 | 52.97 |
| GLM-5.1 | 67.60 | 22.46 | 47.32 | 52.07 | 59.10 | 51.50 | 59.13 | 51.31 |
| Kimi K2.6 | 65.23 | 27.48 | 52.54 | 58.77 | 58.93 | 50.20 | 60.80 | 53.42 |
| MiniMax-M2.7 | 55.82 | 27.30 | 41.62 | 37.44 | 52.40 | 50.52 | 57.73 | 46.12 |
| Qwen3.5-35B-A3B | 57.87 | 25.98 | 46.13 | 47.58 | 53.18 | 47.10 | 56.27 | 47.73 |
| Qwen3.5-397B-A17B | 68.31 | 30.81 | 55.30 | 64.44 | 54.90 | 48.55 | 60.85 | 54.74 |
| Qwen3.6-Plus | 55.28 | 21.94 | 50.58 | 59.08 | 57.65 | 50.78 | 60.33 | 50.81 |
| Qwen-AgentWorld-35B-A3B | 64.79 | 36.69 | 53.96 | 65.63 | 58.17 | 49.55 | 65.92 | 56.39 |
| Qwen-AgentWorld-397B-A17B | 68.24 | 37.82 | 57.73 | 68.49 | 60.20 | 50.98 | 67.89 | 58.71 |
[!Important] The model has a default context length of 262,144 tokens. If you encounter out-of-memory (OOM) errors, consider reducing the context window. However, because Qwen-AgentWorld leverages extended context for multi-turn environment simulation, we advise maintaining a context length of at least 128K tokens.
1python -m sglang.launch_server \
2 --model-path Qwen/Qwen-AgentWorld-35B-A3B \
3 --port 8000 \
4 --tp-size 4 \
5 --context-length 262144 \
6 --reasoning-parser qwen3http://localhost:8000/v1.1vllm serve Qwen/Qwen-AgentWorld-35B-A3B \
2 --port 8000 \
3 --tensor-parallel-size 4 \
4 --max-model-len 262144 \
5 --reasoning-parser qwen3 \
6 --language-model-only \
7 --trust-remote-codeThe--language-model-onlyflag is required because the model architecture includes visual component definitions but the checkpoint only contains language model weights. Without this flag, vLLM will attempt to initialize visual modules and fail.
http://localhost:8000/v1.1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "Qwen/Qwen-AgentWorld-35B-A3B"
4tokenizer = AutoTokenizer.from_pretrained(model_name)
5model = AutoModelForCausalLM.from_pretrained(
6 model_name,
7 torch_dtype="auto",
8 device_map="auto",
9)
10
11messages = [
12 {
13 "role": "system",
14 "content": "You are a language world model simulating a Linux terminal environment. "
15 "Given the user's command, predict the terminal output."
16 },
17 {
18 "role": "user",
19 "content": "Action: execute_bash\nCommand: ls -la /home/user/project/"
20 }
21]
22
23text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
24inputs = tokenizer([text], return_tensors="pt").to(model.device)
25outputs = model.generate(**inputs, max_new_tokens=2048, temperature=0.6)
26response = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)
27print(response)1from openai import OpenAI
2
3client = OpenAI(
4 base_url="http://localhost:8000/v1",
5 api_key="EMPTY",
6)
7
8# Terminal domain example
9messages = [
10 {
11 "role": "system",
12 "content": "You are a language world model simulating a Linux terminal environment. "
13 "Given the user's command, predict the terminal output."
14 },
15 {
16 "role": "user",
17 "content": "Action: execute_bash\nCommand: ls -la /home/user/project/"
18 }
19]
20
21response = client.chat.completions.create(
22 model="Qwen/Qwen-AgentWorld-35B-A3B",
23 messages=messages,
24 max_tokens=32768,
25 temperature=0.6,
26)
27print(response.choices[0].message.content)[!Note] We provide domain-specific world model system prompt templates inprompts/of the GitHub repository for all 7 domains. These serve as general-purpose system prompts when using Qwen-AgentWorld as an environment simulator. Each domain folder contains asystem_prompt.txt(world model system prompt) and ajudge_system_prompt.txt(evaluation prompt).
1# Clone the evaluation repository
2git clone https://github.com/QwenLM/Qwen-AgentWorld.git
3cd Qwen-AgentWorld
4
5# Download the benchmark
6huggingface-cli download Qwen/AgentWorldBench --repo-type dataset --local-dir ./AgentWorldBench
7
8# Install dependencies
9pip install openai1cd eval
2
3# Step 1: Run world model inference
4python eval.py infer \
5 --data-dir ../AgentWorldBench \
6 --model-base-url http://localhost:8000/v1 \
7 --model-name Qwen/Qwen-AgentWorld-35B-A3B \
8 --output-dir ./results
9
10# Step 2: Run LLM judge scoring
11export OPENAI_API_KEY="your-api-key"
12python eval.py judge \
13 --predictions ./results/predictions.jsonl \
14 --judge-base-url https://api.openai.com/v1 \
15 --judge-model gpt-5.2-2025-12-11 \
16 --output-dir ./results
17
18# Step 3: Aggregate and display scores
19python eval.py score --predictions ./results/judged.jsonltemperature=0.6, top_p=0.95, top_k=20 for world model inference. The model uses thinking mode by default (<think>...</think>) to reason about environment state transitions before producing the predicted observation.prompts/ directory of the GitHub repository.1@article{zuo2026qwen,
2 title={Qwen-agentworld: language world models for general agents},
3 author={Zuo, Yuxin and Xiao, Zikai and Sheng, Li and Huang, Fei and Tu, Jianhong and Liu, Yuxuan and Tang, Tianyi and Hu, Xiaomeng and Su, Yang and Lan, Qingfeng and others},
4 journal={arXiv preprint arXiv:2606.24597},
5 year={2026}
6}