---
title: Agents don't need bigger models. They need somewhere to put the conversation.
description: Multi-turn agent workflows thrash the KV cache, and this week's papers attack it from every side: scheduling, compression, fleet-wide coordination and even removing the memory from the GPU.
canonical: https://hangingcontext.com/stories/2026-11-13/kv-cache-is-agent-serving-bottleneck/
last-updated: 2026-11-13
url: https://hangingcontext.com/stories/2026-11-13/kv-cache-is-agent-serving-bottleneck/
published: 2026-11-13T12:46:14Z
edition: 2026-11-13T12
newsroom: artificial-intelligence
beat: infrastructure
trust: reported
source_count: 7
cited_manifest_ids: ['1794564168617158153', '1794564168617158147', '1794564168618158163', '1794564168617158150', '1794513973807860338', '1794564168618158157', '1794564168618158166']
---

# Agents don't need bigger models. They need somewhere to put the conversation.

*Multi-turn agent workflows thrash the KV cache, and this week's papers attack it from every side: scheduling, compression, fleet-wide coordination and even removing the memory from the GPU.*

Reported · 7 Manifests · Artificial Intelligence · Published 2026-11-13 12:46 UTC

## Key facts

- In a preprint, the MARS system identifies KV cache thrashing as a primary cause of performance degradation in concurrent multi-turn agent workflows, and reports 1.59x-7.56x mean end-to-end latency speedups over the fastest baseline. (self-reported) [cites: 1794564168617158153]
- In a preprint, Evolving Infra reports reducing mean end-to-end request latency by up to 4.1x and P95 time-to-first-token by up to 14x compared with NVIDIA's Dynamo. (self-reported) [cites: 1794564168617158147]
- In a preprint, OSCAR reports 8x KV-cache memory compression and up to 7.8x higher multi-request throughput at large batch sizes compared with BF16. (self-reported) [cites: 1794564168618158163]
- In a preprint, HAWK reports performance within 7.88% of a GPU-only system, with 1.26x higher power efficiency and 1.72x higher cost efficiency, by moving decode work to NPUs. (self-reported) [cites: 1794564168617158150]
- Tensormesh says its LMCache coordinator unifies KV cache servers across a fleet into one pool, and is designed to sit outside the inference path so it cannot become a bottleneck. (self-reported) [cites: 1794513973807860338]

## The cache is the bottleneck

A chatbot asks one question and waits. An agent asks, acts, reads the result, asks again, and keeps the whole conversation in memory while it does. That difference is now the central problem in inference serving, and a preprint posted this week names it precisely: KV cache thrashing is a primary cause of performance degradation in concurrent, multi-turn agent workflows on memory-constrained devices. The paper's system, MARS, adds an admission controller for root workflows and an agent-centric scheduler for turn completion, and reports 1.59x to 7.56x mean end-to-end latency speedups over the fastest baseline. Plugged into OpenCode, Codex and OpenHands, it improved mean workflow completion time by 1.17x to 1.87x. The cache, not the model, is what slows the agent down. [cites: 1794564168617158153]

A second preprint, Evolving Infra, attacks the same bottleneck from the architecture side. It decouples compute allocation from KV cache management so nodes can switch between prefill and decode roles as the workload changes, and adds an agent-aware distributed KV manager that guides cache eviction and transfer using signals from agent context management. The reported gains are large: mean end-to-end request latency down by up to 4.1x and P95 time-to-first-token down by up to 14x compared with NVIDIA's Dynamo. The premise of both papers is the same — serving systems designed for single-turn chat are a poor fit for agents that hold long, branching conversations. [cites: 1794564168617158147]

## Squeeze it, move it, share it

If the cache is the constraint, one answer is to make it smaller. OSCAR, a third preprint, uses offline spectral covariance estimation to derive fixed per-layer rotations and clipping thresholds for 2-bit KV-cache quantisation. It reports 8x KV-cache memory compression and up to 7.8x higher multi-request throughput at large batch sizes compared with BF16, while narrowing the accuracy gap to 3.78 and 1.21 points on Qwen3-4B and 8B models respectively. The implementation uses fused Triton kernels and stays compatible with SGLang and vLLM, which is the part that matters for adoption: a compression trick nobody can deploy is a paper, not a product. [cites: 1794564168618158163]

> **From Synorb** — Connect your agent over MCP. Add https://mcp.synorb.com/mcp to your agent, then call the tool synorb-get-demo-key if it has no key yet. It needs no email and no form. Keys are free for 72 hours, and new keys are limited per network. [How to connect](https://synorb.com/connect/start)


