<?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[DevOps & AI]]></title><description><![CDATA[AI for DevOps. DevOps for AI. Signal over noise.]]></description><link>https://ai.schoolofdevops.com</link><image><url>https://substackcdn.com/image/fetch/$s_!T33t!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F306d181a-f817-4834-9ba2-e2a92d393615_500x500.png</url><title>DevOps &amp; AI</title><link>https://ai.schoolofdevops.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 20 Jul 2026 23:23:22 GMT</lastBuildDate><atom:link href="https://ai.schoolofdevops.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Gourav Shah]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[schoolofdevops@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[schoolofdevops@substack.com]]></itunes:email><itunes:name><![CDATA[Gourav Shah]]></itunes:name></itunes:owner><itunes:author><![CDATA[Gourav Shah]]></itunes:author><googleplay:owner><![CDATA[schoolofdevops@substack.com]]></googleplay:owner><googleplay:email><![CDATA[schoolofdevops@substack.com]]></googleplay:email><googleplay:author><![CDATA[Gourav Shah]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Container-Native AI: The DevOps On-Ramp to AI Infrastructure]]></title><description><![CDATA[Article 1 of 14 in the series &#8220;AI Infra, The Open Source Way&#8221; &#8212; for DevOps, Platform, and SRE folks who want to become AI Native without throwing away what they already know.]]></description><link>https://ai.schoolofdevops.com/p/container-native-ai-the-devops-on</link><guid isPermaLink="false">https://ai.schoolofdevops.com/p/container-native-ai-the-devops-on</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Fri, 17 Jul 2026 06:50:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yzp0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A while back, in one of my corporate workshops, a platform engineer walked in looking annoyed. His company had just received the Docker Desktop licensing email. That is the one which says: you have more than 250 employees now, so it is time to pay. Overnight, <code>docker</code> on his laptop had gone from a habit to a procurement ticket. He asked me, half joking, &#8220;So what do we do? Uninstall Docker and go back to VMs?&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1xP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1xP9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1xP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294598,&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://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.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_!1xP9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!1xP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5a77b90-19f6-40ff-969a-9002f048c452_1408x768.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 role="img" 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><title></title><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>In the same room, barely an hour later, another engineer said something I now hear everywhere: &#8220;AI is moving fast, and I feel like I am standing outside the room.&#8221;</p><p>Two different complaints. One answer. You do not go back to VMs, and you are not outside the AI room either. You go one level down, to the open standard underneath Docker. And that same standard, it turns out, is your on-ramp into AI. Let me show you why.</p><h2>The three roads to AI Native</h2><p>The way I see it, there are three roads a DevOps engineer can take into AI. I call this the <strong>AI Trinity for DevOps</strong>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EP04!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EP04!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 424w, https://substackcdn.com/image/fetch/$s_!EP04!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 848w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1272w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EP04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png" width="904" height="659" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:659,&quot;width&quot;:904,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:63345,&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;:false,&quot;internalRedirect&quot;:&quot;https://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.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_!EP04!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 424w, https://substackcdn.com/image/fetch/$s_!EP04!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 848w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1272w, https://substackcdn.com/image/fetch/$s_!EP04!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10d0dbd8-6c96-48fd-8506-65685fde5c33_904x659.png 1456w" sizes="100vw"></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 role="img" 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><title></title><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><strong>AI-Augmented DevOps.</strong> You use AI to do your existing job better. Copilots for your pipelines, agents that triage your alerts, AI that writes your Terraform.</p></li><li><p><strong>AI Infrastructure.</strong> That is MLOps, LLMOps, and AgentOps. You build and run the platforms that AI workloads live on. Someone has to serve the models, wire the vector databases, package the artifacts, and keep the whole thing secure. That someone looks a lot like you.</p></li><li><p><strong>Agentic DevOps.</strong> You build agents and agentic systems that do engineering work themselves.</p></li></ol><p>This series walks the second road. And here is the important point: the second road does not start with mathematics or model training. It starts with something you already know very well. Containers.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ai.schoolofdevops.com/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 Ops Dispatch! 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><h2>You already have the skills. Really.</h2><p>Ask yourself what an AI stack actually needs in production. It needs a model served behind an API. It needs a database. It needs an app. It needs images built, versioned, pushed to a registry, scanned, signed, and shipped through CI.</p><p>Sound familiar? It should. This is your day job with one new workload type on top.</p><p>So who is best placed to run AI infrastructure? Not the data scientist who trained the model. The engineer who has been packaging, serving, isolating, and shipping software for years. That is you.</p><p>But there is one decision to get right before anything else, and it is the subject of the rest of this article.</p><h2>Container-native, not Docker-native</h2><p>Imagine you are standing at a shipping yard. A crane lifts a steel box off a ship and sets it down on a waiting truck. Stop here for a second and notice what nobody at the yard is doing. Nobody opens the box to check what is inside. Nobody asks which company owns the truck. The crane operator would handle ten thousand of these boxes a year without knowing what a single one contains. Why? Because the box follows a standard. Every crane, every ship, and every truck in the world is built for the same box.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yzp0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yzp0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yzp0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:664030,&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://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.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_!yzp0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!yzp0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0dd8ef3-c1c2-41a4-a7aa-d6e59ffd9567_1408x768.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 role="img" 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><title></title><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"><em>the shipping yard &#8212; one box, any truck, any ship, any crane</em></figcaption></figure></div><p>Your application is the cargo. The container spec is the box. And Docker, Colima, OrbStack, Rancher Desktop, and Podman? They are just the carriers. The yard does not belong to any one of them.</p><p>Now, why does this matter suddenly? Because Docker Desktop is now <strong>paid for organisations with more than 250 employees or 10 million dollars in revenue</strong>. That is the email my workshop participant got. That one pricing change broke a lazy assumption the whole industry had been carrying: that &#8220;container&#8221; means &#8220;Docker Desktop&#8221;.</p><p>But here is the good news. The standard underneath Docker is fully open. It has two parts:</p><ul><li><p>The <strong>OCI image format</strong>, that is the standard for how container images are built and stored.</p></li><li><p>The <strong>Compose Spec</strong>, that is the standard for describing a multi-service stack in one file.</p></li></ul><p>Every serious runtime implements both. So the same <code>compose.yaml</code> would run without any changes on Colima, OrbStack, Rancher Desktop, or Podman.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xbz_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xbz_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 424w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 848w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1272w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png" width="1156" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6601744-7d89-458c-9e67-5ecc62266689_1156x741.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:1156,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68475,&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://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.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_!Xbz_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 424w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 848w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.png 1272w, https://substackcdn.com/image/fetch/$s_!Xbz_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6601744-7d89-458c-9e67-5ecc62266689_1156x741.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 role="img" 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><title></title><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>One file. Four runtimes. The same result. So the rule for this whole series is simple: we learn <strong>container-native</strong>, not Docker-native. Which carrier you pick is your business.</p><h2>What do containers actually buy an AI stack?</h2><p>Think of a container as a sealed shipment. The model server, the embedding pipeline, the vector database, and the agent each travel in their own sealed box. Any machine can open them.</p><p>Concretely, containers give an AI system four things:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NVuw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NVuw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 424w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 848w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NVuw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png" width="1456" height="859" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:859,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:144972,&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://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.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_!NVuw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 424w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 848w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!NVuw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffe26581b-d7c1-40ae-9ff2-18c74d031efb_2194x1294.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 role="img" 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><title></title><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>Role What it means in practice <strong>Package</strong> Lock the Python version, the CUDA driver, and every library version. &#8220;Works on my machine&#8221; becomes &#8220;works on every machine&#8221;. <strong>Serve</strong> Run the embedding service, the vector DB, and the gateway behind predictable ports. Nothing pollutes the host. <strong>Isolate</strong> Two AI frameworks with clashing dependencies? Each lives in its own container. No virtualenv juggling. <strong>Ship</strong> Push to any OCI registry, that is GHCR, Docker Hub, or Quay. Pull and run anywhere.</p><p>Package, serve, isolate, ship. Keep these four words in mind. Every article in this series is about one or more of them, applied to AI.</p><h2>The one wrinkle: your laptop&#8217;s GPU</h2><p>Now here is the catch, and I want you to know it exists before you run anything.</p><p>On Apple Silicon Macs, a container <strong>cannot see the GPU</strong>. macOS gives the container&#8217;s virtual machine CPUs and memory, but no graphics device. So a model running inside a container on a Mac would fall back to CPU, and what takes one second natively would take three to six in the container. You cannot fix this with configuration. It is a hard platform boundary.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fGmV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fGmV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 424w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 848w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1272w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fGmV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png" width="983" height="746" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:746,&quot;width&quot;:983,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:71977,&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://agenticops.tv/i/207387016?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.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_!fGmV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 424w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 848w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.png 1272w, https://substackcdn.com/image/fetch/$s_!fGmV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74053b39-bf15-4962-9d01-d3b520bba4da_983x746.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 role="img" 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><title></title><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 pattern that solves it: run the model server <strong>natively</strong> on the Mac, where it can use the Metal GPU, and containerise everything else. The containers reach the model at one magic address: </p><p>http://host.docker.internal:11434</p><p>.</p><p>The next article is entirely about this. For now, just keep the picture in mind: the model stays native, everything else is a container.</p><h2>Prove it yourself in a few minutes</h2><p>Enough reading. Let&#8217;s prove the wiring works. We assume you have a container runtime installed (any of the four above) and <a href="https://ollama.com/">Ollama</a> installed natively.</p><p>Pull a small model. This one is under 1 GB:</p><pre><code><code>ollama pull qwen2.5:1.5b
</code></code></pre><p>Check it is being served natively:</p><pre><code><code>curl -s http://localhost:11434/api/tags
</code></code></pre><p>Now the real move. Start a throwaway container and call the model <strong>from inside it</strong>:</p><pre><code><code>docker run --rm curlimages/curl:latest -s \
  http://host.docker.internal:11434/api/generate \
  -d '{"model":"qwen2.5:1.5b","prompt":"Say hi in 5 words.","stream":false}'
