<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>OpenSource on Carles Abarca</title><link>https://carlesabarca.com/tags/opensource/</link><description>Recent content in OpenSource on Carles Abarca</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Carles Abarca</copyright><lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://carlesabarca.com/tags/opensource/index.xml" rel="self" type="application/rss+xml"/><item><title>Stop Overpaying for Intelligence</title><link>https://carlesabarca.com/posts/stop-overpaying-for-intelligence/</link><pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate><guid>https://carlesabarca.com/posts/stop-overpaying-for-intelligence/</guid><description>The real AI cost lever of 2026 isn&amp;rsquo;t pricing. It&amp;rsquo;s deciding which tasks actually need a frontier model — and which ones a local LLM can do just as well for a fraction of the cost.</description><content:encoded>&lt;p&gt;The default behavior of most AI-powered products today is simple: when in doubt, call the frontier model.&lt;/p&gt;
&lt;p&gt;Every customer message classified by GPT-5. Every extraction task routed through Claude. Every prompt, no matter how trivial, handled by the same multi-trillion-parameter machine that was designed to reason about legal strategy, write pharmaceutical patents, and debug distributed systems.&lt;/p&gt;
&lt;p&gt;It works. It&amp;rsquo;s fast to integrate. It makes the product feel intelligent.&lt;/p&gt;
&lt;p&gt;And it is quietly becoming one of the most expensive habits inside the modern AI stack.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The Overpaying Default
 &lt;div id="the-overpaying-default" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-overpaying-default" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;A few weeks ago I wrote about &lt;a href="../cheap-ai-ending/" &gt;the end of cheap AI&lt;/a&gt; — the moment when subscription limits, rate caps, and honest inference costs finally started reflecting the real economics of frontier models. That&amp;rsquo;s the macro story.&lt;/p&gt;
&lt;p&gt;This is the micro story that sits underneath it.&lt;/p&gt;
&lt;p&gt;The reason so many companies are about to feel the squeeze is not only because frontier prices are rising. It&amp;rsquo;s because the typical architecture was built on a silent assumption: that there was no cost worth worrying about, so the best model should handle everything. That assumption is breaking down from two sides at once.&lt;/p&gt;
&lt;p&gt;From one side, frontier inference is getting more expensive, metered harder, and subsidized less.&lt;/p&gt;
&lt;p&gt;From the other side — and this is the part most roadmaps haven&amp;rsquo;t priced in yet — &lt;strong&gt;local and open-weight models have quietly become good enough for a very large share of real enterprise tasks&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;That combination changes the economics of AI more than any single product announcement this year.&lt;/p&gt;

&lt;h2 class="relative group"&gt;What Local Models Can Actually Do Now
 &lt;div id="what-local-models-can-actually-do-now" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-local-models-can-actually-do-now" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;A few years ago, &amp;ldquo;run your own LLM&amp;rdquo; meant a heroic engineering project, a clear downgrade in quality, and an infrastructure team that secretly missed the cloud.&lt;/p&gt;
&lt;p&gt;Today, it doesn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;The current generation of open-weight models — Llama, Qwen, Mistral, DeepSeek, Gemma, and their derivatives — has crossed capability thresholds that would have sounded like science fiction in 2023. A 70B-parameter open-weight model running on a single high-end workstation or a modest GPU instance now performs competitively on the benchmarks that mattered most to enterprises at the start of this cycle: general reasoning, code completion, summarization, extraction, translation, structured output.&lt;/p&gt;
&lt;p&gt;And it keeps getting better. Fast.&lt;/p&gt;
&lt;p&gt;This doesn&amp;rsquo;t mean frontier and open-weight are interchangeable. They are not. Frontier still pulls clearly ahead on long-context coherence, multi-step agentic planning, novel domain synthesis, and the hardest tiers of code generation.&lt;/p&gt;
&lt;p&gt;But what matters for an AI roadmap is not whether local models have caught up on everything. It is whether they are good enough on the specific tasks your system actually performs.&lt;/p&gt;
&lt;p&gt;And for most enterprise workloads in 2026, the answer is increasingly yes.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The Map Most AI Architectures Are Missing
 &lt;div id="the-map-most-ai-architectures-are-missing" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-map-most-ai-architectures-are-missing" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;If you look carefully at what happens inside most AI-powered applications, the workloads split cleanly into two groups.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tasks that genuinely need a frontier model:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Long-context reasoning across dozens of documents.&lt;/li&gt;
