Writing
Notes on building agent systems, retrieval and the infrastructure that keeps them running. General engineering material, written from practice. New posts also go out by RSS at /rss.xml.
Posts
- LLM evaluation: evals that catch regressions, and when to trust LLM-as-a-judgeHow to build an eval set from real failures, what to check with code first, the known biases of LLM-as-a-judge and how to calibrate it, evaluating agent trajectories, and running evals like tests.
- Multi-agent systems: when splitting an agent helps and when it just costs moreWhat multiple agents actually buy you, what they cost in tokens and reliability, the patterns that work, how to write handoffs, and why to start with one agent.
- RAG retrieval: hybrid search, reranking and measuring recallMost wrong RAG answers are retrieval failures. How to measure retrieval on its own, chunk by structure, combine keyword and vector search, rerank, and filter safely.
- Agentic AI in practice: tool design matters more than the promptWhy most agent failures come from the tools, not the system prompt: naming, granularity, what tools return, error messages that teach, safe retries and hard limits.
- Human-in-the-loop AI agents: where approval gates belongWhy an approval step bolted on after an agent runs doesn't protect anything, where the gate should sit, what a reviewer needs to see, and how to resume safely after a yes.
- Multi-tenant architecture: shared schema vs database per tenantThe three ways to separate SaaS customers' data, how each one fails, what database per tenant really costs, and how to choose.
Last updated 2026-10-16. A markdown copy of this page is at /writing.md, and agent guidance is at /llms.txt.