</code></code></pre><p>You should get back JSON with a <code>"response"</code> field and a short reply from the model. Stop here for a second and notice what just happened. A container, which is your world, just called a locally served LLM, which is the new world, over a standard HTTP API. That is the whole bridge. Everything we build in this series stands on it.</p><h2>Where this series goes</h2><p>Over the next thirteen weeks we will build one realistic system, one step at a time, and every step runs on a normal 16 GB laptop:</p><ol><li><p>Serve a local model behind an OpenAI-compatible API, and swap engines without touching app code</p></li><li><p>Scale it with vLLM and understand batching and quantization</p></li><li><p>Package and version models as OCI artifacts, the same way you ship images</p></li><li><p>Build a RAG assistant over real runbooks, and see exactly where naive RAG breaks</p></li><li><p>Define an agent in plain Markdown files, with tools and guardrails</p></li><li><p>Grow it into a multi-agent incident crew</p></li><li><p>Secure the whole thing: guardrails, SBOM, scan, sign, eval</p></li><li><p>Ship it end to end, and prove portability by swapping the runtime</p></li></ol><p>No GPU cluster and no cloud bill. Just the open container standard, open-source AI tools, and the skills you already have.</p><p>If you understand this well, the rest will be easy to figure out. See you in the next one.</p><div><hr></div><p><em>This series is adapted from my 2-day hands-on workshop, <strong>Containers for GenAI &amp; Agentic AI &#8212; The Open-Source Way</strong>, where we build this entire stack step by step on a regular 16 GB laptop. If your team wants to run it live, reach out. And if you want the next article, subscribe &#8212; it&#8217;s free.</em></p>]]></content:encoded></item><item><title><![CDATA[What Uber’s Agentic Pods Can Teach Ops Teams]]></title><description><![CDATA[How to build an L1 agentic operations team with role-based profiles, reusable skills and safe workflows]]></description><link>https://ai.schoolofdevops.com/p/what-ubers-agentic-pods-can-teach</link><guid isPermaLink="false">https://ai.schoolofdevops.com/p/what-ubers-agentic-pods-can-teach</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Wed, 15 Jul 2026 04:46:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iMa_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><span>This is an operations adaptation of Uber&#8217;s published Agentic Pods method. </span></strong><span>It is not presented as an original replacement for Uber&#8217;s model. The goal is to apply the same core idea to SRE, Platform Engineering, DevOps and MLOps.</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_!iMa_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iMa_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iMa_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4c00a64-b016-492b-888b-a471a02d2f2d_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;:1801515,&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://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.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_!iMa_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!iMa_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4c00a64-b016-492b-888b-a471a02d2f2d_1672x941.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 role="img" 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><title></title><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"><em>Uber&#8217;s Agentic Pods idea, adapted for operational workflows</em></figcaption></figure></div><p><strong><span>Uber&#8217;s method is simple. </span></strong><span>Pair an AI-proficient engineer with a domain expert. Shadow the real work. Find high-impact opportunities. Build an agent. Validate it with users. Then ship.</span></p><p><strong><span>The strongest lesson is this: </span></strong><span>the workflow is the unit of automation, not the individual task.</span></p><p><span>That fits operations well. Our work is full of repeated checks, manual investigation and context gathering. But operations also has a larger blast radius. So the method needs stronger boundaries, better testing and gradual automation.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ai.schoolofdevops.com/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 Ops Dispatch! 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><h3><strong><span>Start with the work humans should not be doing</span></strong></h3><p><span>The first agentic operations team should look more like an L1 SRE or associate DevOps team than a group of autonomous senior engineers.</span></p><p><span>This is where agents can create immediate value. They can take on boring, repeatable and manual work. Work that is necessary, but not a good use of human attention.</span></p><ul><li><p><span>Search 100,000 log lines for the one abnormal pattern.</span></p></li><li><p><span>Collect incident context from alerts, metrics, logs and recent changes.</span></p></li><li><p><span>Enrich and deduplicate alerts.</span></p></li><li><p><span>Check why a Kubernetes workload is pending.</span></p></li><li><p><span>Verify a deployment and compare before-and-after signals.</span></p></li><li><p><span>Investigate a failed CI/CD or ML pipeline.</span></p></li><li><p><span>Draft an incident timeline or handover.</span></p></li><li><p><span>Run safe, well-defined parts of a runbook.</span></p></li><li><p><span>Prepare capacity, reliability and cost reports.</span></p></li></ul><p><strong><span>These are not trivial problems. </span></strong><span>They often consume hours because the evidence is spread across many tools. Agents are good at searching, collecting, correlating and summarizing that evidence.</span></p><div class="callout-block" data-callout="true"><p><span>Senior engineers should still handle novel failures, architecture decisions, trade-offs, high-risk remediation and unclear situations. The agentic team removes noise. Humans handle impact.</span></p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9qj6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9qj6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 424w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 848w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1272w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9qj6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png" width="988" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c47774a4-d4bd-4fff-9f31-b17833195336_988x270.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:988,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:288574,&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://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.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_!9qj6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 424w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 848w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.png 1272w, https://substackcdn.com/image/fetch/$s_!9qj6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc47774a4-d4bd-4fff-9f31-b17833195336_988x270.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 role="img" 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><title></title><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"><em>Start with L1 and associate-level toil. Move towards execution only after the system earns trust.</em></figcaption></figure></div><p style="text-align: center;"></p><h3><strong><span>Build agents the way we build teams</span></strong></h3><p><span>A profile should represent a role. A skill should represent a capability. A workflow should combine skills to achieve a goal.</span></p><p style="text-align: center;"><strong><span>Profile = Role   &#8226;   Skill = Capability   &#8226;   Workflow = Work   &#8226;   Goal = Outcome</span></strong></p><p><strong><span>Profiles map to real roles. </span></strong><span>Examples include SRE for Team X, PlatformOps Engineer, Deployment Engineer, Kubernetes Operations Engineer or MLOps Engineer.</span></p><p><span>The profile defines the agent&#8217;s scope, services, tools, permissions, memory, policies and escalation path. An SRE for Team X should know Team X&#8217;s services, dashboards, SLOs, repositories, clusters and on-call process.</span></p><p><strong><span>Skills map to functions and capabilities. </span></strong><span>Examples include querying logs, collecting incident evidence, inspecting Kubernetes workloads, checking recent deployments, detecting configuration drift, calculating SLO impact, preparing a rollback plan or drafting an incident report.</span></p><p><span>The same skill can be reused by many profiles. A Kubernetes inspection skill may be used by an SRE, a PlatformOps engineer and an MLOps engineer. Each profile uses it with different context and permissions.</span></p><p><strong><span>A goal combines several skills. </span></strong><span>To investigate a rise in checkout-service errors, the SRE profile may collect alert context, search logs, inspect Kubernetes, check recent deployments, correlate metrics, explain the likely cause and prepare the next action.</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_!Gp0X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gp0X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 424w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 848w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1272w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png" width="958" height="308" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/728178c3-61c4-4283-b4f7-090d7b407559_958x308.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:308,&quot;width&quot;:958,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:330720,&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://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.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_!Gp0X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 424w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 848w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.png 1272w, https://substackcdn.com/image/fetch/$s_!Gp0X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F728178c3-61c4-4283-b4f7-090d7b407559_958x308.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 role="img" 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><title></title><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"><em>Role-based profiles own context and boundaries. Reusable skills provide capabilities.</em></figcaption></figure></div><p style="text-align: center;"></p><h2><strong><span>A compact way to adapt Uber&#8217;s method</span></strong></h2><p><span>Pick one high-toil, low-risk workflow. Read-only investigation is usually the best first target.</span></p><p><span>Pair the operator with an agent builder. The operator knows the real work. The builder knows models, tools and automation.</span></p><p><span>Shadow the workflow. Capture the hidden checks and judgement that are missing from the runbook.</span></p><p><span>Create a profile for the role. Add only the context, tools and permissions that role needs.</span></p><p><span>Convert the runbook into small skills. Each skill should have clear inputs, tools, expected evidence, constraints and an escalation path.</span></p><p><span>Test in shadow mode. Compare the agent&#8217;s output with real incidents and experienced engineers.</span></p><p><span>Move up the safety ladder slowly. Add approvals, audit logs and bounded execution only after the workflow proves reliable.</span></p><h3><strong><span>Use Hermes to experiment, not to skip governance</span></strong></h3><p><span>Hermes can be a useful starting harness because it supports separate profiles, memory, sessions, tools and skills. That maps well to role-based operational agents.</span></p><p><span>For example, you could create profiles such as sre-team-x, platform-ops, deployment-engineer, mlops-team-y.</span></p><p><span>Start with a few shared skills: collect incident context, search logs, inspect Kubernetes, check deployments and draft a report. Then test them against real cases.</span></p><div class="callout-block" data-callout="true"><p><strong><span>One warning matters: </span></strong><span>a profile is not a security boundary. Prompts can guide behaviour, but they do not enforce permissions. Use least-privilege credentials, tool allowlists, sandboxes, approval gates, timeouts, rollback and audit logs outside the model.</span></p></div><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sOG1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sOG1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 424w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 848w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1272w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sOG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png" width="958" height="238" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:238,&quot;width&quot;:958,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:273039,&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://agenticops.tv/i/207112616?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.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_!sOG1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 424w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 848w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1272w, https://substackcdn.com/image/fetch/$s_!sOG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6985badf-81a2-489f-b643-1e60d9fd1de0_958x238.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a><figcaption class="image-caption"><em>A practical path: find and build, validate and harden, then scale what works.</em></figcaption></figure></div><h3><strong><span>Do not measure success only by autonomy</span></strong></h3><p><span>Most teams can get strong value before an agent is allowed to change production.</span></p><p><span>Observe: gather evidence.</span></p><p><span>Explain: summarize what is happening.</span></p><p><span>Recommend: suggest the next step.</span></p><p><span>Prepare: draft commands, patches or change plans.</span></p><p><span>Execute with approval: act only after a human reviews the exact action.</span></p><p><span>Levels one to four can remove a large amount of toil. Full autonomy is not the goal. Reliable help is.</span></p><h2><strong><span>The practical recommendation</span></strong></h2><p><span>Do not begin by building an autonomous SRE platform. Begin by building a small agentic operations team for L1 work.</span></p><p><span>Create profiles that match real roles. Give them reusable skills. Combine those skills into clear workflows. Start with read-only access. Validate on real incidents. Keep humans responsible for important decisions.</span></p><blockquote><p style="text-align: center;"><strong><span>Let agents handle the noise. Let engineers handle the impact.</span></strong></p></blockquote><p><span>Uber&#8217;s Agentic Pods method gives us a useful operating model. The operations adaptation adds the pieces our field needs: role boundaries, reusable capabilities, deterministic tools, shadow testing, approvals and auditability.</span></p><p><span>Start small. Automate the boring. Build trust. Then expand.</span></p><h3><strong><span>Sources and further reading</span></strong></h3><p><a href="https://eng.uber.com/"><span>Uber Engineering: Agentic Pods overview</span></a></p><p><a href="https://sre.google/sre-book/eliminating-toil/"><span>Google SRE: Eliminating Toil</span></a></p><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/profiles.md"><span>Hermes Agent: Profiles documentation</span></a></p><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/website/docs/user-guide/features/skills.md"><span>Hermes Agent: Skills system</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Fire Your SRE. Keep the Pager. Pay the Token Bill]]></title><description><![CDATA[What does it really cost to replace an SRE with AI? This article examines token pricing, API usage, review effort, failure risk, institutional knowledge and the production infrastructure required to operate autonomous DevOps agents&#8212;separating real automation potential from AI workforce-replacement hype.]]></description><link>https://ai.schoolofdevops.com/p/fire-your-sre-keep-the-pager-pay</link><guid isPermaLink="false">https://ai.schoolofdevops.com/p/fire-your-sre-keep-the-pager-pay</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Tue, 14 Jul 2026 04:40:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WDJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedba488e-3756-4d35-8038-9665ea7c85c6_1122x1402.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>AI CEOs are selling labour replacement using subscription prices. The pager, the token meter and the outage report tell a different story.</h2><p>The newest AI employee apparently costs $20, $100 or perhaps $200 a month.</p><p>It writes code. It analyses logs. It creates Terraform. It investigates incidents. It never sleeps, never asks for a promotion and never complains about being on call.</p><p>Place that next to the salary of a senior SRE, DevOps engineer or platform engineer, and the conclusion appears obvious:</p><p><strong>The engineer is an expensive legacy interface. The agent is the future.</strong></p><p>There is only one problem.</p><p><strong>The comparison is economically meaningless.</strong></p><p>A flat-rate AI subscription is the price of giving one person access to a model under usage controls. It is not the cost of operating an autonomous production worker that continuously reads telemetry, retrieves context, invokes tools, retries failed actions, validates results, maintains state, produces audit evidence and remains available during an incident.</p><p>Replacing an engineer means replacing more than the visible actions they perform.</p><p>You must replace the work, the context, the judgement, the coordination and the accountability.</p><p>Once we calculate that system honestly, the $200 AI employee starts looking less like an employee and more like a heavily discounted demonstration.</p><div><hr></div><h2>Welcome to Signal Over Hype</h2><p>This is the first edition of <strong>Signal Over Hype</strong>, a new Agentic Ops Dispatch series for DevOps, SRE, platform, infrastructure and AI engineers.</p><p>The purpose of this series is not to dismiss AI.</p><p>I use these systems every day. I believe AI will automate a substantial portion of operational work. Engineers who learn to work effectively with agents will have a serious advantage over those who ignore them.</p><p>But engineers are increasingly being asked to make career, architecture and workforce decisions in an environment filled with vendor incentives, executive predictions, benchmark theatre and social-media fear and FOMO. </p><p>In each edition, we will take one popular claim and examine it using:</p><p>Facts.</p><p>First principles.</p><p>Production experience.</p><p>Economic incentives.</p><p>And ordinary engineering common sense.</p><p>The recurring question will be simple:</p><blockquote><p><strong>What remains true after the keynote ends and the system has to run in production?</strong></p></blockquote><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ai.schoolofdevops.com/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 Ops Dispatch! 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><div><hr></div><h2>The job-displacement claim is not imaginary</h2><p>In May 2025, Anthropic CEO Dario Amodei warned that AI could eliminate half of entry-level white-collar jobs within one to five years and push unemployment significantly higher. The statement was framed as a warning rather than a celebration, but it contributed to a powerful narrative: organisations should prepare for rapid labour replacement because the technology is moving faster than workers or governments realise.</p><p>It would be foolish to dismiss this simply because the prediction came from the CEO of an AI company.</p><p>The models are improving quickly.</p><p>METR&#8217;s research has found that the difficulty of software tasks frontier agents can complete with 50% reliability has increased rapidly over several years. Its researchers originally estimated a doubling in the measured task horizon roughly every seven months. METR also stresses an important qualification: this measures the difficulty of a task based on how long a human would take to complete it. It does not mean that an AI agent can safely run unattended in production for that many hours.</p><p>There will be displacement.</p><p>Some teams will become smaller. Some entry-level activities will disappear. Some companies will use AI to reduce hiring. Others will use AI as the explanation for cuts they already wanted to make.</p><p>But we should also notice that the industry narrative is not uniform.</p><p>OpenAI&#8217;s own 2025 employment paper said that the evidence available at the time pointed towards AI helping developers do more rather than simply replacing them. Anthropic&#8217;s 2026 labour-market research similarly reported limited evidence of broad employment effects so far, although it found suggestive evidence that hiring of younger workers may have slowed in highly exposed occupations.</p><p>That is the signal:</p><p><strong>AI can perform more engineering work, and the labour market is beginning to adjust.</strong></p><p>The hype begins when we jump from that observation to:</p><p><strong>A $200 subscription can replace an SRE.</strong></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OmhK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OmhK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OmhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png" width="1122" height="1402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/edba488e-3756-4d35-8038-9665ea7c85c6_1122x1402.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2498279,&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://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fedba488e-3756-4d35-8038-9665ea7c85c6_1122x1402.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_!OmhK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!OmhK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d7b514d-0f01-4b6d-bce4-0c6e102ebeeb_1122x1402.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 role="img" 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><title></title><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"><em>The subscription is cheap. The production dependency is not.</em></figcaption></figure></div><div><hr></div><h2>The first trick: compare a seat licence with a salary</h2><p>Claude Max currently offers an individual plan priced at $200 per month with higher usage capacity than its standard plans.</p><p>That is real.</p><p>It is also almost entirely irrelevant to the cost of replacing an engineer.</p><p>Anthropic describes the Max plan as an individual-user product. It separately states that Claude subscriptions and Claude API usage are different products with different billing. Additional API or usage-credit consumption is charged independently of the subscription.</p><p>This distinction matters.</p><p>A person using Claude Code interactively is not the same workload as an autonomous operations platform.</p><p>A person chooses a task, provides context, waits for the result, inspects the answer and stops when the work is complete.</p><p>A production agent may:</p><p>Wake up for every alert.</p><p>Read logs, traces, dashboards, manifests, tickets and runbooks.</p><p>Send much of that context back to the model at every reasoning step.</p><p>Launch parallel subagents.</p><p>Retry failed tool calls.</p><p>Ask another model to review the first model.</p><p>Retain state across a long-running incident.</p><p>Create an evidence trail for every action.</p><p>Operate when nobody is watching.</p><p>And escalate to a more capable model whenever the cheaper one becomes confused&#8212;which, as production engineers know, is usually shortly before the dangerous part.</p><p>The $200 plan is not deceptive.</p><p>It is simply the wrong unit for the comparison.</p><p>Comparing an AI seat licence with the salary of an engineer is like comparing the price of Microsoft 365 with the cost of running the finance department.</p><div><hr></div><h2>The viral 320-million-token receipt</h2><p>The image that inspired this article compares a $200 Claude subscription with an $8,000 API bill for 320 million tokens.</p><p>The arithmetic can be correct under a particular assumption.</p><p>Anthropic currently lists Claude Opus 4.8 at $5 per million input tokens and $25 per million output tokens. At those rates, 320 million output tokens would indeed cost $8,000. The same number of input tokens would cost $1,600.</p><p>But &#8220;320 million tokens&#8221; by itself is not a workload description.</p><p>You need to know:</p><p>Which model was used?</p><p>How many tokens were input versus output?</p><p>How much repeated context was cached?</p><p>How many tool results were added back into the conversation?</p><p>How many retries occurred?</p><p>How many agents operated in parallel?</p><p>Was the workload interactive, batched or long-running?</p><p>Was an expensive model used for everything, including tasks a smaller model or a twenty-line script could have handled?</p><p>Using the published Opus rates, a workload containing 90% input and 10% output would cost roughly $2,240 for 320 million total tokens&#8212;not $8,000.</p><p>A cheaper model could reduce it further. Prompt caching and batching could reduce some costs again. Poor context management, excessive retries and uncontrolled subagents could send them in the opposite direction.</p><p>So the honest conclusion is not:</p><blockquote><p>Your $200 subscription secretly costs $8,000.</p></blockquote><p>The honest conclusion is:</p><blockquote><p><strong>A subscription price tells you almost nothing about the cost of a production agent until you define the model, input-output ratio, context, caching, concurrency, retry behaviour and workload.</strong></p></blockquote><p>That is less viral.</p><p>It is also true.</p><p>Anthropic&#8217;s own Claude Code documentation says enterprise deployments average around $150&#8211;$250 per active developer per month, although costs vary significantly with model choice, codebase size, automation and concurrent usage.</p><p>That is important counterevidence.</p><p>Useful AI assistance can be economically attractive.</p><p>But notice the unit again:</p><p><strong>Per developer.</strong></p><p>That is the cost of augmenting a human.</p><p>It is not the cost of replacing the organisational function that the human performs.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gwd6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gwd6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png" width="1122" height="1402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1402,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1065649,&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://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.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_!Gwd6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 424w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 848w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.png 1272w, https://substackcdn.com/image/fetch/$s_!Gwd6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd1c2a910-5191-44fa-80db-ea7eb8ce467b_1122x1402.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 role="img" 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><title></title><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"><em>Same tokens. Very different bill. The input-output mix matters.</em></figcaption></figure></div><div><hr></div><h2>An SRE is not a command-typing machine</h2><p>The original SRE concept was never based on paying humans to repeat shell commands forever.</p><p>Google defines toil as repetitive, predictable and automatable operational work. Its SRE organisation has historically aimed to keep operational toil below half of an engineer&#8217;s time, leaving at least 50% for engineering work that reduces future toil or improves reliability, performance and utilisation.</p><p>In other words:</p><div class="callout-block" data-callout="true"><p><strong>Automating operational work is not the destruction of SRE. It is the job of SRE.</strong></p></div><p>The role includes:</p><p>Designing systems that fail safely.</p><p>Defining SLOs and error budgets.</p><p>Building delivery and rollback mechanisms.</p><p>Reviewing production readiness.</p><p>Managing capacity and cost.</p><p>Improving observability.</p><p>Coordinating incidents.</p><p>Understanding dependencies.</p><p>Negotiating risk with product and business teams.</p><p>And creating systems that need less human intervention over time.</p><p>A model can generate a <code>kubectl</code> command.</p><p>That is not the same as knowing whether the command should be run.</p><blockquote><p>It does not automatically know whether the evidence is complete, whether the operation is reversible, what the blast radius is, which customer commitment is at risk, whether the database can tolerate the failover or who has authority to accept the consequences.</p></blockquote><p>The pager is not requesting text generation.</p><p>It is requesting ownership.</p><div><hr></div><h2>The five real costs of replacing an SRE</h2><h3>1. Model access</h3><p>This is the cost everyone talks about:</p><p>Input tokens.</p><p>Output tokens.</p><p>Reasoning tokens.</p><p>Cache reads and writes.</p><p>Tool-call context.</p><p>Web searches.</p><p>Multimodal input.</p><p>Retries.</p><p>Parallel agents.</p><p>Background jobs.</p><p>And escalation to premium models.</p><p>It may still be much cheaper than an engineer&#8217;s salary.</p><p>That is entirely possible.</p><p>But it is only the first line of the bill.</p><h3>2. The execution harness</h3><p>A production agent requires an operating environment around the model.</p><p>You need identity and access control.</p><p>Secrets management.</p><p>Tool or MCP gateways.</p><p>Policy enforcement.</p><p>Approval workflows.</p><p>State and memory.</p><p>Scheduling and event triggers.</p><p>Sandboxed execution.</p><p>Model routing.</p><p>Evaluations.</p><p>Observability.</p><p>Audit logs.</p><p>Rate and cost limits.</p><p>Rollback mechanisms.</p><p>Provider failover.</p><p>And a way to stop the agent when it begins confidently fixing the wrong problem.</p><blockquote><p>Google&#8217;s SRE guidance describes automation as a force multiplier, not a panacea. Thoughtless automation can create as many problems as it solves.</p><p>LLMs make this principle more important, not less.</p></blockquote><p>Traditional automation is generally wrong in repeatable ways.</p><p>Probabilistic automation can be wrong creatively.</p><h3>3. Human review</h3><p>Automation does not eliminate labour whenever someone must inspect, approve or correct its output.</p><p>A more useful formula is:</p><blockquote><p><strong>Net automation value = labour avoided &#8722; review labour &#8722; correction labour &#8722; platform cost &#8722; expected failure cost</strong></p></blockquote><p>Suppose an agent saves an engineer forty minutes.</p><p>It then requires twenty minutes of review.</p><p>Once every ten runs, it creates an hour of correction work.</p><p>The productivity benefit is not forty minutes.</p><p>And that is before accounting for infrastructure, token usage, security controls and context switching.</p><p>Research on AI productivity is not one-directional.</p><p>DORA&#8217;s 2024 findings associated AI adoption with improvements in individual productivity, flow and job satisfaction, while also finding negative relationships with software delivery stability and throughput. Its 2025 work described AI more positively as an amplifier of the surrounding organisational system: strong teams benefit more, while weak processes become faster at producing downstream chaos.</p><p>METR&#8217;s 2025 study of experienced open-source developers found that participants took 19% longer when permitted to use AI tools on mature projects they understood well. Strikingly, the developers believed they had become faster.</p><p>Both results can be true.</p><p>AI can accelerate well-scoped work while slowing experts in high-context environments where prompting, reviewing, correcting and steering the tool becomes expensive.</p><p>Production operations is one of the highest-context environments we have.</p><h3>4. Failure and blast radius</h3><p>A wrong answer in a document creates editing work.</p><p>A wrong production action can:</p><p>Delete data.</p><p>Expose credentials.</p><p>Break routing.</p><p>Corrupt state.</p><p>Increase cloud spending.</p><p>Violate a regulatory control.</p><p>Extend an outage.</p><p>Or create a second incident while attempting to resolve the first.</p><p>Uptime Institute&#8217;s 2026 analysis found that 57% of respondents said their most recent major outage cost more than $100,000. One in five said it exceeded $1 million.</p><p>You do not need many autonomous-agent mistakes at that price before the salary comparison starts looking childish.</p><p>The expected failure cost is not:</p><blockquote><p>Probability of a model error &#215; cost of an API request.</p></blockquote><p>It is:</p><blockquote><p>Probability of an unsafe decision escaping your controls &#215; business impact of the action.</p></blockquote><p>That is why dry runs, bounded permissions, staged execution, canaries, approvals and rollback are not bureaucratic additions.</p><p>They are part of the product.</p><h3>5. Knowledge and accountability</h3><p>Experienced engineers hold knowledge that is only partly documented.</p><p>Why does the architecture look unnecessarily complicated?</p><p>Because the simpler version failed during a peak event four years ago.</p><p>Why has nobody removed that temporary workaround?</p><p>Because it quietly became load-bearing.</p><p>Why is one alert routinely ignored?</p><p>Because it lies.</p><p>Why is another apparently harmless warning taken seriously?</p><p>Because it appears fifteen minutes before the system collapses.</p><p>Which customer cannot tolerate a five-minute disruption?</p><p>Which deployment order is dangerous?</p><p>Which dashboard stays green during the precise failure you fear?</p><p>An AI system can retrieve recorded knowledge.</p><p>It cannot reliably retrieve what the organisation never recorded.</p><p>If a company removes engineers before converting that knowledge into runbooks, executable skills, tests, policies, dependency maps and incident history, it is not eliminating cost.</p><p>It is deleting state.</p><p>Accountability is harder still.</p><p>NIST&#8217;s generative-AI risk guidance recommends defining human-AI responsibilities, applying suitable human oversight, and maintaining review, tracking and documentation appropriate to the risk.</p><blockquote><p>When an agent recommends deleting a cluster, who approves the decision?</p><p>When it is wrong, who owns the incident?</p><p>When the regulator asks who accepted the risk, do we provide the model ID?</p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aige!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aige!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!aige!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!aige!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!aige!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aige!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/caf95cfd-24e3-4222-a543-7fd859646195_1448x1086.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1456181,&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://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcaf95cfd-24e3-4222-a543-7fd859646195_1448x1086.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_!aige!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!aige!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!aige!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!aige!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a19e424-ff05-4711-81e2-42a17bc1d1b5_1448x1086.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 role="img" 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><title></title><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"><em>Automate tasks. Do not pretend accountability disappeared.</em></figcaption></figure></div><div><hr></div><h2>Follow the money&#8212;but do not invent a conspiracy</h2><p>It is tempting to tell a neat story:</p><p>AI companies are subsidising subscriptions now.</p><p>They want organisations to become dependent.</p><p>Once companies fire their employees, token prices will rise.</p><p>The vendors will collect the difference forever.</p><p>Parts of this are plausible.</p><p>The full story is not yet proven.</p><p>Technology companies frequently use flat-rate plans, free tiers, credits and generous usage limits to accelerate adoption. Production workloads then move towards metered infrastructure, enterprise contracts and consumption-based billing.</p><p>But model prices can also fall as hardware, inference software and competition improve. Customers can route workloads to cheaper models. Caching and batching can reduce costs. Open models and local inference create alternatives.</p><p>The stronger, evidence-based argument is this:</p><p>Subscription access and API consumption are different products.</p><p>Production automation tends to expose real usage costs.</p><p>Operational integration creates switching costs.</p><p>And once your company&#8217;s runbooks, workflows, memory, tooling and approvals are built around one provider, that provider gains commercial leverage&#8212;even when the cost per token falls.</p><p>The largest risk is not necessarily that a token becomes more expensive.</p><p>The risk is that your organisation becomes unable to operate without a particular model, memory format, proprietary agent runtime or vendor-controlled tool ecosystem.</p><p>We have seen this movie before.</p><p>This time the lock-in comes with a friendly chatbot.</p><div><hr></div><h2>What will actually be automated</h2><p>A large portion of today&#8217;s operational toil is highly automatable:</p><p>Alert enrichment and deduplication.</p><p>Log and trace summarisation.</p><p>Incident timeline construction.</p><p>Runbook drafting.</p><p>Routine script generation.</p><p>Configuration and policy checks.</p><p>Change preparation.</p><p>Documentation.</p><p>Dependency lookup.</p><p>Ticket triage.</p><p>Known-issue diagnosis.</p><p>Post-incident summaries.</p><p>Capacity analysis.</p><p>And execution of constrained, reversible procedures.</p><p>Some of this should use frontier models.</p><p>Some should use smaller or local models.</p><p>Some should use conventional code.</p><p>Calling the most expensive model available to parse a known JSON document is not AI-native engineering.</p><p>It is a refusal to write twenty lines of Python.</p><p>The goal is not maximum AI usage.</p><p>The goal is the minimum reliable cost for the required outcome.</p><div><hr></div><h2>What should remain human-led&#8212;for now</h2><p>Most serious organisations should continue to keep human ownership around:</p><p>Incident command.</p><p>Architecture decisions.</p><p>Reliability and cost trade-offs.</p><p>Risk acceptance.</p><p>Security-sensitive changes.</p><p>Ambiguous diagnosis.</p><p>Cross-team coordination.</p><p>Customer communication.</p><p>Novel failure modes.</p><p>Regulatory accountability.</p><p>And any action whose blast radius exceeds the system&#8217;s ability to recover safely.</p><p>The boundary will move.</p><p>Agents will become more capable. Evaluations will improve. Organisations will gather successful production history. Permissions and policies will become more granular.</p><p>But the correct way to move this boundary is through evidence:</p><p>Tested historical incidents.</p><p>Measured success rates.</p><p>Controlled production deployments.</p><p>Bounded permissions.</p><p>Demonstrated rollback.</p><p>And clear escalation paths.</p><p>Not because an executive said the future was arriving next quarter.</p><div><hr></div><h2>Can AI reduce the size of an SRE team?</h2><p>Yes.</p><p>That is an entirely reasonable outcome.</p><div class="callout-block" data-callout="true"><p>A smaller team may be able to operate a much larger estate by using AI for diagnosis, change preparation, routine remediation, documentation and operational analysis.</p></div><p>AI may reduce the number of engineers needed for some kinds of systems.</p><p>But this becomes responsible only when:</p><p>The service has clear SLOs.</p><p>Operational knowledge is documented.</p><p>Common incidents have tested runbooks.</p><p>Deterministic actions use deterministic code.</p><p>Agent permissions are narrowly scoped.</p><p>High-risk actions require approval.</p><p>Changes are staged and reversible.</p><p>Telemetry is trustworthy.</p><p>The agent is evaluated against historical incidents.</p><p>Costs are measured end to end.</p><p>Humans can take control.</p><p>And the remaining team has enough capacity to improve the system instead of spending every day supervising bots.</p><p>It is not responsible when the organisation has:</p><p>Weak observability.</p><p>Undocumented systems.</p><p>Shared administrator credentials.</p><p>Unreliable tests.</p><p>No rollback process.</p><p>No incident-command discipline.</p><p>Unclear ownership.</p><p>And a management strategy that can be summarised as:</p><blockquote><p>Claude will figure it out.</p></blockquote><p>The more chaotic the environment, the more impressive an AI demonstration can appear.</p><p>It is also the environment in which autonomous execution is most dangerous.</p><div><hr></div><h2>The architecture that makes economic sense</h2><p>The sensible Agentic DevOps architecture is not:</p><blockquote><p>Send every operational event to the largest frontier model available.</p></blockquote><p>It is layered.</p><h3>Deterministic code for deterministic work</h3><p>Use scripts, APIs, controllers, workflow systems and policy engines when the rules are known.</p><p>A model does not need to decide how to restart a service when the procedure is already deterministic, tested and safe.</p><h3>Skills for reusable operational knowledge</h3><p>Convert runbooks and procedures into versioned skills containing:</p><p>Instructions.</p><p>Scripts.</p><p>Expected evidence.</p><p>Preconditions.</p><p>Tests.</p><p>Permissions.</p><p>Escalation rules.</p><p>And rollback steps.</p><p>This turns institutional knowledge into a portable operational asset rather than a collection of documents an agent may or may not interpret correctly.</p><h3>Smaller or local models for predictable cognition</h3><p>Use efficient models for:</p><p>Classification.</p><p>Extraction.</p><p>Routing.</p><p>Summarisation.</p><p>Known-pattern diagnosis.</p><p>And low-risk decision support.</p><p>These workloads do not always need frontier reasoning.</p><h3>Frontier models for genuinely hard problems</h3><p>Use the most capable models when ambiguity, novel incidents, architecture analysis or complex synthesis justifies the additional cost.</p><p>The expensive model should be an escalation path.</p><p>Not the default parser for every log line.</p><h3>A governed execution harness around everything</h3><p>Add:</p><p>Identity.</p><p>Policy.</p><p>Approvals.</p><p>Observability.</p><p>Evaluations.</p><p>Budgets.</p><p>Audit.</p><p>Isolation.</p><p>Rollback.</p><p>And human escalation.</p><p>This architecture reduces dependence on any one model vendor.</p><p>It also allows the organisation to improve its operational system while models continue to change.</p><p>Models are replaceable components.</p><p>Your skills, telemetry, controls and institutional knowledge are the durable assets.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MR8s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MR8s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MR8s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45fa7b08-c5a7-43b4-8acc-d14ace5664d4_1448x1086.png&quot;,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1199840,&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://agenticops.tv/i/206961208?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45fa7b08-c5a7-43b4-8acc-d14ace5664d4_1448x1086.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_!MR8s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!MR8s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd257c26e-b306-4186-bdd1-288ceb90b5cb_1448x1086.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 role="img" 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><title></title><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"><em>Use frontier intelligence where it earns its cost. Use deterministic systems everywhere else.</em></figcaption></figure></div><p></p><h2>The verdict</h2><p>AI will change SRE, DevOps and platform engineering profoundly.</p><p>It will eliminate toil.</p><p>It will compress some roles.</p><p>It will allow smaller teams to run larger systems.</p><p>It may eventually operate significant production environments with limited human supervision.</p><p>But replacing an SRE with a chatbot subscription is not transformation.</p><p>It is an accounting illusion.</p><p>The real comparison is not:</p><blockquote><p>Engineer salary versus AI subscription.</p></blockquote><p>It is:</p><blockquote><p>The fully loaded cost and risk of a human-led engineering system versus the fully loaded cost and risk of an AI-led engineering system.</p></blockquote><p>Sometimes the AI-led system will win.</p><p>Frequently, the best answer will be a smaller and stronger engineering team operating a well-governed automation platform.</p><p>And in immature organisations, removing the engineers first may be the most expensive decision of all.</p><p>So automate aggressively.</p><p>Measure token consumption.</p><p>Measure review time.</p><p>Measure failed actions.</p><p>Build reusable skills.</p><p>Use local models where they are sufficient.</p><p>Use frontier models where they earn their cost.</p><p>Require human approval where the blast radius demands it.</p><p>But do not fire the people who understand production because somebody compared their salary with the promotional price of a model subscription.</p><p><strong>Fire the toil. Keep the SRE. Modernise the pager.</strong></p><p>Because the pager does not care about the keynote.</p><p>And when it rings at 3:17 in the morning, somebody still owns the outcome.</p><div><hr></div><h2>About Signal Over Hype</h2><p><strong>Signal Over Hype</strong> is an Agentic Ops Dispatch series, curated by <a href="https://www.linkedin.com/in/gouravshah/">Gourav Shah</a>,  examining the claims shaping DevOps, SRE, platform engineering, AI infrastructure and agentic operations.</p><p>No reflexive optimism.</p><p>No reflexive pessimism.</p><p>Just facts, incentives, first principles and production reality.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://ai.schoolofdevops.com/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://ai.schoolofdevops.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>Sources and further reading</h2><p><a href="https://support.claude.com/en/articles/11049762-choose-a-claude-plan">Anthropic, &#8220;Choose a Claude plan&#8221; and documentation covering subscription versus API billing.</a></p><p><a href="https://platform.claude.com/docs/en/about-claude/pricing">Anthropic, Claude Platform pricing and Claude Code cost guidance.</a></p><p><a href="https://www.anthropic.com/research/labor-market-impacts">Anthropic, &#8220;Labor market impacts of AI: A new measure and early evidence,&#8221; March 2026.</a></p><p><a href="https://cdn.openai.com/global-affairs/06025361-1ede-4402-97d2-daf1e5918b43/jobs-in-the-intelligence-age-sept-2025.pdf">OpenAI, &#8220;Jobs in the Intelligence Age,&#8221; September 2025.</a></p><p><a href="https://metr.org/time-horizons/">METR, research on AI task-completion horizons and experienced developer productivity.</a></p><p><a href="https://dora.dev/research/2024/dora-report/">DORA, 2024 and 2025 research on AI-assisted software development.</a></p><p><a href="https://sre.google/sre-book/eliminating-toil">Google, </a><em><a href="https://sre.google/sre-book/eliminating-toil">Site Reliability Engineering</a></em><a href="https://sre.google/sre-book/eliminating-toil">: &#8220;Eliminating Toil&#8221; and &#8220;The Evolution of Automation at Google.&#8221;</a></p><p><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">NIST, </a><em><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile</a></em><a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">.</a></p><p><a href="https://intelligence.uptimeinstitute.com/resource/annual-outage-analysis-2026">Uptime Institute, </a><em><a href="https://intelligence.uptimeinstitute.com/resource/annual-outage-analysis-2026">Annual Outage Analysis 2026</a></em><a href="https://intelligence.uptimeinstitute.com/resource/annual-outage-analysis-2026">.</a></p>]]></content:encoded></item><item><title><![CDATA[Field Note #1: Building an Agentic Ops Harness]]></title><description><![CDATA[Superpowers for DevOps, SRE, Platform Engineering, and MLOps]]></description><link>https://ai.schoolofdevops.com/p/field-note-1-building-an-agentic</link><guid isPermaLink="false">https://ai.schoolofdevops.com/p/field-note-1-building-an-agentic</guid><dc:creator><![CDATA[Gourav Shah]]></dc:creator><pubDate>Mon, 13 Jul 2026 16:25:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/49ca469b-95fe-454f-9037-baa87bc84bc2_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today&#8217;s experiment started with a simple question:</p><blockquote><p>What would an Ansible-like system look like if it were designed for AI-native operations?</p></blockquote><p>Not &#8220;AI writes a shell script once.&#8221;</p><p>Not &#8220;chat with a bot and hope it remembers your infra.&#8221;</p><p>I mean something closer to the way real ops teams work: roles, teams, responsibilities, reusable capabilities, project context, runtime permissions, workflows, and operating models.</p><p>That led to today&#8217;s build: <strong>AOH: Agentic Ops Harness</strong>.</p><p>Repo: <a href="https://github.com/agenticdevops/aoh">https://github.com/agenticdevops/aoh</a></p><p>AOH is my first cut at a Git-native harness for designing and running agentic DevOps, SRE, Platform Engineering, and MLOps capabilities.</p><div><hr></div><h2>The Thought Process</h2><p>The first instinct was to model &#8220;skills.&#8221;</p><p>That made sense because tools like Hermes, Goose, Claude Code, Codex, and others are converging on some form of reusable agent skill: instructions, scripts, references, and runtime behavior bundled together.</p><p>But very quickly, &#8220;skills&#8221; alone felt too small.</p><p>In real organizations, we do not just have a pile of skills. We have teams.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U6DS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U6DS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U6DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2044ce53-2c16-40e3-ad9a-5f342242bbd7_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;:908832,&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://agenticops.tv/i/206874088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.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_!U6DS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!U6DS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2044ce53-2c16-40e3-ad9a-5f342242bbd7_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 role="img" 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><title></title><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>A platform team has SREs, DevOps engineers, platform engineers, maybe MLOps engineers. Each role has different responsibilities, different tools, different access patterns, and different operating habits.</p><p>So the model evolved:</p><pre><code><code>Org / Business Unit / Project
  -&gt; Team
    -&gt; Role
      -&gt; Skills / Capabilities
      -&gt; Workflows
      -&gt; Runtime Requirements
      -&gt; Model Profile</code></code></pre><p>That felt much closer to reality.</p><p>An SRE role might get:</p><ul><li><p>service health reporting</p></li><li><p>incident triage</p></li><li><p>log analysis</p></li><li><p>Kubernetes read-only diagnostics</p></li></ul><p>A DevOps automation role might get:</p><ul><li><p>deployment automation</p></li><li><p>Terraform plan review</p></li><li><p>release verification</p></li><li><p>rollback workflows</p></li></ul><p>An MLOps role might get:</p><ul><li><p>training job triage</p></li><li><p>GPU utilization checks</p></li><li><p>model deployment diagnostics</p></li><li><p>checkpoint/retry guidance</p></li></ul><p>Same team. Different roles. Different capabilities.</p><p>That became the core abstraction.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ai.schoolofdevops.com/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 Ops Dispatch! 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><div><hr></div><h2>What I Built Today</h2><p>I built the first working MVP of <strong>AOH: Agentic Ops Harness</strong>.</p><p>Right now AOH is a Git repository structure plus a small CLI/compiler.</p><p>It contains:</p><ul><li><p><strong>Packs</strong>: source-of-truth bundles for agentic ops capabilities</p></li><li><p><strong>Teams</strong>: org/project/BU-level groups</p></li><li><p><strong>Roles</strong>: real-world job functions like SRE, DevOps Engineer, MLOps Engineer</p></li><li><p><strong>Skills</strong>: reusable agent capabilities written as <code>SKILL.md</code></p></li><li><p><strong>Workflows</strong>: repeatable ops flows</p></li><li><p><strong>Runtime requirements</strong>: tools and capabilities needed by a role/workflow</p></li><li><p><strong>Model profiles</strong>: model/provider intent</p></li><li><p><strong>Adapters</strong>: compilers into agent runtimes</p></li></ul><p>The first runtime adapter is for <strong>Hermes Agent</strong>.</p><p>For Hermes, AOH compiles:</p><pre><code><code>AOH Team -&gt; multiple Hermes profiles
