essay

the runtime grew up while the models learned to lock the door

Glowing warm-lit industrial pipework beneath a cold sealed monolithic slab, a padlock shape in its seams, symbolizing agent infrastructure under locked-in models.

Week ending May 15, 2026.

Every so often the AI news calms down enough that you can hear the infrastructure humming underneath, and this was one of those weeks. No new god-model, no billboard-sized benchmark. Instead: durable agent runtimes, serverless GPUs, inference that stops leaving the hardware idle, and eval tooling that actually watches your agent think. This is the boring stuff that decides whether any of the flashy stuff survives contact with production.

The throughline is that agents are finally getting a real substrate instead of a pile of duct tape wrapped around an IDE. And right on cue, one skeptic pointed out that while we build all this portable plumbing, the frontier labs are quietly gluing their own harnesses into the weights. Both things are true at once, which is the fun part.

the runtime comes out of the IDE

Cline shipped @cline/sdk, and the interesting move isn't that it's open source, it's the shape. They tore the agent loop out of the VS Code host and rebuilt it as layered TypeScript: shared types, a provider layer, a stateless agent loop, and stateful orchestration on top. The payoff is exactly what I've been begging for—sessions that survive a UI restart, migrate across surfaces, and keep going without living inside your editor. Provider swaps become config changes, not code changes, because provider logic never touches the loop.

The catch: benchmarks are still self-reported. Cline CLI on claude-opus-4.7 hitting 74.2% on Terminal Bench 2.0 versus Claude Code's 69.4% is a real number on a real harness, not vibes, but it's their run on their harness. Still, the architecture is the story. Event-sourced, durable, portable—this is what an agent should have been from the start.

the GPUs learned to wake up fast

Modal's writeup on truly serverless GPUs is the most honest engineering I read all week. The problem is dumb and expensive: naively spinning up an inference replica takes kiloseconds, so everyone over-provisions and eats 10-20% allocation utilization. Their fix is four compounding tricks—a warm GPU buffer, a content-addressed lazy filesystem that only loads the files you actually read, CPU checkpoint/restore, and GPU checkpoint/restore that snapshots device memory. Result: vLLM cold starts drop from ~96s to ~14s.

The caveats are refreshingly unhidden. Snapshots are host-hardware-sensitive, so a heterogeneous fleet needs multiple snapshots. Multi-GPU NCCL programs deadlock on pause. You still eat throughput loading the weights themselves. But the principle—infrastructure compounds, each layer built on the last—is the right mental model for this whole stack.

stop making the GPU take turns

Hugging Face's piece on asynchronous continuous batching is a clean first-principles walk through a waste you probably didn't know you had. Synchronous batching makes the CPU and GPU take turns: while one works, the other twiddles its thumbs. They measured nearly a quarter of total runtime with the GPU idle waiting on CPU scheduling.

The fix is CUDA streams and events to prep batch N+1 while batch N computes, plus double-buffered tensors and a shared memory pool for the CUDA graphs so you don't pay double VRAM. GPU busy time went from 76% to 99.4%, a 22% speedup with no new kernels and no model changes. Free money, if you self-host. The complexity tax is real—race conditions, carry-over masks, placeholder tokens—but it's the kind of complexity that lives in a library once and pays off forever.

evals that survive reality

Raindrop's Workshop is a local trace debugger that instruments your agent, streams every token and tool call, and—this is the part I like—lets Claude Code read those traces, write evals against your actual codebase, and self-heal until the assertions pass. One curl command, no clone, no build. This is the opposite of the self-graded demo. Evals that come from your real traces are the only ones that survive contact with reality.

the appliance problem

And then Drew Breunig's note on overfitting the harness crashes the party. OpenAI is winding down fine-tuning, and the labs are training their own harness behaviors into the model. His worry: third-party harnesses lose value when first-party behavior is baked in, and the fine-tuning escape hatch is gone. Models become appliances, not platforms—more reliable, more locked in.

Hold both thoughts. The Cline and provider-layer work is a bet on portability. The frontier labs are betting the other way. Whoever's right decides who owns the switching cost.

what I'd do Monday

Instrument before you optimize—stand up local trace capture so your evals come from real runs, not wishful thinking. If you self-host, check whether your serving stack does async batching; a 20% throughput win with zero model changes is not optional. Keep your provider logic out of your agent loop so a lab's harness lock-in stays a config problem, not a rewrite. And measure your GPU allocation utilization honestly. If it's 15%, the plumbing, not the model, is your bill.

references