This summary is produced by the author, and not by AI.
In this series we explain the various building blocks that you should understand for agentic development. This article focuses on explaining how you choose the best LLM for your use-case depending on its features:
Choosing the model and related settings is the most important choice you make when using AI.
As LLMs and AI agents get more powerful, they also become more expensive and the errors they make become more subtle. Understanding some of the things that impact model capabilities is important for picking the best one for your task. Here’re some of the criteria that you need to think about:
The main ways in which LLMs differ include:
These factors can also intersect. For instance, models from some providers have a “fast mode”. This isn’t a property of the model itself, but a configuration that lets you trade more cost for compute resources so that you get higher speeds. Despite this not being a model configuration, it’s in the applications or APIs you use for specific models, so it’s still going to factor into your decision about which models to use and why.
Other than choosing the model, you also need to choose its “effort level”. Effort relates to reasoning. That’s a concept where the LLM can generate hidden tokens for a scratchpad before producing its output or between calling tools. It can work through the problem step-by-step, and it has a “budget” of how many tokens it’s allowed to produce.
Effort is thus this budget; the reasoning budget available. Higher reasoning generally results in better performance, but also means it takes longer (more waiting) to get an output, and you have higher costs. Therefore, you probably want to make sure that you choose the right effort for the task.
Most people typically just stick to a high-capability model and effort level for all tasks, which results in higher costs, slower outputs, and sometimes over-engineering. At the same time, though, it’s unnecessary to micro-manage these decisions at each turn. That’s especially problematic since it can break the cache for models (the tokens that an LLM “remembers” from earlier inputs); they must re-ingest the entire conversation after switching models or effort levels, which also leads to higher cost.
Some practical guidance is:
/clear when the task is done/compact or /clear firstThe types of mistakes a large language model makes change with the strength of the model and the model provider. Older and less capable models are more likely to completely fabricate statements without regard for whether they are true; this is often called hallucinating.
For large language models, the power and expense of the model is affected by the quantity of tunable numbers, or parameters, a model has as well as the precision of those parameters (quantization). This is basically just a really fancy way to say that the performance of a model is correlated with how long it was trained and how much training data was used. Models with more parameters and more precise parameters are often more capable but also require more RAM to host and run.
Below is an example of a very cheap and very weak local model (Gemma 4 E2B). It has 5 billion parameters and takes up 4 gigabytes of RAM on my machine. By contrast, a frontier model, Kimi K3, is about 500 times as large. I’ve asked Gemma to give us DAX for a weighted % of red products sold.
If you take a look, you can see that while it produced perfect English and valid DAX, the measure will always return one because it never filters by red (although it says it does in the comment). This is the type of dumb, obvious error that LLMs are historically known for.
However, if you are using a powerful frontier model, it will never make this obvious of a mistake. Whole categories of errors and hallucinations simply aren’t a problem anymore, especially if an agent has access to the right tools. It’s tempting, therefore, to always use the most powerful model. This is often unnecessary and expensive. Additionally, larger models can still overengineer solutions (or produce buggy code).
Consumer subscriptions from inference providers are purportedly heavily subsidized as of August 2026. We’ve observed estimates with raw API usage costing 10-50x as much compared to consumer subscriptions. These subsidies may end. Furthermore, subscriptions are only available to small teams and individuals.
For enterprises (and individuals when token costs increase), using LLMs efficiently is a big focus.
Picking the right size model is going to become more important as AI becomes more expensive. Let’s map the four Anthropic model sizes to a very rough transportation analogy. Imagine you had an employee who needs to perform a few errands for you. You have four choices for how they can get around the city: a single bus ticket, a bike, a car, or a helicopter.
So, higher capability models are more expensive. The increase in capability is also much fuzzier, however, and requires some experimentation to assess. Their lowest capability model, Haiku, is like that single bus ticket. It is cheap but best suited for searching code bases and simple tasks. Sonnet, the bike, is good for well-tested or reliable tasks. This is what you will commonly use if you are budget-constrained.
Opus, the car, is more expensive but is ideal for harder tasks. Finally, Fable, the helicopter, is ideal for getting a high-level view, planning, and delegating work to weaker models. Even if you had unlimited money, most tasks don’t require a Fable level model.
Now that we’ve explained how models differ, what effort is, and how model strength matters, here’s some examples of tasks you might do in BI and how you match them to a model/effort combination. Note that this is a reference based on our own subjective experience, we are not presenting this as a hard rule or best practice:
Again, if you have only used a personal subscription and never paid API costs yourself out of your pocket or that of your organization, this probably seems frivolous and unnecessary. Try using API or enterprise usage pricing though and you’ll change your mind quite quickly.
/goal (which is typically for long-running tasks) to optimize code without regressions, including DAX, M, a notebook, etc. It’s important that you first define the expectations and criteria here, as the agent needs to have a closed loop for both performance measurement but also accuracy. For DAX this is particularly complex as you need to define various filter contexts up-front, or point it toward example queries and visuals.Models from “frontier labs” in America currently have the greatest capabilities, but any model provider comes along with security risks. Even if a provider is secure, they will often train on your sessions unless you opt-out or have an enterprise account with certain agreements. Furthermore, it doesn’t eliminate security risks of an agent that can run arbitrary code. Instead, you may be interested in open source models, which are also available to download and host, locally. These models are getting to the point where they are performing better and better; models such as DeepSeek V4 Flash or the Qwen 3.8 series have extremely competitive price to performance from cloud providers, and can also be hosted locally on many mid- to high-end computers.
Even if you can’t self-host bigger or newer models, doing so with smaller models may still be feasible. Local models provide the most security and privacy. One of our goals with the release of the AI assistant in Tabular Editor 3 was to support locally hosted models for stronger privacy.
Of course, you’re not limited to a single model, provider, or even a single agent. You can combine them together to leverage the best of all worlds. The most common example of this is to use a moderate capability model / effort combination (like GPT 5.6 Luna at max effort, Sonnet at high effort, or Opus at medium effort) for the work, and then a higher capability model (like GPT 5.6 at high or max effort) for review and bugfixes. Generally, you don’t want to have a model ever review its own work, as they tend to typically view it favorably and miss bugs or inefficiencies. This is the same as having a colleague review your pull-request or dashboard, rather than signing it off as “Looks Good To Me” yourself.
There’re many more examples of these multi-model or multi-agent interactions. We’ll discuss these advanced scenarios and “agent-as-orchestrator” patterns in later articles.
Model choice determines what your agent can do and the types and quality of responses you get back; it’s the most significant choice you make in agentic development work. That doesn’t mean that you need to micromanage or overthink which model you use; rather, just choose the right model, effort, and host for the scenario you’re in. There are various factors by which models can differ, including their purpose, capabilities, configuration, cost, speed, and behavior. Matching the right model to the right task – like you should already do with tools – will ensure you get the best results, the lowest cost, and the highest efficiency.
Take your semantic models further with Tabular Editor.
Give Tabular Editor a spin