By Sagar Shankaran, Founder of CallSphere
Cut Claude agent cost and latency with prompt caching, batching, model routing, and context discipline — techniques for cheaper, faster runs.
Key takeaways
Agentic systems are expensive in a way that single prompts are not. Every turn re-sends the entire conversation, so a 15-turn agent pays for its system prompt fifteen times. Multi-agent runs compound this — they typically burn several times more tokens than a single agent doing the same job. The good news is that the biggest wins in agent economics come from a handful of mechanical techniques, and the largest of them is prompt caching. This post is about making Claude agents genuinely cheap and fast in production, with concrete numbers on where the tokens go and how to claw them back.
Before optimizing, measure. In a typical tool-using agent, the input dwarfs the output: a few hundred output tokens per turn against thousands of input tokens that grow every turn. The drivers are the system prompt, the tool definitions, and the accumulating message history. Read the usage block on every response — input_tokens, cache_creation_input_tokens, cache_read_input_tokens, and output_tokens — and sum them across a full run. Most teams are shocked to find that 80% or more of their spend is re-reading a prefix that never changed.
That observation is the whole strategy. If the prefix is stable and you are paying full price for it on every turn, you are leaving most of your budget on the table. Prompt caching exists precisely to fix this.
Prompt caching lets Claude store a prefix of your prompt and reuse it across calls. A cache write costs slightly more than a normal input token (you pay a premium to store), but every subsequent cache read costs a small fraction of the normal input price. For an agent that re-sends a 4,000-token system-plus-tools prefix on every one of fifteen turns, caching that prefix turns fourteen full-price reads into fourteen cheap ones.
A practical definition: prompt caching is a mechanism that stores a fixed prefix of a prompt so repeated requests reuse it at a reduced read cost instead of reprocessing it from scratch. The key constraint is that the cached portion must be byte-identical across calls, and it must be a prefix — everything before your cache breakpoint.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
flowchart TD
A["Incoming agent turn"] --> B{"Prefix unchanged & cached?"}
B -->|Yes| C["Cache READ — fraction of input price"]
B -->|No| D["Cache WRITE — small premium, stores prefix"]
C --> E["Process only the new tail tokens"]
D --> E
E --> F{"Run interactive?"}
F -->|No| G["Send via batch — extra discount"]
F -->|Yes| H["Return inline"]
To use it, mark a cache breakpoint after your stable content. The order matters: put the things that never change first.
{
"model": "claude-sonnet-4-6",
"system": [
{ "type": "text", "text": "<long stable instructions>",
"cache_control": { "type": "ephemeral" } }
],
"tools": [ /* stable tool defs — also above the breakpoint */ ],
"messages": [ /* dynamic conversation — below the breakpoint */ ]
}
The cache has a short default lifetime that refreshes on each hit, so a busy agent keeps its cache warm naturally. Idle agents may need a longer cache window if your provider tier supports one. The cardinal rule: never let a dynamic value — a timestamp, a user ID, a per-request note — sneak above the breakpoint, or you convert every read into a write.
Not every agent call needs to answer in real time. Overnight enrichment, bulk classification, evaluation runs, and document processing can go through the Message Batches API, which trades latency for a meaningful per-token discount. Batching composes with caching: a nightly job that processes ten thousand records against the same cached instruction prefix gets both the batch discount and the cache discount. The rule of thumb is simple — if a human is not waiting on the response, batch it.
Using your most capable model for everything is the most common overspend. Claude's lineup is tiered for a reason: Haiku 4.5 is fast and cheap for classification, extraction, and routing; Sonnet 4.6 handles the bulk of real agent reasoning at a strong price-performance point; Opus 4.8 is reserved for the hardest planning and synthesis. A clean pattern is a cheap router model that triages each request and dispatches to the right tier. Many teams find that a Haiku pre-classifier plus Sonnet execution handles the large majority of traffic, with Opus invoked only for the genuinely hard minority.
Even with caching, the dynamic tail of your conversation grows every turn, and you pay full price for that growth. Three habits keep it in check. First, summarize: when the message history crosses a threshold, replace old turns with a compact summary the agent can still reason over. Second, prune tool results: a search tool that returns 50 KB of JSON should be trimmed to the fields the agent actually needs before you append it. Third, retrieve instead of stuff: rather than pasting a whole document into context, give the agent a tool to fetch the relevant slice on demand.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
cache_read_input_tokens climb and input_tokens fall on repeat turns.| Lever | Best for | Typical effect |
|---|---|---|
| Prompt caching | Any multi-turn or repeated-prefix workload | Largest single saving on input cost |
| Batching | Non-interactive bulk jobs | Per-token discount, higher latency |
| Model routing | Mixed-difficulty traffic | Cut cost on the easy majority |
| Context pruning | Long conversations, fat tool results | Keeps per-turn input from ballooning |
It depends on reuse, but the structure of the saving is dramatic: a cache read costs only a fraction of a normal input token, and an agent re-reads its prefix on every turn. For a long-running agent with a large stable prefix, caching commonly removes the majority of input cost. Measure your own ratio with cache_read_input_tokens over total input.
No. Caching only changes how the prefix is processed and billed; the model sees the same tokens and produces the same quality of response. It is a pure cost-and-latency optimization, not a behavior change.
Batch whenever no human is waiting on the result — nightly enrichment, bulk classification, and eval runs. Keep interactive chat and anything user-facing on the standard real-time path, since batching trades latency for cost.
Generally yes — multi-agent runs use several times more tokens than a single agent because each subagent reads context and writes output. Use them when the parallelism or specialization genuinely improves the result, and cache the shared instructions so every subagent reads them cheaply.
CallSphere runs these cost and latency techniques under the hood so voice and chat agents stay fast and affordable at scale — cached prefixes, tiered models, and tight context, answering every call 24/7. See it live at callsphere.ai.
Source & attribution: This is an independent, original explainer inspired by Anthropic's coverage on the Claude blog. Claude, Claude Code, Claude Cowork, Claude Opus, and the Model Context Protocol are products and trademarks of Anthropic. CallSphere is not affiliated with or endorsed by Anthropic.

Written by
Sagar Shankaran· Founder, CallSphere
LinkedInSagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
Anthropic's Claude Fable 5 and Mythos 5 explained: pricing, availability, frontier benchmarks, the dual-model safeguard architecture, and what they mean for AI agents.
Where Claude Code, MCP, and multi-agent systems are taking GTM engineering next, and how to prepare your team now for standing and multi-agent workflows.
Where Claude Cowork and the Claude agent ecosystem are heading next — standing agents, MCP, skills as a moat — and the concrete moves to prepare your team now.
The metrics, leading signals, and anti-metrics that prove Claude Cowork is working — acceptance rate, time-to-outcome, and why usage counts mislead.
Shipping an agentic GTM workflow is easy; proving it works is hard. The metrics, signals, and eval loops that show a Claude Code rebuild is paying off.
A realistic end-to-end Claude Cowork use case: a quarterly vendor-spend review from vague ask to shipped deliverable, with every agentic step shown.
© 2026 CallSphere Inc. All rights reserved.
Made within San Francisco
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI