Articles
Notes, tests, and arguments.
A tutorial should do more than run, and an explanation should do more than agree with the first page of search results. These are my arguments about developer content, documentation, and the AI systems I build around them.
Multi-Agent vs Single-Agent Systems: The Real Trade-offs
The decision between one agent and many is not about capability. It is about failure modes, latency, and operational complexity.
The Agent Design Space: A Map of What Engineers Are Actually Building
After surveying production agents across industries, the design space clusters into patterns. Here is what I found.
When to Build an Agent and When to Build a Smarter Assistant
The difference between an AI agent and a smart assistant comes down to one thing: who drives the loop.
Lambda Calculus as an AI Reasoning Exercise
Lambda calculus exposes substitution, scope, and composition errors in AI outputs through problems with mechanically checkable answers.
The Anatomy of an Agent Loop: Perceive, Think, Act, Remember
The agent loop is not one thing. It is four distinct phases that run in sequence, and understanding each one is how you debug what breaks.
Why AI Agents Keep Failing in Production and What the Field Is Doing About It
I have spent two years watching agents fail in production. Here is what I keep seeing and what the field is starting to do about it.
A Taxonomy of AI Agents That Actually Explains What You Are Building
Most AI agent taxonomies are either too academic or too vague to be useful. Here is the classification I use when I need to decide what kind of agent to build.
State of AI Agent Memory in 2026
Agent memory spans working state, episodic history, retrieval, and consistency controls. The right architecture depends on the agent's task and risk.
Short-Term Memory for AI Agents: A Practical Guide
Context windows are not memory. Here is what every production AI agent engineer needs to understand about token budgets, overflow handling, and how short-term and long-term memory actually work together.
RAG vs Memory: What AI Developers Need to Know
Understand the fundamental differences between RAG and memory systems for LLM applications, when to use each, and how to combine them in production.
Memory for Voice AI Agents: What Text Chatbots Cannot Do
Voice AI agents live or die by how they manage memory across a real-time streaming pipeline. Text chatbots solve memory with RAG. Voice agents need something different.
How Memory Works in HyperAgents
A deep dive into how HyperAgents retain context across interactions, layer memory architectures, and handle session continuity in production.
How Memory Works in DeerFlow
A deep dive into the memory architecture of DeerFlow: layered context passing, session state files, sub-agent isolation, and how it compares to Letta, AutoGen, and CrewAI.
How Memory Works in Claude Code
A practical guide to understanding how Claude Code retains context across sessions, uses project files, and manages long-term memory for coding tasks.
Context Windows vs Memory: Why They Are Not the Same Thing
Context is a per-request reasoning budget. Memory is persistent state retrieved into a later request. Long input capacity does not make them interchangeable.
AI Memory Management for LLMs: What Actually Works
A senior engineer's breakdown of what memory management for LLMs actually looks like in production: eviction strategies, KV cache management, importance-weighted retention, and why your agent keeps forgetting things.
Technical Writing for Engineers: The 80/20 Guide
Most engineering documentation fails for the same reasons. Here is what actually moves the needle.
LLM token budgets: a practical guide to cost control
Real numbers, real pricing, and concrete strategies for keeping your LLM spend predictable.
How to Trace Latency in a Real-Time Voice Agent
A systems-level guide to tracing latency across endpointing, transcription, model inference, speech synthesis, and transport.
RAG Evaluation Metrics: What Actually Matters
A practical guide to RAGAs, recall, precision, and the metrics that separate production RAG systems from prototypes.