Minecraft Agent — Qwen3.5-9B Stage3 (Text-Action)

A vision-language agent for Minecraft that plays from raw first-person pixels and outputs structured text actions. Fine-tuned from Qwen3.5-9B (stage2 → stage3) on 200k+ human gameplay trajectories (6M frames, 20 FPS, 640×360) converted to a text-action format.

Recipe (Stage 3)

Component Value
Base Qwen3.5-9B (stage2)
Data minecraft-text-action-dataset-noop-filtered — 92.85% of the raw dataset after removing 7.15% pure no-op collapse trajectories
KEEP_NO_OP_P (no-op frame drop) 0.2 (drop 80% of no-op frames at data level)
Focal loss decay = 0.75 (down-weights repeated consecutive actions)
Steps 3000 (this checkpoint)

Evaluation

Benchmark: easy-ng — 202 non-GUI tasks (153 Embodied mine_block + 49 Combat kill_entity) × 3 rollouts, difficulty = easy, 200-step episodes, seed=42.

Inference history window Success rate Embodied Combat
3 frames (default) 15.0% 17.9% 6.2%
29 frames (matches training context) 24.9% 24.8% 25.2%

GUI tasks (crafting/smelting/interaction) are out of scope: all text-action models score 0% on them (no interface-coordinate grounding in this action space).

Action format

The model consumes a sliding window of frames (recommend 29 history + 1 current) and emits:

Action: move(dx, dy) and press(keys...) [and click(button)]

e.g. Action: move(0.5, -0.3) and press(w), Action: move(0, 0) and press() and click(left).

The first user turn carries the system prompt + task instruction; subsequent turns are image-only user messages alternating with assistant actions.

Usage

# vLLM (tested with vllm 0.8.5, transformers >= 5.15 required for Qwen3.5)
vllm serve EmberJin/Minecraft-Agent-Qwen3.5-9B-Stage3 \
  --limit-mm-per-prompt '{"image": 30}' \
  --enable-prefix-caching \
  --max-model-len 32768
from transformers import AutoModelForImageTextToText, AutoProcessor
model = AutoModelForImageTextToText.from_pretrained(
    "EmberJin/Minecraft-Agent-Qwen3.5-9B-Stage3", torch_dtype="bfloat16"
)
processor = AutoProcessor.from_pretrained("EmberJin/Minecraft-Agent-Qwen3.5-9B-Stage3")

Notes

  • Checkpoint: checkpoint-3000 of run minecraft-sft-stage3-qwen35-9b-nf-noop2 (single seed)
  • Optimizer states removed (weights only, single model.safetensors)
  • The 29-frame window result exploits the 30-step trajectory segments used in training; enable prefix caching to keep rollout speed comparable to short windows
Downloads last month
-
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for EmberJin/Minecraft-Agent-Qwen3.5-9B-Stage3

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(741)
this model

Space using EmberJin/Minecraft-Agent-Qwen3.5-9B-Stage3 1