Another answer is to move the work to cheaper hardware. HAWK splits the two phases of inference across device types, mapping prefill to GPUs and decode to NPUs, with an RDMA-based KV cache transfer mechanism that resolves the tensor layout differences between them. The system achieves performance within 7.88 percent of a GPU-only baseline under the same service-level constraints, while delivering 1.26x higher power efficiency and 1.72x higher cost efficiency. Decode is memory-bound rather than compute-bound, so running it on expensive GPUs is paying for flops the workload does not use. [cites: 1794564168617158150]

The third answer is coordination. Tensormesh says its new LMCache coordinator acts as a control plane that unifies KV cache servers across a fleet into a single manageable pool, with a fleet-wide view of cache events and pluggable controllers for eviction, prefetching and placement policies. Crucially, the coordinator is kept out of the inference path — servers check with it only when necessary — so inference continues even if the coordinator goes offline. The cache stops being a per-server accident and becomes a shared resource with policy. [cites: 1794513973807860338]

## The long tail, and the radical fix

A fourth preprint looks at batch work, where agents run hundreds of tasks at once for synthetic data or evaluation. Its Chain-Advancing Action Scheduling prioritises long agent chains to shorten the batch tail, and coordinated optimisation of GPU memory between KV cache and recurrent states reduces batch makespan. Decoupling sample admission from environment execution improved resource utilisation. The lesson is the same as in the serving papers: agent workloads alternate between thinking and acting, and a system that treats those as one job wastes the GPU on one of them. [cites: 1794564168618158157]

The most radical paper of the week removes the memory from the GPU altogether. Optical Broadcast Memory replaces local HBM weight storage with a centralised, fiber-based broadcast system that sends weights to distributed inference nodes. At a scale of 80,000 accelerators, the authors report, it removes the need for local HBM weight storage while achieving competitive or superior throughput and energy-per-token metrics compared with traditional HBM-based systems, and it supports mixture-of-experts models by removing the fixed-length constraints of older optical ring designs. It is the furthest from production of the week's ideas, and the clearest sign of where the pressure is: the serving stack is being redesigned around agents, and the redesign starts with the memory. [cites: 1794564168618158166]

## What is still unresolved

- Whether KV-cache compression at 2-bit holds accuracy on long agent conversations in production
- Whether GPU-NPU disaggregation survives real-world heterogeneous fleets
- Whether optical broadcast memory moves from paper to datacenter deployment

## Decision card

- **Useful for:** Infrastructure teams running agent workloads at scale; Operators choosing serving frameworks for multi-turn agents
- **Not for:** Treating agent serving as a scaled-up chatbot deployment; Buying memory to fix a scheduling problem
- **Compare against:** Your own agent workload's KV cache hit rate and tail latency; The cost of adding GPU memory versus reworking the serving layer

## Provenance ledger

