Nothing selected — showing everything, cheapest fix first.
Every tool definition costs tokens on every turn. Most agent slowdowns are a context problem, not a model problem.
- Problem
- An agent is slow, expensive, or losing the plot mid-task.
- Context
- Any tool-using agent with more than a handful of tools in its definition list.
When read load is the bottleneck, the cheapest correct answer is almost never sharding.
- Problem
- Database is saturating and the team is proposing a sharding project.
- Context
- Single-region OLTP Postgres/MySQL, under ~2 TB, read-heavy (>80% reads).
A cache added without a measurement is a correctness risk you took for an unknown gain.
- Problem
- Something is slow and the proposed fix is to put Redis in front of it.
- Context
- Read paths where staleness has a real cost and the access pattern is not yet known.
Adding retries to a non-idempotent endpoint converts a visible failure into an invisible one.
- Problem
- A flaky downstream is causing errors and someone has opened a PR adding retry logic.
- Context
- Synchronous HTTP or RPC between services you do not own end to end.
If a write has to land in two places, put it in one place and let a reader fan it out.
- Problem
- A service must update its database and publish an event, and sometimes only one happens.
- Context
- Any service with a transactional store and a message broker. Especially Kafka.
The cheapest way to keep a shared database from becoming a distributed monolith.
- Problem
- Two or more services write to the same table and schema changes have become terrifying.
- Context
- Shared-database architectures mid-migration toward services.