Cost optimisation techniques split into two categories, and the order you reach for them matters. Free wins — prompt caching, the Batches API, input-token hygiene, and agent-loop hygiene — lower what you pay without lowering output quality, so they're applied first and left on permanently. Trade-offs — effort/task budgets (Lesson 2.4), model tier (Lesson 2.1), and multi-model architectures — exchange cost for capability, so they're reached for only after the free wins are exhausted, and validated against an evaluation set every time. The exam consistently rewards this ordering: an answer that reaches for a model downgrade before caching, batching, or input hygiene are in place is giving up capability it didn't need to give up yet.
Free wins: caching, batching, input hygiene
Prompt caching (Lesson 1.4/2.2) is typically the single largest lever in an agentic loop — because every turn resends the growing conversation history, an uncached loop's cost grows roughly with the square of turn count, and caching reprices everything already seen down to about a tenth of its input cost. The Batches API (Lesson 1.7) discounts every token type — input, cache reads, cache writes, and output — by 50%, but only applies to latency-insensitive, asynchronous work like a nightly summarisation job; it cannot run a mid-batch tool loop, so each batched request is single-shot. Input hygiene means sending the model only what a task needs and letting it fetch the rest: moving a large reference document behind a retrieval tool instead of inlining it in every prompt, pruning tool schemas that most requests don't use, and downscaling images to the resolution the task actually requires rather than sending everything at full size.
Trade-offs: effort, budgets, and model routing
Once the free wins are in place, the remaining levers change what the model can do, so they're applied last and always measured. Effort and task budgets (Lesson 2.4) are the first trade-off to reach for — cheaper to tune and validate than a model swap. Model routing — sending each step to the cheapest tier that meets its quality bar — cuts cost by matching spend to actual difficulty rather than raw request volume (Lesson 2.3's stepping-down method). Beyond a single model, two-model architectures can help in specific, narrow shapes: an advisor pattern (a cheaper model runs the loop and consults a stronger one only on genuinely hard decisions) pays off when the capability gap is wide and the cheap model reliably recognises when to escalate — a fragile condition, since a weak escalation signal can make the pairing worse than the strong model alone. An orchestrator pattern (a strong model plans and delegates bulk, independent sub-tasks to cheaper workers) pays off only when there's genuine bulk fan-out to hand off; for a single dependent chain of work, one model at well-tuned effort usually beats the overhead of planning, delegating, and merging.
Matching the cost driver to the lever
A useful exam habit is to name the specific cost driver before picking a technique, rather than reaching for a favourite lever out of habit. A system prompt and tool schema re-billed on every call points to caching, not a cheaper model. A large reference document inlined into every prompt points to moving it behind a retrieval tool, not batching. Work nobody is waiting on synchronously points to the Batches API, not effort tuning. Bulky tool results piling up across a long agentic loop point to context editing, compaction, or a client-side prune at natural boundaries — not a model downgrade, which wouldn't touch the accumulation at all. Thinking and tool-call depth dominating spend, with headroom in an eval, points to effort first and a tier drop only after that's exhausted. Picking the technique that actually matches the driver is what separates a coherent strategy from a grab-bag of unrelated changes.
A simple routing pattern
One common pattern: a fast, cheap model classifies or triages a request first; only requests that actually need it get escalated to a stronger, more expensive model. This keeps the expensive tier's spend proportional to genuine difficulty rather than to raw request volume — and it composes cleanly with caching (the triage model's own prompt can itself be cached) and with batching (if the triage step doesn't need to be synchronous).
Common exam distractor
An answer presenting caching, batching, and model routing as mutually exclusive alternatives — pick one — is a trap. In practice they stack, and a mature system typically applies more than one at once.
Key concept
Optimise cost per completed task, not cost per token or cost per request. A configuration that looks cheaper on paper but fails more often, or needs more retries or escalations to finish the job, isn't actually cheaper.