//

Writing

Field notes on building AI agents that survive production — context, memory, evals, observability, and the data underneath them.

Keeping agents fast: lean state, direct tools, and the data-card trick

An agent that's correct but slow loses to one that's slightly worse and snappy. Most latency in agent systems is self-inflicted — here's where it hides.

You can't fix what you can't trace: observability for multi-agent systems

When an orchestrator hands off to a sub-agent that calls a tool that calls a model, 'it gave a bad answer' isn't a bug report. Here's the instrumentation that turns it into one.

Memory is not context: how agents remember without lying

Conflating long-term memory with live state is the fastest way to make an agent confidently wrong. The fix is a hard line between what the agent recalls and what it looks up.

Facts, affordances, and pertinence: who decides what an agent does — code or the model

Two failure modes haunt every agent: it makes up things that aren't true, and it nags about things at the wrong moment. Both come from putting the wrong decision in the wrong place.

The context ladder: what your agent should always see, sometimes see, and only fetch on demand

Most agent bugs aren't reasoning failures. They're context failures — the model was asked to answer without the one fact it needed, or drowned in ten it didn't.