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 --trust-remote-codehttp://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}