How AI Gateways Actually Route Your LLM Requests

How AI Gateways Actually Route Your LLM Requests

3 40 92
calendar_today agoschedule4 min read

A practical breakdown of the request lifecycle, the routing engine, and the architecture decisions that determine who controls your AI traffic.

Every team that calls more than one LLM provider ends up building some version of an AI gateway, whether they call it that or not. It starts with a single OpenAI call in your code. Then a fallback for outages. Then a cost check before routing to a bigger model. Then a redaction step because legal asked. Six months later you're maintaining a fragile pile of retry logic and if-statements that nobody wants to touch.

An AI gateway takes that logic out of your application and puts it in a dedicated layer. Functionally it's a reverse proxy sitting between your app and the model providers, but unlike a normal API gateway it actually reads the payload. Prompts, tokens, model parameters, and the response, not just bytes to forward.

What happens to a request

Strip away the marketing and most gateways do the same four things in sequence.

  1. Auth. A token identifies the caller, its allowed models, and its rate limits. Fail here and nothing downstream runs.
  2. Routing. A decision engine picks which model handles the request based on rules you set, not randomness.
  3. Inspection. The prompt gets scanned before it leaves your environment, and the response gets scanned before it comes back.
  4. Logging. Every call is recorded, caller, model, tokens, latency, cost, and any policy hits.

Vendors like to quote a specific "under 100ms" overhead for this whole pipeline. Treat that as a marketing number until you benchmark it on your own infrastructure. The real overhead depends heavily on how many inspection plugins you enable and where the data plane physically runs.

The routing engine is the actual product

This is the part worth understanding in depth, because it's what "AI router" really means.

  • Load balancing. Spread requests across multiple instances or providers of the same model class. Round robin, weighted, or least-connections, the same patterns you already know from regular load balancers, just pointed at LLM endpoints.
  • Fallback chains. Define an ordered list of providers. If the first one errors or rate-limits you, the gateway retries the next one automatically. Your application never sees the failure, it just gets a response.
  • Cost-based routing. Set a complexity or token threshold. Simple requests go to a cheap model, complex ones go to the expensive one. This is one of the more direct levers for cutting your LLM bill without touching application code.

A minimal fallback config looks something like this:

route: chat-completion
providers:
  - name: primary
    model: gpt-5.1
    timeout_ms: 3000
  - name: fallback
    model: claude-sonnet-5
    timeout_ms: 3000
retry_on: [timeout, 429, 5xx]

The gateway walks that list until something responds. Simple idea, but getting it right by hand, with proper backoff and circuit breaking across every provider you use, is exactly the kind of thing you don't want to own yourself long term.

Where your traffic actually runs matters more than people think

This is the architectural decision with real consequences. Some gateways run everything, policy and traffic both, inside the vendor's own cloud. Convenient to set up, but your prompts and completions now pass through infrastructure you don't control.

A split-plane design separates the two concerns:

  • Control plane holds the routing rules and policies. It never sees your traffic.
  • Data plane runs inside your own VPC or cluster and actually handles the requests.

The control plane pushes rule updates to the data plane, and your LLM traffic never leaves your environment. If you're under any kind of regulatory pressure, this isn't a nice-to-have. The NIST AI Risk Management Framework explicitly names access control and data handling as baseline requirements for responsible AI deployment. The EU AI Act's high-risk obligations were pushed back under the 2026 Digital Omnibus, but they're still coming. Being able to show exactly where your data went will matter regardless of the exact date it lands on.

Inspection is where agent-specific risk shows up

Prompt injection is the top-ranked risk in the OWASP Top 10 for LLM applications, and it gets worse once your LLM calls are part of an agent that can take real actions instead of just generating text. The inspection layer in a gateway is where you catch injected instructions and PII before a prompt goes upstream, and where you catch policy violations in the response before it comes back to the caller. If you want a deeper look at what these attacks actually look like in practice, Agent Security maintains a decent running library of real-world agent exploits and mitigations worth skimming.

Don't build it as one monolithic blob

Treat the gateway as a pipeline, not a single service doing everything at once. Rate limiter, auth, PII detector, injection scanner, router, cost tracker, response filter, audit logger, each as its own stage. Enable what you need, skip what you don't, and add new inspection steps as plugins instead of rewriting the core every time a requirement changes.

The takeaway

If you're past the point of a single provider and a single try/except block, you're already building a gateway, just an unofficial one. The real question is whether your routing engine actually understands cost and failure modes, and whether your traffic stays inside your own infrastructure while it does its job. NeuralTrust's open-source TrustGate is one working implementation of the split-plane pattern if you'd rather start from a reference than from scratch. The original deep dive this piece is based on, with the full request-flow diagram, is here.

🔥 Join developers growing publicly
Share your knowledge, build in public, and grow your developer presence with a global community.

More Posts

Cisco's Amy Chang: A Model's "Passport" Doesn't Tell You Where It Actually Came From

Tom Smithverified - Aug 27

Your AI Doesn't Just Write Tests. It Runs Them Too.

Kevin Martinez - May 12

Defending Against AI Worms: Securing Multi-Agent Systems from Self-Replicating Prompts

alessandro_pignati - Apr 2

I’m a Senior Dev and I’ve Forgotten How to Think Without a Prompt

Karol Modelski - Mar 19

Your Backup Data Knows More Than You Think. HYCU aiR Is Finally Asking It the Right Questions.

Tom Smithverified - May 14
chevron_left
1.7k Points135 Badges
58Posts
0Comments
3Connections
Alessandro Pignati is a Security Researcher at NeuralTrust, specializing in Agentic Security and LLM... Show more

Related Jobs

View all jobs →

Commenters (This Week)

3 comments
2 comments
1 comment

Contribute meaningful comments to climb the leaderboard and earn badges!