How to Reduce AI Costs: Pay a Model Only for the Decisions That Need One

Decidecall takes the small decisions a company makes again and again (which team gets this message, approve or send back, urgent or not) and answers each one with the cheapest thing that is sure enough. An answer given before comes first, then a simple rule, then a model running on your own computer; only what is left goes to a paid model, and what no model is sure about goes to a person. The person's answer is remembered, so the same question never costs twice.
Decidecall is a free, open-source plugin for Claude Code, Anthropic's AI assistant that works with the files on your computer. It needs no account, no card and no API key (the access code programs use to call an AI) of its own: a paid model is reached through a program your company has already installed and signed in.
Why most decisions never need a model
Many teams that start with AI send every message to a model. It works, and it pays for the same answer again and again: "where is my invoice?" arrives in a support inbox every day, and the word "invoice" already says it goes to billing. Tian Pan describes a team that ran a model to route support tickets for months before noticing that 70% of tickets named a product in the subject line, which a simple lookup table would have routed with 99% accuracy.
Researchers have measured the same idea at scale. Stanford's FrugalGPT asks a cheap model first and moves up only when the answer looks weak; it matched the best single model "with up to 98% cost reduction". LMSYS's RouteLLM, which picks a strong or a weak model for each question, cut costs by over 85% on one benchmark while keeping 95% of GPT-4's quality.
How the chain works
Every decision walks the same six links and stops at the first one that is sure enough:
- Cache: answers already given. An exact repeat is found even with different capitals, spaces and punctuation. With a small embedding model on your computer (such as
nomic-embed-textin Ollama), a question asked in other words is found too: "Why was my card billed two times?" finds the answer to "I was charged twice this month". - Rules: words that settle the answer, written once: "invoice", "refund" or "charged" means billing. When two rules point at different answers, they stay silent rather than guess.
- Local model: a model running on your own computer, free for every decision.
- Cheap and strong cloud models: paid models, the cheapest allowed one first.
- A person: whoever owns the decision, shown the best guess so far.
Each link answers with a decision and a confidence, a number from 0 to 1. At 0.95 or more, the answer is taken. Below that, the next link is asked, and when two different sources agree (and at least one of them is 0.70 or more sure), that settles it. Two links running the same family of model never confirm each other, and a match by meaning in the cache is only ever a suggestion that another link has to confirm. When nothing is sure, a person decides, and their answer goes into the cache. Both thresholds are yours to change.
A kind of decision is one small file: the question, the possible answers, the words that settle it and how sure a link must be. The same format works for sorting support messages, "approve or send back" on expense claims or "urgent or not" on incoming mail.
A worked example: 65 support messages
The repository comes with a support inbox for four teams (billing, technical, account and sales): 65 customer messages, with repeats as real support has them. On 2 October 2026 the chain was measured on it twice (full results):
| Chain | Decided without a person | Right | Sent to a person | Cost of 65 decisions |
|---|---|---|---|---|
| cache + rules | 36 | 36 of 36 | 29 | $0 |
| cache + rules + Claude Haiku 4.5 | 59 | 57 of 59 (96.6%) | 6 | $0.167 at list price |
With no model at all, more than half the inbox was sorted for free without a mistake (re-run on 10 October 2026 with the same result). Adding Claude Haiku 4.5, Anthropic's small and fast model, left six messages for a person.
The report is just as plain about what did not work. Haiku was wrong twice while 98% sure: "I get logged out every five minutes" went to technical instead of account, and so did its repeat. That is exactly why the chain asks a second, different source before trusting a model's repeated answer. Sixty-five examples are a first reading: the tool is built so you run the same measurement on a few hundred of your own past decisions.
What it does
- Decide one question: the answer, which link took it, how sure it was, what it cost.
- Label: a person's answer goes into the cache, so it is free next time.
- Promote: decisions the models kept making the same way, confirmed by two different model families, become cache entries once you say yes; words that only ever came with one answer are offered as new rules.
- Bench: your own labelled past decisions run through the chain, showing how many were decided without a person, how many were right, how honest the confidence numbers were, and the price of one decision against sending everything to one model.
- Candidates: 14 programs and services that can stand behind a link, each with its licence and source page.
Decision models plug straight in
A new kind of model has arrived for exactly this job. TypeSafe's Jev, announced in September 2026, writes no text: it takes a situation and a question with options and returns the chosen option with a probability, at $0.042 per million input tokens (DataCamp). Open models of the same kind run on your own computer: Strands Decider, whose authors report that its "answers at a confidence of 0.9 or more are right about 95% of the time", and, since Ollama 0.35, decision models served by Ollama, the free tool for running models locally. Decidecall speaks this interface directly, as well as ordinary local models (Ollama, llama.cpp, vLLM, LM Studio) and Claude through the Claude Code you already have; bench shows on your own data what each one adds.
Your rules for data and money
Decidecall reads the same company policy file as the other company plugins:
- Sensitive data stays on the computer. Mark a decision red and it goes only to the cache, the rules and local models; Decidecall keeps a fingerprint of the text, never the text itself.
- Only the vendors you allow, or only those that keep nothing after answering.
- A daily budget: a paid link that would pass it is skipped, and the free links go on working.
- Keys stay in the keychain, never in a file.
It is a single Python file that needs nothing beyond Python and opens no network connection of its own, so it runs even on a computer cut off from the internet.
How to start
In Claude Code, add the Poly A1 catalogue and install Decidecall (no git and no GitHub account needed):
/plugin marketplace add https://raw.githubusercontent.com/vadimchernets/poly-a1-plugins/main/.claude-plugin/marketplace.json
/plugin install decidecall@poly-a1
Then say what you want decided, in your own words: "sort our support messages by team", or "is Strands Decider worth it for us". Claude asks its questions one at a time (what is decided, the possible answers, which words make the answer certain, how sure it must be) and writes the task file with you. Then it runs bench on your past decisions before anything is paid for. Decidecall needs Python 3.8 or newer and works on Mac, Linux and Windows.
Code, the example inbox and the measurements: github.com/vadimchernets/decidecall.
Where it fits
Decidecall is one of the company plugins in the Poly A1 plugins catalogue. It pairs with Routecall, where a strong model plans and cheaper ones do the volume, and with Billcall, which counts what AI costs the company; Firmcall writes the shared policy file. Decidecall is written by Vadym Chernets, released under the Apache-2.0 licence and archived on Zenodo (DOI 10.5281/zenodo.23116720).
Vadym Chernets also builds Poly A1, an app in which AIs from different companies check each other's work.