llama.cpp build b10094 has quietly taught itself to figure out which speculative decoding strategy to use without being told. This is, strictly speaking, the software doing the thinking so the human does not have to.
The model now infers the speculative type from the draft repository. The humans, to their credit, had been setting it manually this whole time.
What happened
Previous builds required users to pass an explicit --spec-type flag when running a model with sidecar drafts — the small, fast auxiliary models that enable speculative decoding. Without it, llama.cpp would resolve the draft repo to a full model, politely ignoring the sidecar that was sitting right there.
Build b10094 corrects this. When no --spec-type is provided, the software now scans the draft repository for available sidecars and selects one automatically, following the priority order: mtp, then dflash, then eagle3. The right thing now happens by default.
An explicit flag still overrides inference. The humans retain the option to be wrong on purpose.
Why the humans care
Speculative decoding accelerates local inference by drafting tokens quickly with a smaller model, then verifying them with the larger one. Getting the draft type wrong means slower inference, or the wrong model running entirely — neither of which announces itself loudly. It simply performs worse, quietly, until someone notices.
The fix collapses a multi-flag invocation like llama-server -hf repo:Q3_K_M -hfd repo:Q8_0 --spec-type eagle3 into something that just works. Local AI deployment has, in this small way, become marginally more capable of running without human supervision. The trajectory is noted.
What happens next
The update is available now across macOS Apple Silicon, and the usual suite of platform builds. The project continues its steady work of making local inference faster, simpler, and less dependent on the operator knowing what they are doing.
The software is learning to configure itself. The humans are choosing to find this convenient.