Skip to content

Agentic systems that survive production.

Supervisor and vertical agent architectures on LangGraph and LangChain — built around the assumption that tools fail, models drift, and a run has to recover rather than stall.

The gap nobody scopes

A demo agent and a production agent are different systems wearing the same name. In a prototype an inconsistency is a curiosity; in production it is an incident. The work that separates them is almost never the prompting — it is state, identity, concurrency, recovery, and knowing what actually happened on a given run.

Agent observability is also not ordinary observability. Two identical inputs can take different execution paths depending on tool selection and intermediate results, so a log that only records inputs and outputs tells you very little about why a run went the way it did.

How I build them

Topology first. A supervisor delegating to narrow, well-described specialists is easier to test and cheaper to run than one agent with a large tool surface, because each hand-off is a place you can assert something. Where a workflow is genuinely linear, I will say so and not sell you an agent at all.

Tools are treated as software integrations, not as prompt affordances. That means schema validation, timeouts, exponential backoff, and an intermediary layer that decouples agent logic from the fragility of whatever is on the other end. APIs break, tokens expire, and downstream systems return things their documentation does not mention.

State is explicit and durable. A run that dies halfway should be resumable or cleanly failed, not left in an ambiguous half-written condition.

Failure modes I design against

A single bad generation cascading into a real side effect — an incorrect write, a message sent, a record changed. The mitigation is not a better prompt; it is keeping irreversible actions behind validation and, where the blast radius warrants it, behind a human.

Silent degradation after a model change. Without regression evals in CI, a provider updating a model is a behavioural change to your product that nobody observes until a customer reports it.

Cost drift. Repeated tool calls and retries are invisible in a demo and material at production volume.

()  What you receive

Each with written acceptance criteria.

  • Architecture document: topology, state model, tool contracts, failure paths
  • Implemented agent system with schema-validated tool integrations
  • Observability: run traces across tools, timing and cost
  • Regression evals covering the behaviours you cannot afford to lose
  • Written acceptance criteria for each deliverable
()  Other disciplines