&lt;li&gt;Multi-step agentic planning over ambiguous goals.&lt;/li&gt;
&lt;li&gt;Complex code generation from scratch in unfamiliar domains.&lt;/li&gt;
&lt;li&gt;Creative synthesis that blends multiple expert voices.&lt;/li&gt;
&lt;li&gt;Handling highly adversarial or edge-case inputs that require real judgment.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tasks that almost certainly don&amp;rsquo;t:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Classifying an email, ticket, or document by type.&lt;/li&gt;
&lt;li&gt;Extracting entities, dates, and amounts from a text.&lt;/li&gt;
&lt;li&gt;Summarizing a page or two of content.&lt;/li&gt;
&lt;li&gt;Rewriting a paragraph in a different tone.&lt;/li&gt;
&lt;li&gt;Producing structured output (JSON, SQL) from plain text.&lt;/li&gt;
&lt;li&gt;Translating between major languages.&lt;/li&gt;
&lt;li&gt;Answering FAQs from a retrieval layer.&lt;/li&gt;
&lt;li&gt;Deterministic sub-steps inside a larger agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Most AI architectures treat these two groups the same way. They shouldn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;The job of any mature AI stack — and I use &amp;ldquo;mature&amp;rdquo; here in the adult-phase sense, as opposed to the sugar-rush phase of the last two years — is to route each task to the right tier. Frontier when it earns it. Open-weight when it doesn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;The word I&amp;rsquo;ve been using internally for this is &lt;strong&gt;task discrimination&lt;/strong&gt;. Not in the political sense — in the architectural one. The ability to recognize that different tasks deserve different intelligence budgets, and to design accordingly.&lt;/p&gt;

&lt;h2 class="relative group"&gt;It&amp;rsquo;s Not Just About Cost
 &lt;div id="its-not-just-about-cost" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#its-not-just-about-cost" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Cost is the most visible reason to care about task discrimination. It is not the only one.&lt;/p&gt;
&lt;p&gt;There are four other reasons that keep compounding the more deeply an organization uses AI.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Latency.&lt;/strong&gt; A local 8B or 13B model running next to your application can return a classification in under 100 milliseconds. A round-trip to a frontier cloud API is rarely that fast. For interactive experiences, user-facing agents, or high-frequency internal automations, that gap matters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Privacy and data residency.&lt;/strong&gt; Routing every customer email, patient chart, student record, or internal memo through a third-party model is a governance posture that is aging badly. Regulators have noticed. Boards have noticed. For an increasing number of use cases — health, education, legal, defense, government, and anything covered by local data protection regimes — local inference is not an optimization. It is a requirement.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reliability.&lt;/strong&gt; When your architecture depends on a single frontier provider, you also depend on their rate limits, their subscription restrictions, their outages, and their commercial roadmap. That is a level of systemic dependency that would raise eyebrows in any other part of the tech stack.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Determinism and control.&lt;/strong&gt; A smaller model you fully control, fine-tuned or prompt-tuned for a narrow task, often behaves more predictably than a generalist frontier model optimized to handle the entire universe. Predictability is underrated until it is missing.&lt;/p&gt;
&lt;p&gt;None of these points is, on its own, a reason to abandon frontier models. All of them together are a reason to stop defaulting to frontier models for everything.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The Numbers Are Not Subtle
 &lt;div id="the-numbers-are-not-subtle" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-numbers-are-not-subtle" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Let me illustrate with a simple scenario.&lt;/p&gt;
