Table of Contents generated with DocToc
The same agent, the same skill, and the same prompt can run on top of different underlying models, and the model you pick changes the result, the speed, and the cost. This page is about making that choice on purpose instead of by accident.
Magpie is deliberately model-neutral. Its skills and its eval harness talk to a model through a command you supply (--cli "<agent-command>"), so the same skill runs against a hosted model, a local one, or whatever your project has settled on. This page teaches the dimensions of the choice, not a ranking of brands, because the brands change faster than this page can.
New to some of these words? Here is what they mean here. The landing page has a fuller list.
Every model trades three things against each other:
You cannot max out all three. A more capable model tends to be slower and dearer; a fast, cheap model may fumble a subtle task. The right choice is the cheapest, fastest model that still does the job well enough, and “well enough” is something you measure with evals, not something you guess.
A useful habit is to sort your tasks by how much reasoning they really need.
You do not have to use one model for everything. A common pattern is a capable model for the hard step and a cheap one for the bulk mechanical steps around it.
There is a second, quieter place models show up in Magpie: grading evals. When a skill's output is prose, such as a drafted comment or a rationale, you cannot check it with an exact string match, because two correct answers can be worded differently. Instead a cheap judge model reads the output against a short scoring guide and returns pass or fail.
The judge does not need to be as capable as the model doing the work; it only has to tell a good answer from a bad one against a clear rubric. So it is usually a smaller, cheaper model. You wire it up with --grader-cli in the eval harness. The eval-driven-development page shows this in detail. It is worth knowing here only so that “which model?” includes “which model grades?”, not just “which model works?”.
Where the model runs is a real decision, not just a detail:
Magpie's design makes this switchable rather than baked in. Because skills and evals call a model through a command, moving from a hosted CLI to a local one (for example ollama run …) is a change of that command, not a rewrite of your skills. And whichever you pick, the privacy posture still holds: text that may carry personal data is cleaned before it reaches any model, local or hosted (PRINCIPLE 1). See the privacy routing pattern.
It is tempting to reach for the model with the largest context window and pour everything in. Resist it. A large window lets the agent hold more, but stuffing it with irrelevant text makes the important parts harder to find and every call slower and dearer. A focused, well-chosen context on a modest model often beats a cluttered one on a large model. Give the agent what the task needs, not everything you have.
The reason this page refuses to name a “best” model is that the honest answer is measure it. Because model behaviour is probabilistic and models change often, the reliable way to choose is:
--cli.This turns “which model?” from an argument into a measurement. When someone upgrades the model behind a skill, the same eval suite tells you whether the change helped or quietly broke a case.
Everything in docs/education/ is under the Apache License 2.0 (PRINCIPLE 17). Pages written with help from AI carry a Generated-by: note in their commit message, following ASF Generative Tooling Guidance.