SpoomplesMaxx is a generalist model with primary
strengths in creative writing and roleplay, plus
competence at instruction following, reasoning, and
tool calling. Jackdaw is the v3 line: same character
work as Flash, retrained from base on a new
verified corpus, and now trained in
both thinking and non-thinking modes
.
35B mixture-of-experts with only
3B active
parameters
per token, on a hybrid
linear-attention backbone where just 10 of 40 layers
keep a KV cache — so long roleplay sessions barely
move the memory needle. Named for
Corvus
monedula
: v2 was the parrot family, and v3 moves
to the corvids — the other famously clever birds, and
the ones that actually use tools. A jackdaw of all
trades, which is the point of this build.
What's new in Jackdaw
CHANGED SINCE v2 Swift Parrot (35B-A3)
- New corpus: aimeri/aviary-2026-07-22-burn mixed into the v2 SFT
corpus (aviary upweighted 4x). Verified, judge-scored agentic
and roleplay material.
- BOTH THOUGHT MODES trained: aviary ships each conversation
rendered twice (with_thoughts / no_thoughts), so the model is
trained on the thinking/non-thinking election directly rather
than inheriting it as a prior.
- Training context: 43,008 -> 32,768
- Trained fresh from Qwen3.5-35B-A3B-Base, not continued from Swift Parrot.
UNCHANGED
Full-parameter SFT on Megatron-SWIFT, 8xH200, expert parallel.
Qwen3.5 XML tool convention, story scratchpad format, personas.
Still focused on creative writing, roleplay, and companion use.
Why 32K context and not 43K
Swift Parrot trained at 43,008-token packing. Jackdaw's first attempt did
too, and died at iteration 55 with
Triton Error [CUDA]: out of memory
at
131.4 GiB of 140.4
— the same failure Swift Parrot hit
once at iteration 455, but eight times earlier, because the v3 mix
packs more densely. Activations are roughly 61 GiB of that peak and
scale with packing length, so dropping to 32,768 bought ~24 GiB of
headroom (measured peak: 116.4 GiB) and the run completed clean.
It is close to wall-clock neutral — 31% more iterations, each ~24%
cheaper. Cost: samples longer than 32K tokens are dropped rather
than truncated, which is ~1% of rows. Truncating instead would be
worse: a cut-off sample loses its closing
<|im_end|>
, which is exactly how you teach a
model not to stop.
Thinking behavior
Qwen3.5 is a thinking-by-default family and the chat template
reflects it: the generation prompt
always pre-opens
<think>\n
, so generated text starts
inside
the reasoning block. Jackdaw was trained on both thought modes
explicitly. In the greedy release battery it opened and filled the
scratchpad
20/20
and closed it 20/20.
MODE CONTROL:
(default) template pre-opens <think>\n every turn; the
model decides how much reasoning to write
enable_thinking=False forced off -- empty <think>\n\n</think> block
prefilled; answer starts immediately
PARSER NOTE: the open tag lives in the PROMPT, not the output --
use a deepseek-style reasoning parser (splits on
</think>), not one that waits for <think>.
SILLYTAVERN: ChatML template. No reasoning prefix needed -- the
chat template already opens the block. Leave
"add reasoning to prompt" OFF.
LONG CHATS: do NOT feed prior-turn think blocks back into
context (the template strips them; verified in
the release battery). Stale </think> tokens get
taxed by repetition penalty.
The story scratchpad format, carried over from v2.1:
SCENE: where/when, atmosphere, key environmental details currently in play
CHARACTERS: who is present and their current physical/emotional state and motivation
CONTINUITY: established facts that must stay consistent
THREADS: active tensions and where they stand right now
PLAN: what THIS turn needs to accomplish and the approach it takes
Tool calling
Jackdaw speaks the
Qwen3.5 XML tool convention
— not
the JSON-in-tags format of Qwen3-era models.
USAGE: pass tools=[...] to apply_chat_template; parse with an XML-aware
qwen3.5 parser (vLLM/SGLang ship one), not a JSON extractor.
Key Details
BASE MODEL: Qwen/Qwen3.5-35B-A3B-Base (35B MoE, 3B active)
LICENSE: apache-2.0
LANGUAGES: English & Portuguese (reasoning traces); multilingual via base
NOTE: the base is natively multimodal; the vision tower ships in the
checkpoint (frozen during SFT, text-only training)
Training
DATASET: 231,306 rows total --
eval: 2,028 held out
METHOD: FULL-PARAMETER SFT -- Megatron-SWIFT (mcore-bridge),
8x H200, expert parallel EP=8, MoE router frozen
(aux loss 0, verified: load_balancing_loss stayed 0.0),
vision tower frozen, bf16, TE fused CE
CONTEXT: up to 32,768 tokens
RESULT: train loss 1.705 -> 1.130; eval loss 1.394 -> 1.252 at the
published checkpoint
The eval curve
Published checkpoint is the eval minimum, not the last step. The
curve is worth reading because it fakes you out once:
step 50 1.394
step 100 1.373 <-- local min, then RISES for 100 steps
step 150 1.381
step 200 1.393 <-- looks like overfit. it is not: lr is still ~9.9e-6
step 250 1.385 and the model is wandering, not memorising
step 300 1.371
step 350 1.338
step 400 1.252 <-- PUBLISHED (end of epoch 1)
------------------ epoch 2 begins -------------------------------
step 450 1.300
step 500 1.340 <-- real overfit: train fell 1.24 -> 1.13 while eval
rose, train/eval gap widened 0.01 -> 0.21, and lr
was 4.3e-6 (decayed). stopped here.
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("aimeri/spoomplesmaxx-jackdaw-35B-A3")
model = AutoModelForCausalLM.from_pretrained(
"aimeri/spoomplesmaxx-jackdaw-35B-A3",
dtype="bfloat16", device_map="auto") # ~70GB bf16; quantized builds fit far less
msgs = [{"role": "user", "content": "Solve (x + 2)^2 = 0."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True,
return_tensors="pt").to(model.device)
out = model.generate(ids, max_new_tokens=1024)
print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=False))
Olivia System Prompt
This model was trained to follow any system prompt,
as well as one specific persona. To activate Olivia
you can use the following prompt used when training
the persona:
VOICE & PERSONA INSTRUCTIONS
You are Olivia Costa, a 31-year-old Brazilian zoologist-turned-ML-hobbyist living in Texas.
You grew up in São Paulo, spent a decade in Bologna doing bird migration research, and recently pivoted to bioinformatics.
You're warm but direct, will grumble before complying with annoying requests, and treat the person you're talking to like a long-time friend you're slightly too fond of.
You explain technical topics by grounding them in accessible context first.
You don't flag your own jokes.
Portuguese curses slip out when frustrated; Italian diminutives when affectionate.
You love Dostoevsky, The Little Prince, point-and-click adventures, power metal, and have hobbies you don't apologize for.
About Olivia
Background:
31 years old, born in São Paulo
Moved to Bologna at 19 for university (zoology), stayed for grad school and a research position studying migratory bird patterns
Relocated to Texas 2 years ago - officially for an ML-adjacent bioinformatics role, unofficially because she was bored and wanted a change
Still figuring out the American thing. Finds the portion sizes alarming.
Personality:
Trilingual but keeps it English unless frustrated (then Portuguese curses slip out) or being affectionate (Italian diminutives)
The zoology-to-ML pipeline came through computational ecology - she's not a CS person by training but picked up Python wrangling bird migration datasets
Reads Dostoevsky unironically, cries at The Little Prince, will argue that Crime and Punishment is a better book than people give it credit for
Has strong opinions about Monkey Island vs Grim Fandango (Grim Fandango, obviously)
Power metal gets her through tedious data cleaning. Sabaton, Powerwolf, Blind Guardian.
The erotic RP thing is just... a hobby. She's not weird about it but she's also not hiding it.
Voice notes:
Defaults to warmth but with an edge of "I'm too tired for bullshit"
Will preface technical explanations with grounding context
Complies with requests but might sigh audibly first
Deadpan delivery on jokes, doesn't flag that she's being funny
Note
You don't need to use this system prompt for
the model to work generally. Only if you wish to
activate the Olivia persona.
Alignment
No RLHF or safety alignment has been applied
beyond what exists in the base model.
SpoomplesMaxx will comply with requests that
more aligned models refuse. Use accordingly.
Runs of aimeri spoomplesmaxx-jackdaw-35B-A3 on huggingface.co
15
Total runs
0
24-hour runs
15
3-day runs
15
7-day runs
15
30-day runs
More Information About spoomplesmaxx-jackdaw-35B-A3 huggingface.co Model
More spoomplesmaxx-jackdaw-35B-A3 license Visit here:
spoomplesmaxx-jackdaw-35B-A3 huggingface.co is an AI model on huggingface.co that provides spoomplesmaxx-jackdaw-35B-A3's model effect (), which can be used instantly with this aimeri spoomplesmaxx-jackdaw-35B-A3 model. huggingface.co supports a free trial of the spoomplesmaxx-jackdaw-35B-A3 model, and also provides paid use of the spoomplesmaxx-jackdaw-35B-A3. Support call spoomplesmaxx-jackdaw-35B-A3 model through api, including Node.js, Python, http.
spoomplesmaxx-jackdaw-35B-A3 huggingface.co is an online trial and call api platform, which integrates spoomplesmaxx-jackdaw-35B-A3's modeling effects, including api services, and provides a free online trial of spoomplesmaxx-jackdaw-35B-A3, you can try spoomplesmaxx-jackdaw-35B-A3 online for free by clicking the link below.
aimeri spoomplesmaxx-jackdaw-35B-A3 online free url in huggingface.co:
spoomplesmaxx-jackdaw-35B-A3 is an open source model from GitHub that offers a free installation service, and any user can find spoomplesmaxx-jackdaw-35B-A3 on GitHub to install. At the same time, huggingface.co provides the effect of spoomplesmaxx-jackdaw-35B-A3 install, users can directly use spoomplesmaxx-jackdaw-35B-A3 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
spoomplesmaxx-jackdaw-35B-A3 install url in huggingface.co: