> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slng.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

## What is the execution layer?

The Execution Layer is the optimisation layer that sits between the models and the orchestrator. A voice agent generally consists of STT, LLM, and TTS, and the Execution Layer is everything SLNG adds around those three to make them faster and more controllable, without you having to rebuild any of it.

We divide the Execution Layer into three steps that match the voice agent pipeline: Listen, Think, and Speak.

## Listen

This is the STT step of the chain. Everything around the transcription, and around improving its quality, shapes the rest of the experience in a real-time workflow.

Here you can either pick one of the models we provide or bring your own key. From there you can add [Noise cancellation](/guides/execution-layer/stt/noise-cancellation) and other features we'll be delivering over time.

## Think

The LLM is usually the bottleneck of a voice agent: the hop to the provider endpoint, the network latency, and the inference time just don't fit inside a pipeline that has to respond in under 600ms.

The [Context Router](/guides/execution-layer/llm/context-router) is our answer to this step of the stack. Every time your agent needs to talk to an LLM, the request goes through the router first, and the router decides how to actually handle it.

Without it, every single turn works the same old way: fire the whole thing off to a big expensive model, wait, get something back. The router breaks that habit. Some turns come straight out of cache. Some go to a small local model. Some get answered with a prepared response, no model call at all. Your code doesn't change. What happens underneath does.

## Speak

TTS is where you pick the right voice for your use case, and it usually comes with a heavy price tag, often the highest in the whole pipeline. That's why we want you on SLNG's [TTS caching](/guides/execution-layer/tts/tts-caching).

Your agent says the same things over and over. Greetings, confirmations, hold messages, the same twenty phrases that come up on every call. Normally you pay to synthesize every one of those, every time, from scratch. The cache says: we already made that audio once, here it is.

Caching runs on a PII-aware system with per-organisation isolation, so your audio is never stored anywhere another customer can reach it.

Another thing to have in consideration is the quality of the pronunciation of a TTS model, for this we created the a [pronunciation dictionaries](/guides/execution-layer/tts/pronunciation-dictionaries) that works across all TTS providers, one dictionary, all models.

## The system gets better the more you use it

Every call through the Execution Layer sharpens routing decisions and widens cache coverage for the next one. Latency drops. Control and reliability go up. Simple as that.

* More calls, more cache coverage, fewer model calls, more control
* More patterns observed, better routing decisions, lower latency
* More providers configured, more failover options, higher reliability
