<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Agentic Engineering]]></title><description><![CDATA[Where the hype ends, and the build begins]]></description><link>https://newsletter.agentengineering.co</link><image><url>https://substackcdn.com/image/fetch/$s_!J5ef!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fecfd107e-a784-4492-be0c-1ade75f87224_256x256.png</url><title>Agentic Engineering</title><link>https://newsletter.agentengineering.co</link></image><generator>Substack</generator><lastBuildDate>Sat, 01 Aug 2026 17:52:16 GMT</lastBuildDate><atom:link href="https://newsletter.agentengineering.co/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Packt]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[agenticengineering@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[agenticengineering@substack.com]]></itunes:email><itunes:name><![CDATA[Packt]]></itunes:name></itunes:owner><itunes:author><![CDATA[Packt]]></itunes:author><googleplay:owner><![CDATA[agenticengineering@substack.com]]></googleplay:owner><googleplay:email><![CDATA[agenticengineering@substack.com]]></googleplay:email><googleplay:author><![CDATA[Packt]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[#8: The undeclared dependency]]></title><description><![CDATA[Every team building with AI coding agents is carrying a dependency it never declared. Here's what happens when you finally do.]]></description><link>https://newsletter.agentengineering.co/p/8-the-undeclared-dependency</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/8-the-undeclared-dependency</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 30 Jul 2026 14:30:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8e09a55e-8bbc-45d4-98f1-f694cec1b584_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><h4><code>Editor&#8217;s note</code></h4><p>We&#8217;ve spent time over the past few weeks talking about prompts, context, harnesses, and loops. But there&#8217;s another part of the AI engineering stack that doesn&#8217;t get nearly as much attention: the context your coding agents depend on.</p><p>This week, <strong><a href="https://www.linkedin.com/in/webmax/">Maxim Salnikov</a></strong> explores why agent context deserves to be treated like any other software dependency, and how Agent Package Manager (APM) aims to solve the configuration drift that&#8217;s quietly emerging across AI development teams.</p><p>If you&#8217;d like to go deeper after reading, Maxim has also put together a <strong>free interactive guide</strong> on Agent Package Manager, which we&#8217;ve linked at the end of this article. I&#8217;ll leave the floor to him.</p></div><p><span>You know the feeling, because you&#8217;ve felt it before&#8230; in a different decade. A new engineer joins, and getting their environment right means a wiki page, a Slack thread, and copying files out of someone&#8217;s home directory. Two developers swear they have the same setup, but their tools behave differently, and nobody can say why.</span></p><p><span>Before npm, pip, and Cargo, that was simply how software felt. Dependencies lived wherever each developer happened to put them &#8212; a </span><code>lib/</code><span> folder copied between machines, a README that said &#8220;install these seven things first.&#8221; It mostly worked, until it didn&#8217;t. Package managers ended it by turning scattered files into a </span><em><span>declared</span></em><span> dependency: one manifest that names what you need, one lockfile that pins exactly what you got, one command that restores it anywhere.</span></p><p><span>The files that configure your AI coding agents are in that same pre-package-manager state right now.</span></p><h3><strong><span>The context you never treated as code</span></strong></h3><p><span>Call it your </span><em><span>agent context</span></em><span>: the instructions and coding standards, the reusable prompts, the skills and agent personas, the plugins, the Model Context Protocol (MCP) server configurations. It shapes the code an agent writes, how it reviews a diff, and which external tools it can reach. That makes it a real project dependency &#8212; one of the highest-leverage ones you have, because it multiplies across every line the agent touches.</span></p><p><span>Yet most teams hand-maintain it as loose files scattered across per-tool directories and personal machines, with no declared source of truth. So it drifts. One tool&#8217;s instructions say to use the Money value object; another still mentions raw decimals. Three copies of the same review prompt live in three home directories, each checking a </span><em><span>different</span></em><span> threat model. Neither is wrong. Neither is portable.</span></p><p><span>A shared README doesn&#8217;t save you: documentation describes </span><em><span>intent</span></em><span> but never restores </span><em><span>state</span></em><span>, so the drift returns the moment someone edits a local file. This is &#8220;works on my machine,&#8221; aimed squarely at your agents &#8212; and it&#8217;s invisible, because nothing broke. The build is green. The agent just quietly got a little less consistent, or a little more dangerous, on one laptop.</span></p><h3><strong><span>Three files and one habit</span></strong></h3><p><span>The fix is not a new methodology. It&#8217;s the boring, proven shape that worked the first time. </span><a href="https://github.com/microsoft/apm"><span>Agent Package Manager (APM)</span></a><span>, an open-source tool from Microsoft, borrows the manifest-plus-lockfile pattern and points it at agent context. There are three files and one habit:</span></p><ul><li><p><code>apm.yml</code><span> &#8212; the manifest. The single human-authored source of truth, naming the primitives and MCP servers your project depends on, and which tools to target.</span></p></li><li><p><code>apm.lock.yaml</code><span> &#8212; the lockfile. Machine-generated, never hand-edited, pinning every dependency to an exact source ref </span><em><span>and</span></em><span> a content hash, so two developers install byte-identical context.</span></p></li><li><p><code>apm-policy.yml</code><span> &#8212; install-time governance, for when you&#8217;re ready for it.</span></p></li><li><p><code>apm install</code><span> &#8212; the habit. The one command that reads the manifest and materializes the declared context into each tool&#8217;s native location.</span></p></li></ul><p><span>The move that makes it click is </span><em><span>materialization</span></em><span>. A manifest is a recipe, not a meal; apm install turns the declaration into the real files each tool reads natively &#8212; compiled into .github/ for Copilot, .claude/ for Claude Code, .cursor/ for Cursor &#8212; then stays out of the way at runtime. Your three-harness maintenance burden becomes one.</span></p><h3><strong><span>A 60-second quick start</span></strong></h3><p><span>Enough theory. Here is the entire loop against a real, public collection &#8212; </span><a href="https://github.com/webmaxru/web-ai-agent-skills#install-individual-skills"><span>web-ai-agent-skills</span></a><span>, a maintained set of skills for the browser&#8217;s built-in AI APIs. Every command below is in the </span><a href="https://microsoft.github.io/apm/"><span>APM docs</span></a><span>:</span></p><blockquote><p><code># 1. Install the CLI (macOS/Linux; use the PowerShell one-liner on Windows)</code></p><p><code>curl -sSL https://aka.ms/apm-unix | sh</code></p><p><code># 2. In your project, once:</code></p><p><code>apm init</code></p><p><code># 3. Add a skill as a pinned dependency:</code></p><p><code>apm install webmaxru/web-ai-agent-skills/skills/prompt-api</code></p></blockquote><p><span>That last line is the whole pitch. It resolves the skill straight from its git source, pins it in apm.lock.yaml by commit </span><em><span>and</span></em><span> content hash, and compiles it into the location your agents already read. Commit the two files, and the next developer who runs apm install gets byte-identical context. The Prompt API skill is a </span><em><span>declared dependency</span></em><span> now, not a snippet someone pasted from a stale gist &#8212; and swapping prompt-api for any other entry works the same way.</span></p><h3><strong><span>What actually changes</span></strong></h3><p><span>Onboarding stops being a ritual and becomes git clone then apm install &#8212; the new hire&#8217;s agent is configured identically to yours before their first coffee. Drift stops being something you find during a security review: the lockfile makes it impossible, reproducing known-good context down to the bytes. None of this makes your agents smarter. That&#8217;s the point &#8212; it makes them </span><em><span>consistent</span></em><span>, the precondition for every other improvement, since you can&#8217;t tune a context you can&#8217;t reproduce.</span></p><p><span>The uncomfortable part is that we already learned this lesson once. Agent context deserves the same declaration and review discipline you already demand of package.json or requirements.txt. The tools exist. The only question is how long you keep paying the drift tax before you declare the dependency you already have.</span></p><p><span>And if authoring that first manifest feels like one more chore, there is a fitting last move: let an agent do it. The </span><a href="https://github.com/webmaxru/ai-native-dev#agent-package-manager"><span>Agent Package Manager skill</span></a><span> teaches your coding agent to run </span><code>apm init</code><span>, add and pin dependencies, validate the manifest, and manage the lockfile &#8212; installed, of course, exactly like any other skill:</span></p><blockquote><p><code>apm install webmaxru/ai-native-dev/skills/agent-package-manager</code></p></blockquote><p><span>Which is the whole idea coming full circle: the package manager for agent context, installed and operated by the agent itself.</span></p><div class="callout-block" data-callout="true"><p>This article only scratches the surface. Maxim&#8217;s <em>The Missing Package Manager</em> expands on these ideas through an interactive guide that explains not just how to use Agent Package Manager, but why treating agent context as a declared dependency fundamentally changes the way teams build with AI coding agents.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://apm.isainative.dev/&quot;,&quot;text&quot;:&quot;Read the free guide&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://apm.isainative.dev/"><span>Read the free guide</span></a></p></div><p>That&#8217;s it for this one. We&#8217;ll pick up the conversation next week. </p><p>Until then, keep building.</p><blockquote><p>Tanya D&#8217;cruz<br><em>Editor-in-Chief</em></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#7: GraphRAG as an interface to the world]]></title><description><![CDATA[Podcast with David Knickerbocker on teaching GraphRAG agents when to stop, what to remember and how to investigate]]></description><link>https://newsletter.agentengineering.co/p/7-graphrag-as-an-interface-to-the</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/7-graphrag-as-an-interface-to-the</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 23 Jul 2026 14:30:51 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/207954133/3a2748ce5bda0b2ef311de88ba082734.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>GraphRAG is often presented as the natural next step after conventional RAG: add a knowledge graph, give an agent access to it, and let the system investigate more complex questions.</p><p>But adding a graph does not remove the difficult questions. How does an agent know when it has gathered enough evidence? What happens when relationships change, memories become unreliable, or the graph itself sends the model down the wrong path? And when is a graph genuinely the right architecture rather than simply the more fashionable one?</p><p>For the first episode of the Agentic Engineering podcast, I spoke with <a href="https://www.linkedin.com/in/dkjapan/">David Knickerbocker</a>, founder and intelligence architect at Verdant Intelligence and author of <em><a href="https://www.amazon.com/Network-Science-Python-networks-analysis/dp/1801073694/ref=sr_1_1?crid=2ZBK48NRQ7S1V&amp;dib=eyJ2IjoiMSJ9.qkYJqZWvXvM46TpRPZVX00zD6PYxP4QqeyoXBSV48Wl85fVrWknFKeI8jRsNsNAWFnSHcTb3-rJ31-mB4ga3LeN61BxxjY5JTQ8i0NyFkzXrzsVcDmu5-oByCFGfZHakkqQztDx23Zj6I8gJtbksdUHzKW8aSu-Mf9gaB6QlL0b4CBu5cO7HrsE7c83C7xOJbkfSn6tkEtum5U5WGN1vCBuwwgM854x2WLmm4XGrfm0.u7sYg3HtA5ooYVENw5qK4evQecenoYXT_p8Kx1b8rl8&amp;dib_tag=se&amp;keywords=Network+Science+with+Python&amp;qid=1784646603&amp;sprefix=network+science+with+python%2Caps%2C325&amp;sr=8-1">Network Science with Python</a></em>. David has spent decades working across databases, cybersecurity, open-source intelligence, and network science. His answers return repeatedly to one idea: GraphRAG and agents are still software systems. If we want to trust them, we need to make their evidence visible, test their individual parts, and resist rebuilding systems that already work.</p><div><hr></div><h3>When do you genuinely need GraphRAG?</h3><p><em>I don&#8217;t see graphs as an inherently more complicated alternative to RAG. Networks already exist in nature, organisations, and social systems; graphs simply represent how things connect. They can feel difficult because fewer teams have experience with network science, but the basic idea&#8212;one thing connected to another&#8212;is straightforward.</em></p><p><em>That does not mean every team should replace its RAG system. If you have invested in a mature similarity-based system and it solves the problem well, there is no reason to solve the same problem twice. Use GraphRAG when relationships, paths, and connected evidence are central to the problem, and your team is prepared to work with them. If the existing system works, keep it.</em></p><h3>Does a natural-language GraphRAG endpoint remove complexity, or merely hide it?</h3><p><em>A natural-language endpoint should hide implementation work without hiding the evidence. I design systems to return the context behind an answer: the source material, the relevant data, and the reasoning behind a predicted relationship. For example, when one of my tools converts text into a graph, it preserves both the original passage and the reason an edge was created.</em></p><p><em>There will always be some trust involved when an agent uses an external service, just as there is when we use a search engine or API. That trust should develop through repeated, dependable use&#8212;not blind faith. Developers may not need to understand the database schema or write Cypher, but they should still receive enough information to verify what the endpoint returned.</em></p><div class="callout-block" data-callout="true"><p style="text-align: center;">If you&#8217;re liking this conversation so far, David is teaching a live, hands-on bootcamp on July 31. </p><p style="text-align: center;">In <em>Building Intelligent AI Agents with GraphRAG</em>, you&#8217;ll work with a production-ready natural-language GraphRAG endpoint and progressively build an agent that can break down complex questions, gather evidence across multiple graph queries, remember previous investigations, and extend its reasoning with specialised analytical tools. You&#8217;ll leave with practical patterns for building agents that work across connected knowledge rather than simply retrieving documents.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.eventbrite.co.uk/e/building-intelligent-ai-agents-with-graphrag-tickets-1992756563525&quot;,&quot;text&quot;:&quot;Register here&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.eventbrite.co.uk/e/building-intelligent-ai-agents-with-graphrag-tickets-1992756563525"><span>Register here</span></a></p></div><h3>How does an investigative agent know when it has investigated enough?</h3><p><em>We need to teach agents something my managers used to tell me: good enough is good enough. An agent should have a defined purpose, a limited mandate, and a clear point at which it reports back. An agent checking for concerts does not need to investigate indefinitely; it can check the relevant venues and artists, return the results, and stop.</em></p><p><em>An open-source intelligence agent may need to search more widely, compare conflicting sources, and detect manipulation, so its definition of &#8220;enough&#8221; will be different. The stopping condition has to match the task. The important thing is to decide what good enough means before the agent begins, rather than allowing it to keep reasoning and spending without a boundary.</em></p><h3>How should GraphRAG represent information that changes over time?</h3><p><em>I treat graphs as temporal. Information changes, and the completeness of our information changes with it. Rather than overwriting an old relationship, I would preserve what was claimed, where it came from, and when it was recorded. The history is part of the information.</em></p><p><em>In my systems, the highest-level object is a claim rather than a fact because the internet contains many competing claims and facts require judgement. A graph should preserve those differences instead of making every relationship look timeless and definitive. Timestamps, sources, and changing versions allow an agent to reason about what was believed at a particular point rather than treating the latest entry as the only truth.</em></p><h3>How do we prevent an agent from poisoning its own memory?</h3><p><em>Agent memory needs the same quality assurance we expect from any other piece of software. If a weak inference is stored, the system should retain its source and confidence rather than retrieving it later as an established fact. Independent agents can check one another, although using the same model everywhere may reproduce the same blind spots.</em></p><p><em>The more granular the memory, the more granular the testing needs to be. If you cannot inspect, validate, correct, or test an agent&#8217;s memory, you cannot determine whether it is reliable. Agentic work does not remove the need for software engineering; it makes careful testing at the component level even more important.</em></p><h3>Can the knowledge graph, GraphRAG platform and agent really evolve separately?</h3><p><em>They can evolve separately if their dependencies are explicit, versioned and tested. I give the major components of my systems their own semantic versions so each can be developed, released and, when necessary, rolled forward without rebuilding everything at once. Iteration creates infrastructure; big-bang development usually creates demonstrations.</em></p><p><em>A major graph-schema change may require the GraphRAG interface to change, just as a database change could break an application long before generative AI existed. But if the agent communicates through a stable natural-language contract, it may continue asking the same questions while the implementation underneath evolves. Separation does not mean independence; it means managing the connections deliberately.</em></p><h3>Are we measuring GraphRAG correctly?</h3><p><em>Counting relevant retrieved facts is not enough if the answer depends on a complete chain of evidence. A system may retrieve three of four necessary facts and still produce a confident but fundamentally incomplete conclusion. Teams need to test whether the system identified every question it needed to ask and recovered the evidence required to answer each one.</em></p><p><em>That also means testing the layers separately. Does the language model decompose the original request correctly? Does the GraphRAG endpoint return the right data for each subquestion? Does the agent assemble that evidence into a supported answer? When something is missing, we should identify the layer that lost it instead of labelling the entire system inaccurate.</em></p><h3>Is the AI hallucinating, or is the graph misleading it?</h3><p><em>I use a phrase in my training: similarity is not sameness. A similarity-based system may retrieve extra information that looks related but does not support the answer. If the model incorporates that noise as evidence, it can produce a hallucinated conclusion.</em></p><p><em>GraphRAG can fail differently. A query may miss a relationship, fail to traverse a node type, or return an event without its time or source. That is not necessarily the model inventing information; it may be a problem in the data, schema, query, or traversal. The only way to tell is to inspect the evidence path and determine which layer introduced the error.</em></p><div><hr></div><p>David&#8217;s case for GraphRAG is not that a graph should replace every RAG pipeline. It is almost the opposite: keep the parts that already work, introduce graphs where relationships genuinely matter, and make every new layer earn its place.</p><p>That restraint matters as agents become more capable of searching, remembering, and acting without constant direction. More intelligence in the workflow also creates more places for evidence to become incomplete, outdated, or distorted. Reliability, therefore, depends less on whether a system carries the latest label and more on whether its builders can see what it did, test each part, and recognise when it has done enough.</p><p>The most useful place to begin may not be a large architectural migration. It may simply be a small experiment, built slowly enough that you can still understand what the agent sees and why it reaches the conclusions it does.</p><div><hr></div><p style="text-align: center;"><em>Enjoyed today&#8217;s podcast and want more engineering conversations? Pull up a chair.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.agentengineering.co/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>That&#8217;s it for this one. We&#8217;ll pick up the conversation next week. </p><p>Until then, keep building.</p><blockquote><p>Tanya D&#8217;cruz<br><em>Editor-in-Chief</em></p></blockquote>]]></content:encoded></item><item><title><![CDATA[#6: From prompt to harness to loop]]></title><description><![CDATA[Mona Mona on the agentic skill ladder no one told you about]]></description><link>https://newsletter.agentengineering.co/p/from-prompt-to-harness-to-loop</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/from-prompt-to-harness-to-loop</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 16 Jul 2026 15:02:33 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4abc87d5-a325-4449-810c-9f3a655fe373_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><h4><code>Editor&#8217;s note</code></h4><p>Last week, <a href="https://www.linkedin.com/in/kenhuang8/">Ken Huang</a> broke down <a href="https://www.agentengineering.co/p/5-the-three-disciplines-of-agentic">agentic engineering into three disciplines: harness, context, and loops</a>. But I couldn&#8217;t leave that discussion just at that.</p><p>Because if you talk to builders, it&#8217;s clear that the work is still moving. A couple of years ago, it was all about prompting. Then we got better at tweaking context. But now, we&#8217;re starting to move beyond that. Toward loops.</p><p>So this week, Mona picks this apart from a practitioner&#8217;s lens. I&#8217;ll leave the floor to her.</p></div><p>In 2023, everyone wanted to be a prompt engineer. In 2026, the head of Claude Code at Anthropic says he doesn&#8217;t prompt Claude anymore. His words: &#8220;My job is to write loops.&#8221;</p><p>That single shift<span> </span>from prompting an agent to designing the loop that prompts it<span> </span>is the biggest change in how professionals work with AI since ChatGPT launched. And most people haven&#8217;t caught up yet.</p><p>Let me walk you up the ladder, one level at a time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9XmK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9XmK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!9XmK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!9XmK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!9XmK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9XmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1305993,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/205624786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9XmK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!9XmK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!9XmK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!9XmK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56a14d15-a143-4e8d-9a66-e6552313a9f1_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong><span>Level 1</span></strong></h3><h4><strong><span>Prompt engineering, the words you send</span></strong></h4><p>Prompt engineering is where all of us started. You learn that &#8220;write me a blog post&#8221; gets mediocre output, but &#8220;write a 900-word blog post for enterprise cloud architects, in a direct second-person voice, with a contrarian hook&#8221; gets something usable.</p><p>Prompt engineering is about <em>how you express the task</em>. Be specific. Give examples. Assign a role. Ask for a format. But it operates on one thing: the message you type into the box.</p><p>The limitation is obvious. A prompt is a single instruction to a model that has no idea who you are, what your codebase looks like, or what happened five minutes ago. You can only cram so much into words.</p><h3><strong><span>Level 2</span></strong></h3><h4><strong><span>Context engineering, everything the model sees</span></strong></h4><p>The next realization: the model&#8217;s output quality depends less on your clever phrasing and more on <em>what information it has access to</em> when it responds.</p><p>Context engineering is about curating everything in the model&#8217;s window &#8212; the instructions, the documents, the data, the tool definitions, the conversation history, the intermediate results. It asks a different question from prompt engineering:</p><ul><li><p><strong>Prompt engineering asks:</strong> how do I say it?</p></li><li><p><strong>Context engineering asks:</strong> what should the model know?</p></li></ul><p>This is why retrieval (RAG), memory systems, and structured tool outputs became the center of gravity for enterprise AI teams in 2024&#8211;2025. Teams needed to feed the model the right context at the right time, and what was just as important was keeping the wrong context out.</p><p>But context engineering has ceilings of its own:</p><ul><li><p><strong>The window is finite, and attention degrades before it fills.</strong> </p><p>Even massive context windows don&#8217;t mean equally useful attention across every token. Overload the window, and the model starts missing details buried in the middle. More context is not better context.</p></li><li><p><strong>It&#8217;s a snapshot, not a conversation with reality.</strong> </p><p>Context is assembled before the model responds. Real tasks surprise you mid-execution &#8212; a dependency is missing, an API returns something malformed, a test fails. No amount of upfront curation can anticipate what only shows up when you run the thing.</p></li><li><p><strong>The model can know everything and still do nothing.</strong></p><p>Context engineering makes the model informed. It doesn&#8217;t make it capable. It can&#8217;t execute your code, check the result, or fix what broke. Knowledge without the ability to act is a very well-read consultant with no hands.</p></li><li><p><strong>Curation doesn&#8217;t scale by hand.</strong></p><p>Someone has to decide what goes into the window for every task. Past a certain complexity, assembling the context itself needs to be automated, which is the door the next two levels walk through.</p></li></ul><h3><strong><span>Level 3</span></strong></h3><h4><strong><span>Harness engineering, the environment the agent runs in</span></strong></h4><p>Then agents arrived, and a prompt plus context stopped being enough.</p><p>An agent doesn&#8217;t just answer &#8212; it <em>acts</em>. It reads files, runs code, calls APIs, and checks its own work. For that, it needs an environment: tools it&#8217;s allowed to use, a filesystem it can touch, permissions that constrain it, feedback mechanisms that tell it whether the tests passed.</p><p>That environment is the <strong>harness</strong>. Harness engineering is designing the executable world around a single agent run &#8212; the system prompt, the tool set, the memory, the guardrails, the verification steps. If context engineering decides what the model <em>knows</em>, harness engineering decides what the model <em>can do</em> and how it finds out whether it did it well.</p><div><hr></div><p style="text-align: center;"><em>If you haven&#8217;t subscribed yet, pull up a chair.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.agentengineering.co/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><p>If you&#8217;ve used Claude Code, Cursor, or any serious coding agent, you&#8217;ve benefited from harness engineering, whether you knew the term or not. The difference between an agent that flails and an agent that ships is usually not the model. It&#8217;s the harness.</p><p>But even a great harness has a human bottleneck: <em>you</em>. You&#8217;re still the one deciding what the agent works on next, reading the output, and firing the next run. One turn after another. The agent is a power tool, and you&#8217;re holding it the whole time.</p><h3><strong><span>Level 4</span></strong></h3><h4><strong><span>Loop engineering, the cycle that drives it all</span></strong></h4><p>Loop engineering removes you from the turn-by-turn seat.</p><p>Instead of prompting the agent, you build a small system (sometimes a shell script, sometimes a scheduled job, sometimes a few hundred lines of orchestration code) that runs the agent in a repeating cycle:</p><div class="callout-block" data-callout="true"><p><span>Discover work &#8594; dispatch it to an agent &#8594; verify the result &#8594; persist the state &#8594; decide the next action &#8594; repeat</span></p></div><p>You define the goal and the stopping condition. The loop does the iterating. It runs on a schedule (including while you sleep) or until the goal is met.</p><p>The idea crystallized fast in mid-2026. Peter Steinberger argued that the real skill had moved from prompting agents to designing their loops; Addy Osmani gave the practice its name and structure in an essay the following day; and inside Anthropic, the </p><p>Claude Code team was already describing their daily work the same way. The framing that stuck: the harness equips a <em>single</em> agent run &#8212; the loop is what keeps running the harness, spawning helper agents, checking results, and feeding itself the next task.</p><p>Each level wraps the one below it. The loop runs the harness. The harness carries the context. The context frames the prompt. Nothing on the ladder becomes obsolete. Rather, the leverage keeps moving up.</p><h3><span>How to schedule a loop</span></h3><ol><li><p><span>Open your project in Claude Code.</span></p></li><li><p><span>Use the </span><code>/loop</code><span> command followed by your interval and the prompt or skill you want to run.</span></p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mwCj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mwCj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!mwCj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!mwCj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!mwCj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mwCj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1374110,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/205624786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mwCj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!mwCj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!mwCj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!mwCj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d903b36-3570-441f-a120-8ee17a8b9078_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The </span><code>/loop</code><span> command is the core, with three modes depending on what you provide:</span></p><ul><li><p><code>/loop 5m check the deploy</code><span>: Runs your prompt on a fixed schedule (Claude converts the interval to a cron expression)</span></p></li><li><p><code>/loop check the deploy (no interval)</code><span>: Claude picks the delay dynamically after each iteration, between one minute and one hour, waiting less when things are active and more when quiet</span></p></li><li><p><code>Bare /loop</code><span>: Runs a built-in maintenance prompt that continues unfinished work, tends the current PR (review comments, failed CI, merge conflicts), and does cleanup passes. You can replace this default with your own loop.md file at project level (</span><code>.claude/loop.md</code><span>) or user level (</span><code>~/.claude/loop.md</code><span>).</span></p></li></ul><h3><strong><span>But here&#8217;s the part nobody puts in the headline</span></strong></h3><p><strong>First: loops multiply whatever you give them.</strong> A well-designed loop multiplies a strong engineer. A badly designed one multiplies a bad decision just as fast &#8212; with less of you watching. Two people can build the identical loop: one uses it to move faster on work they deeply understand, the other uses it to avoid understanding the work at all. The loop can&#8217;t tell the difference. You can.</p><p><strong>Second: the unglamorous work is making it stop.</strong> Ask practitioners about loops and the first war stories you&#8217;ll hear aren&#8217;t about architecture: they&#8217;re about cost. Autonomous loops that burned through hundreds of dollars overnight. Companies imposing hard monthly caps on agent spend after blowing annual AI budgets in a quarter. The production rule is simple: every loop ships with hard guards (budget limits, iteration caps, verification gates, audit logs) or it doesn&#8217;t ship.</p><p>Everything in this article assumes one foundational skill: knowing how to build an agent in the first place. The loop is only as good as the agents it orchestrates.</p><p>That&#8217;s what my latest book, <em><strong>AI Agents on AWS</strong></em> (co-authored with Bunny Kaushik, published by Packt), teaches. You&#8217;ll learn how to design agents that reason, use tools, and act autonomously; how to wire up the harness around them &#8212; memory, guardrails, verification; and how to take them from a notebook experiment to production on AWS. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/AI-Agents-AWS-Beginners-building/dp/1806387212/ref=sr_1_1?crid=2OZZEUH8W9N84&amp;dib=eyJ2IjoiMSJ9.WoYhBzPfst4oLow-UhWGf60ojRiINAh11owNzjGZRMCFE7CKTNrNFfXvR1eCp2Di_ZZe8p3DsOm_Y1I9gLdzt_Zv8WPOUGeu5tjYQfzyNf-GY8w7ZAnTIrdne1VkDjJEEIlGOghmTSg1UhR1kwcI8sOthiS8mhNtSf4gG1DWxJAoQQeA9RZTYmBV-CzdL60K47mUN3L3VBpQ6IZ7dcW6Xj6t-CM5lf_1i8Aoikx7kiI.WnBM7Emalv-D2FboWQEA13RX_6dnBcNlus_TvEwb5A8&amp;dib_tag=se&amp;keywords=AI+Agents+on+AWS&amp;qid=1784202103&amp;sprefix=%2Caps%2C326&amp;sr=8-1&quot;,&quot;text&quot;:&quot;Add it to your shelf&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/AI-Agents-AWS-Beginners-building/dp/1806387212/ref=sr_1_1?crid=2OZZEUH8W9N84&amp;dib=eyJ2IjoiMSJ9.WoYhBzPfst4oLow-UhWGf60ojRiINAh11owNzjGZRMCFE7CKTNrNFfXvR1eCp2Di_ZZe8p3DsOm_Y1I9gLdzt_Zv8WPOUGeu5tjYQfzyNf-GY8w7ZAnTIrdne1VkDjJEEIlGOghmTSg1UhR1kwcI8sOthiS8mhNtSf4gG1DWxJAoQQeA9RZTYmBV-CzdL60K47mUN3L3VBpQ6IZ7dcW6Xj6t-CM5lf_1i8Aoikx7kiI.WnBM7Emalv-D2FboWQEA13RX_6dnBcNlus_TvEwb5A8&amp;dib_tag=se&amp;keywords=AI+Agents+on+AWS&amp;qid=1784202103&amp;sprefix=%2Caps%2C326&amp;sr=8-1"><span>Add it to your shelf</span></a></p><div class="callout-block" data-callout="true"><p><a href="https://www.linkedin.com/in/mona-mona/">Mona Mona</a> is a Senior Worldwide GenAI Solutions Architect at AWS, where she works closely with enterprise teams to design, deploy, and scale AI systems in production. Her work spans model customization, evaluation, and inference, with a focus on how performance, cost, and reliability interact in real-world systems.</p></div><div><hr></div>]]></content:encoded></item><item><title><![CDATA[#5: The three disciplines of agentic engineering]]></title><description><![CDATA[Ken Huang, founder of Agentic AI and author of OpenClaw AI in Production, maps the three disciplines shaping the future of production AI systems]]></description><link>https://newsletter.agentengineering.co/p/5-the-three-disciplines-of-agentic</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/5-the-three-disciplines-of-agentic</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 09 Jul 2026 16:01:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/351f55c2-4aef-4abf-ab99-9b27087f1a0b_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most teams first encounter AI agents through a demo. A user sends a request, the model reasons through it, a tool is called, and a useful answer comes back. It feels almost magical. For a moment, it is tempting to believe the hard part is simply choosing the right model and writing a better prompt. Production quickly proves otherwise.</p><p>When an agent has to serve real users across real channels, with real credentials, tools, permissions, memory, failures, latency, and cost constraints, the problem changes. It stops being only a prompting problem. It becomes an engineering problem.</p><h3>This is where agentic engineering begins.</h3><p>Agentic engineering recognizes that an AI agent is not just a model wrapped in an interface. It is a runtime system. It needs boundaries, identity, observability, recovery paths, and a way to explain what happened when something goes wrong. It must be designed like infrastructure, not like a clever script.</p><p>Three practices define this shift: harness engineering, context engineering, and loop engineering.</p><p><strong>Harness engineering</strong> is the discipline of building the runtime around the agent. It includes gateways, tools, permissions, hooks, retries, telemetry, memory, sandboxes, and recovery paths. The harness is what lets an agent act safely in a real system. Without it, autonomy becomes fragility.</p><p><strong>Context engineering</strong> is the discipline of selecting, shaping, compressing, refreshing, and protecting the information given to the model. Context is no longer just &#8220;stuff in the prompt.&#8221; It is an operational resource with a budget, lifecycle, security posture, and failure mode.</p><div class="callout-block" data-callout="true"><p style="text-align: center;"><em><strong>New to context engineering?</strong><br>We recently dedicated an entire issue to the topic, with <a href="https://www.linkedin.com/in/denis-rothman/">Denis Rothman</a> exploring how engineered context helps transform probabilistic models into more reliable AI systems.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/agenticengg/p/4-the-illusion-of-autonomous-agents?r=8770aj&amp;utm_campaign=post-expanded-share&amp;utm_medium=web&quot;,&quot;text&quot;:&quot;Catch up here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://open.substack.com/pub/agenticengg/p/4-the-illusion-of-autonomous-agents?r=8770aj&amp;utm_campaign=post-expanded-share&amp;utm_medium=web"><span>Catch up here</span></a></p></div><p><strong>Loop engineering</strong> is the discipline of designing the cycles through which agentic systems act, learn, improve, and produce software. At the runtime level, this means structuring the agent&#8217;s observe-decide-act-evaluate cycle with termination conditions, policy gates, retry limits, rollback paths, and human escalation points.</p><h3>But loop engineering goes further.</h3><p>One loop is the recursive self-improvement loop. A production agent system should be able to detect weakness, diagnose failure, propose improvement, test that improvement, validate it against policy, and only then adopt it. This does not mean giving agents uncontrolled permission to rewrite themselves. It means creating bounded, observable, auditable improvement cycles where agents can help harden the system without bypassing engineering discipline.</p><p>Another loop is the continuous software factory. In agentic engineering, software development itself becomes a loop: requirements become designs, designs become code, code becomes tests, tests become deployment signals, deployment produces telemetry, telemetry informs the next requirement, and the cycle continues. Agents can participate at every stage, but the factory still needs gates, evidence, review, and rollback.</p><p>This is one of the central themes of my upcoming book, <em><a href="https://www.amazon.com/OpenClaw-Production-Architecture-engineering-practices/dp/1807785017/ref=mp_s_a_1_2?crid=30MNI5UVODOVM&amp;dib=eyJ2IjoiMSJ9.e5VfTq1ruCPX9UYX9-OxYN_lA0EbzhPnYMlNbpcUN7V5I-ABElWrh4ymwNdMEhFA0RSosYaGK5O5cavyvnO5KPZMY_vNMRGo8I-78K46BxabJwcA02bOSsc9o_xcINTKcXCgFU9MdLzqJwLE6t3iHhYurSV5y3vH9qPezWJ8DpKiLNtZMHHIEGj2WPzBGJ9Ko_LC20Cqie8MrT6UqaREEQ.TOcY1fv6gMynz6RjXyckjdMgxek5ok7MPLT4UrnzTLA&amp;dib_tag=se&amp;keywords=openclaw+ai+in+production+ken+huang&amp;qid=1783347522&amp;sprefix=openclaw+production+%2Caps%2C353&amp;sr=8-2">OpenClaw AI in Production</a></em>. OpenClaw treats agent behavior as something that must be routed, bounded, observed, and corrected through architecture. The Gateway becomes the control plane. The request pipeline separates context assembly, authorization, directive handling, tool execution, and model invocation. Hooks allow cross-cutting concerns such as telemetry, policy, billing, and remediation to operate outside the core agent logic.</p><p>That architecture matters because agent failures rarely appear as simple crashes. A stale memory, a slow tool, a partial outage, a malformed directive, or an over-permissive policy can quietly distort the loop. The agent may keep acting, but each step moves it further from safe and useful behavior.</p><h3>Production systems need to detect that drift.</h3><p>This is why observability for agents has to go beyond CPU, latency, and HTTP response codes. A 200 OK from a model provider does not tell us whether the agent used the right tool, respected the right policy, retrieved the right memory, or stopped at the right time. Agentic systems need semantic observability: traces that show the agent&#8217;s observable decisions without leaking sensitive data or private reasoning.</p><p>The deeper opportunity is self-correction. If an agent platform can detect degraded state, isolate the failing component, reduce privileges, pause risky workflows, retry safely, or route through a fallback path, then we move from passive monitoring to active resilience. If the software factory can learn from its own incidents, tests, deployments, and user feedback, then engineering itself becomes more adaptive.</p><p>The future will not be won by prompts alone. It will be built by engineers who understand harnesses, contexts, and loops - and who can turn model intelligence into systems that are secure, observable, resilient, and continuously improving.</p><p>OpenClaw AI in Production is my attempt to map that territory in detail: from Gateway-centered architecture and policy enforcement to distributed state, semantic observability, self-correcting stacks, fault injection, high-throughput design, and decentralized deployments.</p><p>Agentic engineering as a discipline is still young. But one thing is already clear: building agents that work in demos is very different from building agents that survive, learn, and improve in production.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5OEJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5OEJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!5OEJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!5OEJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!5OEJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5OEJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1875025,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/205575777?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5OEJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!5OEJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!5OEJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!5OEJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F766564a3-3eb4-4118-830c-cbd542ac2bf9_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="callout-block" data-callout="true"><p><strong><a href="https://www.linkedin.com/in/kenhuang8/">Ken Huang</a></strong> is an AI researcher, author, educator, and founder of <a href="https://kenhuangus.substack.com/">Agentic AI</a> and DistributedApps.ai. He serves as CEO and Chief AI Officer at DistributedApps.ai, is an Adjunct Professor at the University of San Francisco, and co-chairs multiple AI safety initiatives at the Cloud Security Alliance and OWASP. A prolific author of books on AI, security, and distributed systems, his latest work, <em><a href="https://www.amazon.com/OpenClaw-Production-Architecture-engineering-practices/dp/1807785017/ref=mp_s_a_1_2?crid=30MNI5UVODOVM&amp;dib=eyJ2IjoiMSJ9.e5VfTq1ruCPX9UYX9-OxYN_lA0EbzhPnYMlNbpcUN7V5I-ABElWrh4ymwNdMEhFA0RSosYaGK5O5cavyvnO5KPZMY_vNMRGo8I-78K46BxabJwcA02bOSsc9o_xcINTKcXCgFU9MdLzqJwLE6t3iHhYurSV5y3vH9qPezWJ8DpKiLNtZMHHIEGj2WPzBGJ9Ko_LC20Cqie8MrT6UqaREEQ.TOcY1fv6gMynz6RjXyckjdMgxek5ok7MPLT4UrnzTLA&amp;dib_tag=se&amp;keywords=openclaw+ai+in+production+ken+huang&amp;qid=1783347522&amp;sprefix=openclaw+production+%2Caps%2C353&amp;sr=8-2">OpenClaw AI in Production</a></em>, explores the engineering practices required to build reliable AI agents at scale.</p></div><div><hr></div><p style="text-align: center;">This article is a glimpse into the ideas behind Ken&#8217;s <em>OpenClaw AI in Production</em>. If you&#8217;re interested in building AI systems that are resilient by design rather than optimistic by default, the book expands on the engineering principles that separate production platforms from impressive prototypes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/OpenClaw-Production-Architecture-engineering-practices/dp/1807785017/ref=mp_s_a_1_2?crid=30MNI5UVODOVM&amp;dib=eyJ2IjoiMSJ9.e5VfTq1ruCPX9UYX9-OxYN_lA0EbzhPnYMlNbpcUN7V5I-ABElWrh4ymwNdMEhFA0RSosYaGK5O5cavyvnO5KPZMY_vNMRGo8I-78K46BxabJwcA02bOSsc9o_xcINTKcXCgFU9MdLzqJwLE6t3iHhYurSV5y3vH9qPezWJ8DpKiLNtZMHHIEGj2WPzBGJ9Ko_LC20Cqie8MrT6UqaREEQ.TOcY1fv6gMynz6RjXyckjdMgxek5ok7MPLT4UrnzTLA&amp;dib_tag=se&amp;keywords=openclaw+ai+in+production+ken+huang&amp;qid=1783347522&amp;sprefix=openclaw+production+%2Caps%2C353&amp;sr=8-2&quot;,&quot;text&quot;:&quot;Add it to your shelf&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/OpenClaw-Production-Architecture-engineering-practices/dp/1807785017/ref=mp_s_a_1_2?crid=30MNI5UVODOVM&amp;dib=eyJ2IjoiMSJ9.e5VfTq1ruCPX9UYX9-OxYN_lA0EbzhPnYMlNbpcUN7V5I-ABElWrh4ymwNdMEhFA0RSosYaGK5O5cavyvnO5KPZMY_vNMRGo8I-78K46BxabJwcA02bOSsc9o_xcINTKcXCgFU9MdLzqJwLE6t3iHhYurSV5y3vH9qPezWJ8DpKiLNtZMHHIEGj2WPzBGJ9Ko_LC20Cqie8MrT6UqaREEQ.TOcY1fv6gMynz6RjXyckjdMgxek5ok7MPLT4UrnzTLA&amp;dib_tag=se&amp;keywords=openclaw+ai+in+production+ken+huang&amp;qid=1783347522&amp;sprefix=openclaw+production+%2Caps%2C353&amp;sr=8-2"><span>Add it to your shelf</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[#4: The illusion of autonomous agents (part 2)]]></title><description><![CDATA[Denis Rothman on context engineering as the missing layer for reliable AI agents]]></description><link>https://newsletter.agentengineering.co/p/4-the-illusion-of-autonomous-agents</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/4-the-illusion-of-autonomous-agents</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 02 Jul 2026 15:39:25 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a7164517-9c64-4c06-b35c-9d293c5d4f3c_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week, we explored why autonomous agents struggle to deliver the reliability enterprises expect. The problem isn&#8217;t simply that LLMs make mistakes, but that prompt engineering alone cannot overcome the structural limits of probabilistic reasoning. If reliability cannot emerge from prompts, then it must be engineered elsewhere. That &#8220;elsewhere&#8221; is context: not as a longer system prompt or larger context window, but as a structured, transparent architecture that guides how agents reason, communicate, and act. This is where context engineering begins.</p><p><span>Context complexity exists across five distinct levels, evolving from zero-context basic prompts to highly advanced semantic blueprints. Prompt engineering resides at the shallowest level, treating context as a mere text prefix. Context engineering, conversely, treats context as a structural, programmatic architecture.</span></p><p><span>To build a robust multi-agent system (MAS), we must transition from linear text parsing to multidimensional semantic structures. We can achieve this by implementing Semantic Role Labeling (SRL) to map complex data relationships natively. By utilizing the Model Context Protocol (MCP), we can define rigorous protocol message formats that specialist agents such as a Researcher, Writer, and Orchestrator use to communicate without ambiguity.</span></p><p><span>Instead of hoping a black-box model infers the correct workflow, we architect a semantic blueprint that explicitly guides the system&#8217;s reasoning process, completely decoupling the immutable enterprise data layer from the probabilistic reasoning layer.</span></p><h3><span>Architecting the glass-box context engine</span></h3><p><span>The antidote to black-box unpredictability is the context engine: a transparent, glass-box architecture of context and reasoning. In this framework, the engine&#8217;s core intelligence is compartmentalized into distinct, observable modules: the Planner, the Executor, and the Tracer.</span></p><ul><li><p><strong><span>The Planner:</span></strong><span> Acts as a meta-controller. It utilizes a discoverable Agent Registry to dynamically route tasks, intelligently switching between semantic search and strict data filtering based on the precise context of the request.</span></p></li><li><p><strong><span>The Executor:</span></strong><span> Relies on a Dual RAG architecture, simultaneously processing factual data via a strict Knowledge Base and procedural instructions via a Context Library.</span></p></li><li><p><strong><span>The Tracer:</span></strong><span> Allows human operators to parse the ExecutionTrace object to render token metrics, dependency resolutions, and view the internal &#8220;thinking&#8221; steps of the agent.</span></p></li></ul><p><span>Within a finite reaction field, agent decisions must be bounded by plausibility to avoid cognitive dissonance. We enforce these boundaries using operators like the Semantic Switch ($\sigma$) and the Triton Planner Kernel. These tools apply explicit, rule-bound kinematics over the continuous probabilities of the neural field, acting as the constraint satisfaction engines that pure LLMs lack.</span></p><h3><span>Enterprise guardrails: Scaling with Dual RAG</span></h3><p><span>Bringing these systems into production requires </span><strong><span>moving AI directly to the data.</span></strong><span> By leveraging architectures of modern enterprise databases with vector and relational support, we can build Sovereign AI systems that are dock-agnostic, portable multi-agent systems directly to immutable enterprise databases.</span></p><p><span>This paradigm shift enables hyper-contextual capabilities:</span></p><ul><li><p><strong><span>Hybrid querying:</span></strong><span> Combining strict SQL scalar filters (such as experience levels or salary caps) with semantic vector searches to generate grounded, policy-compliant recommendations.</span></p></li><li><p><strong><span>Converged Spatial-RAG and GraphRAG:</span></strong><span> Integrating physical geolocation (Oracle Spatial) and social dimensions (SQL Property Graphs) directly into the vector search pipeline to evaluate meaning, physical proximity, and relationship mappings simultaneously.</span></p></li><li><p><strong><span>Micro-context engineering:</span></strong><span> Deploying specific Summarizer agents to proactively manage API costs, reduce context overhead, and actively manage token limits.</span></p></li><li><p><strong><span>Policy-driven moderation:</span></strong><span> Implementing a two-stage moderation gatekeeper that flags anomalies, prevents data poisoning, and adapts to real-world legal compliance limits.</span></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JJES!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JJES!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!JJES!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!JJES!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!JJES!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JJES!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2455914,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/204686086?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JJES!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!JJES!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!JJES!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!JJES!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F32481c16-f31c-43a2-9e4c-10398103133d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><span>Conclusion: From cost center to value multiplier</span></h3><p><span>The debate over how to achieve true agentic reasoning will not be settled by building ever-larger black boxes or writing increasingly convoluted text prompts. The future belongs to those who recognize and engineer around the structural boundaries of artificial intelligence.</span></p><p><span>By embracing context engineering, we shift AI from an unpredictable stochastic experiment into a verifiable, transparent asset. Through glass-box architectures, Dual RAG pipelines, and the rigorous application of spatial and semantic boundaries, we can finally build human-centered AI systems that are genuinely business-ready. It is time to stop prompting the machine and start engineering the context.</span></p><div class="callout-block" data-callout="true"><p><strong><a href="https://www.linkedin.com/in/denis-rothman/"><span>Denis Rothman</span></a></strong><span> graduated from Sorbonne University and Paris-Diderot University, designing one of the very first word2matrix patented embedding and patented AI conversational agents. He began his career authoring one of the first AI cognitive NLP chatbots applied as an automated language teacher for Moet et Chandon and other companies. He authored an AI resource optimizer for IBM and apparel producers. He then authored an Advanced Planning and Scheduling (APS) solution used worldwide.</span></p></div><div><hr></div><p style="text-align: center;"><em>Less hype, more engineering. Pull up a chair.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.agentengineering.co/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item><item><title><![CDATA[OpenAI Codex Bootcamp]]></title><description><![CDATA[Bootcamp &#183; Certificate Included &#183; Hands-on Labs &#183; AI Coding]]></description><link>https://newsletter.agentengineering.co/p/openai-codex-bootcamp</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/openai-codex-bootcamp</guid><dc:creator><![CDATA[Kunal Sawant]]></dc:creator><pubDate>Thu, 02 Jul 2026 05:55:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pWyo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pWyo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pWyo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!pWyo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!pWyo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!pWyo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pWyo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png" width="728" height="382.2" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:630,&quot;width&quot;:1200,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:173410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/204577926?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pWyo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 424w, https://substackcdn.com/image/fetch/$s_!pWyo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 848w, https://substackcdn.com/image/fetch/$s_!pWyo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 1272w, https://substackcdn.com/image/fetch/$s_!pWyo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F712c02d8-fe82-477e-8871-9019a970a4ca_1200x630.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>AI-assisted development is becoming the new standard. Learn how to use OpenAI Codex effectively in real engineering projects through a live, instructor-led bootcamp.</p><p><strong>Date:</strong> Saturday, July 25, 2026<br><strong>Time:</strong> 9:00 AM &#8211; 3:00 PM EST<br><strong>Format:</strong> Live Virtual Bootcamp<br><strong>Hosted by:</strong> Packt Publishing</p><p><strong>What you&#8217;ll learn:</strong></p><ul><li><p>How to use OpenAI Codex as a practical coding partner</p></li><li><p>How to plan, build, debug, test, and review code with AI assistance</p></li><li><p>How to apply Codex across real-world developer workflows</p></li><li><p>How to complete hands-on projects and coding exercises</p></li><li><p>How to improve code quality, productivity, and delivery speed using AI-assisted development</p></li></ul><p><strong>How this helps your career:</strong><br>AI coding tools are becoming part of everyday software development. Learning how to work effectively with Codex can help developers become faster, more confident, and more valuable in AI-enabled engineering teams. This bootcamp helps participants strengthen their practical development workflow, improve productivity, and build skills that are increasingly relevant across modern software roles.</p><p><strong>Certificate included:</strong><br>Participants will receive a Packt certificate, which can be added to their LinkedIn profile, resume, or professional portfolio to showcase their learning and commitment to practical AI-assisted development.</p><p><strong>Best suited for:</strong><br>Technically professionals, developers, software engineers, technical leads, and AI builders who want to use OpenAI Codex to simplify coding workflows and improve engineering productivity.</p><p>This bootcamp helps you stay ahead so you can ship more, grow faster, and take on higher-impact work.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.eventbrite.co.uk/e/openai-codex-bootcamp-tickets-1992048666185?aff=substack&quot;,&quot;text&quot;:&quot;Register Here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.eventbrite.co.uk/e/openai-codex-bootcamp-tickets-1992048666185?aff=substack"><span>Register Here</span></a></p>]]></content:encoded></item><item><title><![CDATA[SUSE refuses to measure its engineers by how much code their agents write]]></title><description><![CDATA[Rick Spencer on why output, tokens, and lines of code tell you nothing, and what an open-source enterprise tracks instead]]></description><link>https://newsletter.agentengineering.co/p/suse-refuses-to-measure-its-engineers</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/suse-refuses-to-measure-its-engineers</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Tue, 30 Jun 2026 10:25:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/241f5215-5a9f-4825-a958-05d13383f442_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>As AI agents move into engineering workflows, new leaderboard metrics are tracking lines of code submitted, tokens consumed, and per-developer utilization. If agents are generating output, then output should be measured, compared across engineers, and ranked.</span></p><p><a href="https://www.linkedin.com/in/rickspencer3"><span>Rick Spencer</span></a><span>, General Manager for Technology and Product at </span><a href="https://www.suse.com/"><span>SUSE</span></a><span>, has looked hard at how the industry is measuring AI&#8217;s effect on engineering. &#8220;I consider that garbage vanity metrics,&#8221; he says, calling them unhelpful.</span></p><p><span>His argument for what to track instead is one of the more clarifying things an engineering leader can hear right now, because it separates the numbers that look like progress from the numbers that actually represent it.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bhqf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bhqf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Bhqf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Bhqf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Bhqf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bhqf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2131552,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/204235791?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bhqf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Bhqf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Bhqf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Bhqf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4dec581-739a-422f-8764-96c3baeee56f_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><span>Output is cheap; impact is what counts</span></h3><p><span>The core of Spencer&#8217;s position is a distinction between output and impact, and it matters because the two come apart precisely when AI enters the picture. AI makes output cheap as the lines of code, pull requests, and token counts all mount up when agents are doing the writing, which makes them exactly the wrong thing to measure if what you care about is value delivered. &#8220;We&#8217;re really tending away from measurements that measure output and utilization, and we&#8217;re trying to focus on impact,&#8221; he says. A leaderboard that ranks engineers by how much their agents produced does not tell you who is solving the hardest problems or keeping customers safe. It tells you who is generating the most volume, and in an AI-assisted world, that number is close to meaningless.</span></p><p><span>There is also a structural reason the standard tooling does not fit SUSE, and it applies to more organizations than it might first appear. Much of the available measurement tooling assumes a particular shape of company. &#8220;They really assume you&#8217;re a proprietary software company where everyone&#8217;s working on a single code base,&#8221; Spencer explains, &#8220;which is just not how an open-source enterprise works.&#8221; His engineers work across hundreds, sometimes thousands, of repositories, where the maintenance work on each one differs enormously. A per-developer comparison across that landscape measures the shape of the work far more than it measures the contribution of the engineer, which is why he treats developer-to-developer comparison as fundamentally low value rather than merely imperfect.</span></p><p><span>The reporting burden itself is part of his objection, and it is a point leaders setting up AI dashboards should sit with carefully. A measurement regime that requires engineers to generate weekly utilization reports spends the very time it claims to be optimizing. &#8220;I&#8217;d rather have them working than reporting,&#8221; Spencer says. The instrument meant to measure productivity eventually becomes a tax on it.</span></p><h3><span>What SUSE tracks instead</span></h3><p><span>Rejecting vanity metrics only helps if there is something better to put in their place. And Spencer shares how SUSE measures business impact in terms that connect directly to what customers actually receive. &#8220;How fast are CVEs being addressed, how fast are patches being backported, how fast are our L3 responses getting closed while maintaining the same NPS score,&#8221; he underscores, listing what his teams track. The common thread is that each one is an outcome the customer feels, not an activity the engineer performs. AI has been applied to exactly these areas, so measuring the speed and quality of those outcomes tells you whether the AI is doing anything worth its cost, which is the actual question worth asking.</span></p><p><span>This shift from output to outcome reframes what a metric is for in the first place. A CVE response time captures whether the organization is keeping customers safe faster than it used to. A backport speed captures whether stable releases are getting their fixes without the manual grind that used to gate them. These numbers move because the underlying work got genuinely better, not because more text was generated, and that is the property that makes them trustworthy. They are also far harder to game, because the only way to improve them is to actually improve the thing the customer depends on.</span></p><h3><span>Give managers visibility, not a leaderboard</span></h3><p><span>None of this means SUSE ignores cost or utilization entirely, and the distinction Spencer draws here is the one that keeps the approach from collapsing into either negligence or surveillance. The company is building dashboards that give engineering managers visibility into their team&#8217;s cost and utilization, but the purpose is coaching rather than ranking. The unit of analysis is the team, and the question it answers is diagnostic. Spencer gives the example of a manager with an eight-person team noticing the numbers and asking the right kind of question. &#8220;We&#8217;re burning a lot of tokens. What are we actually doing that&#8217;s burning that many tokens? I&#8217;m not sure we&#8217;re getting value out of that.&#8221; The inverse matters just as much, where purchased seats for a code assistant sit unused, and the manager asks whether there are places the team should be drawing value that it is currently leaving on the table.</span></p><p><span>The governance side of that picture, including how SUSE keeps agents and their costs inside a boundary it can stand behind, is covered in a companion piece,</span><a href="https://deepengineering.net/p/how-suse-runs-ai-without-losing-control"><span> How SUSE Runs AI Without Losing Control</span></a><span>.</span></p><p><span>The difference between this and a leaderboard is not subtle, and it is the heart of the leadership lesson. A leaderboard exposes individuals and turns measurement into a game engineers play against each other, a game Spencer is explicit has nothing to do with customer value. Team-level cost visibility used for coaching does the opposite. It gives a manager the information to guide the team toward better use of the tools without making any individual engineer feel watched. &#8220;We&#8217;re really trying to decentralize and allow engineering managers to guide their teams on getting the most value out of the AI,&#8221; he says, &#8220;without it becoming like a leaderboard game where developers feel like they&#8217;re exposed.&#8221; The data exists to help the manager help the team, not to rank the team against itself.</span></p><p><strong><span>The principle holding it together</span></strong></p><p><span>What makes Spencer&#8217;s approach more than a list of preferred numbers is the principle holding it together, which is that measurement should serve the work rather than distort it. Every choice he describes follows from that one idea. Impact comes before output because output is the thing AI inflates. Team-level diagnostics come before individual leaderboards, because the goal is coaching rather than competition. Business outcomes come before activity counts, because outcomes are what customers actually receive. The decentralization to engineering managers reflects the same conviction that the people closest to the work are best placed to judge whether the AI is helping, given the right information and trusted to use it well.</span></p><p><span>The deeper point for any leader standing up AI measurement is that the easy numbers and the useful numbers are not the same, and AI has widened the gap between them. The figures that are simplest to collect, lines of code, tokens, and per-head utilization, are the ones AI has made least meaningful. The figures that matter, the speed and quality of the outcomes customers depend on, take more thought to define and more care to track. Spencer&#8217;s argument is that the effort is the job. &#8220;Let&#8217;s focus on the impact,&#8221; he says, &#8220;the business impact, not on the utilization.&#8221; For engineering leaders deciding what belongs on a dashboard as agents reshape their teams, that is the distinction worth getting right before the vanity metrics calcify into the way the organization sees itself.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><em>Less hype, more engineering. Pull up a chair.</em>  </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[#3: The illusion of autonomous agents (part 1)]]></title><description><![CDATA[Denis Rothman, author of Context Engineering for Multi-Agent Systems and RAG-Driven Generative AI, begins this two-part series by examining why today&#8217;s autonomous agents struggle to deliver reliable, enterprise-grade performance.]]></description><link>https://newsletter.agentengineering.co/p/the-illusion-of-autonomous-agents</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/the-illusion-of-autonomous-agents</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 25 Jun 2026 17:27:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/27026882-610c-478f-971b-e8ed13d4a6fc_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>The AI community is caught in a contradiction. On one hand, there is a push to deploy autonomous agents into enterprise environments, expecting them to reason, plan, and execute complex, multi-step workflows. On the other hand, the methodology relied upon to build these agents is overwhelmingly based on prompt engineering, which is merely an attempt to cajole predictable, deterministic behavior out of fundamentally stochastic, black-box LLMs.</span></p><p><span>This creates a pervasive dissonance: the expectation of industrial reliability built atop probabilistic generation. </span></p><p><span>The current noise suggests that if we simply scale the parameters, refine the system prompts, or throw more compute at the problem, true autonomous reasoning will spontaneously emerge.</span></p><p><span>To cut through this noise, we must confront an uncomfortable reality. Unconstrained probabilistic generation cannot serve as the kinematics for reliable robotic or enterprise execution. If we are to build truly agentic systems, we must move beyond the brittle, zero-context art of prompting and embrace the rigorous, transparent discipline of </span><strong><span>context engineering</span></strong><span>.</span></p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Engineering! Subscribe to receive new posts every week :)</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3><span>The limits of the translation lattice</span></h3><p><span>At their core, LLMs do not guarantee structured reasoning across steps. They act as translation lattices operating on lossy text compressions, fundamentally disconnected from the non-verbal, experiential grounding that characterizes human thought. They are magnificent at semantic association but possess no innate understanding of physical or logical bounds. When an agent relies solely on an LLM&#8217;s internal weights to reason, it runs headfirst into the reality of the </span><strong><span>Probability Decay Theorem (PDT)</span></strong><span>, a multiplicative reliability collapse effect. The theorem was derived through multiple real-world implementations by the author.</span></p><p><span>The PDT governs the multiplicative collapse of chained rules. In single-turn interactions, an LLM might succeed 95% of the time. But in agentic workflows requiring multi-step execution, the probability of success does not simply carry an additive exception load PDT</span><sub><span>1</span></sub><span>. Instead, it collapses under multiplicative chained probability PDT</span><sub><span>2</span></sub><span>. A chain of ten probabilistic bets, each with a 95% success rate, yields an overall reliability that is entirely unacceptable for real-world enterprise operations.</span></p><p><span>If an autonomous agent executes a sequence of tasks where each step is 95% reliable, the multiplicative collapse of the Probability Decay Theorem dictates that it takes just 14 consecutive steps 0.95</span><sup><span>14</span></sup><span> </span>&#8776; <span>0.488 for the overall success rate to plummet below 50%, rendering the entire workflow less predictable than a blind coin toss. This shows that after enough chained steps, reliability rapidly degrades below usable thresholds, even when individual steps appear highly accurate.</span></p><p><span>LLMs operate on statistical associations in text without explicit grounding in physical or logical constraints. This means that mapping raw signals to lexical labels will always incur an irreducible loss due to the polysemy inherent in language. These models are structurally bounded by the imprecision of polysemy. Treating their hallucinations as mere software bugs to be patched by longer text prompts ignores the mathematical reality of the medium.</span></p><h3><span>The embodied reality factor</span></h3><p><span>To understand how to fix this, we must look at the lineage of modern embodied AI, tracing back to industrial automated systems. Physical robotics and real-world supply chains cannot operate on unconstrained probabilistic generation. Instead, algorithmic logic must be ruthlessly translated into the thermodynamic and spatial kinematics of the physical world. This absolute reliance on physical bounds forms the applied foundation for defining hard limitations such as spatial collisions, reaction times, and hardware constraints, which are not errors. They are the foundational constraint forces that dictate the accuracy of a signal. This principle inherently solves the simulation-to-reality (Sim2Real) transfer gap. If we want our digital agents to interact reliably with the real world, we must enforce digital representations of physical limits to ensure their reasoning remains strictly bounded by the reality factor of the environment.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g69E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g69E!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!g69E!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!g69E!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!g69E!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!g69E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2455914,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/203580946?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!g69E!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!g69E!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!g69E!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!g69E!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b93bc4-55bc-4579-92a2-04ab82c01341_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>If reliability cannot emerge from probabilistic generation alone, then it has to come from somewhere else. That </span><em><span>somewhere else</span></em><span> isn&#8217;t another prompt. It&#8217;s context, engineered as a first-class component of the system.</span></p><p><span>That&#8217;s where we&#8217;ll begin in Part 2. See you next Thursday!</span></p><div class="callout-block" data-callout="true"><p><strong><a href="https://www.linkedin.com/in/denis-rothman/"><span>Denis Rothman</span></a></strong><span> graduated from Sorbonne University and Paris-Diderot University, designing one of the very first word2matrix patented embedding and patented AI conversational agents. He began his career authoring one of the first AI cognitive NLP chatbots applied as an automated language teacher for Moet et Chandon and other companies. He authored an AI resource optimizer for IBM and apparel producers. He then authored an Advanced Planning and Scheduling (APS) solution used worldwide.</span></p></div>]]></content:encoded></item><item><title><![CDATA[#2: Why a good answer doesn’t mean a good agent]]></title><description><![CDATA[Ammar Mohanna argues that most teams are measuring outcomes when they should be measuring behavior across the entire agent workflow]]></description><link>https://newsletter.agentengineering.co/p/agentic-engineering-2-why-a-good</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/agentic-engineering-2-why-a-good</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 18 Jun 2026 13:57:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e66e55bd-024d-4cef-8520-302fa93748fd_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>During a time when AI conversations are often louder than they are useful, <strong><a href="https://www.linkedin.com/in/ammarmohanna/">Ammar Mohanna, PhD</a></strong>, brings a refreshing perspective.</p><p>His career has moved fluidly between academia and industry, from teaching advanced AI courses at the American University of Beirut to advising teams on turning machine learning ideas into systems that can be trusted.</p><p>He is also known for his candid take on the current AI landscape, especially the gap between meaningful engineering and what he often calls <em>AI slop</em>.</p><p>In this conversation, Ammar challenges one of the most common assumptions in agent development: that a correct answer is evidence of a successful agent. He explains why reliability lies in the path an agent takes, not just in the result it produces, and why evaluation must evolve from output scoring to a discipline that measures behaviour and trustworthiness in production.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7gmb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7gmb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!7gmb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!7gmb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!7gmb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7gmb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1729113,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.agentengineering.co/i/202568466?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7gmb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!7gmb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!7gmb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!7gmb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F420d5d51-10ba-4893-a7dc-be8b9414a091_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">Read through to the end. We&#8217;ve left something extra for Agentic Engineering readers.</span></strong></p></div><h3><strong>Most teams think they&#8217;re evaluating agents, but they&#8217;re actually not. Where do you see the biggest illusion of evaluation today?</strong></h3><p><em>The biggest illusion is that teams think they are evaluating an agent when they are only evaluating the final answer.</em></p><p><em>That works well for a chatbot. But an agent is different. It plans, chooses tools, passes arguments, reads observations, retries, stops, and sometimes takes action. A final-answer score hides most of the actual failure surface.</em></p><p><em>An agent can produce a good-looking answer after calling the wrong tool, wasting ten steps, misreading a tool result, or ignoring a failed call. From the outside, the answer may look acceptable. From a reliability perspective, the run is not acceptable.</em></p><p><em>So the illusion is: &#8220;the answer looked right, therefore the agent worked.&#8221; However, what you need to know is whether the path was valid, efficient, grounded, and safe.</em></p><div><hr></div><h3><strong>You break evaluation into component, trajectory, outcome, and adversarial layers. Where do most teams underinvest, and what failures does that lead to?</strong></h3><p><em>Most teams underinvest in trajectory evaluation and adversarial evaluation.</em></p><p><em>Outcome evaluation is the easiest layer to reach for because the final answer is visible. Component evaluation is also fairly intuitive once tools are involved: did it choose the right tool, did it pass valid arguments, did the plan make sense?</em></p><p><em>Trajectory evaluation is harder because you need structured traces and assertions over the run itself. But this is where many production failures live: loops, duplicate calls, silent retries, no recovery after a tool failure, unnecessary detours, high latency, high token cost. Two agents can produce the same answer, but one gets there in four clean steps, and the other gets there through an expensive, brittle path. Output scoring treats them as equal. Production does not.</em></p><p><em>Adversarial evaluation is also underbuilt. Teams may try a few prompt-injection examples manually, but they rarely turn those attacks into a versioned regression suite. That leads to a false sense of safety. A guardrail can look very strong against the examples it was designed for, while still being fragile against slightly different payloads.</em></p><div><hr></div><h3><strong>Agent failures only show up after deployment. What&#8217;s the hardest failure mode to catch early, even with a good evaluation setup?</strong></h3><p><em>The hardest failures are the ones that look like successful runs.</em></p><p><em>A tool returns something plausible but incomplete. The agent takes a reasonable-looking path. The final answer is fluent. No exception is thrown. But the answer is weakly grounded, the evidence is stale, or the agent skipped a recovery step after a bad observation.</em></p><p><em>These failures are hard because they do not announce themselves as failures. They show up later as retries, edits after the answer, escalations, user abandonment, or quiet loss of trust.</em></p><p><em>The other hard category is drift. A hosted model changes, a tool schema changes, retrieval content shifts, or user traffic moves into a different distribution. Nothing &#8220;breaks&#8221; in the traditional software sense, but the agent becomes less reliable. This is why offline evals need to connect to production monitoring. A test suite is necessary, but it is not the whole system.</em></p><div><hr></div><h3><strong>LLM-as-a-judge is becoming a default pattern. Where does it actually work well, and where does it quietly break?</strong></h3><p><em>LLM-as-a-judge works well when the task is bounded, the rubric is explicit, and the judge has the evidence they need. It is useful for rubric-based scoring, regression checks, pairwise comparisons, and multi-dimensional outcome evaluation, especially when you calibrate it against human labels.</em></p><p><em>The important part is that the judge itself has to be evaluated. I would not trust a judge just because it is an LLM. I would look at correlation with human labels, agreement rates, mean absolute error, and performance by rubric dimension.</em></p><p><em>Where it quietly breaks is when teams use it as an uncalibrated oracle. Judges often reward verbosity, prefer answers in a certain style, miss missing citations, or give a strong score to an answer that is polished but not grounded. Overall scores can also hide weak dimensions. For example, a judge may be decent on safety or format, but poor on groundedness, which is often the dimension that matters most for a research or retrieval-heavy agent.</em></p><p><em>So I see LLM judges as useful evaluators, not authorities. They need rubrics, evidence, calibration, and periodic human audit.</em></p><div><hr></div><h3><strong>If you had to audit an agent system in production with very limited time, what signals or metrics would you look at first to decide if it&#8217;s reliable?</strong></h3><p><em>Aggregate success rate is often the last metric I look at. I would start with the traces behind the failures and the production signals that users generate when the agent is not working.</em></p><p><em>The first signals I would inspect are abandonment rate, retry rate, escalation rate, clarification rate, thumbs down, and edit-after-answer rate. Those are often more honest than a dashboard success metric.</em></p><p><em>Then I would look at trace-level reliability: number of tool calls, duplicate calls, loop-like behaviour, failed tool calls, recovery after failure, latency, and token cost. A reliable agent should not only get the answer right; it should get there through a path that is stable and explainable.</em></p><p><em>I would also check whether offline evals are tied to production: are failed production examples converted into regression tests? Are adversarial cases versioned? Are judge scores calibrated against human labels? Are there no-go gates for safety, groundedness, cost, latency, and step count?</em></p><p><em>With limited time, I am looking for one thing: whether the team has connected offline evaluation, online monitoring, and regression gates. If those are disconnected, reliability is usually more assumed than measured.</em></p><div><hr></div><p>As organizations continue to explore what AI can and should do, voices like <a href="https://www.linkedin.com/in/ammarmohanna/">Ammar&#8217;s</a> help bring the discussion back to the questions that matter: What problem are we really solving? Can the system be trusted? And are we building something meaningful, or simply adding more noise to an already crowded field?</p><p>If you&#8217;d like to continue exploring these ideas, Ammar will be speaking at <strong><a href="https://packt.link/JuExC">Agent Evals Bootcamp on June 27th</a></strong>, where he will turn these ideas into a hands-on framework for evaluating agents across tool use, planning, trajectories, outcomes, regressions, and adversarial failure modes before deployment. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2DCz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2DCz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 424w, https://substackcdn.com/image/fetch/$s_!2DCz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 848w, https://substackcdn.com/image/fetch/$s_!2DCz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 1272w, https://substackcdn.com/image/fetch/$s_!2DCz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2DCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png" width="728" height="302.3222222222222" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:897,&quot;width&quot;:2160,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:839703,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticengg.substack.com/i/202568466?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8608d764-d7b4-4000-8445-6230a38a542b_2160x1080.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2DCz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 424w, https://substackcdn.com/image/fetch/$s_!2DCz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 848w, https://substackcdn.com/image/fetch/$s_!2DCz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 1272w, https://substackcdn.com/image/fetch/$s_!2DCz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F265c1c36-9516-4457-86be-2b4fde4cd9ce_2160x897.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>You made it to the end, so here&#8217;s the promised bonus: an exclusive 40% discount for Agentic Engineering readers. Just be sure to register using the link below.</strong></figcaption></figure></div><div class="callout-block" data-callout="true"><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://packt.link/JuExC&quot;,&quot;text&quot;:&quot;GET TICKETS AT 40% OFF&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://packt.link/JuExC"><span>GET TICKETS AT 40% OFF</span></a></p></div>]]></content:encoded></item><item><title><![CDATA[#1: What happens when OpenClaw meets LangGraph?]]></title><description><![CDATA[Building AI agents that can operate beyond the chat window]]></description><link>https://newsletter.agentengineering.co/p/agentic-engineering-1-what-happens</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/agentic-engineering-1-what-happens</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 11 Jun 2026 16:01:57 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/08097fef-4822-47c6-916a-466be4005daa_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Typical agents (like those built on OpenAI Assistants, Copilot Studio, or custom developer frameworks) are often confined to isolated chat dashboards, command-line interfaces, or custom web portals. That&#8217;s the power of Claude Code and similar tools: they can communicate with the outside world, both to gather inputs for research and to deliver results. To connect agents to apps like WhatsApp or Slack, however, developers usually have to manually configure webhooks and middleware.</p><p>Of course, this won&#8217;t do for us. What&#8217;s the point of building custom AI pipelines if they sit locked in a dark room? To make that logic useful, we need to connect it to the real world. We build user authentication, set up secure access controls, write adapters for communication apps like Telegram or Discord, and configure reliable task schedulers.</p><p>By combining LangChain with the OpenClaw ecosystem via the LangClaw framework, you can bridge this gap in an afternoon.</p><div><hr></div><h2>Why combine OpenClaw and LangGraph?</h2><p>OpenClaw began as a configuration-first, out-of-the-box personal AI runtime. It provides developers with a pre-wired ecosystem that includes direct messaging connectors for platforms like WhatsApp and Telegram, persistent memory layers, and native browser automation tools.</p><p>Instead of writing code to manage how an agent communicates with a chat application or remembers previous conversations, users simply write markdown files (SKILL.md) to define functions. OpenClaw handles the operational runtime, API routing, and state storage automatically.</p><p>While this structure is ideal for standard automation, engineering teams often require deeper programmatic control over their agentic reasoning. They need complex, multi-step state machines, advanced semantic search pipelines, and conditional execution paths.</p><p>This is where LangChain excels, and it is exactly why the two systems are paired together.</p><div><hr></div><h2>LangClaw as the glue layer</h2><p>LangClaw acts as the architectural bridge between these two worlds. It is a declarative, Pythonic framework that compiles complex LangChain reasoning loops directly into an OpenClaw-compatible runtime engine.</p><p>Instead of managing external configuration markdown files, you use clean Python decorators to build tools, establish role-based access controls, and schedule autonomous background tasks.</p><p>If you&#8217;re the kind of person who reads something like this and immediately wants to see the code, we&#8217;ve documented a complete LangGraph + OpenClaw build that turns these ideas into a working corporate intelligence agent, covering everything from subagent orchestration and scheduled research tasks to permissions, messaging, and token-efficient utility commands.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticengg.substack.com/p/building-a-corporate-intelligence&quot;,&quot;text&quot;:&quot;Get the playbook here&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://agenticengg.substack.com/p/building-a-corporate-intelligence"><span>Get the playbook here</span></a></p><div class="callout-block" data-callout="true"><div><hr></div><p><strong><a href="https://www.linkedin.com/in/ben-auffarth/">Ben Auffarth</a></strong> is the co-author of <strong><a href="https://www.amazon.com/Generative-LangChain-production-ready-applications-LangGraph/dp/1837022011/ref=sr_1_1?crid=1N2U9JTXXYJKW&amp;dib=eyJ2IjoiMSJ9.w464Pq2KWF9HkflZepVL1kpjAMAAVVcNM0Vj6JhU4srF73UiW9F4cMoNkqdZ7EY0UbEYA4pB_2TelPESVI59OrfEfn0MMu5RdNvqvPEl81OWbNoR8OI7f5hD9w-xFWFFxPKcy0njd16YX9ezuwq35h-gP85lOiGhEpw6NYUtiODyJzF6LI_hjIS90uKsMrKir6vetcEdeULCAAaCuLV5eSgxAoESWB_WNwR4wdnEo7I.fUY6feu7uWCCO9OLr6bF5vObyIAAy6AkXFbbzwEjlwk&amp;dib_tag=se&amp;keywords=generative+AI+with+langchain&amp;qid=1781192284&amp;sprefix=generative+ai+with+langchai%2Caps%2C312&amp;sr=8-1">Generative AI with LangChain</a></strong> and other books. He&#8217;s launched several funded startups and is working as a consultant with Chelsea AI Ventures.</p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Agentic Engineering! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[OpenClaw + LangGraph playbook]]></title><description><![CDATA[Scheduling, subagents, permissions, and messaging in one system]]></description><link>https://newsletter.agentengineering.co/p/building-a-corporate-intelligence</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/building-a-corporate-intelligence</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 11 Jun 2026 15:24:02 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/3707da9e-7dd4-4eeb-954f-61ba5ae3dc22_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s easy to build an agent that talks. Building one that remembers things, sends messages, runs on a schedule, and generally makes itself useful is a different challenge. That&#8217;s where LangGraph and OpenClaw make an interesting combination.</p><p>Let&#8217;s build one.</p><div><hr></div><p>The first step is creating the primary agent and establishing its responsibilities through a system prompt.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;5782ba58-1ed1-4f3a-8fea-b161795797b7&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">import os
from datetime import datetime
from langclaw import Langclaw
from langclaw.gateway.commands import CommandContext
# Initialize the master agent application interface
app = Langclaw(
 system_prompt=(
 &#8220;## Corporate Intelligence Agent\n&#8221;
 &#8220;You are a corporate intelligence analyst. You track market trends &#8220;
 &#8220;and draft precise outreach sequences based on current events.\n&#8221;
 &#8220;Delegate deep multi-source research tasks to the web-researcher subagent.&#8221;
 ),
)</code></pre></div><p>Tools allow the agent to access capabilities beyond language generation. In this example, the agent can retrieve market intelligence data.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;7ca10de5-40ad-48a1-9090-954ffd446cd2&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python"># Custom Tool: Data Extraction Layer
@app.tool()
async def fetch_market_news(sector: str) -&gt; dict:
 &#8220;&#8221;&#8220;Extract breaking market developments for a specific commercial sector.&#8221;&#8220;&#8221;
 # This acts as a standard tool available to your core reasoning models
 return {
 &#8220;timestamp&#8221;: datetime.now().isoformat(),
 &#8220;sector&#8221;: sector,
 &#8220;headline&#8221;: &#8220;Warehouse Automation Demands Surge Amid Labor Reshuffling&#8221;,
 &#8220;body&#8221;: &#8220;Logistics providers face margin pressures, driving immediate infrastructure upgrades.&#8221;
 }</code></pre></div><p>Rather than placing all reasoning responsibilities inside a single agent, LangClaw allows specialised subagents to handle focused tasks.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;d01edd29-2bc2-41df-8aaa-0dd129cc8712&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext"># Subagent Delegation: Isolated Reasoning Context
