Writing Archive
Essays, papers, talks, and notes. A complete archive of thinking from the trenches.
/Essay
Building a Production-Ready LangGraph Agent
State machines, tool nodes, and error recovery — everything the tutorials skip before you ship your first real agent.
Multi-Agent Orchestration: Supervisor and Subagent Patterns
How to split complex tasks across specialised agents without losing control of state, context, or your sanity.
Agentic RAG: Self-Correcting Retrieval That Works in Production
Naive vector search breaks silently. Corrective RAG loops catch the failure and rewrite the query before the user notices.
Memory in LangGraph: Checkpointing, Persistence, and Long-Term Context
Three memory tiers — in-thread, cross-thread, and external store — and exactly when each one becomes the right tool.
Eval is a product, not a script
Why most LLM evals quietly rot — and the small shifts that keep them honest as your system evolves.
Scaling transformers: the hidden tradeoffs
More parameters, more tokens, more GPUs — and where each tradeoff leaves you stranded if you get it wrong.
The synthetic data trap
Generating more data looks like progress until your model learns to game your synthetic distribution.
/Notes
Tool-Use Reliability: Four Failure Modes and How to Handle Them
Hallucinated arguments, wrong tool selection, timeouts, schema drift — a field guide to keeping function-calling agents honest.
Human-in-the-Loop AI: Interrupt Patterns with LangGraph
How to pause an agent mid-graph, hand control to a human, and resume cleanly — without losing the thread.
KV-cache reuse, explained slowly
A walkthrough with diagrams — what gets shared between requests, what doesn't, and where it goes wrong.
RAG systems in production: retrieval gone wrong
Why semantic search is necessary but insufficient, and what you're actually debugging when your RAG fails.