Ai-Agents
25 Jul 2026
A first LangChain chain, from prompt template to LCEL pipe, with a local model swap, response inspection, tests, type-checking, and tracing added around it.
10 Aug 2026
What actually happens between an LLM call and a tool call: the read-act-observe loop that turns a plain language model into an agent.
10 Aug 2026
How create_agent and the @tool decorator collapse a hand-rolled tool-calling loop into a few lines, and what that trade-off actually costs you.
10 Aug 2026
Why LangGraph models an agent as an explicit graph of nodes and edges instead of a hidden loop, and the core primitives that make that possible.
10 Aug 2026
How LangGraph snapshots a graph’s state after every step, so a run can survive a crash, get inspected mid-flight, or resume exactly where it left off.
10 Aug 2026
How LangGraph’s interrupt() pauses a running graph mid-step to ask a human before a risky action, and how Command(resume=…) picks it back up.
10 Aug 2026
Structured Output as a Guardrail
How binding a Pydantic schema to a model or agent turns a probably-shaped response into a validated object, and what still isn’t guaranteed once it is.
10 Aug 2026
A small, hand-rolled harness for checking whether an agent’s output is actually correct, not just well-formed, with a fixed dataset, a scorer per case, and a pass rate.
10 Aug 2026
When correctness is subjective, grade agent output with a second, structured LLM call instead of eyeballing every run.
10 Aug 2026
Tracing Agents with OpenTelemetry
When one specific agent run goes wrong, aggregate pass rates won’t tell you where. A span tree of every model call and tool call will, whether it’s built automatically, by a decorator, or by hand.
10 Aug 2026
Timeouts, Retries, and Loop Limits
A timeout bounds a call, a retry survives a transient failure, and a hard iteration limit is what stops an agent that never planned to.