What ARC-AGI-3 is
ARC-AGI-3 is an interactive reasoning benchmark. Each task is a hidden, playable game with no
instructions, no stated rules, and no stated goal. To succeed, an agent must explore the environment on
its own, figure out how it works, discover what winning looks like, and carry what it learns forward — on a
game it has never seen before. Scoring rewards not just winning but winning in as few actions as a
human (efficiency; per-game scores are capped at 100%).
What this model is for
The Naestro-AGI3 agent has two layers:
- Symbolic mechanic-class cascade — general, pixel-only, no-clone solvers, each gated by a mechanic
class signature (navigation, push, click / flood-fill, toggle, target-match, constraint, …). These
handle boards whose mechanic is recognized, and play them efficiently.
- Naestro-AGI3-27B (this model) — the reasoning fallback. Given a rendered game frame and the set of
available actions, it infers the likely goal / win-condition and proposes a short, efficient action
plan for boards where the symbolic layer abstains. This is the hard, open-ended core of ARC-AGI-3:
first-exposure goal inference with no dense reward signal to exploit.
The model is general by design — it reasons from the rendered frame, never from game identity. On the
ARC-AGI-3 competition gateway the only interface is the action API plus the rendered frame, so the agent
plays from pixels and actions alone, with no state cloning, no opening books, and no per-game hardcoding.
This generality is required: the public demo games can reappear in the private test set under different
names, so anything keyed to a specific game would not transfer.
Training
- Method: QLoRA (4-bit base), LoRA rank 16, fine-tuned on Qwen3.6-27B.
- Data: procedurally-generated ARC-AGI-3-style simulations (the STARGA "v3" corpus) spanning the
mechanic classes above, with goal / action-plan supervision.
- Objective: rendered frame → inferred goal + efficient action plan (reach the goal in few actions).
Deployment & inference (all supported paths)
This is a PEFT / LoRA adapter for Qwen/Qwen3.6-27B — load the base, then apply the adapter. The 4-bit
base fits on a single ~24 GB GPU; bf16 needs ~2×. Because the base is a VL model, use its documented
processor/auto-class where a snippet says so.
token with access.
- Google Colab — new notebook -> GPU runtime (A100 / L4 high-RAM for a 27B) ->
pip install -U transformers peft accelerate bitsandbytes -> run the step-1 snippet.
- Kaggle Notebooks (interactive) — attach a GPU (2xT4 / RTX 6000), add this adapter and the
Qwen/Qwen3.6-27B base as notebook inputs, run step 1. (Experimentation path — distinct from the offline competition submission in section 7.)
- SageMaker Studio Lab / any Jupyter — same
pip install + step-1 snippet on a GPU kernel.
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_id = "Qwen/Qwen3.6-27B"
model = AutoModelForCausalLM.from_pretrained(base_id, torch_dtype="auto", device_map="auto")
model = PeftModel.from_pretrained(model, "star-ga/naestro-agi3-27b")
tok = AutoTokenizer.from_pretrained(base_id)
2 · Merge to standalone weights (for stacks that want one model)
from transformers import AutoModelForCausalLM
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.6-27B", torch_dtype="auto")
merged = PeftModel.from_pretrained(base, "star-ga/naestro-agi3-27b").merge_and_unload()
merged.save_pretrained("naestro-agi3-27b-merged")
3 · High-throughput serving
- vLLM — serve the base with the adapter (
--enable-lora --lora-modules naestro=star-ga/naestro-agi3-27b) or the merged weights.
- Text Generation Inference (TGI) —
--model-id the merged weights (or base + LORA_ADAPTERS), OpenAI-compatible endpoint.
4 · Hugging Face hosted
- Inference Endpoints — dedicated GPU endpoint; a custom handler loads base + adapter (or deploy merged weights).
- Spaces — a GPU Gradio/Streamlit demo.
- Serverless Inference API — available.
5 · Cloud
- Google Cloud — Vertex AI (custom container / Model Registry), GKE with vLLM/TGI, or a GCE GPU VM (L4 / A100).
- AWS — SageMaker (HF DLC) or an EC2 GPU instance (g5 / p4).
- Azure — Azure ML managed online endpoint or an NC-series GPU VM.
6 · Local / quantized
- Local GPU / RunPod — 4-bit on a single ~24 GB GPU (RTX 6000 / A40); this is what we use for the offline 1:1 evaluation.
- llama.cpp / Ollama (GGUF) — merge (step 2), convert to GGUF, run quantized on CPU/GPU. (Multimodal support in GGUF stacks varies by base.)
7 · Kaggle (the competition target)
Bundled offline as a private dataset and loaded inside the submission notebook — internet disabled,
≤ 9 h run-time, RTX 6000 / 2×T4. This is the deployment that matters for ARC-AGI-3.
Intended use & limitations
- Intended use: the ARC-AGI-3 offline agent — first-exposure, pixel / frame-only, no-clone, general.
- Limitations: trained on synthetic simulations; first-exposure generalization to genuinely novel
hidden games is the unsolved core of ARC-AGI-3. This model is a fallback reasoner, not a guaranteed
solver.
- Out of scope: general chat / assistant use. It is specialized for ARC-AGI-3 frame reasoning.
License & attribution
- This adapter is released under Apache-2.0, inheriting from its base model.
- Base model: Qwen/Qwen3.6-27B © the Qwen team, Apache-2.0. This adapter requires the base model and
is subject to the base model's license.
Citation
@misc{starga2026naestroagi3,
title = {Naestro-AGI3-27B: goal-inference and planning for ARC-AGI-3},
author = {STARGA, Inc.},
year = {2026},
note = {QLoRA adapter on Qwen3.6-27B; ARC Prize 2026 -- ARC-AGI-3}
}