AOH Role -&gt; one Hermes profile
AOH Skills -&gt; profile-local Hermes skills
AOH Role instructions -&gt; SOUL.md
AOH launch -&gt; launch.sh</code></code></pre><p>So a team definition can generate multiple runnable Hermes agents.</p><div><hr></div><h2>The First Real Example</h2><p>I created an example pack:</p><pre><code><code>examples/acme-platform-ops</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5HZA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5HZA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5HZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5821db8-4c2a-4049-b73d-917a976352f9_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;:878379,&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://agenticops.tv/i/206874088?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.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_!5HZA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!5HZA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5821db8-4c2a-4049-b73d-917a976352f9_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 role="img" 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><title></title><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></p><p>It models an imaginary <strong>Acme Platform Ops Team</strong> with three roles:</p><pre><code><code>platform-ops team
  -&gt; sre-platform
  -&gt; devops-automation
  -&gt; mlops-training</code></code></pre><p>Each role has a different capability set.</p><p>The SRE role gets:</p><pre><code><code>service-health-report
docker-disk-cleanup</code></code></pre><p>The DevOps role gets:</p><pre><code><code>deployment-automation
terraform-plan-review
service-health-report</code></code></pre><p>The MLOps role gets:</p><pre><code><code>ml-training-job-triage
service-health-report</code></code></pre><p>That is the important part: the agent is not just &#8220;an AI assistant.&#8221; It is a scoped operational role with a curated capability set.</p><div><hr></div><h2>Why This Matters</h2><p>Most AI tooling today is still very individual-agent centric.</p><p>You launch a coding agent. You give it a task. It works in a repo.</p><p>That is useful, but DevOps and SRE work is team-shaped.</p><p>We need AI-native ops systems that understand:</p><ul><li><p>who the agent is acting as</p></li><li><p>what team it belongs to</p></li><li><p>what project or business unit it serves</p></li><li><p>what capabilities it should have</p></li><li><p>what workflows it can run</p></li><li><p>what runtime should execute it</p></li><li><p>what tools it needs</p></li><li><p>what model profile makes sense for the job</p></li></ul><p>AOH is trying to make that structure explicit and version-controlled.</p><div><hr></div><h2>How It Works</h2><p>At the source level, AOH is just files in Git.</p><p>A simplified pack looks like this:</p><pre><code><code>acme-platform-ops/
  AOH.yaml
  teams/
    platform-ops.yaml
  agents/
    sre-platform.yaml
    devops-automation.yaml
    mlops-training.yaml
  skills/
    service-health-report/
      SKILL.md
    deployment-automation/
      SKILL.md
    ml-training-job-triage/
      SKILL.md
  workflows/
  models/
  runtime-requirements/
  evals/</code></code></pre><p>Then the CLI validates and compiles that pack into runtime-native artifacts.</p><p>For Hermes:</p><pre><code><code>uv run aoh install-hermes-team examples/acme-platform-ops \
  --profiles-dir ~/.hermes/profiles \
  --team platform-ops \
  --profile-prefix acme-platform \
  --provider openai-codex \
  --model gpt-5.4 \
  --cwd "$PWD"</code></code></pre><p>That creates Hermes profiles like:</p><pre><code><code>acme-platform-sre-platform
