What Is OpenTelemetry, and Why It Matters for Agent Observability
OpenTelemetry in plain terms: the data model, the GenAI semantic conventions, and why building agent tracing on OTel avoids lock-in.
29 articles
OpenTelemetry in plain terms: the data model, the GenAI semantic conventions, and why building agent tracing on OTel avoids lock-in.
What traces and spans actually are, how they map onto an agent run, and how to walk one to find the exact step that broke.
Most prompting advice transfers across models. The parts that do not will quietly break your app when you switch providers. A working map of the differences.
Prompt functions wrap a prompt in a name, inputs, and a rule so you can call and compose it like code. The chat-window version is dated; the idea runs everything now.
Most agents fail for boring, fixable reasons. Here are the practices that make an agent reliable: fewer LLM calls, tools that explain themselves, and a debugging ladder to climb when it misbehaves.
Prompt injection, prompt leaking, and jailbreaking are three different attacks with three different fixes. Here is how each one works and what defence actually holds.
Graph prompting feeds a model structure, not just prose: entities as nodes, relationships as edges. Here is what the idea is, where it comes from, and when it pays off.
smolagents ships two agent classes that act in completely different ways: one writes Python, one emits structured JSON. Here is how each works, what each is good and bad at, and when to reach for which.
Multimodal CoT extends step-by-step reasoning to text plus vision with a two-stage split: build a rationale from both modalities, then answer from the rationale.
Directional Stimulus Prompting trains a small model to produce hints that nudge a big frozen LLM toward what you want. It is prompt optimization when you cannot touch the weights.
An agent is a stateless model wrapped in a loop. Here is the ReAct pattern built from scratch: the message list as memory, the exact algorithm, and the rule that generate calls equal tool rounds plus one.
Git worktrees let you check out several branches into separate folders at once. They went from obscure to default because running coding agents in parallel needs isolated workspaces.
Why model deprecation quietly breaks production apps, and a concrete workflow: one models constant file, a scheduled GitHub Action checking deprecations.info plus a liveness probe, and an alert.
A practical guide to LLM observability: the traces and metrics to log, the handful of alerts worth waking up for, and why traditional monitoring misses what matters.
How to choose how to structure an agent: the plain while loop, the explicit state machine, and the full graph. What each gives you, what each costs, and when to move up.
Prompt caching is solved. The bigger win for agents is caching tool-call results, and that is harder because tools have side effects. Here is how to do it safely.
How to build a RAG system that serves many customers without leaking data between them: silo vs pool vs bridge, namespaces vs metadata filters, and where isolation must hold.
If you can already ship software, the way into AI engineering is not another tutorial. It is building five systems that force you to handle failure, measure quality, and run things in production.
A tour of how DeepAgents assembles, compresses, and isolates context, with the TypeScript config for each layer. The framework does a lot automatically; this is what is happening and where you steer it.
Prompt caching can cut input cost by up to 90%, but only if you structure prompts so the cache actually hits. Here is how it works and when it pays off.
What state, checkpoints, and threads actually are in LangGraph, how to pick a checkpointer, and how persistence powers memory, resume, and human-in-the-loop.
A practical playbook for making LLM apps cheaper and faster without hurting answers: where the cost and latency actually go, and the levers that work.
A practical guide to keeping production agents safe: where to put input and output rails, how to contain tools, and why prompt injection needs layers, not a fix.
The field moves faster than any course can. So I learn production AI by gutting and rebuilding the open-source projects that production teams actually run. Here is the path.
A clear split between an agent's working memory and its cross-session memory, with LangGraph code for checkpointers, stores, and the semantic/episodic/procedural breakdown.
A practical, opinionated comparison of the four vector databases people actually argue about, with a clear default and the signals that mean you have outgrown it.
A hands-on guide to building MCP servers with FastMCP, drawn from two I actually shipped: the anatomy, the rules, stdio vs remote HTTP, the pitfalls, and how to test and deploy.
Traditional RAG retrieves once and hopes for the best. Agentic RAG lets the model decide whether, what, and how to retrieve, then check its own work. Here is the difference, with code.
Agents, explained without the hype: what they are, when one is enough, when you need several, and how to build a working multi-agent system with LangChain.