Tess-4-9B

Reasoning that scales with the problem โ€” now in a 9B footprint. An agentic, thinking-native model that deliberates harder exactly when it matters and gets out of its own way when it does not.

Tess-4-9B is the compact sibling of Tess-4-27B, built on Qwen/Qwen3.5-9B-Base by Migel Tissera. It was post-trained on the same deliberate blend as the 27B release: 64K-token long-context agentic traces โ€” real engineering work done with Fable-5, not synthetic generations โ€” with a reasoning style approximated from Fable-5 by a three-model teacher ensemble (Opus-4.8, GPT-5.5, and GLM-5.2) fused into one coherent voice.

The result is a 9B model with a much larger model's working style: form a hypothesis, act, verify, and spend real reasoning effort on the turns that deserve it โ€” not a model that narrates its way to an answer it already had.


Evaluation results

Tess-4-9B evaluation results compared with Qwen3.5-9B-Base and Qwythos-9B

A 9B model that decisively moves the base. Across the six reported metrics, Tess-4-9B improves on Qwen3.5-9B-Base every time:

  • MMLU: 79.4%, up 56.2 points over the base and 21.9 points over Qwythos-9B.
  • GSM8K: 88.0% in both flexible and strict scoring; strict accuracy is up 37 points over the base.
  • GPQA Diamond: 62% at a 24K generation cap, reaching 73% with extended context.
  • ARC-Challenge: 58.0% accuracy and 53.0% normalized accuracy.

The comparison includes Qwen3.5-9B-Base, Qwythos-9B, and Tess-4-9B. Scores are accuracy on a 0โ€“1 scale in the chart. For GPQA, the solid Tess segment is the complete 24K-cap run (62%); only samples that exhausted that cap were retried at 48K, producing the lighter extension to 73%.

Why Tess-4 is different

  • ๐Ÿง  Weight-scaled reasoning. Tess-4 keeps routine steps tight and pours deliberation into the hard ones โ€” planning, debugging, synthesis, and judgment calls. It does not ramble; it thinks proportionally to the difficulty of the moment.
  • ๐Ÿ› ๏ธ Agentic by design. Native, parallel tool use and disciplined multi-step problem solving. It reads a codebase, builds a real mental model, and acts on it.
  • ๐Ÿ“ Long-context, trained at 64K. Post-trained on 64K-token long-context agentic traces, so it can hold a large working set without losing the thread.
  • ๐Ÿ‘๏ธ Multimodal. Inherits Qwen3.5's vision tower โ€” text and image in.
  • ๐Ÿค Honest, not sycophantic. Trained to give grounded, evidence-based pushback instead of flattery.
  • โšก A practical 9B footprint. Full BF16 weights are about 19 GB, making the model substantially easier to deploy and iterate with than its 27B sibling.

The reasoning traces

Tess-4's signature is how it thinks. The reasoning/thinking traces used to train it were a best-case approximation of Fable-5, produced by Opus-4.8, GPT-5.5, and GLM-5.2 working together as a team โ€” a multi-model teacher ensemble distilled into a single, coherent reasoning style.

The result is a model that reasons prospectively โ€” predicting, verifying, and weighing alternatives before acting โ€” rather than narrating after the fact.

Prompt format and thinking

Tess-4 uses the bundled Qwen3.5-family agentic chat template with explicit <think> โ€ฆ </think> reasoning blocks. The model reasons first, then produces its visible answer:

<|im_start|>user
Your prompt here<|im_end|>
<|im_start|>assistant
<think>
โ€ฆ the model's private reasoning โ€ฆ
</think>

โ€ฆ the model's answer โ€ฆ<|im_end|>

Apply the format automatically with tokenizer.apply_chat_template(messages, add_generation_prompt=True). Keep the repository's bundled chat template intact; substituting a generic template can materially change behavior.

Tess-4-9B is a heavy reasoner on difficult questions. For demanding math, science, or agentic tasks, allow a generous generation budget. Some GPQA samples required more than 24K output tokens and benefited from a 48K cap.

Available formats

This repository โ€” full-precision weights:

Format Parameters Approximate size Best for
BF16 safetensors 9.65B 19.3 GB transformers ยท vLLM ยท SGLang

GGUF builds โ†’ migtissera/Tess-4-9B-GGUF

File Format Size Best for
Tess-4-9B-Q4_K_M.gguf Q4_K_M 5.63 GB recommended for most local users
Tess-4-9B-Q6_K.gguf Q6_K 7.36 GB excellent quality/size balance
Tess-4-9B-Q8_0.gguf Q8_0 9.53 GB effectively lossless for most use cases
Tess-4-9B-F16.gguf F16 17.92 GB unquantized GGUF ยท maximum fidelity

Quickstart

llama.cpp / LM Studio (GGUF)

Run the recommended Q4_K_M build directly from Hugging Face with a recent llama.cpp:

llama-cli \
  -hf migtissera/Tess-4-9B-GGUF:Q4_K_M \
  --jinja \
  -c 65536 \
  -p "Inspect this code, identify the root cause, and propose a verified fix."

Or download it first:

hf download migtissera/Tess-4-9B-GGUF \
  Tess-4-9B-Q4_K_M.gguf \
  --local-dir ./tess-4-9b

See the Tess-4-9B-GGUF model card for every quant, llama.cpp server commands, memory guidance, and prompt-format details. The current GGUF release contains text-model files only; use this full-precision repository for the inherited vision path.

Transformers

Use a recent transformers release with Qwen3.5 support.

from transformers import AutoProcessor, AutoModelForImageTextToText
import torch

model_id = "migtissera/Tess-4-9B"

processor = AutoProcessor.from_pretrained(
    model_id,
    trust_remote_code=True,
)
model = AutoModelForImageTextToText.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
    trust_remote_code=True,
)

messages = [
    {
        "role": "user",
        "content": "Inspect this function, identify the bug, and propose a verified fix.",
    }
]

inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=8192,
    do_sample=False,
)

prompt_tokens = inputs["input_ids"].shape[-1]
answer = processor.decode(
    outputs[0][prompt_tokens:],
    skip_special_tokens=True,
)
print(answer)

For multimodal input, pass image and text content through AutoProcessor using the standard Qwen3.5 message structure.

What it is good at

  • Agentic coding โ€” exploring unfamiliar repositories, planning changes, and executing multi-step work with tools.
  • Long-context work โ€” reasoning over large codebases and documents without dropping context.
  • Hard reasoning โ€” allocating substantial inference-time thought to math, science, debugging, and synthesis.
  • Technical and product judgment โ€” honest, structured analysis that pushes back with evidence rather than agreeing by default.
  • Local and single-GPU experimentation โ€” a strong reasoning profile in a much more deployable parameter class.

Credits

Tess-4-9B is built on Qwen/Qwen3.5-9B-Base by the Qwen team โ€” full credit to them for an outstanding base model. Tess-4 inherits its Qwen3.5 vision-language architecture and its Apache 2.0 license.

License

Released under the Apache License 2.0, inherited from the base model.

Citation

@misc{tissera2026tess49b,
  title        = {Tess-4-9B},
  author       = {Migel Tissera},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/migtissera/Tess-4-9B}},
  note         = {Built on Qwen/Qwen3.5-9B-Base}
}

Tess-4-9B โ€” part of the Tess series by Migel Tissera.

Downloads last month
84
Safetensors
Model size
10B params
Tensor type
BF16
ยท
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for migtissera/Tess-4-9B

Finetuned
(637)
this model
Merges
1 model
Quantizations
5 models