&lt;p&gt;Imagine a mid-sized organization running a million lightweight AI calls a month: a mix of classification, extraction, summarization, and structured output. Say the average call uses around a thousand tokens in and out.&lt;/p&gt;
&lt;p&gt;Routed through a top-tier frontier model, the inference bill for those calls lands comfortably in the tens of thousands of euros per month. Multiply by twelve, add growth, and this is the kind of line item that starts showing up in CFO reviews.&lt;/p&gt;
&lt;p&gt;The same workload, routed through a well-hosted open-weight model — either on-prem or on a dedicated GPU instance at a specialized provider — comes out an order of magnitude cheaper, sometimes two. And the quality difference, on precisely these task types, is typically invisible to end users.&lt;/p&gt;
&lt;p&gt;That is not a rounding error. That is the difference between AI being a sustainable operational capability and AI being a line item your CFO starts questioning at every forecast.&lt;/p&gt;
&lt;p&gt;And the organizations that realize this first will not use the savings to shrink. They will use them to scale further.&lt;/p&gt;

&lt;h2 class="relative group"&gt;What This Looks Like On My Own Desk
 &lt;div id="what-this-looks-like-on-my-own-desk" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-this-looks-like-on-my-own-desk" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The most honest way to write about task discrimination is to describe what I actually run, not what I think other people should run.&lt;/p&gt;
&lt;p&gt;In my own setup, I have a Mac Studio dedicated to serving local models to my agents. It sits quietly on a shelf, publishes a private inference endpoint through LM Studio, and hosts a small library of open-weight models optimized for MLX — the framework that lets these models take full advantage of Apple Silicon&amp;rsquo;s GPU and unified memory.&lt;/p&gt;
&lt;p&gt;Nothing about that machine is exposed to the public internet. The endpoint lives inside my own network, behind the boundaries any serious setup demands. For the kind of work I route through it, that is not optional.&lt;/p&gt;
&lt;p&gt;I chose a Mac Studio over the obvious alternative — a dedicated GPU rig — for reasons that are not purely technical. It is powerful enough for the model sizes that actually matter to me. It is extraordinarily reliable. It is almost perfectly silent. And its idle power draw is low enough that I can leave it on 24/7 without thinking twice. None of that matters when you are renting H100s by the hour. It matters a lot when the machine is a permanent piece of your operating stack.&lt;/p&gt;
&lt;p&gt;The architecture itself is deliberately simple.&lt;/p&gt;
&lt;p&gt;The main orchestrator — the LLM that gives my agents their judgment and planning capability — is a frontier model. That is where the hard reasoning happens, where ambiguity has to be resolved, where the whole plan needs to hold together. For that role, paying for the best is worth it.&lt;/p&gt;
&lt;p&gt;But underneath the orchestrator, routing rules push subagent tasks to my local endpoint whenever it is possible or recommended. Local handles the grunt work. Frontier handles the thinking.&lt;/p&gt;
&lt;p&gt;The result is that my frontier bill has collapsed without any perceptible loss of quality in the end-to-end experience. Not because local has caught up on everything — it has not — but because a very large share of what any agent actually does is not reasoning in the hard sense. It is classifying. Extracting. Summarizing. Reformatting. Translating. Producing structured output.&lt;/p&gt;
&lt;p&gt;Models like &lt;strong&gt;qwen3.6-35b-a3b-ud-mlx&lt;/strong&gt;, &lt;strong&gt;gemma-4-31b-it-mlx&lt;/strong&gt;, or &lt;strong&gt;gpt-oss-20b-mlx&lt;/strong&gt; handle these tasks beautifully. Running locally. With latencies a cloud round-trip cannot match. And without sending a single byte of context to a third party.&lt;/p&gt;
&lt;p&gt;That is not a theoretical architecture. That is what is running on my desk, today.&lt;/p&gt;

