writing
Notes on shipping LLM systems.
Practical writing on RAG, agents, fine-tuning, and LLMOps — what works, what fails, and what to measure.
What is RAG, and when should you use it?
A plain-English guide to retrieval-augmented generation — what it is, what problem it solves, and when it's the right tool (and when it isn't).
Read →What is an AI agent? A plain-English guide
Agents are not chatbots. A plain-English explanation of what AI agents actually are, where they help, and where they make things worse.
Read →What is LLMOps, and why does production AI break without it?
Shipping an AI feature is the start, not the finish. LLMOps — in plain English — is everything you need so it keeps working once real users find it.
Read →Fine-tuning, prompting, or RAG: which one do you actually need?
Three very different ways to make an AI behave the way you want — explained without jargon, with a simple rule for picking between them.
Read →Different ways to build a RAG system, in plain English
Naive RAG, hybrid retrieval, reranking, multi-vector. The main approaches to building a RAG system — without the jargon.
Read →Agentic RAG: when your assistant should think before it searches
What happens when retrieval-augmented generation meets AI agents — and why it can turn a Q&A bot into a research assistant.
Read →From RAG demo to production: the checklist nobody gave you
Most RAG systems look great in a notebook and embarrassing in production. Here is the gap nobody warns you about, and the checklist that closes it.
Read →Choosing an LLMOps stack: LangSmith, LangFuse, LangWatch compared
Three tools, overlapping pitches, very different strengths in practice. Where each one wins, and how to pick without locking yourself in.
Read →Building reliable AI agents: evaluation, guardrails, and the loop that won't end
Agents fail in characteristic ways. Here are the failure modes worth designing for — and the patterns that turn an unreliable agent into something you can deploy.
Read →