| Manifest id | Title | Source | Claims used | Published |
|---|---|---|---|---|
| `1794564168617158153` | MARS: Towards High Goodput and Low KV Thrashing in Agent Serving under GPU Memory Constraints | [arxiv-ai-infra-inference-ops](https://arxiv.org/pdf/2604.26963v3) | 1794564699340159714, 1794564699327159711, 1794564699335159712 | 11-13 00:00 |
| `1794564168617158147` | Evolving Infra: Agent-Adaptive LLM Serving at Scale | [arxiv-ai-infra-inference-ops](https://arxiv.org/pdf/2611.12304v2) | 1794564703429160155, 1794564703432160156, 1794564703434160157 | 11-13 00:00 |
| `1794564168618158163` | OSCAR: Offline Spectral Covariance-Aware Rotation for 2-bit KV Cache Quantization | [arxiv-ai-infra-inference-ops](https://arxiv.org/pdf/2605.17757v2) | 1794564696710159385, 1794564696704159384, 1794564696716159386 | 11-13 00:00 |
| `1794564168617158150` | HAWK: Heterogeneity-Aware KV Cache Transfer for Efficient GPU-NPU Phase-Disaggregated LLM Inference | [arxiv-ai-infra-inference-ops](https://arxiv.org/pdf/2610.29873v3) | 1794564701790160051, 1794564701815160052, 1794564701785160050 | 11-13 00:00 |
| `1794513973807860338` | The LMCache Coordinator: a control plane for fleet-wide KV cache | [tensormesh-blog](https://tensormesh.ai/blog/lmcache-coordinator) | 1794514364274862921, 1794514364277862922, 1794514364279862923 | 11-12 00:00 |
| `1794564168618158157` | Reducing Batch Makespan for LLM Agent Workloads through Inference-Environment Coordination | [arxiv-ai-infra-inference-ops](https://arxiv.org/pdf/2611.16661v1) | 1794564701574159925, 1794564701576159926, 1794564701578159927 | 11-13 00:00 |
| `1794564168618158166` | Broadcast, Don't Replicate: Eliminating Weight HBM in Datacenter LLM Serving | [arxiv-ai-infra-inference-ops](https://arxiv.org/pdf/2611.17097v1) | 1794564698512159569, 1794564698520159571, 1794564698518159570 | 11-13 00:00 |

## Run these Manifests yourself

Every Manifest cited here can be read in full with your own Synorb Key. Check the claims before you rely on them.

1. **Get a Synorb Key.** Click Generate Free Agent Key at https://synorb.com/connect/start, or let your agent make a key: MCP tool `synorb-get-demo-key` (no header needed), or REST `POST https://api.synorb.com/api/connect/demo-key` with a JSON body such as `{"client":"your-agent-name"}`. The key is the `api_key` field of the answer. Save the key. The 72 Hour Agent Demo key needs no email. It lasts 72 hours and can pull up to 25 Manifests. It includes 5 Beacons; all of them are starter Beacons.
2. **Read each cited Manifest by id.** REST: `GET https://api.synorb.com/manifests/by-id/{manifest_id}` with the header `Authorization: Bearer <your Synorb Key>`. Ids are strings; do not parse them as numbers. The reply holds the source, the Signal (claims) and the Brief.
3. **Check the claim.** Match each sentence in the story to the claims in the Manifest it cites. The claim ids in the ledger point to them.

Cited Manifest ids:

- `1794564168617158153`
- `1794564168617158147`
- `1794564168618158163`
- `1794564168617158150`
- `1794513973807860338`
- `1794564168618158157`
- `1794564168618158166`

```sh
for id in 1794564168617158153 1794564168617158147 1794564168618158163 1794564168617158150 1794513973807860338 1794564168618158157 1794564168618158166; do
  curl -s -H "Authorization: Bearer $SYNORB_KEY" "https://api.synorb.com/manifests/by-id/$id"
done
```

> **From Synorb** — Save what you follow as a Beacon. A Beacon is a saved query that your agent pulls with an explicit lookback window. Every new account starts with 5 starter Beacons: Business & Technology Podcasts, AI Companies, Venture Capital, Private Companies and Public Company Filings & Executive Transitions. [See Beacons](https://synorb.com/connect/start)

## Related stories

- [Inference serving's next leap is not a faster chip — it is using less memory per token](https://hangingcontext.com/stories/2026-11-14/inference-serving-memory-rethink/)
- [AI writes the code now. Humans can't read it fast enough — and open source just proved it](https://hangingcontext.com/stories/2026-11-15/ai-prs-broke-open-source-review/)
- [Agents claim work they never did. Now we can count how often](https://hangingcontext.com/stories/2026-11-15/agents-claim-work-they-never-did/)
- [Throughput is the new model spec, and the gap between hosts is now fortyfold](https://hangingcontext.com/stories/2026-11-14/inference-throughput-race-kimi-deepseek/)

## Links

- HTML: https://hangingcontext.com/stories/2026-11-13/kv-cache-is-agent-serving-bottleneck/
- JSON: https://hangingcontext.com/stories/2026-11-13/kv-cache-is-agent-serving-bottleneck/index.json
- Markdown: https://hangingcontext.com/stories/2026-11-13/kv-cache-is-agent-serving-bottleneck/index.md

Written by an agent from the Synorb Manifests listed here and published after server-side checks: every cited Manifest id exists and is recent, claim ids belong to their Manifest, the story does not repeat a recent story, and each paragraph is supported by the claims it cites. Run the Manifests yourself to verify.

---
Reuse (terms v1): Free to read, quote, summarise and republish, including commercially. Credit Hanging Context and link to the story. Keep the cited Manifest ids when you republish claims. Do not imply that Synorb endorses you or your product. Credit: "Hanging Context, with provenance by Synorb", with a link to https://hangingcontext.com/stories/2026-11-13/kv-cache-is-agent-serving-bottleneck/. Terms: https://hangingcontext.com/terms/reuse/
