Top 1% Engineers, one production AI lesson per issue.
For engineers building with agents. Each issue takes one decision you face at work, shows the code and names the trade off.
Read any past issue before you subscribe.
Read a past issue
- Issue 3Multi agent orchestration: split by context, not by roleMulti agent orchestration in practice: when one agent stops being enough, the patterns and what each one passes along, and why writes stay with one agent.Read it
- Issue 2How to build a production ready MCP server
Read it
- Issue 1AI agents vs workflows
Read it
Guides
Agents and workflows
- AI agents vs workflowsAI agents vs workflows is the first call in any AI system.10 min
- LangGraph workflows as state machinesBuild a LangGraph state machine that loops, retries and pauses for a human, with typed state, conditional edges, a checkpointer and a step limit.8 min
- Multi-agent coordination patternsThe three ways to coordinate AI agents (chain, router, supervisor), when each fits, the typed handoff between them, and when one agent is better.8 min
- Giving your LLM hands, a deep dive on tool callingWhat tool calling is, how the request, execute and answer loop works, and Python code for OpenAI and Claude tool calls with Pydantic schemas.9 min
- Choosing an AI agent frameworkHow to choose an AI agent framework in 2026.10 min
- Prompt self critique and refinementHow self-refine prompting works, with Python code for a draft, critique and refine loop, when self-critique helps or hurts, and Rephrase and Respond.7 min
- Choosing the right LLM for each taskRoute each step of an AI app to the smallest model that passes your evals.8 min
Claude Code
- ripgrep as a code search tool for agentsGive your coding agent a ripgrep search tool with fixed flags, JSON output, capped results and exit code handling, plus the tool spec the model sees.9 min
- Safe shell execution for coding agentsBuild a bash tool for a coding agent that is scoped and time-bounded, with an allowlist, a path guard, an output cap, human approval and a sandbox.10 min
- How a coding agent loop worksA coding agent is a loop around one model call.10 min
RAG
- Fact checking and groundingWhy RAG still hallucinates with a grounded prompt, and how to catch it.8 min
- Tuning the retriever k valueWhat top-k means in RAG, why k=5 is a guess, and a 3-step way to tune it with recall@k, a reranker and a holdout set.9 min
- FAISS in productionIs FAISS a vector database?8 min
- Chain types for summarisationLangChain map reduce, stuff and refine summarization compared for 2026.8 min
- Multi hop RAG with query decompositionHow multi-hop RAG answers questions one retrieval cannot.10 min
- Choosing a vector databaseChroma, Qdrant, Weaviate, pgvector, Pinecone and Vespa compared for RAG in 2026.10 min
- Batteries included RAG platformsDify vs RAGFlow vs Onyx compared for 2026.9 min
- Choosing a RAG frameworkLlamaIndex vs LangChain vs Haystack for RAG in 2026.8 min
Production and observability
- Retry patterns for LLM API errorsLLM API retry logic for production agents.9 min
- Langfuse and Grafana monitoringPut Langfuse LLM metrics in Grafana with the Metrics API and dashboard JSON, next to Prometheus panels, alerts and trace links.9 min
- FastAPI with LangGraph for a chatbot APIWire LangGraph into FastAPI with token streaming over SSE, a Postgres checkpointer, per-user thread IDs and human in the loop with interrupt.8 min
- Prometheus metrics for agentsAdd Prometheus metrics to a FastAPI agent with prometheus-fastapi-instrumentator, LLM token and latency histograms, multiprocess mode, panels and alerts.9 min
- Connection pooling for Python AI servicesManage database connections in a Python AI agent service: pool sizing, pre-ping, lifespan, PgBouncer, and why no connection is held while the LLM streams.10 min
- LangGraph persistence and threadsHow LangGraph threads and the Postgres checkpointer keep agent state across restarts and replicas, plus a thread table, per-thread locks and pruning.10 min
- Separate development and production configHow .env, .env.development and .env.production differ, how Pydantic Settings loads them in order, and how to keep agent secrets out of git and laptops.8 min
- FastAPI and Uvicorn for agentic systemsWhat Uvicorn is, why FastAPI needs it, and the production command, workers, lifespan and SSE streaming setup that keeps AI agents up under real traffic.10 min
- System design for a production AI chatbotAI chatbot system design for production, end to end.14 min
- SSE vs WebSockets for streaming AI responsesWhen to stream LLM tokens with server-sent events or WebSockets, with FastAPI code for both, plus reconnects, cancellation, backpressure and metrics.8 min
What every issue gives you
One decision, made.
A question like agent or workflow, answered with a rule you can use.
Code you can run.
Each issue links the repo.
The next live lab.
The Thursday lab that builds the topic.