<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ai-Agents on Fernando Hermida</title><link>https://www.fernandohermida.com/tags/ai-agents/</link><description>Recent content in Ai-Agents on Fernando Hermida</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 10 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.fernandohermida.com/tags/ai-agents/index.xml" rel="self" type="application/rss+xml"/><item><title>Hello World, LangChain</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/01-hello-world-langchain/</link><pubDate>Sat, 25 Jul 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/01-hello-world-langchain/</guid><description>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.</description></item><item><title>Agent Loops in Python</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/02-agent-loops-in-python/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/02-agent-loops-in-python/</guid><description>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.</description></item><item><title>Tool Calling with LangChain</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/03-tool-calling-with-langchain/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/03-tool-calling-with-langchain/</guid><description>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.</description></item><item><title>Graphs, Not Chains</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/04-graphs-not-chains/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/04-graphs-not-chains/</guid><description>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.</description></item><item><title>Durable State and Checkpoints</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/05-durable-state-and-checkpoints/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/05-durable-state-and-checkpoints/</guid><description>How LangGraph snapshots a graph&amp;rsquo;s state after every step, so a run can survive a crash, get inspected mid-flight, or resume exactly where it left off.</description></item><item><title>Human-in-the-Loop Interrupts</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/06-human-in-the-loop-interrupts/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/06-human-in-the-loop-interrupts/</guid><description>How LangGraph&amp;rsquo;s interrupt() pauses a running graph mid-step to ask a human before a risky action, and how Command(resume=&amp;hellip;) picks it back up.</description></item><item><title>Structured Output as a Guardrail</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/07-structured-output-as-a-guardrail/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/07-structured-output-as-a-guardrail/</guid><description>How binding a Pydantic schema to a model or agent turns a probably-shaped response into a validated object, and what still isn&amp;rsquo;t guaranteed once it is.</description></item><item><title>A Minimal Eval Harness</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/08-a-minimal-eval-harness/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/08-a-minimal-eval-harness/</guid><description>A small, hand-rolled harness for checking whether an agent&amp;rsquo;s output is actually correct, not just well-formed, with a fixed dataset, a scorer per case, and a pass rate.</description></item><item><title>LLM-as-Judge</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/09-llm-as-judge/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/09-llm-as-judge/</guid><description>When correctness is subjective, grade agent output with a second, structured LLM call instead of eyeballing every run.</description></item><item><title>Tracing Agents with OpenTelemetry</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/10-tracing-agents-with-opentelemetry/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/10-tracing-agents-with-opentelemetry/</guid><description>When one specific agent run goes wrong, aggregate pass rates won&amp;rsquo;t tell you where. A span tree of every model call and tool call will, whether it&amp;rsquo;s built automatically, by a decorator, or by hand.</description></item><item><title>Timeouts, Retries, and Loop Limits</title><link>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/11-timeouts-retries-and-loop-limits/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://www.fernandohermida.com/posts/agentic-ai-engineering-journey/11-timeouts-retries-and-loop-limits/</guid><description>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.</description></item></channel></rss>