Skip to main content
All insights
AI8 min readJuly 3, 2026

Stop Calling the AI Model on Every Message

The short answer

You do not need a language model to answer every chatbot message. Most incoming messages are predictable (greetings, contact details, common questions, a pricing enquiry) and can be handled with fixed logic that is instant and free to run. Reserve the model for the open-ended questions, and you get lower running costs, faster replies, and answers that stay on-script for the things that matter most.

By Timothy Indarsingh, Founder & CEO, Firelinkx

The simplest way to build a chatbot is to send every message the visitor types straight to a language model and show whatever comes back. It works, and it demos well. Then the bill arrives, the replies feel sluggish, and one day the bot confidently says something you never authorised it to say. All three problems come from the same decision: calling the model on every single turn. This is a short walk through why that design costs you, and the routing approach we use instead.

It is the same principle behind our own assistant. If you want the full picture of how a bot can qualify a lead without ever inventing a number, that is the flagship: the chatbot that qualifies leads without inventing prices. This article zooms in on one piece of it, the part that keeps it cheap and consistent.

What calling the model every time actually costs

A language model is a powerful, general tool, and you pay for that power on every request. When it answers every message, three costs stack up whether the message needed it or not.

  • Money. You pay per message processed, so a bot that greets, collects a name, and answers three routine questions has already run five paid requests before the conversation gets interesting. Multiply that across every visitor, every day, and a chatty low-value channel becomes a line item you notice.
  • Speed. A model call is a round trip to an outside service. It is usually fine, but it is never instant, and it is the slowest step in the reply. A visitor who types "hi" and waits two seconds for "hello" learns the bot is slow before it has done anything useful.
  • Predictability. A model generates language, so on any given turn it can phrase things differently, add a detail you did not ask for, or drift off the point. That freedom is exactly what you want for open questions and exactly what you do not want when someone asks your opening hours.

None of this means the model is the problem. The problem is using an expensive, creative, general tool for jobs that are cheap, fixed, and specific.

Most messages are more predictable than they look

Read a week of real chatbot transcripts and a pattern jumps out. A large share of messages fall into a handful of buckets that repeat over and over.

  • Greetings and small talk that just need a warm opener and a nudge toward the point.
  • Contact capture, where the visitor is giving you a name, a phone number, or a WhatsApp so you can follow up.
  • Frequently asked questions with stable answers: where you are based, what you do, how to reach a human.
  • Pricing enquiries, which should be handed off in a controlled way rather than answered with a made-up figure.

You already know the right answer to every one of these before the visitor types it. There is nothing open-ended to reason about. That is the tell: if you can write the answer down in advance, you do not need a model to generate it on the spot.

The better design: route first, generate last

Instead of sending everything to the model, you put a routing layer in front of it. Each incoming message is first checked against the predictable intents. If it matches one, a fixed handler answers directly. Only when nothing fits does the message fall back to the model.

That is exactly how ours works. Common intents (greetings, contact capture, FAQs, the pricing hand-off) go through deterministic handlers, and the model is the fallback for the open-ended turns. In practice a large share of messages never reach the model at all. Those turns are instant, cost nothing per message to run, and say precisely what we wrote them to say, every time.

The mental model

Think of a good receptionist. They do not deliberate over "good morning" or "can I get your number for the callback." Those are reflexes, handled instantly. They save their real attention for the customer with an unusual request. A routing layer gives your chatbot the same instincts: reflexes for the routine, real thinking held in reserve for when it is needed.

What this buys you, in business terms

  • Lower running cost. Every turn a fixed handler catches is a model call you did not pay for. On a busy bot that is the difference between a running cost you barely notice and one you keep an eye on.
  • Faster replies. The routine answers come back instantly instead of waiting on an outside service, so the bot feels sharp, and a bot that feels sharp gets used.
  • On-script answers where it counts. The questions with a right answer (hours, location, how pricing works, how to reach a person) get that exact answer every single time, with no room to wander.
  • Safer pricing. Pricing is handled by a controlled hand-off, not by a model guessing a number. The flagship walkthrough covers why keeping the model away from figures matters so much.

The model still earns its keep. When a visitor asks something you did not anticipate, the fallback gives them a real, helpful answer instead of a dead end. You are not choosing between fixed logic and a language model. You are using each for the job it is actually good at.

How to tell if your bot is overusing the model

If you already run a chatbot, a few quick checks tell you whether it is spending on turns it should be handling for free.

  • Does "hi" produce a slow, slightly different reply each time? That is a greeting going to the model.
  • Does asking the same simple question twice give you two differently worded answers? Stable questions should give stable answers.
  • Has it ever stated a price, a discount, or a promise you did not sign off on? That is the model answering a question that should have been routed to a controlled hand-off.
  • Is your per-message cost roughly flat no matter what visitors ask? A well-routed bot costs less on routine traffic than on complex traffic, because most routine traffic never reaches the model.

If several of those ring true, the fix is not a bigger or cheaper model. It is a routing layer in front of the one you have, so the model is the last resort instead of the first response.

Frequently asked questions

Why is it a problem to call a language model on every chatbot message?

Three reasons. You pay per message, so routine turns like greetings and contact capture add up to real running cost. Every model call is a round trip to an outside service, so replies are slower than they need to be. And a model generates fresh language each time, so it can phrase things inconsistently or drift off-script on questions that have one correct answer. Routing the predictable messages to fixed logic avoids all three.

When should a chatbot use fixed logic instead of an AI model?

Use fixed logic whenever you already know the right answer before the visitor asks. Greetings, collecting a name or phone number, stable frequently asked questions, and pricing enquiries all have known, controlled responses, so a deterministic handler answers them instantly and consistently. Reserve the AI model for open-ended questions you could not have scripted in advance.

Does routing to fixed logic make the chatbot feel robotic?

It does not have to. The fixed answers are written by a person to sound natural and helpful, and because they are prepared in advance you can make them clear and warm rather than generic. The visitor cannot tell whether a warm, accurate reply came from a fixed handler or a model. What they notice is that it was fast and correct.

How much money does this actually save?

It depends on your traffic and how much of it is routine, so there is no single figure. The principle is straightforward: every message a fixed handler answers is a model call you do not pay for, and on most support and enquiry bots a large share of messages are routine. The busier and more repetitive your channel, the more a routing layer saves.

Do I still need a language model at all if most messages are routed?

Yes, and that is the point. The model handles the open-ended questions you could not script, which is where it adds the most value. Routing does not remove the model. It stops the model from being wasted on turns that never needed it, so its cost and its unpredictability only apply where they are worth it.

Can this routing approach be added to a chatbot I already have?

Usually yes. A routing layer sits in front of your existing model and intercepts the predictable intents before they reach it, so you keep the model you have and simply stop sending it the routine traffic. The work is identifying your common intents and writing controlled handlers for each, which is exactly the kind of tuning that makes a bot cheaper and more consistent over time.

Want to turn this into a practical next step?

A chatbot should be cheap to run and predictable where it matters, and that comes down to how you decide when to call the model. It is the same design we run on our own assistant.

WhatsApp Us