app.subagent(
 &#8220;web-researcher&#8221;,
 description=&#8221;Performs deep multi-step web analysis and synthesis.&#8221;,
 system_prompt=&#8221;You are an investigative researcher. Identify technical pain points and list them.&#8221;,
 tools=[&#8221;web_fetch&#8221;, &#8220;web_search&#8221;],
 output=&#8221;channel&#8221;, # Streams output directly back to the active user channel
)</code></pre></div><p>Role-based permissions make it possible to expose different capabilities to different groups of users.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;bd9b40bb-a0ab-4d46-80d1-254f9690ec8c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext"># Role-Based Access Control: Security Gateways
app.role(&#8221;premium_analyst&#8221;, tools=[&#8221;*&#8221;])
app.role(&#8221;basic_user&#8221;, tools=[&#8221;fetch_market_news&#8221;])</code></pre></div><p>Agents do not need to wait for user prompts. Using cron schedules, they can execute tasks automatically.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;5e46f0c3-50a6-4a39-837d-1856077cfe22&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python"># Automated Execution: Background Scheduler
@app.cron(&#8221;0 8 * * 1-5&#8221;) # Executes Monday through Friday at 8:00 AM
async def automated_morning_brief():
 &#8220;&#8221;&#8220;Scans market trends autonomously and publishes digests to the user feed.&#8221;&#8220;&#8221;
 raw_data = await fetch_market_news(sector=&#8221;Logistics&#8221;)
 instruction = f&#8221;Synthesize this market report for the main channel: {raw_data[&#8217;body&#8217;]}&#8221;
 # Compile runtime structure down to LangGraph for invocation
 compiled_agent = app.compile()
 analysis = await compiled_agent.ainvoke(
 {&#8221;messages&#8221;: [{&#8221;role&#8221;: &#8220;user&#8221;, &#8220;content&#8221;: instruction}]},
 config={&#8221;configurable&#8221;: {&#8221;subagent&#8221;: &#8220;web-researcher&#8221;}}
 )
 # Broadcast the completed report directly to your active chat channel
 await app.gateway.send_message(
 channel=&#8221;management_feed&#8221;,
 text=f&#8221;&#128276; **Automated Market Digest**\n\n{analysis[&#8217;messages&#8217;][-1].content}&#8221;
 )</code></pre></div><p>Not every task requires an LLM. For predictable workflows, slash commands can bypass the model entirely.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;b1e51f67-437c-4362-a291-f3202e250dde&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python"># Slash Command: High-Speed Utility Routing
@app.command(&#8221;template&#8221;, description=&#8221;Generate static outreach copy without AI overhead&#8221;)
async def outreach_template_cmd(ctx: CommandContext) -&gt; str:
 &#8220;&#8221;&#8220;Returns a structured outreach framework directly, bypassing the LLM entirely.&#8221;&#8220;&#8221;
 args = ctx.message.text.split(&#8217;&#8221;&#8217;)
 client_name = args[1] if len(args) &gt; 1 else &#8220;Colleague&#8221;
 # Bypassing the LLM completely saves computation costs and provides sub-millisecond responses
 return (
 f&#8221;&#128233; **System Template Generated**\n\n&#8221;
 f&#8221;Hello {client_name},\n\n&#8221;
 f&#8221;I noted your team&#8217;s footprint in the logistics sector. Given recent automation trends, &#8220;
 f&#8221;I wanted to connect to share notes on how regional hubs are optimizing their margins.\n\n&#8221;
 f&#8221;Regards,\n[Internal System]&#8221;
 )</code></pre></div><p>Once the components are assembled, launching the runtime is straightforward.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;b10f0624-c3fc-490c-9b0a-14857282519f&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">if __name__ == &#8220;__main__&#8221;:
 app.run()</code></pre></div><p>Once the runtime is launched, the agent becomes more than a collection of functions and workflows. It becomes a persistent service that can receive requests, execute tasks, and communicate results through your chosen channels.</p><p>Let&#8217;s see how that works.</p><div><hr></div><h3>What happens when the agent goes live</h3><p>When you invoke <code>app.run()</code>, LangClaw spins up a persistent asynchronous gateway server. It does not wait for a single terminal input; it establishes a permanent network listener.</p><p>Interaction happens entirely through your chosen deployment endpoints:</p><ul><li><p><strong>Production chat channels</strong>: By adding tokens for Telegram, Discord, or Slack into your .env configuration file, your script logs into those platforms as a live bot user.</p></li><li><p><strong>LLM invocations</strong>: When a user types a natural language question into the chat, LangClaw pipes the string into your LangChain model, runs the necessary code tools, and formats the response.</p></li><li><p><strong>The slash command route</strong>: When a user types <code>/template &#8220;Alex&#8221;</code>, the gateway identifies the leading slash character. It isolates the instruction, skips the LLM reasoning step, runs the native Python function, and returns the text.</p><div><hr></div></li></ul><h3>Hosting your agent for less than &#163;5 per month</h3><p>Deploying a traditional enterprise application often brings significant server management costs. However, because this framework relies on an event-driven architecture and asynchronous IO libraries, it requires minimal computing resources.</p><p>You can host this entire stack for under &#163;5 per month using modern cloud infrastructure.</p><h4>Virtual Private Servers (VPS)</h4><p>Platforms like DigitalOcean, Hetzner, or Linode offer entry-level Linux instances with 1GB of RAM and 1 CPU core. Because LangClaw uses a non-blocking asyncio event loop, a single micro-instance can easily manage hundreds of concurrent chat messages and automated cron tasks without breaking a sweat.</p><h4>Process Management</h4><p>To ensure your agent runs continuously, you wrap the script using a Linux system process supervisor like systemd or Supervisor. If the server reboots or encounters an unhandled API timeout, the operating system brings the agent back online instantly, providing 99.9% uptime with zero manual maintenance.</p><div><hr></div><p>We&#8217;ve set up an agent, we&#8217;ve talked about messaging and about the advantages of full control, about the hosting. Building your automation stack with this methodology yields three immediate operational improvements:</p><ul><li><p><strong>Zero-token utilities</strong>: By routing routine structural actions through slash commands, you bypass LLM token fees entirely. This provides instantaneous responses while eliminating API runtime costs for predictable tasks.</p></li><li><p><strong>Decoupled architecture</strong>: Your core business logic remains completely separate from your communication channels. If your team decides to migrate from Telegram to Slack, you alter a single environment variable. The underlying tools, subagents, and schedules require no modifications.</p></li><li><p><strong>Production readiness</strong>: You move from an abstract local script to an enterprise-grade agent. The system manages its own user security roles, schedules its own data retrieval cycles, and operates autonomously around the clock.</p></li></ul><p>Let us know how you get on!</p>]]></content:encoded></item><item><title><![CDATA[Lessons from the frontlines of small-model development]]></title><description><![CDATA[Why small models are harder than they look, with Maxime Labonne]]></description><link>https://newsletter.agentengineering.co/p/lessons-from-the-frontlines-of-small</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/lessons-from-the-frontlines-of-small</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Wed, 10 Jun 2026 13:41:19 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/5d125888-0cda-4b13-8bf2-720917aecc19_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Something Maxime Labonne said during one of our earlier roundtables stuck with me because it runs counter to how people think about small models.</p><p style="text-align: center;">You can watch the video here!</p><div id="youtube2-JC7Lf2aFQXk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;JC7Lf2aFQXk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/JC7Lf2aFQXk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>The common assumption is that small models are simply the cheaper version of frontier models. Same idea, lower cost. But Maxime&#8217;s experience has been that they&#8217;re often harder to work with. Not because they&#8217;re worse, but because they expose problems that larger models can often hide.</p><p>When most people build AI systems today, they&#8217;re testing them with frontier models. Those models are smart enough to compensate for weak prompts, incomplete logic, or edge cases that nobody thought about. Small models don&#8217;t give you that luxury. As Maxime put it, they can fail on surprisingly basic tasks, and when they do, entire workflows can break.</p><p>That changes the engineering. You need stronger guardrails, better error handling, and less reliance on the model figuring things out for itself. In some ways, small models force you to build more robust systems because they expose weaknesses earlier.</p><p>The tradeoff is that you get something valuable in return. Small models can run on phones, laptops, and local infrastructure. They&#8217;re private, can work offline, and give you a level of control that isn&#8217;t always possible with centralized frontier models.</p><p>Maxime doesn&#8217;t see this gap lasting forever, however. He pointed to techniques like distillation and reinforcement learning as reasons small models are steadily improving, particularly when it comes to agent capabilities.</p><div><hr></div><p style="text-align: center;"><em>Agentic Engineering grew out of a desire to create something useful for people trying to make sense of agentic AI and beyond. If you&#8217;d like to support that direction, please tell your friends about us.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticengg.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Agentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://agenticengg.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Agentic Engineering</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[And thus, Agentic Engineering was born]]></title><description><![CDATA[At some point, it stopped looking like interest in a technology category and started looking like interest in an engineering discipline]]></description><link>https://newsletter.agentengineering.co/p/why-agentic-engineering-was-born</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/why-agentic-engineering-was-born</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Tue, 09 Jun 2026 14:14:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rnbl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For the past few years, the AI conversation has revolved around models. Every breakthrough seemed to raise the same questions about which model is better, which benchmark improved, or which company released the latest capability?</p><p>Those questions still matter as foundation models remain the foundation of everything happening in AI today. But it feels like the centre of gravity has shifted (slightly at first and then all at once).</p><p>The work happening today isn&#8217;t about making a model better at answering questions. It&#8217;s about figuring out how to build systems around those models that can reason, retrieve information, use tools, coordinate actions, and operate live workflows.</p><p>We had our own theories about where the AI conversation was heading, but theories are cheap. If Agentic Engineering was going to be built around the questions people actually care about, there was only one group worth asking.</p><h3>So we turned to the people reading this</h3><p>A few weeks ago, we asked you what you wanted more of from AI coverage. While the responses covered a wide range of interests, the overall message was consistent (and I&#8217;m not surprised).</p><p>You weren&#8217;t asking for more AI news.</p><p>You weren&#8217;t asking for more model rankings.</p><p>And you certainly weren&#8217;t asking for more hype.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rnbl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rnbl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!rnbl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!rnbl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!rnbl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rnbl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1401711,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticengg.substack.com/i/201302609?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rnbl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!rnbl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!rnbl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!rnbl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f9ecf22-507f-4760-b0af-cb49678189cb_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The most common frustrations with AI newsletters today were too much hype, a lack of practical depth, and repetitive coverage that often feels disconnected from how AI is actually being used. What you wanted instead was real-world workflows, implementation advice, clear explanations of complex topics, and lessons from teams building with these technologies in practice.</p><p>The interesting part wasn&#8217;t that AI agents ranked first. Honestly, I expected that.</p><p>What caught my attention was everything sitting underneath it.</p><p>Open-source AI. Infrastructure. RAG systems. Multi-agent systems. Agent orchestration. Evaluation.</p><p>At some point, it stopped looking like interest in a technology category and started looking like interest in an engineering discipline.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1Zq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Zq8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!1Zq8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!1Zq8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!1Zq8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Zq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1384897,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticengg.substack.com/i/201302609?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1Zq8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!1Zq8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!1Zq8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!1Zq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F25492402-b885-44ea-b710-b9c960e368eb_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Taken together, those responses point toward something bigger than a content preference. They point toward a shift in the conversation itself.</p><p>Once AI systems begin interacting with databases, applications, workflows, enterprise systems, and even other agents, an entirely new set of questions emerges.</p><ul><li><p>How should these systems be evaluated?</p></li><li><p>How do you observe and debug them?</p></li><li><p>What does governance look like when AI can take actions rather than generate outputs?</p></li><li><p>How much autonomy is too much?</p></li><li><p>How do you move from an impressive demo to something people can actually trust?</p></li></ul><p>These aren&#8217;t purely research questions. They&#8217;re <em><mark data-color="#fff1f2" style="background-color: rgb(255, 241, 242); color: rgb(0, 0, 0);">engineering</mark></em> questions that sit at the intersection of software engineering, AI engineering, operations, product design, governance, and systems thinking.</p><h3>That&#8217;s why Agentic Engineering was born</h3><p>Not because every workflow needs an agent. Not because every company should rush to deploy autonomous systems. And certainly not because we&#8217;re interested in chasing the latest buzzword.</p><p>Agentic Engineering exists because a distinct engineering discipline is beginning to emerge around how these systems are designed, evaluated, deployed, governed, and integrated into real-world environments.</p><h3>Where we go from here</h3><p>Over the coming months, we&#8217;ll be exploring that discipline through expert-written analysis, interviews with practitioners working close to the technology, research breakdowns, case studies, and conversations with the people building these systems every day.</p><p>The truth is that nobody has all the answers yet. The playbook for building reliable agentic systems is still being written. Best practices are emerging in real time. Some ideas will prove durable. Others won&#8217;t survive contact with production.</p><p>We&#8217;re watching a new engineering discipline take shape, and we&#8217;d like to document it as honestly as possible. The breakthroughs, the lessons, the contradictions, the failures, and the things that genuinely move the field forward.</p><p>If you&#8217;re trying to make sense of where agentic systems go from here, you&#8217;re in the right place <strong>&#128578;</strong></p>]]></content:encoded></item><item><title><![CDATA[Inside the realities of AI engineering]]></title><description><![CDATA[A roundtable with AI Engineering author Chip Huyen and LLM Engineer&#8217;s Handbook co-authors Paul Iusztin and Maxime Labonne]]></description><link>https://newsletter.agentengineering.co/p/inside-the-realities-of-ai-engineering</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/inside-the-realities-of-ai-engineering</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 28 May 2026 09:08:27 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/199573596/3911c1c1a6f91bb4f44e31895aa660c8.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>We&#8217;re in a strange moment in AI right now where everyone seems to agree agents are important&#8230; but almost nobody agrees on what production-ready agent systems should actually look like yet.</p><p>That&#8217;s what made this roundtable session so interesting for my co-host, Ali Abidi, and me.</p><p>We spent an hour digging into these questions with three people who&#8217;ve helped shape how the industry thinks about AI engineering: Chip Huyen, Paul Iusztin, and Maxime Labonne.</p><p><a href="https://www.linkedin.com/in/chiphuyen/">Chip Huyen</a> brought the systems-level perspective she&#8217;s become known for through <em><a href="https://www.amazon.com/Designing-Machine-Learning-Systems-Production-Ready/dp/1098107969/ref=sr_1_1?crid=2JHF6BKDBTG46&amp;dib=eyJ2IjoiMSJ9.OBDpLaGfjPFym8EGEjKYAmNgpq80qC2M1Bkvsps6Bz_piaXZmDx-p2rzFoX-Bx7aL1dYYqtdY9MV-yGGB-OWukadByEdHtPuuMclJfn1b_ABuKuHK__ALGetIbyeqq2MdAxgbiYKbXtpRtLGYH07rxxnQV68Ewr56qfv3jkasbs48kRRN-xGUGH0iORHAX0_lUNuxMsVJzOWRtbu572v6fasCOnro_jc1YysfntAE5Y.4ryWRFz8wE9Htp3a5DNWZdl90xsDkWFh1cPgeLDDIqs&amp;dib_tag=se&amp;keywords=Designing+Machine+Learning+Systems&amp;qid=1779445829&amp;sprefix=designing+machine+learning+systems%2Caps%2C277&amp;sr=8-1">Designing Machine Learning Systems</a></em> and <em><a href="https://www.amazon.com/AI-Engineering-Building-Applications-Foundation/dp/1098166302/ref=sr_1_1?crid=PBMY1BBH5XYE&amp;dib=eyJ2IjoiMSJ9.w38xIfJKF9QZxJLAyIpAVkocSIxMVhLhrvTg7E7Bekb43F5snpv-_R1QWdciJbZqIcV8X_00OkA7OJQebrBLS2jNeDQGw2LaqdcyugepKToqRqSjAbnwh5LlXv6K6ygFb-ADHypZpj6kxMqp1mZnWcgvMFT0oBmFaGEBKpaHsgjjpiRfQwsSFg_Gs1oBC2FEgQftH9xw3FFk_baNA1neyRoX4MIDcO_oVV_kr8T1D48.WLWyx_dDIcc5YVA3yD2vSULFszdZAZBKDqr5Piq3u5w&amp;dib_tag=se&amp;keywords=AI+engineering&amp;qid=1779445909&amp;sprefix=ai+engineering%2Caps%2C300&amp;sr=8-1">AI Engineering</a></em>: why reliability, orchestration, tooling, memory, evaluation, and infrastructure choices are quickly becoming more important than flashy demos.</p><p><a href="https://www.linkedin.com/in/pauliusztin/?skipRedirect=true">Paul Iusztin</a> and <a href="https://www.linkedin.com/in/maxime-labonne/?skipRedirect=true">Maxime Labonne</a>, co-authors of <em><a href="https://www.amazon.com/LLM-Engineers-Handbook-engineering-production/dp/1836200072/ref=sr_1_1?crid=2P7QK3IIKQ3WO&amp;dib=eyJ2IjoiMSJ9.Nl8R40KfTvf_Idls3emewwoLoBbwKB88cArFqhywF8zGjd3XTiesszYvxdfLTbqLYGY1rIk4Ls9B5PV5mfZinL0VwFx3kq3aJVAyaJypbxYLs2RtqHvRFugDTxX9NPaplx5a73JoUfqrqJqM2Xgk06hZnNpXul1P0FwfHat__93qEljjq4-DV3D4qsvivElq79xsKca2Fysfl5W14CoPVtCRrJFmlM9ucPnOfZxc62w.n-ybj1DgTq9S9OD7_JpM6JBlE-nGCvAeXiXRzgqIqKk&amp;dib_tag=se&amp;keywords=LLM+engineer%27s+handbook&amp;qid=1779446480&amp;sprefix=llm+engineer%27s+handbook%2Caps%2C308&amp;sr=8-1">LLM Engineer&#8217;s Handbook</a></em>, brought deeply practical perspectives from the frontlines of modern AI engineering, especially around modular architectures, production workflows, multimodal systems, post-training, fine-tuning, and the engineering discipline needed to move beyond PoC purgatory and into systems that can actually survive real-world use.</p><p>The conversation stayed honest throughout. Nobody pretended this space is &#8220;solved.&#8221; The discussions revolved around trade-offs, failure points, bottlenecks, orchestration chaos, and the messy engineering layer that starts appearing the moment agents interact with real systems and real users.</p><p>Huge thanks again to Chip, Paul, and Maxime for such a thoughtful conversation. Ali and I had an absolute blast hosting this one.</p><div><hr></div><p style="text-align: center;"><em>Thanks for reading!</em></p><p style="text-align: center;"><em>Agentic Engineering grew out of a desire to create something useful for people trying to make sense of agentic AI and beyond. If you&#8217;d like to support that direction, please tell your friends about us.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticengg.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share&quot;,&quot;text&quot;:&quot;Share Agentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://agenticengg.substack.com/?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share Agentic Engineering</span></a></p><div><hr></div><p style="text-align: center;"></p>]]></content:encoded></item><item><title><![CDATA[Why AI agents need orchestrators]]></title><description><![CDATA[Modularity and the coordination problem behind autonomous systems]]></description><link>https://newsletter.agentengineering.co/p/why-ai-agents-need-orchestrators</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/why-ai-agents-need-orchestrators</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 28 May 2026 08:47:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Z5vS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The more capable agentic systems become, the less the challenge seems to revolve around the model itself and the more it starts revolving around coordination.</p><p>Once agents begin using tools, retrieving information, maintaining memory, looping through decisions, and interacting with external systems, things stop looking like a simple chatbot pretty quickly. You start ending up with something closer to an operational system that needs planning, structure, and supervision to keep functioning coherently.</p><p>And that&#8217;s the part of the conversation that still feels oddly underdiscussed.</p><p>A lot of attention goes toward models and autonomy, but much less toward the layer responsible for coordinating all of this.</p><p>That layer is the orchestrator. And the more complex agentic systems become, the more important the orchestration layer becomes.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticeng.substack.com/subscribe&quot;,&quot;text&quot;:&quot;Join Angentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://agenticeng.substack.com/subscribe"><span>Join Angentic Engineering</span></a></p><p style="text-align: center;"><em>For builders navigating the move from models to agents</em></p><div><hr></div><p style="text-align: justify;">An AI orchestrator serves as the central hub that coordinates interactions between the model, tools, memory stores, APIs, and other external systems. It ensures that AI agents operate effectively and in a controlled manner.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z5vS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z5vS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 424w, https://substackcdn.com/image/fetch/$s_!Z5vS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 848w, https://substackcdn.com/image/fetch/$s_!Z5vS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 1272w, https://substackcdn.com/image/fetch/$s_!Z5vS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z5vS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png" width="1456" height="857" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:857,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1397287,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!Z5vS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 424w, https://substackcdn.com/image/fetch/$s_!Z5vS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 848w, https://substackcdn.com/image/fetch/$s_!Z5vS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 1272w, https://substackcdn.com/image/fetch/$s_!Z5vS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6a166f08-0294-4173-8eb8-18fb7ca7d249_1635x962.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">AI orchestrators can help in the following:</p><ul><li><p><strong>Managing complexity</strong>: AI workflows often involve multiple coordinated steps such as retrieval, reasoning, and action execution. Orchestrators automate and structure these processes, making systems easier to scale and maintain.</p></li><li><p><strong>Enhancing scalability</strong>: Orchestrators handle high loads by distributing tasks, caching responses, and parallelizing operations&#8212;critical for handling multiple users or token-intensive tasks.</p></li><li><p><strong>Ensuring context awareness</strong>: Since LLMs have limited memory, orchestrators integrate vector databases and memory systems to help agents retain information and deliver more coherent, personalized experiences.</p></li><li><p><strong>Facilitating tool integration</strong>: Orchestrators streamline the use of APIs, search engines, and databases by managing task execution and ensuring smooth interaction between LLMs and external tools.</p></li><li><p><strong>Improving reliability and monitoring</strong>: From logging to human-in-the-loop feedback, orchestrators offer tools to catch errors, prevent hallucinations, and ensure systems run securely and reliably.</p></li></ul><p style="text-align: justify;">To better understand the need for an AI orchestrator in the context of AI agents, we need to introduce three key features of AI agents: autonomy, abstraction, and modularity.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://newsletter.agentengineering.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://newsletter.agentengineering.co/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>Autonomy</strong></h2><p style="text-align: justify;">Autonomy refers to an AI agent&#8217;s capacity to operate <em>independently</em>, making decisions and executing actions without human intervention. This self-directed behavior enables AI agents to perform tasks, adapt to new situations, and pursue goals based on their learned experiences.</p><p style="text-align: justify;">The autonomy of an AI agent implies that the steps that the agent is going to take are not necessarily known in advance.</p><p style="text-align: justify;">For example, let&#8217;s consider a non-agentic workflow as simple as the following:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cxty!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cxty!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 424w, https://substackcdn.com/image/fetch/$s_!cxty!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 848w, https://substackcdn.com/image/fetch/$s_!cxty!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 1272w, https://substackcdn.com/image/fetch/$s_!cxty!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cxty!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1202619,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cxty!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 424w, https://substackcdn.com/image/fetch/$s_!cxty!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 848w, https://substackcdn.com/image/fetch/$s_!cxty!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 1272w, https://substackcdn.com/image/fetch/$s_!cxty!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F941d7b28-a4e2-4ee1-9cc1-8f01b00f66b1_1742x903.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Whenever we prompt an LLM, we are doing an API call, which is the only step that comprises this workflow. Even in the scenario of a <strong>retrieval augmented generation</strong> (<strong>RAG</strong>) workflow, steps are known in advance</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PY3r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PY3r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 424w, https://substackcdn.com/image/fetch/$s_!PY3r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 848w, https://substackcdn.com/image/fetch/$s_!PY3r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 1272w, https://substackcdn.com/image/fetch/$s_!PY3r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PY3r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png" width="1456" height="954" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:954,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1316626,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!PY3r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 424w, https://substackcdn.com/image/fetch/$s_!PY3r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 848w, https://substackcdn.com/image/fetch/$s_!PY3r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 1272w, https://substackcdn.com/image/fetch/$s_!PY3r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7f79e33a-3756-46de-8477-b92ff503e493_1549x1015.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Let&#8217;s now consider an autonomous agentic approach. Let&#8217;s say we have an agent with two tools:</p><ul><li><p><strong>Weather tool</strong>: a function that takes two parameters: city and unit of measurement.</p></li><li><p><strong>Location tool</strong>: a function that takes the current position of the user, leveraging the GPS position. This function takes no parameters.</p></li></ul><p style="text-align: justify;">Both functions come with a natural language description, as per the AI agent&#8217;s anatomy. Our workflow design will let the agent decide which tool to invoke</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sQ9l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sQ9l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 424w, https://substackcdn.com/image/fetch/$s_!sQ9l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 848w, https://substackcdn.com/image/fetch/$s_!sQ9l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 1272w, https://substackcdn.com/image/fetch/$s_!sQ9l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sQ9l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png" width="1456" height="870" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4128303-3560-43de-89a7-8504c77fc16a_1622x969.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:870,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1364382,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!sQ9l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 424w, https://substackcdn.com/image/fetch/$s_!sQ9l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 848w, https://substackcdn.com/image/fetch/$s_!sQ9l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 1272w, https://substackcdn.com/image/fetch/$s_!sQ9l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4128303-3560-43de-89a7-8504c77fc16a_1622x969.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Let&#8217;s say that a new user asks, &#8220;What&#8217;s the weather for tomorrow?&#8221; The following things will happen:</p><ol><li><p>The agent will read through the descriptions of its tools and understand that it needs to invoke the weather tool. However, it&#8217;s missing the two parameters, but thanks to its autonomy, it can look around to retrieve them. It soon understands that it can leverage the location tool to get the first parameter: the output of that function will serve as the parameter of the weather tool.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xB_R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xB_R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 424w, https://substackcdn.com/image/fetch/$s_!xB_R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 848w, https://substackcdn.com/image/fetch/$s_!xB_R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 1272w, https://substackcdn.com/image/fetch/$s_!xB_R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xB_R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png" width="1456" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1382619,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!xB_R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 424w, https://substackcdn.com/image/fetch/$s_!xB_R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 848w, https://substackcdn.com/image/fetch/$s_!xB_R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 1272w, https://substackcdn.com/image/fetch/$s_!xB_R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9635040c-c5bf-4c91-b875-16e56be1b761_1608x978.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p>For the second parameter, the agent cannot make it alone: it needs to ask the user. So it does, asking the user which kind of unit of measurement is needed. Once the user responds, the agent is able to properly invoke the tool with both parameters.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EhPS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EhPS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 424w, https://substackcdn.com/image/fetch/$s_!EhPS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 848w, https://substackcdn.com/image/fetch/$s_!EhPS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 1272w, https://substackcdn.com/image/fetch/$s_!EhPS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EhPS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png" width="1456" height="918" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:918,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1452477,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!EhPS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 424w, https://substackcdn.com/image/fetch/$s_!EhPS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 848w, https://substackcdn.com/image/fetch/$s_!EhPS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 1272w, https://substackcdn.com/image/fetch/$s_!EhPS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8dfa449-1999-419f-9393-51c5926e5c9b_1579x996.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p>The agent observes the output of the weather tool and ascertains that it now knows the final answer for the user.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!olDD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!olDD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 424w, https://substackcdn.com/image/fetch/$s_!olDD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 848w, https://substackcdn.com/image/fetch/$s_!olDD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 1272w, https://substackcdn.com/image/fetch/$s_!olDD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!olDD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png" width="1456" height="709" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:709,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1470150,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198741786?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!olDD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 424w, https://substackcdn.com/image/fetch/$s_!olDD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 848w, https://substackcdn.com/image/fetch/$s_!olDD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 1272w, https://substackcdn.com/image/fetch/$s_!olDD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc6f3eca4-b725-441a-bf1a-23baacbeba0f_1798x875.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Can you imagine how many <em>&#8220;if&#8230;else&#8221;</em> statements would have been needed to replicate such a degree of autonomy in a standard Robotic Process Automation (RPA) process? And even if we could manage a similar scenario, what if the user asks something that has not been hardcoded in the process? Adaptability, self-critique, and self-adjustment are key features of agentic autonomy.</p><p style="text-align: justify;">There are many degrees of autonomy we can provide our agents with: it all boils down to the workflow we set up and the planning strategy we instruct our agents to follow. Designing the proper agentic workflow is an architectural design conversation that is core when building your agentic state.</p><div><hr></div><h2><strong>Abstraction and modularity</strong></h2><p style="text-align: justify;">Abstraction refers to breaking down and simplifying complexity. It is what makes these systems comprehensible and scalable. &#8203;But beyond simplification, it also enables modular design, a fundamental principle in building intelligent systems.</p><p style="text-align: justify;">Modularity breaks down complex problems into smaller, reusable components, each handling a specific part of the challenge. This approach offers several advantages:</p><ul><li><p><strong>Interchangeability</strong>: Components can be swapped, upgraded, or replaced without affecting the entire system</p></li><li><p><strong>Reusability</strong>: Well-designed modules can be repurposed across different projects, improving efficiency</p></li><li><p><strong>Scalability</strong>: Independent yet seamlessly integrated components make it easier to expand solutions</p></li></ul><p style="text-align: justify;">In multi-agent systems, abstraction and modularity allow for the creation of cooperative agents, each specializing in specific tasks while interacting dynamically. This mirrors human problem-solving, where we divide, delegate, and collaborate to tackle complexity effectively.</p><p style="text-align: justify;">A great way to understand abstraction and modularity in agentic patterns is by looking at a multi-agent traffic management system in a busy metropolitan city, where different levels of agents handle different levels of abstraction, ensuring smooth operation without overwhelming any single entity.</p><div class="callout-block" data-callout="true"><p style="text-align: justify;">A standalone agent can always be consumed by another agent as a &#8220;tool&#8221; with the very same approach of coming with a natural language description of its capabilities. For example, an &#8220;SQL agent&#8221; can be a tool for a &#8220;project manager agent,&#8221; the moment the latter needs to query an SQL database.</p></div><p style="text-align: justify;">At the most granular level, we have intersection controllers, which operate at a single traffic light or intersection. These agents rely on real-time data from cameras and sensors to adjust traffic signals based on vehicle congestion, pedestrian movement, and emergency vehicle priority.</p><p style="text-align: justify;">They don&#8217;t worry about what&#8217;s happening in the next city block or the broader urban landscape; their only job is to optimize traffic flow at their specific location. If a sudden influx of cars appears at a junction, they may extend green-light durations to ease congestion.</p><p style="text-align: justify;">Zooming out, we have district-level traffic coordinators. These agents don&#8217;t micromanage individual traffic lights but instead analyze traffic flow across multiple intersections within a neighborhood or district.</p><p style="text-align: justify;">They use data from intersection controllers, GPS tracking, and public transport systems to identify congestion patterns, reroute vehicles, and balance the flow of cars across the area. If they detect excessive delays in one zone, they adjust how much time a light is on for the traffic signal for multiple intersections rather than just one.</p><p style="text-align: justify;">More importantly, they direct intersection-level agents, ensuring their adjustments align with broader district-wide traffic goals.</p><p style="text-align: justify;">At the highest level, we have the citywide traffic management system, responsible for optimizing the flow of millions of vehicles across the entire metropolitan area. This agent doesn&#8217;t focus on specific traffic lights or individual congestion points; instead, it allocates resources, predicts long-term patterns, and makes strategic adjustments.</p><p style="text-align: justify;">Using data from weather reports, major event schedules, accidents, and public transportation networks, this agent might reroute entire roads, coordinate construction schedules to minimize disruption, or implement city-wide emergency response plans in case of major incidents.</p><p style="text-align: justify;">If an accident occurs on a major highway, the citywide system redirects district-level agents to adjust traffic patterns, which in turn instructs intersection controllers to reroute vehicles efficiently.</p><p style="text-align: justify;">This layered structure demonstrates the power of abstraction and modularity in multi-agent systems:</p><ul><li><p>Intersection agents handle local, real-time decisions, adjusting traffic lights and prioritizing immediate flow</p></li><li><p>District-level agents analyze and coordinate groups of intersections, optimizing traffic across a wider region</p></li><li><p>Citywide agents focus on the big picture, planning for long-term efficiency, emergency responses, and systemic optimizations</p></li></ul><p style="text-align: justify;">This mirrors how software architectures, AI systems, and even corporate structures function in the real world. Whether it&#8217;s frontline workers executing tasks, middle managers coordinating efforts, or executives setting the overall vision, abstraction enables complex systems to remain scalable, efficient, and resilient.</p><p style="text-align: justify;">By designing multi-agent AI architectures with this layered approach, we ensure each agent focuses only on what it needs to handle, preventing system overload and enabling adaptive, real-time decision-making at scale, just like a smart traffic system managing a bustling city.</p><p style="text-align: justify;">If this doesn&#8217;t sound like a real thing to you, let&#8217;s have a look at OpenAI&#8217;s tool called <strong>Operator</strong>, which acts as an autonomous agent, capable of performing tasks in a web browser, such as booking tickets or filling online orders.</p><p style="text-align: justify;">OpenAI&#8217;s Operator follows a hierarchical multi-agent approach similar to the traffic management system. Each agent operates at a different level of abstraction, ensuring efficiency and adaptability without overwhelming any single component.</p><ul><li><p><strong>Web controllers (low-level agents)</strong>:<strong> </strong>These agents handle execution: moving the mouse, clicking buttons, and entering text. They don&#8217;t analyze or plan&#8212;they simply follow commands.</p></li><li><p><strong>Vision and reasoning (mid-level agents)</strong>: These agents interpret the web interface. The Vision Agent processes screenshots, detecting relevant elements, while the Reasoning Agent determines the next action (clicking, typing, or scrolling). This layer abstracts away the details of execution, focusing on understanding and decision-making.</p></li><li><p><strong>The planner/orchestrator (high-level agent</strong>): The top-level agent oversees the entire system, ensuring that web interactions align with broader goals&#8212;whether it&#8217;s searching for information or filling out a form. It delegates tasks to mid-level agents, ensuring smooth and strategic navigation.</p></li></ul><p style="text-align: justify;">This structured approach highlights why abstraction matters so much in multi-agent design. <em>Low-level agents</em> can focus purely on execution without needing to reason about broader objectives, while <em>mid-level agents</em> handle interpretation, coordination, and planning across tasks. Above them, <em>high-level agents</em> manage overall strategy and orchestration without getting pulled into implementation details. Separating responsibilities this way allows complex systems to remain scalable, adaptable, and manageable without overwhelming any single layer of the architecture.</p><p style="text-align: justify;">By leveraging this modular design, OpenAI&#8217;s Operator adapts dynamically, handling different websites without requiring manual programming. This scalable and generalizable architecture is a prime example of how multi-agent systems drive real-world AI applications.</p><p style="text-align: justify;">From an architectural perspective, all these components &#8211; agents, skills, plugins &#8211; can be seen as repeatable assets in your organization. In this context, AI orchestrators ensure that these components work together without being tightly coupled, preventing complexity from overwhelming the system.</p><p style="text-align: justify;">Following the preceding hierarchical example, with an AI orchestrator, you can easily define the following:</p><ul><li><p><strong>Execution agents</strong> (<strong>low-level)</strong>: These handle raw tasks such as API calls, database queries, or web scraping, executing commands without decision-making</p></li><li><p><strong>Reasoning agents (mid-level)</strong>: They analyze data, determine actions, and select the right tools, abstracting execution details</p></li><li><p><strong>Orchestration and planning (high-level)</strong>: The orchestrator oversees workflows, breaking down tasks, distributing them across agents, and adapting dynamically</p></li></ul><p style="text-align: justify;">By structuring AI systems this way, orchestrators enable adaptive, generalizable intelligence, ensuring seamless interaction between components without manual intervention.</p><div><hr></div><p style="text-align: justify;">This excerpt was adapted from <em><a href="https://www.amazon.com/Agents-Practice-implement-autonomous-production/dp/180580135X/ref=sr_1_1?crid=2Q8VET5HYDMFY&amp;dib=eyJ2IjoiMSJ9.tCzVKpwjoiAM-C2bOWl6XA.yRYuy0QX2Qf6XUr9RiE-qI2rDVR5p3B00aGAhX3Pbjs&amp;dib_tag=se&amp;keywords=AI+agents+in+practise+valentino+alto&amp;qid=1779258220&amp;sprefix=ai+agents+in+practise+valentino+alto%2Caps%2C379&amp;sr=8-1">AI Agents in Practice</a></em> by <a href="https://www.linkedin.com/in/valentina-alto-6a0590148/">Valentina Alto</a>, which does an excellent job of grounding these ideas in real architectural patterns instead of treating agents as abstract autonomous magic. The book goes deep into orchestration frameworks, multi-agent systems, memory architectures, tooling, production deployment, and the operational realities of building AI agents that can function beyond demos.</p><p style="text-align: justify;">If you&#8217;ve been trying to separate what&#8217;s structurally important in the agent ecosystem, this book is worth spending time with.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/Agents-Practice-implement-autonomous-production/dp/180580135X/ref=sr_1_1?crid=2Q8VET5HYDMFY&amp;dib=eyJ2IjoiMSJ9.tCzVKpwjoiAM-C2bOWl6XA.yRYuy0QX2Qf6XUr9RiE-qI2rDVR5p3B00aGAhX3Pbjs&amp;dib_tag=se&amp;keywords=AI+agents+in+practise+valentino+alto&amp;qid=1779258220&amp;sprefix=ai+agents+in+practise+valentino+alto%2Caps%2C379&amp;sr=8-1&quot;,&quot;text&quot;:&quot;Explore the book&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.amazon.com/Agents-Practice-implement-autonomous-production/dp/180580135X/ref=sr_1_1?crid=2Q8VET5HYDMFY&amp;dib=eyJ2IjoiMSJ9.tCzVKpwjoiAM-C2bOWl6XA.yRYuy0QX2Qf6XUr9RiE-qI2rDVR5p3B00aGAhX3Pbjs&amp;dib_tag=se&amp;keywords=AI+agents+in+practise+valentino+alto&amp;qid=1779258220&amp;sprefix=ai+agents+in+practise+valentino+alto%2Caps%2C379&amp;sr=8-1"><span>Explore the book</span></a></p>]]></content:encoded></item><item><title><![CDATA[The spectrum of today's agents]]></title><description><![CDATA[How systems evolve from retrieval and task execution toward operational autonomy]]></description><link>https://newsletter.agentengineering.co/p/the-spectrum-of-todays-agents</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/the-spectrum-of-todays-agents</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 28 May 2026 08:46:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!OEMo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The current AI ecosystem has developed a habit of describing wildly different systems with the exact same word: <em>agents</em>. A retrieval pipeline that reformulates search queries, a workflow assistant that schedules meetings, and a system capable of coordinating multi-step operational decisions with minimal supervision now all routinely get discussed under the same umbrella.</p><p>And I think that&#8217;s why the conversation around agents sometimes feels simultaneously overcomplicated and vague. In reality, though, these systems are operating at very different levels of autonomy.</p><p>So, after spending the last few articles looking at how agents are structured and orchestrated beneath the surface, I wanted to take a new angle: the different kinds of agents organizations are building, and how capabilities change as systems move from retrieval into action and eventually toward autonomy.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticeng.substack.com/subscribe&quot;,&quot;text&quot;:&quot;Join Angentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://agenticeng.substack.com/subscribe"><span>Join Angentic Engineering</span></a></p><p style="text-align: center;"><em>For builders navigating the move from models to agents</em></p><div><hr></div><p style="text-align: justify;">Looking at agents through this lens, the differences between these systems start becoming much easier to spot.</p><p>Some are primarily designed to retrieve and synthesize information more intelligently. Others are built around executing workflows and operational tasks. And some are beginning to operate with much higher levels of autonomy, coordinating decisions and adapting dynamically as conditions change.</p><p>Broadly speaking, most AI agents today fall into three categories: retrieval agents, task agents, and autonomous agents.</p><div><hr></div><h2><strong>Retrieval agents</strong></h2><p style="text-align: justify;">Retrieval AI agents build upon the foundations of RAG but incorporate advanced agentic behaviors, making them more autonomous and adaptive. In fact, we are adding to a standard RAG pipeline an additional layer of intelligence and planning that allows the agent to &#8220;strategize&#8221; on how to retrieve the most relevant pieces of information.</p><div class="callout-block" data-callout="true"><p style="text-align: justify;">Retrieval AI agents are often referred to as <em>agentic RAG</em>. With this approach, knowledge sources are treated as &#8220;tools,&#8221; meaning that they will come with a description in natural language so that the agent can decide which source to invoke depending on the user&#8217;s query. Once the source is invoked, the retrieval mechanism follows the same pattern as traditional RAG, yet we will have this additional layer of intelligence that can decide whether it is enough to answer or not, and if necessary, invoke further sources.</p></div><p style="text-align: justify;">Let&#8217;s consider the following example. </p><p style="text-align: justify;">Let&#8217;s say we want to build an AI assistant for a doctor to quickly retrieve information about treatments. Given the doctor asks: <em>&#8220;What are the latest treatments for Type 2 diabetes?&#8221;</em>, let&#8217;s see how the two approaches compare:</p><p style="text-align: justify;"><strong>Traditional RAG approach:</strong></p><ul><li><p>The RAG system retrieves the top three relevant articles from the database.</p></li><li><p>The model extracts relevant text from those articles and generates a response summarizing key treatments.</p></li><li><p>If the retrieved documents do not fully answer the doctor&#8217;s question, the model cannot refine the search unless the doctor manually submits a new query.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OEMo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OEMo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 424w, https://substackcdn.com/image/fetch/$s_!OEMo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 848w, https://substackcdn.com/image/fetch/$s_!OEMo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 1272w, https://substackcdn.com/image/fetch/$s_!OEMo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OEMo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png" width="1456" height="672" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:672,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1516702,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198524092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!OEMo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 424w, https://substackcdn.com/image/fetch/$s_!OEMo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 848w, https://substackcdn.com/image/fetch/$s_!OEMo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 1272w, https://substackcdn.com/image/fetch/$s_!OEMo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb57e1d73-31fa-4a1c-859e-1fc23b23209e_1847x852.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Retrieval AI agent approach</strong></p><ul><li><p>The agent retrieves an initial set of documents and analyzes them.</p></li><li><p>It detects that some retrieved studies are outdated, so it refines its search criteria and retrieves more recent publications.</p></li><li><p>It recognizes a gap in information regarding a specific drug and fetches a dedicated study on that drug.</p></li><li><p>Finally, it synthesizes all retrieved sources into a comprehensive answer, ensuring relevance and completeness.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BzQ2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BzQ2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 424w, https://substackcdn.com/image/fetch/$s_!BzQ2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 848w, https://substackcdn.com/image/fetch/$s_!BzQ2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 1272w, https://substackcdn.com/image/fetch/$s_!BzQ2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BzQ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png" width="1456" height="948" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1506073,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198524092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BzQ2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 424w, https://substackcdn.com/image/fetch/$s_!BzQ2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 848w, https://substackcdn.com/image/fetch/$s_!BzQ2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 1272w, https://substackcdn.com/image/fetch/$s_!BzQ2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd114faaf-219a-4d23-92f3-1dd73550d5ae_1555x1012.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">In conclusion, agentic RAG can lead to several improvements over traditional RAG. Unlike traditional RAG systems that typically rely on a single retrieval pass, retrieval AI agents can iteratively refine their searches by breaking complex queries into multiple steps and progressively improving the relevance of the information they gather. They also maintain contextual awareness through memory of previous interactions, allowing them to ask clarifying questions, adjust retrieval strategies dynamically, and respond more intelligently over time.</p><p>Another important difference is their ability to interact directly with tools such as APIs, databases, and vector search engines, enabling them to fetch structured and real-time information when needed. Rather than pulling information from a single static source, retrieval agents can also augment knowledge adaptively by combining and synthesizing information across multiple sources depending on the context of the query. In many cases, these systems can even make autonomous decisions about when additional retrieval is necessary, which sources are most relevant, and how search results should be refined to improve the overall quality of the response.</p><p style="text-align: justify;">Retrieval agents are the simplest form of AI agents, yet the extra layer of intelligence is already demonstrating great improvements for the overall user experience. However, the real power of an AI agent comes to life when it can combine retrieval skills with actionable tasks.</p><div><hr></div><h2><strong>Task agents</strong></h2><p style="text-align: justify;">Task agents go beyond information retrieval by performing specific actions. These agents are designed to automate workflows and replace repetitive tasks for users. Unlike retrieval agents, they execute predefined actions in response to user commands or external triggers.</p><div class="callout-block" data-callout="true"><p style="text-align: justify;">When talking about AI agents, you will often hear the terms tasks, tools, skills, plugins, functions, and actions as interchangeable ways to refer to the agent&#8217;s capabilities of <em>doing things</em>. You will also see that different AI orchestrators come with different terminology. Let&#8217;s try to get some clarity:</p><ul><li><p style="text-align: justify;"><strong>Tasks</strong> define what needs to be accomplished and can range from simple actions, like sending an email, to complex processes involving multiple actions.</p></li><li><p style="text-align: justify;"><strong>Tools</strong> provide external means to perform tasks, like a data visualization tool to create charts or a language translation service to interpret text in different languages.</p></li><li><p style="text-align: justify;"><strong>Plugins</strong> extend functionality through integration with other platforms, and they typically come with a set of operations or functions that can be executed against that platform (list rows, append new record&#8230;).</p></li><li><p style="text-align: justify;"><strong>Functions</strong> outline internal methods of operation &#8211; for example, a get_weather function, properly defined, will be able to return the current weather in a given location.</p></li><li><p style="text-align: justify;"><strong>Skills</strong> represent the agent&#8217;s learned proficiencies and are typically defined in a declarative way (natural language). You can think about skills as &#8220;mini-prompts&#8221; that are invoked only in cases where that specific skill is needed.</p></li><li><p style="text-align: justify;"><strong>Actions</strong> are the concrete steps or operations that an AI agent takes in response to a given situation or input. They are the real-time manifestations of an agent&#8217;s functions and skills, leading to observable outcomes.</p></li></ul></div><p style="text-align: justify;">Let&#8217;s consider once again an example in the healthcare domain, this time from the perspective of the general practitioner&#8217;s office receptionist, John.</p><p style="text-align: justify;">John manages a high volume of appointment requests. Patients book visits through various channels: phone calls, emails, and an online booking system. Managing last-minute cancellations and rescheduling requests is time-consuming and often leads to gaps in the schedule.</p><p style="text-align: justify;">A typical process in John&#8217;s day might look like the following:</p><ol><li><p>John receives an email from Patient X to book an appointment and shares some preferences in terms of date and time</p></li><li><p>John checks the availability of the specialist practitioner required and tries to match the earliest slot possible with Patient X&#8217;s preferences</p></li><li><p>John doesn&#8217;t find any match, hence goes back to Patient X to find alternatives</p></li><li><p>Finally, John and Patient X agree on a slot and the appointment is scheduled</p></li></ol><p style="text-align: justify;">If you think about the above steps, they are nothing but tasks that John is meant to perform to achieve the goal &#8211; scheduling the appointment in an optimized slot for both the practitioner and the patient.</p><p style="text-align: justify;">Whenever we want to map and enhance a business process with an AI agent &#8211; more specifically, a task agent &#8211; a good practice is that of transposing the human tasks into agentic tasks. Let&#8217;s see, for example, how a task agent can assist John:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-YF2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-YF2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!-YF2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!-YF2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!-YF2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-YF2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1495906,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198524092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!-YF2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!-YF2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!-YF2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!-YF2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68c57613-a2d4-44d8-a69d-ef8d33f9d1f3_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol><li><p>The AI agent automatically scans the email received from Patient X. It extracts key details like the Patient&#8217;s name and contact details, preferred date and time, and the specialist practitioner required.</p></li><li><p>The AI agent checks the availability, invoking the plugin (the tool we equip our agent with) in the clinic&#8217;s scheduling system. It matches Patient X&#8217;s preferences with the earliest available slots for the specialist practitioner. If there&#8217;s a match, it proceeds to <em>Step 5</em>.</p></li><li><p>The AI agent finds no match. Since no match is found, the AI agent generates a list of the next best available slots based on the specialist&#8217;s schedule. It also drafts a response email to Patient X, leveraging a writing skill, with suggested alternatives, but John reviews and approves it before sending.</p></li><li><p>Patient X responds with a new preference and either:</p><ul><li><p>Accepts one of them and proceeds to <em>Step 5</em></p></li><li><p>Requests new options, then the AI agent repeats <em>Step 3</em></p></li></ul></li><li><p>Once John and Patient X agree on a slot, the AI agent automatically schedules the appointment in the system, leveraging the same plugin as above. Plus, it sends a confirmation email to Patient X with the details, leveraging an email plugin. Finally, it updates the specialist&#8217;s calendar and notifies them of the booking.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ePhf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ePhf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 424w, https://substackcdn.com/image/fetch/$s_!ePhf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 848w, https://substackcdn.com/image/fetch/$s_!ePhf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 1272w, https://substackcdn.com/image/fetch/$s_!ePhf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ePhf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png" width="1456" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1444826,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198524092?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ePhf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 424w, https://substackcdn.com/image/fetch/$s_!ePhf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 848w, https://substackcdn.com/image/fetch/$s_!ePhf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 1272w, https://substackcdn.com/image/fetch/$s_!ePhf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6bf69a42-76ee-4d0d-9256-6c6ce060e3be_1631x964.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">As you can see, the AI agent acts as John&#8217;s assistant, handling repetitive scheduling tasks while he focuses on in-person patient interactions.</p><div><hr></div><h2><strong>Autonomous agents</strong></h2><p style="text-align: justify;">Autonomous agents represent the most advanced category of AI agents. Unlike retrieval and task agents, which operate within predefined boundaries, autonomous agents strategically orchestrate multiple tasks and retrieval processes, making real-time decisions to optimize workflows. These agents exhibit a high degree of independence, adaptability, and contextual awareness, allowing them to perform complex operations with minimal human intervention.</p><p style="text-align: justify;">The core distinction of autonomous agents lies in their ability to:</p><ol><li><p><strong>Combine retrieval and action</strong>: They can both find information (like a retrieval agent) and act on it (like a task agent).</p></li><li><p><strong>Plan and self-adjust</strong>: They dynamically adapt based on new information or changing constraints.</p></li><li><p><strong>Perform multi-step workflows</strong>: They break down complex tasks into subtasks, execute them iteratively, and adjust based on results. Let&#8217;s continue with John&#8217;s clinic example. As the clinic gets busier, managing appointments, cancellations, and reschedules becomes overwhelming. A task agent helped streamline individual actions, but now an autonomous agent takes over the end-to-end scheduling process with minimal supervision. Here is how it works, step by step:</p><ul><li><p><strong>Intake and prioritization</strong>: The agent monitors all channels (email, portal, phone transcripts), extracts patient preferences, urgency, and specialist needs, and ranks requests based on priority. For example, a canceled appointment opens a slot, and the agent immediately matches it to Patient X, who&#8217;s been waiting for a similar time.</p></li><li><p><strong>Planning and optimization</strong>: It reviews the full daily schedule, identifies conflicts or idle gaps, and builds an optimized plan&#8212;shuffling low-priority visits to make room for urgent ones.</p></li><li><p><strong>Execution with feedback</strong>: The agent messages patients with options, updates calendars, books appointments, and sends confirmations&#8212;all automatically. If preferences change, it loops back, refining its actions.</p></li><li><p><strong>Real-time adaptation</strong>: A doctor calls in sick. The agent halts new bookings, reschedules affected patients, and notifies staff&#8212;handling all steps autonomously unless human input is needed.</p></li><li><p><strong>Continuous learning</strong>: At day&#8217;s end, it analyzes outcomes, updates patient preferences, and adjusts future prioritization logic.</p></li></ul></li></ol><p style="text-align: justify;">The autonomous agent can plan, retrieve, decide, act, adapt, and learn&#8212;all without relying on predefined workflows. John now focuses on edge cases, while the agent intelligently handles the rest.</p><p style="text-align: justify;">Autonomous agents represent the next step in AI-driven process automation. By merging retrieval AI capabilities (context awareness, real-time query refinement) with task execution skills (appointment scheduling, automated notifications), autonomous agents can fundamentally reshape business processes and daily operations.</p><div class="callout-block" data-callout="true"><p style="text-align: justify;">Even if autonomous agents resonate very well with the concept of business process automation, keep in mind that they can also represent a new enhancement for customer experience. For example, in the scenario above, rather than calling or sending an email, Patient X could leverage the AI agent's conversational UI (via the clinic website or WhatsApp channel). By doing so, Patient X will experience a new, smoother way of interacting with the clinic, while the AI agent captures intent, asks more questions if further information is needed, and orchestrates the backend to execute its tasks.</p></div><p style="text-align: justify;">There are different degrees of autonomy we can provide our agents with, and the decision is based upon the business scenario as well as the level of confidence we have in the accuracy of the solution.</p><div><hr></div><p>This piece borrows from <em><a href="https://www.amazon.com/Agents-Practice-implement-autonomous-production/dp/180580135X/ref=sr_1_1?crid=2Q8VET5HYDMFY&amp;dib=eyJ2IjoiMSJ9.tCzVKpwjoiAM-C2bOWl6XA.yRYuy0QX2Qf6XUr9RiE-qI2rDVR5p3B00aGAhX3Pbjs&amp;dib_tag=se&amp;keywords=AI+agents+in+practise+valentino+alto&amp;qid=1779258220&amp;sprefix=ai+agents+in+practise+valentino+alto%2Caps%2C379&amp;sr=8-1">AI Agents in Practice</a></em> by <a href="http://linkedin.com/in/valentina-alto-6a0590148/">Valentina Alto</a>, which I found myself bookmarking constantly while working through these recent pieces on agents.</p><p>What stayed with me most wasn&#8217;t just the frameworks or implementation details, but how clearly it separates systems that retrieve, systems that execute, and systems that can independently coordinate decisions across workflows. That sounds obvious when written out plainly, yet a surprising amount of the current ecosystem still collapses all three into the same conversation. The more separated those ideas become, the easier it gets to reason about what these systems are capable of doing.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/Agents-Practice-implement-autonomous-production/dp/180580135X/ref=sr_1_1?crid=2Q8VET5HYDMFY&amp;dib=eyJ2IjoiMSJ9.tCzVKpwjoiAM-C2bOWl6XA.yRYuy0QX2Qf6XUr9RiE-qI2rDVR5p3B00aGAhX3Pbjs&amp;dib_tag=se&amp;keywords=AI+agents+in+practise+valentino+alto&amp;qid=1779258220&amp;sprefix=ai+agents+in+practise+valentino+alto%2Caps%2C379&amp;sr=8-1&quot;,&quot;text&quot;:&quot;Expore the book&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.amazon.com/Agents-Practice-implement-autonomous-production/dp/180580135X/ref=sr_1_1?crid=2Q8VET5HYDMFY&amp;dib=eyJ2IjoiMSJ9.tCzVKpwjoiAM-C2bOWl6XA.yRYuy0QX2Qf6XUr9RiE-qI2rDVR5p3B00aGAhX3Pbjs&amp;dib_tag=se&amp;keywords=AI+agents+in+practise+valentino+alto&amp;qid=1779258220&amp;sprefix=ai+agents+in+practise+valentino+alto%2Caps%2C379&amp;sr=8-1"><span>Expore the book</span></a></p>]]></content:encoded></item><item><title><![CDATA[Older ideas still shaping modern AI agents]]></title><description><![CDATA[Deliberative, reactive, and hybrid architectures explained through today&#8217;s agent systems]]></description><link>https://newsletter.agentengineering.co/p/older-ideas-still-shaping-modern</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/older-ideas-still-shaping-modern</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 28 May 2026 08:42:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!D51-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the previous article, I wrote about some of the recurring patterns behind modern AI agents (ReAct loops, planner-executor systems, hierarchical agents, and the orchestration approaches) that now sit underneath a huge portion of the current agent ecosystem.</p><p>But while putting that piece together, I kept noticing something interesting. Many of these systems sound new on the surface, yet a lot of the underlying ideas have existed for much longer than the current wave of agent frameworks.</p><p>Once you start looking at older work around autonomous systems and classical AI architectures, you begin noticing familiar tensions everywhere. Systems that prioritize planning versus systems that prioritize responsiveness. Architectures built around reasoning versus architectures built around reaction. Trade-offs between control, adaptability, speed, and autonomy.</p><p>So it made sense to follow up the previous piece with this one.</p><p>I&#8217;m not saying modern LLM agents map perfectly onto these older paradigms. Understanding <strong>deliberative</strong>, <strong>reactive</strong>, and <strong>hybrid</strong> architectures, however, makes today&#8217;s agent ecosystem feel a little less chaotic and a lot more interpretable.</p><p>This article explores those architectural foundations and how many of those ideas continue to echo through the systems being built today.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticeng.substack.com/subscribe&quot;,&quot;text&quot;:&quot;Join Angentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://agenticeng.substack.com/subscribe"><span>Join Angentic Engineering</span></a></p><p style="text-align: center;"><em>For builders navigating the move from models to agents</em></p><div><hr></div><p>If you strip things back, agentic systems are just different ways of organizing how an autonomous system perceives its environment, reasons about decisions, responds to changing conditions, and carries out actions toward a goal.</p><p>The interesting part is that there&#8217;s no single architectural approach for doing this well. Some systems prioritize planning and structured reasoning. Others are optimized for fast reactions and adaptability. And many modern systems attempt to balance both.</p><p>Broadly speaking, most agentic architectures tend to fall into three categories: deliberative, reactive, and hybrid architectures. Each one reflects a different philosophy around how intelligent systems should behave, make decisions, and interact with the world around them.</p><p>Let&#8217;s walk through them.</p><div><hr></div><h2><strong>Deliberative architectures</strong></h2><p>Also known as <em>knowledge-based</em> or <em>symbolic</em> architectures, deliberative architectures rely on the use of explicit representations of knowledge and reasoning mechanisms to reach decisions. They typically follow a <em>sense-plan-act</em> cycle, where they first perceive information about the environment, then make a plan of action according to that perception and the knowledge base, and finally execute such plans of action.</p><p>The key advantage of deliberative architectures is their ability to handle tasks that involve complex reasoning, such as planning, problem-solving, and decision-making. These architectures leverage techniques such as rule-based reasoning, constraint satisfaction, and heuristic search to navigate through intricate problem spaces and formulate appropriate courses of action.</p><p>One of the critical components of a deliberative architecture is the knowledge base that stores symbolic representations of the environment, goals, constraints, and domain-specific knowledge. This knowledge base is typically encoded using formal language or logic, enabling the system to perform logical inference and reasoning. The <em>sense-plan-act</em> cycle in deliberative architectures typically involves the following steps:</p><ol><li><p><strong>Sensing</strong>: The agent perceives and acquires information about the environment through various sensors or input mechanisms.</p></li><li><p><strong>Knowledge updating</strong>: The perceived information is used to update the agent&#8217;s internal knowledge base, ensuring that it maintains an accurate representation of the current state of the environment.</p></li><li><p><strong>Planning and reasoning</strong>: Based on the updated knowledge base, the agent employs reasoning techniques and algorithms to formulate plans and make decisions. This may involve techniques such as constraint satisfaction, logical inference, search algorithms, or heuristic-based planning.</p></li><li><p><strong>Plan execution</strong>: Once a plan or course of action has been determined, the agent executes the corresponding actions in the environment, potentially modifying the environment or achieving specific goals.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!D51-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!D51-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 424w, https://substackcdn.com/image/fetch/$s_!D51-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 848w, https://substackcdn.com/image/fetch/$s_!D51-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 1272w, https://substackcdn.com/image/fetch/$s_!D51-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!D51-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png" width="1456" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:178231,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198366138?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!D51-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 424w, https://substackcdn.com/image/fetch/$s_!D51-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 848w, https://substackcdn.com/image/fetch/$s_!D51-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 1272w, https://substackcdn.com/image/fetch/$s_!D51-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F258efa58-5161-4192-a3b2-4fa2429d7d7e_1511x694.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Deliberative architectures excel in handling tasks that require complex reasoning, planning, and decision-making in well-defined environments. They can effectively handle uncertainty and ambiguity through techniques such as probabilistic reasoning, fuzzy logic, or belief revision mechanisms.</p><p>However, deliberative architectures also have some disadvantages. One significant challenge is the computational cost associated with maintaining and reasoning over complex knowledge bases, which can limit real-time responsiveness in dynamic environments. Additionally, the explicit representation of knowledge can be challenging in domains where knowledge is difficult to formalize or is constantly evolving.</p><p>To address these limitations, deliberative architectures are often combined with reactive or behavior-based components in hybrid architectures, allowing both complex reasoning and rapid response to environmental changes.</p><p>Despite their limitations, deliberative architectures remain a crucial component in many intelligent systems, particularly in domains where complex decision-making, planning, and reasoning are essential, such as robotics, decision support systems, and intelligent tutoring systems.</p><div><hr></div><h2><strong>Reactive architectures</strong></h2><p>Reactive architectures, also known as <em>behavior-based</em> or <em>stimulus-response</em> architectures, aim to provide immediate responses to stimuli from the environment. Unlike deliberative architectures, reactive architectures do not rely on explicit models of the world or complex reasoning processes. Instead, these systems directly map perceptions onto actions, typically using simple condition-action rules or neural networks as depicted in the following figure:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CrSE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CrSE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 424w, https://substackcdn.com/image/fetch/$s_!CrSE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 848w, https://substackcdn.com/image/fetch/$s_!CrSE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 1272w, https://substackcdn.com/image/fetch/$s_!CrSE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CrSE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png" width="714" height="550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99c3fe36-2515-449c-80d2-548f220c317a_714x550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:550,&quot;width&quot;:714,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:36278,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198366138?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!CrSE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 424w, https://substackcdn.com/image/fetch/$s_!CrSE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 848w, https://substackcdn.com/image/fetch/$s_!CrSE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 1272w, https://substackcdn.com/image/fetch/$s_!CrSE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99c3fe36-2515-449c-80d2-548f220c317a_714x550.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Some of the key properties and characteristics of reactive architectures include the following:</p><ul><li><p><strong>Speed and responsiveness</strong>: Reactive architectures are designed to react rapidly to changes in the environment. By directly coupling perceptions to actions, they can bypass time-consuming deliberative reasoning processes, enabling swift and timely responses.</p></li><li><p><strong>Robustness and fault tolerance</strong>: These architectures are generally robust and less susceptible to noise or incomplete information. Their simple, standalone nature makes them less prone to catastrophic failures, as individual components or behaviors can compensate for or mitigate the effects of faulty or missing input, especially when used within a deliberative architecture.</p></li><li><p><strong>Handling uncertainty</strong>: Reactive architectures can effectively handle uncertainty in dynamic environments. Their ability to respond directly to environmental stimuli allows them to adapt and adjust their actions based on the current situation, without relying on precise or complete models of the entire world.</p></li><li><p><strong>Parallel and distributed processing</strong>: Reactive architectures often employ parallel and distributed processing using multiple reactive modules, where multiple modules operate simultaneously and independently. This decentralized approach enables efficient handling of complex tasks and provides inherent scalability and modularity.</p></li><li><p><strong>Emergence of complex behavior</strong>: Despite the simplicity of individual behaviors or rules, the interaction and coordination of multiple reactive components can lead to the emergence of complex, intelligent-like behavior at the system level.</p></li></ul><p>While reactive architectures offer advantages in terms of speed, robustness, and handling uncertainty, they also have limitations as highlighted:</p><ul><li><p><strong>Lack of long-term planning</strong>: Reactive architectures cannot generally plan or reason about long-term consequences. Their focus is on immediate responses to environmental stimuli, making it difficult to pursue complex, multi-step goals or strategies.</p></li><li><p><strong>Limited reasoning and abstraction</strong>: These architectures may struggle with tasks that require abstract reasoning, generalization, or the manipulation of symbolic representations. They are primarily designed to operate at a lower, stimulus-response level.</p></li><li><p><strong>Limited learning capabilities</strong>: Many reactive architectures cannot learn from experience or adapt their behavior over time. Their fixed set of rules or behaviors may not be suitable for dynamic environments or tasks that require continuous learning and adaptation.</p></li></ul><p>Despite these limitations, reactive architectures are widely used in applications where real-time responsiveness, robustness, and the ability to handle uncertainty are essential, such as in robotics, video games built with AI, and control systems. Additionally, reactive architectures often serve as components within more complex hybrid architectures, complementing deliberative or learning-based systems to achieve desired levels of performance and adaptability.</p><div><hr></div><h2><strong>Hybrid architectures</strong></h2><p>Researchers have recognized the strengths and limitations of both deliberative and reactive architectures, leading to the development of hybrid architectures that aim to exploit the advantages of both approaches. Such hybrid architectures typically employ a layered structure, consisting of the following:</p><ul><li><p>A <strong>reactive layer</strong> for fast and low-level responses. The reactive layer is responsible for handling real-time interactions with the environment, providing rapid and situationally appropriate responses to external stimuli. This layer is designed to be highly responsive, fault-tolerant, and capable of handling uncertainty, leveraging the strengths of reactive architectures.</p></li><li><p>A <strong>deliberative layer</strong> for high-level reasoning and planning. The deliberative layer is dedicated to higher-level reasoning, planning, and decision-making processes. This layer can maintain a more comprehensive representation of the environment, goals, and constraints, enabling it to formulate complex strategies, reason about abstract concepts, and plan long-term courses of action.</p></li></ul><p>The interaction between these two layers is crucial for enabling agentic systems to respond effectively to dynamic environmental contexts while maintaining the capability to plan actions and reason about them. The reactive layer can provide real-time feedback and situational awareness to the deliberative layer, informing its decision-making processes. Conversely, the deliberative layer can guide and influence the reactive layer&#8217;s behavior by providing high-level plans, goals, and constraints.</p><p>To achieve complex goals and leverage the strengths of both layers, hybrid architectures often employ the following techniques:</p><ul><li><p><strong>Task decomposition</strong>: Break down complex tasks into subtasks that can be handled by the appropriate layer, with the reactive layer handling low-level, time-critical tasks and the deliberative layer focusing on higher-level planning and coordination</p></li><li><p><strong>Multiplan selection</strong>: The deliberative layer can generate multiple potential plans or strategies, and the reactive layer can dynamically select and execute the most suitable plan based on the current environmental conditions</p></li><li><p><strong>Planning with external modules</strong>: The deliberative layer can incorporate external modules or specialized algorithms for tasks such as path planning, resource allocation, or scheduling, leveraging domain-specific knowledge and techniques</p></li><li><p><strong>Reflection and refinement</strong>: The deliberative layer can reflect on the outcomes of executed plans, learn from experience, and refine its reasoning and planning processes accordingly, enabling continuous improvement and adaptation</p></li><li><p><strong>Memory-augmented planning</strong>: The deliberative layer can maintain a memory or history of past experiences, decisions, and outcomes, enabling it to leverage this knowledge in future planning and reasoning processes</p></li></ul><p>By combining the strengths of both deliberative and reactive approaches, hybrid architectures seek to balance responsiveness and reasoning, enabling the development of more robust, autonomous, and adaptable agentic systems. These architectures leverage the power of both approaches, providing the ability to respond rapidly to dynamic environments while maintaining the capability for complex planning, reasoning, and decision-making.</p><p>The design and implementation of effective hybrid architectures remain an active area of research, as researchers strive to develop architectures that can seamlessly integrate and coordinate the deliberative and reactive components, enabling the creation of highly capable and intelligent agentic systems.</p><p>Selecting the appropriate architectural pattern for an agentic system is contingent upon the specific requirements of the application, encompassing factors such as task complexity, environmental uncertainty, and the necessity for real-time responsiveness. Deliberative architectures excel in scenarios that demand intricate reasoning and decision-making processes, while reactive architectures thrive in dynamic environments that necessitate swift and adaptive responses. Hybrid architectures strike a harmonious balance by judiciously leveraging the strengths of both paradigms, resulting in the development of more capable and adaptable agentic systems that can seamlessly navigate the complexities of their operating environments.</p><div><hr></div><p>This article was adapted from <em><a href="https://www.amazon.com/Building-Agentic-Systems-intelligent-autonomous/dp/1803238755/ref=sr_1_1?crid=2C3GB8FDFUFEN&amp;dib=eyJ2IjoiMSJ9.YQG7Pgi3_bztSCAq-fOg2T7UEuQmrFwz9aoYijGQCJvAT-BhzYGgfbEf4TMhAV7am0kyxE-aOa1TkJxyhYtKGluxDhhqa6PjGTcQDS_t-4TP1ZFLW4XSIWFYku8ilvlihsGnQ6jqYZbX2FOH6rYi71nejXlie6f6u2nqpvXTejb-LzmJxDaQlC_TRvLOfvNgDWOj0YRcUaf-HXNjQt66qNdxph9Rx8xpSlBJl15B61E.WQT1iHBGGwkt3bLg1hh8nxnk4Nq7kEEqvkzyrQy6JLk&amp;dib_tag=se&amp;keywords=building+agentic+AI+systems&amp;qid=1779169375&amp;sprefix=building+agentic+ai+system%2Caps%2C311&amp;sr=8-1">Building Agentic AI Systems</a></em> by <a href="https://www.linkedin.com/in/anjanavabiswas/">Anjanava Biswas</a> and <a href="https://www.linkedin.com/in/wrick-talukdar/">Wrick Talukdar</a>.</p><p>Reading through it, what stood out to me was how much of agent design ultimately comes back to timeless systems questions, like how decisions are made, how tasks are decomposed, how coordination happens, and how systems adapt under <em>changing</em> conditions.</p><p>That feels relevant right now as current conversations around agents still focus more on tooling abstractions than the systems underneath them. If you enjoy thinking about agents as systems-design problems rather than just autonomous demos, this book is worth exploring further.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/Building-Agentic-Systems-intelligent-autonomous/dp/1803238755/ref=sr_1_1?crid=2C3GB8FDFUFEN&amp;dib=eyJ2IjoiMSJ9.YQG7Pgi3_bztSCAq-fOg2T7UEuQmrFwz9aoYijGQCJvAT-BhzYGgfbEf4TMhAV7am0kyxE-aOa1TkJxyhYtKGluxDhhqa6PjGTcQDS_t-4TP1ZFLW4XSIWFYku8ilvlihsGnQ6jqYZbX2FOH6rYi71nejXlie6f6u2nqpvXTejb-LzmJxDaQlC_TRvLOfvNgDWOj0YRcUaf-HXNjQt66qNdxph9Rx8xpSlBJl15B61E.WQT1iHBGGwkt3bLg1hh8nxnk4Nq7kEEqvkzyrQy6JLk&amp;dib_tag=se&amp;keywords=building+agentic+AI+systems&amp;qid=1779169375&amp;sprefix=building+agentic+ai+system%2Caps%2C311&amp;sr=8-1&quot;,&quot;text&quot;:&quot;Explore the book&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.amazon.com/Building-Agentic-Systems-intelligent-autonomous/dp/1803238755/ref=sr_1_1?crid=2C3GB8FDFUFEN&amp;dib=eyJ2IjoiMSJ9.YQG7Pgi3_bztSCAq-fOg2T7UEuQmrFwz9aoYijGQCJvAT-BhzYGgfbEf4TMhAV7am0kyxE-aOa1TkJxyhYtKGluxDhhqa6PjGTcQDS_t-4TP1ZFLW4XSIWFYku8ilvlihsGnQ6jqYZbX2FOH6rYi71nejXlie6f6u2nqpvXTejb-LzmJxDaQlC_TRvLOfvNgDWOj0YRcUaf-HXNjQt66qNdxph9Rx8xpSlBJl15B61E.WQT1iHBGGwkt3bLg1hh8nxnk4Nq7kEEqvkzyrQy6JLk&amp;dib_tag=se&amp;keywords=building+agentic+AI+systems&amp;qid=1779169375&amp;sprefix=building+agentic+ai+system%2Caps%2C311&amp;sr=8-1"><span>Explore the book</span></a></p>]]></content:encoded></item><item><title><![CDATA[Design patterns behind AI agents]]></title><description><![CDATA[The recurring architectures underneath today&#8217;s agent frameworks and orchestration stacks]]></description><link>https://newsletter.agentengineering.co/p/design-patterns-behind-ai-agents</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/design-patterns-behind-ai-agents</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 28 May 2026 08:39:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ztH-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>One of the more confusing parts of the current agent ecosystem is that people often talk about frameworks, agents, orchestration, and autonomy as if they all mean the same thing.</p><p>However, most agentic systems tend to follow a small number of recurring design patterns. The differences usually come down to how an agent reasons, how it plans tasks, how it interacts with tools, and whether it operates alone or alongside other specialized agents.</p><p>Once you recognize these patterns, a lot of the ecosystem starts making more sense. You can begin to see why some systems are better suited for short reasoning tasks while others are designed for long-running workflows, delegation, or multi-step execution.</p><p>This article breaks down some of the most common patterns used in modern AI agents and how they differ.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticeng.substack.com/subscribe&quot;,&quot;text&quot;:&quot;Join Angentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://agenticeng.substack.com/subscribe"><span>Join Angentic Engineering</span></a></p><p style="text-align: center;"><em>For builders navigating the move from models to agents</em></p><div><hr></div><p style="text-align: justify;">All AI agent design patterns contain the core three components, but have variations in how they implement the components. In particular, they differ based on how they control the control logic framework and its tooling sophistication. These include ReAct, CoT, planner-executor, and hierarchical/multi-agent.</p><h3>CoT</h3><p style="text-align: justify;">CoT simply encourages the model to produce a step-by-step reasoning trace before generating a final answer. A literal interpretation of it would be to tell someone to think about a problem, create a plan on how they are going to solve it, and then take the steps to solve it. One limitation of CoT is that it&#8217;s unable to take action and, more importantly, unable to adapt its plan based on the results of actions.</p><h3>ReAct (Reasoning + Acting)</h3><p style="text-align: justify;">ReAct is a pattern that we mentioned and described in pseudocode earlier. This design pattern enforces an AI agent to iteratively reason about the problem and choose a tool or action to take, feeding the result back into the continuous loop until its goal is achieved. The difference between ReAct and CoT is in their ability to act and then adjust their plan based on the results of that action. This is best for real-world agents that need to reason and interact with tools to solve complex tasks. This pattern is most often the go-to for most traditional AI agents.</p><h3>Planner-execution</h3><p style="text-align: justify;">The planner-execution pattern separates the system performing the planning from the system performing the execution. An agent first generates a high-level plan, and then another agent (or multiple agents) executes each task in that plan. This pattern works well for very long-term complex tasks or tasks that can easily be modularized and delegated to sub-agents.</p><h3>Hierarchical/multi-agent</h3><p style="text-align: justify;">A hierarchical/multi-agent pattern divides tasks among multiple specialized agents that are experts in that particular domain or task. This pattern can also perform work in a distributed manner, meaning that the system can finish tasks simultaneously rather than sequentially. This system is akin to a normal company, which contains a manager (a CEO) who delegates tasks to specialized workers with their own domain (CMO, COO, CFO, etc.).</p><p style="text-align: justify;">For example, if we build an AI agent that resolves customer complaints, there may be an agent that receives the complaint and produces an action plan, and then specialized agents to perform those tasks, each with their own model, tooling infrastructure, and memory and knowledge (such as a customer agent that can look up customer information, a compliance agent that reviews policies, and a response agent that drafts a reply to the customer).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ztH-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ztH-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ztH-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ztH-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ztH-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ztH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1317270,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198272487?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!ztH-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!ztH-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!ztH-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!ztH-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff170c51e-3a72-4b7e-8c1b-dc7d6aae0b9d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">These patterns are not mutually exclusive. In fact, most real-world agents, especially those built with the frameworks briefly discussed next, tend to blend these approaches depending on the complexity of the task and the tools available. The OpenAI Agents SDK framework, for example, combined ReAct and hierarchical/multi-agent patterns.</p><p style="text-align: justify;">In addition to the design patterns, companies have built different frameworks to develop and deploy AI agents, which differ based on the design pattern used and based on their feature set. These include the OpenAI Agents SDK, LangChain, LangGraph, AutoGen, AutoGPT, and Crew AI.</p><p>One thing that becomes clear when building agents is that there&#8217;s no single <em>correct</em> architecture.</p><p>That&#8217;s also part of why the agent space feels so noisy right now. Many of the frameworks being discussed often solve similar problems underneath, just with different abstractions and orchestration layers, as well as developer experiences wrapped around them.</p><p>Understanding the underlying patterns matters more than memorising framework names. Once you understand how reasoning, planning, tooling, and delegation fit together, it becomes much easier to evaluate new agent stacks without getting distracted by surface-level differentiation.</p><div><hr></div><p style="text-align: center;"><em>Thanks for reading!</em></p><p style="text-align: center;"><em>Agentic Engineering grew out of a desire to create something grounded and useful for people trying to make sense of agentic AI beyond the weekly framework and abstraction noise.</em></p><p style="text-align: center;"><em>If you&#8217;d like to support that direction, you may pledge your support below.</em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticeng.substack.com/subscribe?utm_source=post&amp;utm_medium=email&amp;utm_content=postcta&amp;utm_campaign=email-checkout&amp;next=https%3A%2F%2Fagenticeng.substack.com%2Fp%2Fdesign-patterns-behind-ai-agents&amp;r=k3u7&quot;,&quot;text&quot;:&quot;Pledge your support&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://agenticeng.substack.com/subscribe?utm_source=post&amp;utm_medium=email&amp;utm_content=postcta&amp;utm_campaign=email-checkout&amp;next=https%3A%2F%2Fagenticeng.substack.com%2Fp%2Fdesign-patterns-behind-ai-agents&amp;r=k3u7"><span>Pledge your support</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Anatomy of an AI Agent]]></title><description><![CDATA[AI agents aren&#8217;t a single breakthrough, but rather systems made up of interacting components]]></description><link>https://newsletter.agentengineering.co/p/anatomy-of-an-ai-agent</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/anatomy-of-an-ai-agent</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Thu, 28 May 2026 08:24:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!A98K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AI agents are often presented as if they&#8217;re a single breakthrough technology. In practice, they&#8217;re systems made up of several components all working together toward a goal. And once you start building them, you realise the hard part wasn&#8217;t getting an agent to work. It was getting it to work reliably, repeatedly, and in environments that resemble the real world instead of a polished demo.</p><p style="text-align: justify;">That&#8217;s part of the reason I wanted to start this newsletter here, with fundamentals. Before the frameworks, abstractions, and &#8220;10x autonomous employee&#8221; headlines, it helps to understand the actual moving parts underneath these systems.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://agenticeng.substack.com/subscribe&quot;,&quot;text&quot;:&quot;Join Angentic Engineering&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://agenticeng.substack.com/subscribe"><span>Join Angentic Engineering</span></a></p><p style="text-align: center;"><em>For builders navigating the move from models to agents</em></p><div><hr></div><p style="text-align: justify;">AI agents follow a typical pattern and can be broken down into three fundamental components: model, tooling interface, and memory and knowledge.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A98K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A98K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!A98K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!A98K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!A98K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A98K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1282762,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198258494?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!A98K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!A98K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!A98K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!A98K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd93d6b0c-0b89-4b73-8eda-a8dee612923d_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Production-grade agents depend heavily on how well these components coordinate with one another. A capable model paired with poor tooling or weak memory management will, without a doubt, produce unreliable systems.</p><div><hr></div><h2>Model</h2><p style="text-align: justify;">The model is still the <em>brain</em> of the agent. It&#8217;s the part doing the reasoning, interpreting inputs, deciding what to do next, and trying to recover when things go sideways.</p><p>But the more you look at production systems, the harder it becomes to talk about models in simple leaderboard terms. The &#8220;best&#8221; model usually depends on what kind of compromises you&#8217;re willing to live with.</p><p>Some models are fast enough to feel seamless, but start struggling once tasks become more complex. Others reason well but move slowly enough to make the whole experience feel heavy. Some are great at coding, some handle multimodal workflows better, and some begin falling apart the moment you push them into long-running tasks with too much context.</p><p>And then there&#8217;s the strange reality that models don&#8217;t just differ in capability. They differ in <em>personality</em> almost. Different blind spots, different reasoning habits, different confidence levels, different failure modes. Some hallucinate more aggressively. Some become overly cautious. Some feel oddly persuasive even when they&#8217;re wrong.</p><div class="callout-block" data-callout="true"><p style="text-align: justify;">Certain aspects of performance and bias, such as knowledge cut-off dates and political leanings, can be resolved by tactics such as retrieval augmented generation (RAG), nuanced prompting, or post-train refinements.</p></div><p style="text-align: justify;">Most AI agents are not powered by entirely different &#8220;agent models.&#8221; Many of them rely on the same families of frontier models, whether that&#8217;s GPT-class, Gemini-class, or Claude-class systems. What differs between these applications is not the model but the instructions provided to the model and how the model interacts with other components.</p><p style="text-align: justify;">These &#8220;instructions&#8221; are provided to the model by defining a <em>system prompt</em>, which essentially defines the model&#8217;s role inside the system. When you really get down into it, a surprising amount of agent development involves refining prompts, adjusting tool descriptions, and reshaping interaction flows to make systems behave more reliably.</p><h3>Control logic framework</h3><p style="text-align: justify;">Another important part of an AI agent is the control logic framework: the loop that lets the system observe what&#8217;s happening, reason about what to do next, take action, and then repeat that process until it reaches a goal.</p><p>What&#8217;s interesting is that this loop often does not happen &#8220;inside&#8221; the model itself. In many cases, it&#8217;s the surrounding agent framework that keeps the cycle running, feeding outputs back into the model, deciding when tools should be invoked, and determining whether another reasoning step is needed.</p><p>The process looks something like this:</p><blockquote><p><code>Read user&#8217;s goal and create action plan</code></p><p><code>For each step in action plan:</code></p><p><code>     Create action inputs</code></p><p><code>Execute action</code></p><p><code>Get result</code></p><p><code>Add result to memory</code></p><p><code>Modify action plan if necessary or if goal not achieved</code></p><p><code>If goal is achieved:</code></p><p><code>     Return output to user</code></p></blockquote><p style="text-align: justify;">Different agent frameworks implement this loop differently, but most follow some variation of planning, acting, evaluating, and repeating. Patterns like CoT and ReAct show up constantly underneath modern agent systems.</p><p>Some frameworks even get a little strange with it. One pass generates the answer, and another pass comes back to critique the reasoning like an internal reviewer hovering over the system&#8217;s shoulder.</p><h2>Tooling interface</h2><p style="text-align: justify;">One of the biggest differences between a normal LLM and an AI agent is that the agent can actually interact with the outside world instead of just generating tokens inside a chat window. That capability comes from the tooling interface, which gives the agent a structured way to decide when and how actions should be executed.</p><p>An email assistant, for example, might be equipped with actions that look something like this:</p><blockquote><p><code>Action #1: Send an email</code></p><p><code>     Description: Sends an email to a user</code></p><p><code>     Parameters: to_email_address, email_subject, email_body</code></p><p><code>Action #2: List all emails</code></p><p><code>     Description: Lists all emails, including email_id</code></p><p><code>     Parameters: search_term (optional)</code></p><p><code>Action #3: Read an email</code></p><p><code>     Description: Returns the content of an email</code></p><p><code>     Parameter: email_id</code></p></blockquote><p style="text-align: justify;">Once these tools are available, the agent&#8217;s model and control logic framework decide when they should be used and what inputs they need.</p><p>An email assistant, for example, might search for emails related to a &#8220;coffee expansion proposal,&#8221; read through the relevant threads, generate a summary, and then send that summary to a manager. Underneath, the agent is simply chaining together a series of tool calls and feeding the outputs back into the reasoning loop.</p><p>The mechanics differ slightly depending on the framework being used, but the overall pattern stays fairly consistent. The agent needs awareness that the tools exist, a way to execute them, and a way to pass the results back into the model.</p><h2>Memory and knowledge</h2><p style="text-align: justify;">Memory and knowledge are another part of what makes agents <em>intelligent</em> instead of just <em>reactive</em>. The two are related but slightly different. </p><p style="text-align: justify;">Memory is about what the system remembers from interactions and previous context, while knowledge is about what it can retrieve from external sources when needed. In both cases, the goal is to give the model enough relevant context to make better decisions and produce more useful responses.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tykv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tykv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 424w, https://substackcdn.com/image/fetch/$s_!tykv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 848w, https://substackcdn.com/image/fetch/$s_!tykv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 1272w, https://substackcdn.com/image/fetch/$s_!tykv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tykv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png" width="1456" height="743" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:743,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1402729,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://agenticeng.substack.com/i/198258494?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!tykv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 424w, https://substackcdn.com/image/fetch/$s_!tykv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 848w, https://substackcdn.com/image/fetch/$s_!tykv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 1272w, https://substackcdn.com/image/fetch/$s_!tykv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f4d28a2-bcf9-4a01-8706-b13c9e48adac_1756x896.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Let&#8217;s talk about each concept and how it&#8217;s used to provide more context to the AI agent. There are typically two types of memory: working and long-term.</p><h3><strong>Working memory</strong></h3><p style="text-align: justify;">Working memory is basically the agent&#8217;s short-term memory: the running context from the current interaction.</p><p>It&#8217;s what allows systems like ChatGPT to understand that when you ask &#8220;How big is it?&#8221; after asking about the sun, the word &#8220;it&#8221; still refers to the sun instead of something completely unrelated.</p><p>Underneath, this usually works by continuously feeding recent conversation history back into the model as context. That&#8217;s what makes follow-up questions and multi-step conversations possible in the first place.</p><p>But this memory is limited. Context windows eventually fill up, older information starts dropping out, and frameworks have to decide what information is worth keeping around. A surprising amount of agent design ends up revolving around that question alone.</p><h3><strong>Long-term memory</strong></h3><p style="text-align: justify;">Long-term memory is what allows an agent to carry information across sessions instead of treating every interaction like a completely fresh start. Without long-term memory, an agent is basically stateless: every request exists in isolation. With memory, the system can begin recalling preferences, past interactions, recurring tasks, or relevant context from earlier conversations.</p><p>This usually means storing information in some external database or memory layer that the agent can retrieve later through tools. So an email assistant, for example, might remember how you typically write messages, who you communicate with most often, or the kinds of follow-ups you usually prefer. Your AI agent may have the following tooling, which enables it to store and recall memories:</p><blockquote><p><code>Action #1: Store information</code></p><p><code>     Description: Stores important information about the user</code></p><p><code>     Parameters: information</code></p><p><code>Action #2: Read information</code></p><p><code>     Description: Retrieves important information about the user</code></p></blockquote><p style="text-align: justify;">Working memory is usually the easy part. Most systems already know how to keep track of the current conversation. Things get more interesting once agents need to remember information across sessions or retrieve context from external knowledge sources in real time. That&#8217;s usually where extra infrastructure starts creeping in: vector databases, retrieval pipelines, memory stores, ranking systems, all the machinery needed to stop the agent from feeling like it has permanent short-term memory loss.</p><p>Knowledge is slightly different from memory, though. Memory is about recalling previous interactions. Knowledge is about pulling in relevant information from outside sources like documents, databases, file repositories, or internal company systems.</p><p>And the moment agents start operating inside real workflows instead of isolated chats, that distinction starts mattering a lot more.</p><h3><strong>Training knowledge</strong></h3><p style="text-align: justify;">Training knowledge refers to the information already baked into the model through its training data. It&#8217;s why an LLM can answer something like &#8220;How big is the sun?&#8221; immediately without needing to search the web or retrieve a document first.</p><p>That capability is still the thing that makes these systems feel a little unreal sometimes. A model can absorb enormous amounts of general knowledge and then reshape it fluidly around whatever the user is asking.</p><p>But once you move into AI agents, that baked-in knowledge starts becoming less useful on its own.</p><p>Agents usually need information that&#8217;s contextual, recent, proprietary, or tied to a specific workflow. And the model&#8217;s training knowledge can&#8217;t help much there. It doesn&#8217;t know what happened after its cut-off date, it can&#8217;t see your internal documents, and it definitely doesn&#8217;t know why your finance team suddenly renamed twelve folders last Thursday.</p><p>Which is why modern agents now depend on retrieving information dynamically instead of relying purely on what the model already <em>knows</em>.</p><h3>Retrieved knowledge</h3><p style="text-align: justify;">Retrieved knowledge is where agents start becoming genuinely useful instead of just broadly knowledgeable. Unlike training knowledge, which is frozen at training time, retrieved knowledge happens in real time. The agent pulls relevant information from documents, databases, APIs, internal systems, or the web, depending on what the situation requires.</p><p>An HR agent is only useful if it can retrieve actual company policies instead of confidently inventing them. A sales agent needs live CRM context, not generic training data. The intelligence of the system comes less from what the model already &#8220;knows&#8221; and more from how well it can retrieve and use external context while operating.</p><p style="text-align: justify;">Once you break agents down into these moving parts, the current ecosystem starts feeling less like a race toward &#8220;AI autonomy&#8221; and more like an ongoing experiment in coordinating increasingly complicated systems.</p><div><hr></div><p style="text-align: justify;">This article was adapted from <a href="https://www.amazon.com/Building-Agents-OpenAI-SDK-hands/dp/1806112019/ref=sr_1_1?crid=3PZ0ASY5948ZA&amp;dib=eyJ2IjoiMSJ9.L_9MylAXlwuotsLthUl7NQQWDvPYx7rQBQNKrMmoxTOcoMOelen_nZk46VcOkk7ene57Lfg6ZdT-xGW0asz4dvlPHMD--9Bz7aFZCNMyW7vvDNffZiguRFXuQtGou7abfiqisFUVPNygQJB5wp6yt2ZgGtK-hT0GAbtDfvHcL0SXsn5EJh29zepCYplJ-5xMiZLLaxt8Jr6uV_cg78eIZTgQBuIO-8kQOp8EcMgN4Pk.w7gYtWveQI6TSwkY-Ak7OB-7vmejEaJjvddi-z5l1DY&amp;dib_tag=se&amp;keywords=building+agents+with+OpenAI+SDK&amp;qid=1779108978&amp;sprefix=building+agents+with+openai+sdk%2Caps%2C304&amp;sr=8-1">Building Agents with OpenAI Agents SDK</a> by <a href="https://www.linkedin.com/in/hasanainhn/">Henry Habib</a>, a practical guide to designing and building real-world agentic systems using the OpenAI Agents SDK.</p><p style="text-align: justify;">The book goes much deeper into:</p><ul><li><p style="text-align: justify;">tools and MCP integrations,</p></li><li><p style="text-align: justify;">memory and RAG architectures,</p></li><li><p style="text-align: justify;">multi-agent orchestration and handoffs,</p></li><li><p style="text-align: justify;">tracing and guardrails,</p></li><li><p style="text-align: justify;">production considerations,</p></li><li><p style="text-align: justify;">and hands-on projects that evolve from simple workflows into full agentic systems</p></li></ul><p style="text-align: justify;">If you&#8217;re trying to move beyond experimenting with agents and toward actually shipping them, it&#8217;s a genuinely useful resource.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/Building-Agents-OpenAI-SDK-hands/dp/1806112019/ref=sr_1_1?crid=3PZ0ASY5948ZA&amp;dib=eyJ2IjoiMSJ9.L_9MylAXlwuotsLthUl7NQQWDvPYx7rQBQNKrMmoxTOcoMOelen_nZk46VcOkk7ene57Lfg6ZdT-xGW0asz4dvlPHMD--9Bz7aFZCNMyW7vvDNffZiguRFXuQtGou7abfiqisFUVPNygQJB5wp6yt2ZgGtK-hT0GAbtDfvHcL0SXsn5EJh29zepCYplJ-5xMiZLLaxt8Jr6uV_cg78eIZTgQBuIO-8kQOp8EcMgN4Pk.w7gYtWveQI6TSwkY-Ak7OB-7vmejEaJjvddi-z5l1DY&amp;dib_tag=se&amp;keywords=building+agents+with+OpenAI+SDK&amp;qid=1779108978&amp;sprefix=building+agents+with+openai+sdk%2Caps%2C304&amp;sr=8-1&quot;,&quot;text&quot;:&quot;Get the book&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://www.amazon.com/Building-Agents-OpenAI-SDK-hands/dp/1806112019/ref=sr_1_1?crid=3PZ0ASY5948ZA&amp;dib=eyJ2IjoiMSJ9.L_9MylAXlwuotsLthUl7NQQWDvPYx7rQBQNKrMmoxTOcoMOelen_nZk46VcOkk7ene57Lfg6ZdT-xGW0asz4dvlPHMD--9Bz7aFZCNMyW7vvDNffZiguRFXuQtGou7abfiqisFUVPNygQJB5wp6yt2ZgGtK-hT0GAbtDfvHcL0SXsn5EJh29zepCYplJ-5xMiZLLaxt8Jr6uV_cg78eIZTgQBuIO-8kQOp8EcMgN4Pk.w7gYtWveQI6TSwkY-Ak7OB-7vmejEaJjvddi-z5l1DY&amp;dib_tag=se&amp;keywords=building+agents+with+OpenAI+SDK&amp;qid=1779108978&amp;sprefix=building+agents+with+openai+sdk%2Caps%2C304&amp;sr=8-1"><span>Get the book</span></a></p>]]></content:encoded></item><item><title><![CDATA[The conversation changed. So are we.]]></title><description><![CDATA[AI_Distilled is becoming Agentic Engineering]]></description><link>https://newsletter.agentengineering.co/p/the-conversation-changed-so-are-we</link><guid isPermaLink="false">https://newsletter.agentengineering.co/p/the-conversation-changed-so-are-we</guid><dc:creator><![CDATA[Tanya D'cruz]]></dc:creator><pubDate>Wed, 27 May 2026 15:55:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!60nO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Why we&#8217;re making this shift</h3><p>Over the past few months, we&#8217;ve had a growing suspicion that the AI conversation was changing underneath everyone&#8217;s feet. Your responses to last week&#8217;s survey confirmed it.</p><p>You told us what&#8217;s missing. What feels overhyped. What kinds of conversations actually matter. And across hundreds of responses, one thing became clear: you want more grounded coverage of AI agents and the systems emerging around them.</p><p>Let&#8217;s be real for a minute. &#8220;Agentic AI&#8221; is suddenly everywhere, but genuinely thoughtful coverage of the space feels strangely fragmented. There still isn&#8217;t a single place that consistently treats agentic systems as an engineering and operational transformation rather than just another trend cycle.</p><p>So with that, we&#8217;re announcing the rebrand of AI_Distilled to Agentic Engineering.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!60nO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!60nO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!60nO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!60nO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!60nO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!60nO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1927410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://aidistilled.substack.com/i/199477059?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!60nO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!60nO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!60nO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!60nO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34a6fe8d-e322-443b-a753-f20189fbcdf2_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>The AI conversation is maturing</h3><p>This isn&#8217;t just a name change. It reflects where the AI landscape itself is heading and where many of you told us you already are. The broader &#8220;AI&#8221; lens made sense over the past few years while the ecosystem was still orienting itself. But the conversation is maturing now. The deeper builder audience emerging around AI infrastructure, orchestration, evaluation, memory, tooling, and autonomous workflows needs something more focused, more practical, and far less interested in demo culture.</p><p>We believe agents are becoming the next layer of software abstraction, and we want this publication to evolve alongside that reality.</p><div><hr></div><h3>What Agentic Engineering will focus on</h3><p>With Agentic Engineering, we&#8217;ll still make the space accessible to curious newcomers, but we&#8217;ll also go much deeper into the real engineering trade-offs, debates, architectures, failures, workflows, and systems shaping this next phase of AI.</p><p>And importantly, we&#8217;re taking everything we learned from building AI_Distilled into this next chapter, including what not to do.</p><div><hr></div><h3>What happens next</h3><p>So over the next few days, you&#8217;ll start seeing things change around here. And the next time this publication lands in your inbox, it won&#8217;t be from AI_Distilled.</p><p>It&#8217;ll be from <strong>Agentic Engineering</strong>.</p>]]></content:encoded></item></channel></rss>