&lt;h2 class="relative group"&gt;So What Should Actually Change?
 &lt;div id="so-what-should-actually-change" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#so-what-should-actually-change" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;There is no need to rip anything out. There is a need to rearchitect.&lt;/p&gt;
&lt;p&gt;At least across five fronts.&lt;/p&gt;

&lt;h3 class="relative group"&gt;1. Build a task taxonomy
 &lt;div id="1-build-a-task-taxonomy" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-build-a-task-taxonomy" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Every AI call in your product or operations belongs to a complexity tier. Map them. Most teams discover that more than half of their calls sit comfortably in the &amp;ldquo;does not need frontier&amp;rdquo; bucket — and have been happily paying frontier prices for them for years.&lt;/p&gt;

&lt;h3 class="relative group"&gt;2. Start with a router, not a migration
 &lt;div id="2-start-with-a-router-not-a-migration" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-start-with-a-router-not-a-migration" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;The highest-leverage first step is not swapping out your model. It is adding an intelligent routing layer — sometimes as simple as &amp;ldquo;classify intent, then dispatch&amp;rdquo; — that sends trivial tasks to a cheaper tier and escalates only when confidence is low or complexity is high.&lt;/p&gt;

&lt;h3 class="relative group"&gt;3. Measure cost and quality per task, not per model
 &lt;div id="3-measure-cost-and-quality-per-task-not-per-model" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-measure-cost-and-quality-per-task-not-per-model" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;The question &amp;ldquo;which model is best?&amp;rdquo; is the wrong one. The right question is &amp;ldquo;which model is best for this specific task at this specific cost?&amp;rdquo; Build the observability that answers that.&lt;/p&gt;

&lt;h3 class="relative group"&gt;4. Treat local as a capability, not a downgrade
 &lt;div id="4-treat-local-as-a-capability-not-a-downgrade" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-treat-local-as-a-capability-not-a-downgrade" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Open-weight models are no longer a consolation prize. In many workflows they are the right tool — faster, cheaper, more private, more controllable. The teams still talking about them defensively are signaling how recently they last looked.&lt;/p&gt;

&lt;h3 class="relative group"&gt;5. Design for hybrid as the default
 &lt;div id="5-design-for-hybrid-as-the-default" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#5-design-for-hybrid-as-the-default" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;The interesting AI architectures of 2026 will not be pure-frontier or pure-local. They will be orchestrated systems that blend a frontier model for the hard parts, open-weight models for the routine parts, and fine-tuned small models for the narrow, high-volume parts — each one called when, and only when, it earns its keep.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The Real AI Cost Lever of 2026
 &lt;div id="the-real-ai-cost-lever-of-2026" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-real-ai-cost-lever-of-2026" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The dominant narrative this year will continue to focus on the frontier: bigger models, higher benchmarks, sharper capabilities. That narrative is real, and it matters.&lt;/p&gt;
&lt;p&gt;But underneath it, there is a quieter shift that will determine which organizations actually build sustainable AI operations — and which ones end up rationalizing aggressive cost cuts in 2027.&lt;/p&gt;
&lt;p&gt;The shift is not about choosing between frontier and local. It is about learning to use both, deliberately, at the right moments, in the right combinations.&lt;/p&gt;
&lt;p&gt;The cheapest AI optimization available in 2026 is not a better deal from your current provider.&lt;/p&gt;
&lt;p&gt;It is the decision to stop using a frontier model for work a local model can do just as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Intelligence is becoming abundant. Discernment is becoming the scarce resource.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The companies that will win the next phase of this cycle are not the ones paying the most per call.&lt;/p&gt;
&lt;p&gt;They are the ones who have figured out which calls don&amp;rsquo;t need to be paid at all.&lt;/p&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://carlesabarca.com/posts/stop-overpaying-for-intelligence/featured.svg"/></item></channel></rss>