acme-platform-devops-automation
acme-platform-mlops-training</code></code></pre><p>Each profile has its own role instructions, local skills, config, and launch script.</p><div><hr></div><h2>Where We Are Now</h2><p>The MVP is working.</p><p>I tested the generated Hermes profile for the DevOps role:</p><pre><code><code>~/.hermes/profiles/acme-platform-devops-automation/launch.sh \
  -q "Answer in one sentence: what AOH role are you, and which AOH skills are associated with you?" \
  --max-turns 2 --quiet</code></code></pre><p>The generated agent responded:</p><pre><code><code>I&#8217;m the AOH DevOps Engineer for Acme Platform in the devops-automation role,
and my associated AOH skills are deployment-automation, terraform-plan-review,
and service-health-report.</code></code></pre><p>That is a small test, but it proves the shape:</p><ul><li><p>team defined in Git</p></li><li><p>role defined in Git</p></li><li><p>skills associated with role</p></li><li><p>Hermes profile generated</p></li><li><p>role-specific agent launched</p></li><li><p>associated skills preloaded at runtime</p></li></ul><p>That is the harness.</p><div><hr></div><h2>What This Is Not Yet</h2><p>This is not a finished platform.</p><p>It is not yet a full registry, package manager, or policy engine.</p><p>It does not yet have adapters for Goose, Codex, Claude Code, or OpenCode.</p><p>It does not yet have a complete eval runner.</p><p>It does not yet model enterprise-grade approvals, secrets, RBAC, or audit trails deeply.</p><p>But the foundation is now there.</p><p>The source-of-truth model is becoming clear.</p><div><hr></div><h2>What Comes Next</h2><p>The next steps I&#8217;m thinking about:</p><ol><li><p><strong>Goose adapter</strong><br>Map AOH skills and workflows into Goose skills, recipes, sub-recipes, and extensions.</p></li><li><p><strong>Codex and Claude Code adapters</strong><br>Compile AOH roles into project instructions, skills, and launch conventions.</p></li><li><p><strong>Eval runner</strong><br>Validate whether a generated role-agent can actually perform the workflow it claims to support.</p></li><li><p><strong>Registry</strong><br>Share AOH packs across teams and organizations.</p></li><li><p><strong>Runtime requirement negotiation</strong><br>Let a runtime say: &#8220;I can satisfy these requirements, but not these.&#8221;</p></li><li><p><strong>Policy metadata</strong><br>Keep AOH engine-neutral but allow adapters to map risk, approvals, and tool access into runtime-native guardrails.</p></li></ol><div><hr></div><h2>Why I&#8217;m Excited About This</h2><p>This feels like a useful bridge between traditional automation and AI-native operations.</p><p>The old world had:</p><pre><code><code>roles
playbooks
inventories
modules
runbooks</code></code></pre><p>The new world needs:</p><pre><code><code>teams
agent roles
skills
workflows
runtime adapters
evals</code></code></pre><p>AOH is an attempt to make that transition concrete.</p><p>Not as a slide.</p><p>As a repo you can clone and run.</p><p>Try it here:</p><p><a href="https://github.com/agenticdevops/aoh">https://github.com/agenticdevops/aoh</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://ai.schoolofdevops.com/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 Ops Dispatch! 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></channel></rss>