<script data-pm-proxy="intercept"></script><?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[The Production Gap]]></title><description><![CDATA[My take on the AI world]]></description><link>https://boringbot.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!VZsg!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c98e5f-d427-40f4-8dd1-8d7a34df0d20_1080x1080.png</url><title>The Production Gap</title><link>https://boringbot.substack.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 03 Sep 2026 11:11:07 GMT</lastBuildDate><atom:link href="/__u/boringbot.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Hamza Farooq]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[boringbot@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[boringbot@substack.com]]></itunes:email><itunes:name><![CDATA[Hamza Farooq]]></itunes:name></itunes:owner><itunes:author><![CDATA[Hamza Farooq]]></itunes:author><googleplay:owner><![CDATA[boringbot@substack.com]]></googleplay:owner><googleplay:email><![CDATA[boringbot@substack.com]]></googleplay:email><googleplay:author><![CDATA[Hamza Farooq]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Voice Agents: A deep dive]]></title><description><![CDATA[What It Takes to Build Voice AI: The 800-Millisecond Budget Behind Every Voice Agent]]></description><link>https://boringbot.substack.com/p/voice-agents-a-deep-dive</link><guid isPermaLink="false">https://boringbot.substack.com/p/voice-agents-a-deep-dive</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Mon, 27 Jul 2026 13:03:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zPVI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfc91e7c-5187-40f5-a8c5-8f5ce8612cd3_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>&#128075; Hi everyone, I am </span><a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a><span>. I have 18+ years of experience building large-scale machine learning ecosystems, teach at </span><a href="https://www.anderson.ucla.edu/news-and-events/living-larger"><span>UCLA</span></a><span> and </span><a href="https://maven.com/boring-bot">MAVEN</a><span>, and am the founder of </span><a href="https://traversaal.ai/">Traversaal.ai</a><span>.</span></p><p>Welcome to Edition #39 of a newsletter that 16,000+ people around the world actually look forward to reading.</p><p><span>&#127873; Take the </span><a href="https://practice-exam-deploy.vercel.app/quick-quiz.html">5-minute sample Claude Code Architect</a><span> exam to test your Claude Code skills.</span></p><p><span>&#127873; </span><a href="https://traversaal.ai/academy/courses"><span>Free course</span></a><span> on Claude Code</span></p><p><em>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</em></p><p>&#127891; Here&#8217;s my Maven&#8217;s top rated course on Forward Deployed Engineering</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6roz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 424w, /__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 848w, /__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6roz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png" width="1456" height="443" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:443,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:748183,&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://boringbot.substack.com/i/208598798?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 424w, /__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 848w, /__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6roz!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4434a4e5-6a51-40d5-bb05-c1ad0066ece5_2540x772.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join today with a special discount, <a href="https://maven.com/boring-bot/ai-system-design?promoCode=LENNYSLIST">here</a></p><div><hr></div><blockquote><p><strong>TL;DR:</strong> In 2026, a voice agent is one of the strongest bets in applied AI, wherever the channel already fits: phone-native support, hands-busy work, high-volume operations. But the build turns on a single constraint. </p><p>You have roughly <em>700 to 800 milliseconds</em> per conversational turn before it stops feeling human, and every architectural decision, cascading versus speech-to-speech, open versus closed, build versus buy, is a choice about where you spend that budget. </p><p>Match the architecture to your latency math, and the bet to your use case, not to the hype.</p></blockquote><h1>What It Takes to Build Voice AI: The 800-Millisecond Budget Behind Every Voice Agent</h1><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!r3Yk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!r3Yk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1188557,&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://boringbot.substack.com/i/208598798?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!r3Yk!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94f51a7f-a0df-4036-a57c-7edace40a9b4_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>A voice agent has to hear you, think, and answer back in under a second. This is where every one of those milliseconds goes.</em></figcaption></figure></div><h2>Introduction</h2><p>Voice is having its moment. Call a business today and you may not be sure whether the thing answering is a person. Demos of agents that book appointments, screen calls, and handle support are everywhere, and after a decade of assistants that mostly set timers and played music, it finally feels like the interface has arrived.</p><p>That is exactly why the mistakes are getting expensive.</p><p>A team we later worked with at <a href="https://traversaal.ai/">Traversaal</a> opened their first voice AI meeting with a confident question: &#8220;Should we use ElevenLabs or OpenAI for this?&#8221; They had a vendor shortlist and a sprint planned. But look closely at the question. ElevenLabs is a text-to-speech company; OpenAI&#8217;s Realtime API is a full speech-to-speech platform. They were weighing one slice of the pipeline against an entire architecture, the tell that they were choosing tools before they understood the problem. What they didn&#8217;t have was a latency budget. Six weeks later they had a beautiful-sounding agent that felt like talking to a loading spinner. Needless to say, that version never shipped.</p><p>July 2026 is a genuine inflection point, and the capital knows it. Analysts put the broader conversational AI market <a href="https://www.grandviewresearch.com/industry-analysis/conversational-ai-market-report">north of $40 billion by 2030</a>, with voice agents its fastest-growing slice, and <a href="https://www.cxtoday.com/contact-center/why-voice-ai-adoption-is-accelerating-in-2026/">most large enterprises now report deploying or piloting voice AI in customer operations</a>. The tooling caught up to the ambition: <a href="https://openai.com/index/introducing-the-realtime-api/">OpenAI&#8217;s Realtime API</a>, <a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/live-api">Google&#8217;s Gemini Live</a>, and a maturing open-source stack around <a href="https://github.com/openai/whisper">Whisper</a>, <a href="https://huggingface.co/hexgrad/Kokoro-82M">Kokoro</a>, and <a href="https://github.com/livekit/agents">LiveKit</a> have made production-grade voice agents buildable without a dedicated audio-engineering team.</p><p>But the money is running ahead of the trust. In consumer surveys tracked from late 2025 into 2026, <a href="https://www.answerconnect.com/blog/news/consumers-turning-away-from-ai-customer-service/">preference for a human agent climbed to around 85 percent while preference for AI slipped to 5</a>, frustration rose, and nearly a third of people said they would hang up the moment they realized they were talking to a bot. The strange part: in blind tests, <a href="https://www.customerexperiencedive.com/news/consumers-cant-tell-the-difference-between-humans-and-ai/806709/">most consumers can no longer reliably tell an AI voice from a human one</a>. </p><p>The voices are good enough; the trust is not. Add Alexa&#8217;s retreat from ambient computing, years of IVR-hell disappointment, and rising regulatory scrutiny of voice biometric data, under <a href="https://gdpr-info.eu/art-9-gdpr/">GDPR</a> and a wave of new US state laws, and these architectural choices now carry legal and reputational weight, not just UX weight.</p><p>Think of a voice turn like a restaurant ticket. The kitchen has a fixed window to plate the dish before the experience degrades. Every pipeline stage is a cook; every millisecond is a resource. </p><p>The framework governing all of it is the <strong>Turn Budget</strong>, and every architectural decision in a voice agent is a latency allocation decision within it.</p><div><hr></div><blockquote><h2>Key Takeaways</h2><p>&#128200; <strong>The money is ahead of the trust</strong>, Voice AI is a multi-billion-dollar market and most large enterprises are deploying, yet consumer preference for human agents is climbing, not falling. The engineering job is to earn trust, not just sound human.</p><p>&#9201;&#65039; <strong>The turn budget is everything</strong>, Every architectural decision in a voice agent comes down to how you slice roughly 800 milliseconds across pipeline stages before conversation feels broken.</p><p>&#128279; <strong>Cascading pipelines trade speed for control</strong>, Separate STT, LLM, and TTS components give you stage-level visibility and guardrails, but latency accumulates fast at every handoff.</p><p>&#127897;&#65039; <strong>Speech-to-speech removes your safety nets</strong>, Native audio models like OpenAI&#8217;s gpt-realtime and Google&#8217;s Gemini Live cut latency but eliminate the checkpoints where you catch errors, enforce compliance, or inspect what the model heard.</p><p>&#129513; <strong>Open source wins some slices, not all</strong>, Whisper and Kokoro are competitive for transcription and synthesis, but self-hosting carries real infrastructure costs that closed APIs often beat on total cost of ownership at moderate scale.</p><p>&#128245; <strong>Voice earns its keep in specific contexts</strong>, Hands-busy workflows, phone-native channels, and accessibility use cases are where voice makes sense; anywhere a user can comfortably type, voice adds friction.</p><p>&#9888;&#65039; <strong>Failure modes are the honest story</strong>, Noisy-environment transcription errors, barge-in failures, and PII exposure mean the real question in 2026 isn&#8217;t whether you can ship a voice agent, but whether the use case justifies the risk.</p></blockquote><p></p><h2>What is voice AI agent architecture, and why does latency define everything?</h2><p><strong>A voice AI agent architecture is the ordered sequence of real-time processing stages, detection, transcription, reasoning, and synthesis, that must complete a full cycle within roughly 800 milliseconds before human conversation feels broken.</strong></p><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/voice-agents-a-deep-dive">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Full Stack Engineering for Product Managers]]></title><description><![CDATA[A No-BS Technical Guide to Frontend, Backend, AI, and Everything in Between]]></description><link>https://boringbot.substack.com/p/full-stack-for-product-managers</link><guid isPermaLink="false">https://boringbot.substack.com/p/full-stack-for-product-managers</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Fri, 26 Jun 2026 15:20:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V5xi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>&#128075; Hi everyone, I am </span><a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a><span>. I have 18+ years of experience building large-scale machine learning ecosystems, teach at </span><a href="https://www.anderson.ucla.edu/news-and-events/living-larger"><span>UCLA</span></a><span> and </span><a href="https://maven.com/boring-bot">MAVEN</a><span>, and am the founder of </span><a href="https://traversaal.ai/">Traversaal.ai</a><span>.</span></p><p>Welcome to Edition #38 of a newsletter that 16,000+ people around the world actually look forward to reading.</p><p><span>&#127873; Take the </span><a href="https://practice-exam-deploy.vercel.app/quick-quiz.html">5-minute sample Claude Code Architect</a><span> exam to test your Claude Code skills.</span></p><p>&#127873; <a href="https://traversaal.ai/academy/courses"><span>Free course</span></a><span> on Claude Code</span></p><p>&#127891; Looking to deepen your knowledge as a developer and pass the Claude Code Certification? Here&#8217;s your opportunity!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!SV7k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 424w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 848w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SV7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png" width="1456" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:490,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 424w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 848w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join us on July 23rd for a three-week immersive Claude Code Course and ability to take the certification through our partner network.</p><p><a href="https://maven.com/boring-bot/claude-code-in-practice">Sign up today</a><span> </span></p><blockquote><p><span>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!V5xi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!V5xi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1445805,&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://boringbot.substack.com/i/203656811?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!V5xi!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7455407-135a-4e9a-bb4b-da9ad763f519_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>If you&#8217;ve ever nodded along in an architecture review while having absolutely no idea what just happened, this guide is the one you should have read first.</em></p><h2>Introduction: The PM who accidentally made an infrastructure decision</h2><p>Here&#8217;s a scenario that played out at a dozen Series B AI startups in the past year. A product manager uses Claude Code to prototype a customer-facing document summarization feature over a weekend. The demo is clean, the output looks sharp, and by Monday morning it&#8217;s sitting in a staging branch. </p><p>By Wednesday, the engineering lead is asking uncomfortable questions: </p><p><em>Q. How does it handle PII in uploaded documents? </em></p><p><em>Q. What happens when the document exceeds the context window? </em></p><p><em>Q. Why is there no retry logic for when the model API times out? </em></p><p>The PM doesn&#8217;t have answers, not because they were careless, but because they didn&#8217;t know those were questions they were supposed to ask.</p><p>This is the structural reality of <strong>full stack for product managers</strong> in 2026. </p><p>The tools have changed faster than the mental models. Claude Code, OpenAI Codex CLI, and agentic harnesses like LangGraph have collapsed the time it takes to go from idea to running code, but they haven&#8217;t collapsed the complexity underneath it. Someone still has to own the architectural choices. Right now, PMs are making those choices without realizing it, one AI-generated file at a time.</p><p>The numbers back this up. AI-native teams are shipping three to five times faster than traditional engineering teams, according to the 2025 State of DevEx report from DX (Source: <a href="https://getdx.com/research/state-of-devex-2025">https://getdx.com/research/state-of-devex-2025</a>). But velocity without architectural literacy is how you accumulate technical debt that paralyzes the team six months later. The code ships fast. The consequences arrive slowly.</p><p>This guide won&#8217;t turn you into an engineer. What it does is give you the mental models to understand what your engineers are actually arguing about, so you can make better decisions, ask smarter questions, and catch the moment when the AI-generated code is quietly creating a problem you&#8217;ll own in Q3.</p><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><p>&#128421;&#65039; <strong>Frontend is the contract layer:</strong> Every UI decision your team makes creates a promise to users that the backend then has to keep, so PMs who understand the gap between the two ship fewer broken features.</p><p>&#9881;&#65039; <strong>APIs are your product&#8217;s nervous system:</strong> When engineers argue about API design, they&#8217;re really arguing about how hard it will be to change your product later, which makes that conversation your business.</p><p>&#129302; <strong>AI backend is not regular backend:</strong> LLM-powered features have a completely different failure mode than traditional software, where outputs drift invisibly over time instead of throwing an obvious error.</p><p>&#128452;&#65039; <strong>Your data model is a product decision:</strong> Choosing how data is structured and stored shapes what you can build next, meaning a database schema choice made in week one can box you in for years.</p><p>&#128640; <strong>&#8220;Production&#8221; means real consequences:</strong> Shipping to production isn&#8217;t flipping a switch; it&#8217;s exposing real users to real risk, and understanding environments, rollbacks, and where your code actually runs is how you manage that risk without freezing your team.</p><p>&#128225; <strong>Observability is now a PM responsibility:</strong> If you&#8217;re shipping AI features without logging what the model actually does in the wild, you have no way to know when quality silently degrades on your users.</p></blockquote><div><hr></div><h2>1. The full stack mental model: what it actually is and why the layers matter</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!puJI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!puJI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1480894,&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://boringbot.substack.com/i/203656811?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!puJI!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8dcc14c4-0e8c-42b8-b068-30d13d3a980d_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>1.1 Why &#8220;full stack&#8221; is a systems metaphor, not just a job title</h3><p>When engineers say &#8220;full stack,&#8221; they mean a complete software system, everything from the pixel a user taps on their phone to the database row being written on a server somewhere. For PMs, the value of this metaphor isn&#8217;t technical precision; it&#8217;s situational awareness. Every product decision you make touches at least one layer of that stack, and understanding which layer tells you how expensive, how risky, and how reversible that decision is.</p><p>Think of it as an iceberg. Users see roughly ten percent of the system, the interface, the interactions, the words on the screen. That visible surface depends entirely on the ninety percent they never see: the servers processing their requests, the databases storing their data, the authentication systems validating their identity, and increasingly, the AI pipelines generating their content. When a PM makes a UI decision, they&#8217;re also making assumptions about the entire iceberg beneath it. The mental model of the full stack is what lets you hold those assumptions consciously, rather than accidentally.</p><p><strong>Technical literacy for product managers</strong> has become urgent in 2026 not because PMs suddenly need to write code, but because PMs are now generating code through AI tools and deploying it into systems where the iceberg is large, and largely invisible.</p><h3>1.2 The three major layers: a PM-readable map</h3><p>The stack breaks into three practical layers that every PM should be able to navigate without jargon.</p><p><strong>Frontend</strong> is everything the user directly interacts with, the visual interface, the buttons, the forms, the animations. It runs in the browser or native app on the user&#8217;s device. When a user clicks &#8220;Generate Report,&#8221; the frontend registers that click and makes it look like something is happening.</p><p><strong>Backend</strong> is where the actual work gets done. Business logic lives here: the rules that decide whether a user has permission to generate that report, the code that fetches the right data, the service that formats the output. The backend runs on a server, not on the user&#8217;s device, which is why it can be trusted with sensitive operations.</p><p><strong>Infrastructure and data layer</strong> is everything that makes the backend possible, the databases that store data persistently, the cloud services that run the servers, the networking that moves data between components, the caches that make retrieval fast.</p><p><strong>AI backend</strong> is now a fourth emergent layer that sits between backend and infrastructure in agentic systems. It includes the LLM API calls, the prompt engineering layer, the retrieval systems, and the output parsers. We&#8217;ll go deep on this in Section 4 because it has a completely different failure profile than the other three layers.</p><p>These layers communicate through <strong>APIs</strong>, which is why API design is so central to every product conversation that feels like it&#8217;s &#8220;just engineering.&#8221;</p><p><em>Illustration: The Production Gap</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!wb2h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!wb2h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1398669,&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://boringbot.substack.com/i/203656811?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wb2h!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbf6c93-61aa-4ba9-9134-a10950e1bf4b_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>1.3 Why the boundaries between layers are where product bugs live</h3><p>Here&#8217;s something no introductory tech guide tells PMs: most production bugs don&#8217;t live inside a single layer. They live in the contracts between layers, the assumptions each layer makes about what the other will deliver.</p><p>A frontend that assumes data will always arrive in a specific format breaks the moment the backend changes its response structure. A backend that returns an HTTP 200 OK status even when it hit an internal error breaks the frontend&#8217;s ability to handle failures gracefully. An AI layer that silently returns an empty string instead of throwing a catchable error breaks the entire user experience with no visible alarm. None of these failures is catastrophic inside a single layer, but all of them are catastrophic at the boundary.</p><p>PMs who understand these boundaries write better acceptance criteria and catch more problems during spec review, before the bug is ever coded. When your spec says &#8220;show the user their report&#8221; and doesn&#8217;t describe what happens when the backend is slow, the AI returns nothing, or the data is malformed, that&#8217;s not an incomplete engineering decision. That&#8217;s an incomplete product decision.</p><div><hr></div><h2>2. Frontend explained: what PMs actually need to know</h2><h3>2.1 What frontend is (and what it isn&#8217;t)</h3><p>Frontend is everything that runs in the user&#8217;s browser or native application. In a web context, that means three things working together: <strong>HTML</strong> provides the structure and content (the bones), <strong>CSS</strong> provides the visual styling (the skin), and <strong>JavaScript</strong> provides the behavior (the muscles). When a user sees a dashboard, clicks a button, watches a spinner appear, or reads generated text streaming in word by word, all of that is frontend.</p><p>The most important distinction for PMs is between <strong>static frontend</strong> and <strong>dynamic frontend</strong>. </p><p>Static frontend is content that doesn&#8217;t change based on who&#8217;s looking at it, a marketing landing page, a documentation site, a pricing page. It can be pre-built and served from a global cache, which makes it fast and inexpensive. </p><p>Dynamic frontend is content that&#8217;s fetched and assembled based on who the user is and what they&#8217;re doing, a personalized dashboard, a feed, an AI-generated response. Dynamic pages are powerful but introduce latency, authentication complexity, and a hard dependency on the backend being available and responsive.</p><p>This distinction comes up in roadmap decisions constantly. When you&#8217;re deciding whether to build a feature into the main application or as a standalone marketing page, you&#8217;re making a static-versus-dynamic call with real cost and performance implications.</p><h3>2.2 Frameworks, rendering, and why your engineering team&#8217;s choice affects your roadmap</h3><p>As of mid-2026, the dominant frontend frameworks are <strong>React</strong>, <strong>Next.js</strong> (built on React with additional server-side capabilities), and <strong>Vue</strong>. You don&#8217;t need to know how to write code in any of them. What matters is why the choice affects your product.</p><p>Framework choice affects three things PMs care about directly: how fast your team can ship new UI features, how SEO-friendly your product is out of the box, and the size of the engineering talent pool you can hire from. </p><p>React remains the most widely adopted, with Next.js capturing the majority of new production projects in 2025&#8211;2026 due to its flexibility between rendering modes (Source: <a href="https://survey.stackoverflow.co/2025/">https://survey.stackoverflow.co/2025/</a>).</p><p>The rendering mode decision is worth understanding. </p><p><strong>Server-side rendering (SSR)</strong> means the server assembles the complete HTML page before sending it to the browser, like a restaurant that plates your food in the kitchen before it reaches your table. </p><p><strong>Client-side rendering (CSR)</strong> means the browser receives a minimal HTML shell and a bundle of JavaScript, then assembles the page itself, like a meal kit delivered to your table that you put together. </p><p>SSR is generally faster for first load and better for SEO; CSR can be more interactive once loaded. Many modern frameworks, including Next.js, let you mix both. When your engineers argue about which to use for a new feature, they&#8217;re making decisions about SEO performance, initial load time, and engineering complexity, all of which affect your product metrics.</p><p><em>Illustration: The Production Gap</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!AUv7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!AUv7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1365330,&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://boringbot.substack.com/i/203656811?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!AUv7!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddf87d6d-2148-41bb-b93b-167dd7025585_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/full-stack-for-product-managers">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Self-Improving Agents: A step closer to AGI]]></title><description><![CDATA[If your team uses Claude Code or Codex, you&#8217;re already inside a feedback loop where the AI improves based on what happened last time.]]></description><link>https://boringbot.substack.com/p/using-claude-code-to-build-self-improving</link><guid isPermaLink="false">https://boringbot.substack.com/p/using-claude-code-to-build-self-improving</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Wed, 03 Jun 2026 15:01:54 GMT</pubDate><enclosure url="https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of experience building large-scale machine learning ecosystems, teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and am the founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Welcome to Edition #37 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><p>&#127873; Take the <a href="https://practice-exam-deploy.vercel.app/quick-quiz.html">5-minute sample Claude Code Architect</a> exam to test your skills</p><p>&#127891; Looking to deepen your knowledge as a developer and pass the Claude Code Certification? Here&#8217;s your opportunity!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!SV7k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 424w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 848w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SV7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png" width="1456" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:490,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 424w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 848w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join us on June 5th for a three-week immersive Claude Code Course</p><p><a href="https://maven.com/boring-bot/claude-code-in-practice">Sign up today</a> (25% OFF, while seats last)</p><blockquote><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p></blockquote><div><hr></div><p><em>If your team uses Claude Code, Copilot, or any AI coding tool, you&#8217;re already inside a feedback loop where the AI improves based on what happened last time. Most teams don&#8217;t know it has a name, a failure mode, or a fix.</em></p><div><hr></div><h2>Introduction: The Self Improving Architecture (RSI)</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw"><img src="https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080" width="3308" height="4135" data-attrs="{&quot;src&quot;:&quot;https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:4135,&quot;width&quot;:3308,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;person holding light bulb&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="person holding light bulb" title="person holding light bulb" srcset="https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 424w, https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 848w, https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1272w, https://images.unsplash.com/photo-1493612276216-ee3925520721?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wzMDAzMzh8MHwxfHNlYXJjaHwxfHxyYW5kb218ZW58MHx8fHwxNzgwMzA1MDMwfDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=1080 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Photo by <a href="https://unsplash.com/@jdiegoph">Diego PH</a> on <a href="https://unsplash.com">Unsplash</a></figcaption></figure></div><p>Here&#8217;s a scenario most teams using AI tools will recognize.</p><blockquote><p>An engineer notices Claude keeps writing overly verbose PR descriptions. They update CLAUDE.md with a new instruction. Fixed. A PM notices the AI coding assistant keeps flagging false positives in security reviews. The team refines the prompt. Better. A developer tweaks their Copilot skill file after a bad refactoring session. The next run goes cleaner.</p><p>Each of those is <strong>Recursive Self-Improvement (RSI)</strong>. </p><p>The agent ran a task. Someone evaluated the output. A modification was made to how the agent operates. And the next task ran on the updated version. That&#8217;s the whole definition: three steps, satisfied regardless of whether there&#8217;s code behind it or just a human making a judgment call.</p></blockquote><p>Now zoom out one level. What if instead of a human making that judgment call, the agent does it itself? It runs a task, scores its own output against a rubric, proposes a better version of its instructions, and overwrites them before the next task starts. </p><p>That&#8217;s <strong>Recursive Agent Optimization (RAO)</strong>: the automated version of what your team is already doing manually. It&#8217;s shipping in production today inside Claude Code pipelines, LangGraph agents, and Copilot-powered workflows, usually without anyone on the team recognizing it as a distinct pattern with its own failure modes.</p><p><strong>This matters differently depending on where you sit.</strong></p><p>If you&#8217;re a product manager, the risk is behavioral drift. </p><p>An agent silently rewriting its own instructions can change how it behaves on your product (which tools it prioritizes, how it evaluates quality, what tradeoffs it makes) without anything in your deployment pipeline showing a change. No PR, no diff, no change log. The agent your team reviewed last week may not be the agent running this week.</p><p>If you&#8217;re an engineer, the risk is more specific: the missing third component. Most implementations that approximate RAO have a task loop and an evaluation step. Almost none have a versioned state manager with rollback. Without it, when the self-modification loop produces a bad update (and it will), there&#8217;s no recovery path and often no signal that anything went wrong until it surfaces downstream. This guide covers both. </p><ul><li><p>Sections 1&#8211;2 build the taxonomy and define what RAO is &#8212; conceptual, any reader. </p></li><li><p>Section 3 works through the G&#246;del Agent as a concrete reference architecture. </p></li><li><p>Sections 4&#8211;5 cover guardrails and real production use cases. </p></li><li><p>The final section on Claude Code is practical for anyone building with it today, no prior framework experience required.</p></li></ul><div><hr></div><blockquote><h2>&#128273; Article Key Takeaways</h2><p>&#128257; <strong>Recursive Self-Improvement (RSI) is already happening on your team</strong> &#8212; Every time an engineer updates CLAUDE.md, refines a skill file, or tweaks a prompt based on what worked last time, that&#8217;s RSI. The question isn&#8217;t whether you&#8217;re doing it. It&#8217;s whether it&#8217;s running intentionally or quietly on its own.</p><p>&#129504; <strong>There&#8217;s a version that runs automatically</strong> &#8212; Recursive Agent Optimization (RAO) is when the agent scores its own outputs and rewrites its own instructions between tasks, without a human in the loop. Teams are shipping this today in Claude Code and LangGraph pipelines, usually without recognizing the pattern.</p><p>&#9888;&#65039; <strong>The dangerous version is the invisible one</strong> &#8212; The RSI that dominates safety discourse (AI modifying its own model weights) is visible and rare. The version actually in production &#8212; agents silently rewriting their own routing logic and tool priorities &#8212; is invisible and common.</p><p>&#127959;&#65039; <strong>You already have most of the infrastructure</strong> &#8212; CLAUDE.md is a mutable policy file. Skills are version-controlled routing targets. Hooks are the evaluator layer. Claude Code users are one step from a proper RAO loop.</p><p>&#128300; <strong>PMs and engineers face different risks</strong> &#8212; Engineers risk silent degradation when a self-modifying loop optimizes the wrong metric. PMs risk shipping on agents whose behavior has drifted from what was reviewed and approved, with no change log and no diff.</p><p>&#128736;&#65039; <strong>Three components determine whether your loop is safe</strong> &#8212; A performance evaluator, a self-modification generator, and a versioned state manager with rollback. Most teams have the first two. The third is the one that makes recovery possible.</p></blockquote><div><hr></div><h2>Section 1: The RSI spectrum</h2><h3>1.1 What RSI actually means</h3><p>RSI enters the technical literature through two distinct lineages. </p><p>J&#252;rgen Schmidhuber&#8217;s <strong>G&#246;del Machine</strong> (2003) proposed a formal framework in which a general problem solver could rewrite any part of its own software, including its learning algorithm, provided it could construct a proof that the modification would improve future performance. </p><p>Ben Goertzel&#8217;s early AGI writing used RSI to describe the hypothetical inflection point where a system&#8217;s self-modifications begin compounding faster than human oversight can track. </p><p>Both formulations are weight-centric and capability-explosion-oriented. Source: <a href="https://arxiv.org/abs/cs/0309048">https://arxiv.org/abs/cs/0309048</a></p><p>That framing has collapsed a rich engineering concept into a single dramatic scenario. A more useful working definition: RSI is any system that </p><p>(a) evaluates its own performance on a task or class of tasks, </p><p>(b) generates a modification to itself or its operating procedure based on that evaluation, and </p><p>(c) applies that modification before or during subsequent task execution such that future task performance is influenced by the self-generated change. </p><p>None of these three steps require weight modification. An agent that rewrites its system prompt after scoring its own tool calls satisfies all three criteria.</p><p>This definition is broad by design, it needs to capture the engineering reality. RSI is a structural property of a system&#8217;s feedback loop, not a claim about the magnitude of the self-modification. </p><p>A system that nudges its own evaluation rubric by five percent after each task cycle is doing RSI. A system that overwrites its own reasoning procedure is also doing RSI. Treating these as categorically different, one &#8220;just prompt engineering,&#8221; the other &#8220;dangerous self-improvement&#8221;, is the conceptual error that leaves production pipelines unguarded.</p><h3>1.2 The five-level RSI taxonomy</h3><p>Five levels. They&#8217;re not a risk ranking on their own (reversibility and scope matter more than position), but they give you a common vocabulary when your team is arguing about what you&#8217;re building.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hkTk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hkTk!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png" width="1200" height="800.2747252747253" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:1524854,&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://boringbot.substack.com/i/200259732?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hkTk!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3a7f1f97-e05b-4b9a-bfb0-7b502529f76a_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>The RSI spectrum at a glance. Sections 1&#8211;3 unpack each level and explain why Level 2 (Scaffolding) is the live production risk most engineers are building without recognizing it.</em></figcaption></figure></div><p><strong>Level 0, Static Agents</strong> are the baseline: a standard ReAct or tool-calling loop in which the agent selects actions and generates outputs but doesn&#8217;t modify any aspect of its own operating procedure. Every call to <code>agent.run()</code> uses the same prompt, tools, and routing logic as the previous call. No RSI occurs.</p><p><strong>Level 1, Prompt-Level Recursion</strong> is the most common recognized form: an agent that rewrites its own system prompt, few-shot examples, or instruction block based on feedback from a previous run. DSPy&#8217;s automatic prompt optimization and Google&#8217;s OPRO framework both formalize this pattern. The agent evaluates its outputs, generates a better instruction, and overwrites the previous instruction before the next invocation. Reversibility is high, you can overwrite the prompt again, but prompt injection and instruction drift are real failure modes.</p><p><strong>Level 2, Scaffolding-Level Recursion</strong> is where most production RSI actually lives, largely unrecognized. The agent modifies not just its instructions but its structural operating logic: tool selection prompts, memory retrieval queries, sub-agent routing rules, or evaluation criteria. A LangGraph orchestrator that scores its own routing decisions after each task cycle and rewrites its routing prompt before the next <code>graph.invoke()</code> call is a Level 2 system. The code can fit in a single Python file. The failure modes are substantially more dangerous than Level 1 because the modification surface is larger and degradation is harder to detect.</p><p><strong>Level 3, Training-Data-Level Recursion</strong> moves into territory currently occupied by AI labs and advanced research teams. The agent generates its own fine-tuning data, preference pairs, or RLHF signals fed into a downstream training run. AlphaCode 2 and subsequent DeepMind coding pipelines use this: the system generates and evaluates synthetic problem-solution pairs to improve the next model checkpoint. The modification takes effect in a subsequent training run rather than immediately, which makes it lower-urgency but harder to reverse once the new model is deployed. Source: <a href="https://deepmind.google/discover/blog/competitive-programming-with-alphacode">https://deepmind.google/discover/blog/competitive-programming-with-alphacode</a></p><p><strong>Level 4, Weight-Level Recursion</strong> is the scenario that dominates safety discourse: an agent directly modifies its own model parameters at runtime, without a separate training pipeline. As of mid-2026, this remains confined to experimental frameworks and frontier lab environments. It requires substantial compute infrastructure to implement, which is precisely why it&#8217;s the most visible and, paradoxically, the least imminent threat.</p><h3>1.3 Why the middle layers are the practitioner blind spot</h3><p>The engineering community has concentrated its safety attention on Level 4 because it matches the AGI narrative: dramatic, irreversible, compute-intensive. But Levels 2 and 3 are where the actual production action is, and where the safety discourse has the least coverage.</p><p>The asymmetry is structural. A Level 4 system requires you to run a training loop, manage model checkpoints, and execute a new deployment, all visible in your infrastructure, all natural audit points. A Level 2 system requires a few hundred lines of Python, a JSON config file to store the current routing prompt, and an LLM call that scores the previous task cycle. It ships in a sprint and looks like normal prompt engineering to a code reviewer who hasn&#8217;t framed it as RSI.</p><p>Here&#8217;s a concrete example running in production at multiple companies right now. A LangGraph agent manages a code review pipeline. After each review cycle, it calls an LLM with the task history and asks: &#8220;Which tools did I call? Which contributed useful signal? Rewrite the tool-routing instructions to prioritize the most useful tools.&#8221; The output overwrites a prompt variable passed into the next <code>graph.invoke()</code> call. This is Level 2 RSI.</p><p>The code looks innocuous:</p><pre><code><code># What engineers read as: "just dynamic prompting"
routing_prompt = load_routing_prompt()  # reads a JSON config key

result = graph.invoke({"task": task, "routing_prompt": routing_prompt})

# "adaptive step" &#8212; what engineers don't recognize as RSI
new_prompt = llm.call(
    f"Previous routing: {routing_prompt}\n"
    f"Task history: {result['history']}\n"
    "Rewrite the routing instructions to improve performance."
)
save_routing_prompt(new_prompt)  # overwrites the config key, no prior version stored
</code></code></pre><p>What makes this Level 2 RSI rather than &#8220;dynamic prompting&#8221;: the modification target is the agent&#8217;s structural operating logic (tool routing), not just its natural language output. The modification persists across task boundaries. And the three safety components are all absent: no evaluator quality check before the rewrite, no version history, no rollback.</p><p>It&#8217;s structurally indistinguishable from &#8220;adaptive prompting&#8221; to the engineer who wrote it, but it has no rollback logic, no stopping condition, and no audit log of what the routing prompt looked like three cycles ago.</p><p>The issue isn&#8217;t ignorance, it&#8217;s framing. Engineers who would immediately add version control and rollback logic to a system they labeled &#8220;self-modifying&#8221; are shipping that same system under the label &#8220;adaptive prompting&#8221; without a second thought. Naming this correctly isn&#8217;t semantic pedantry; it&#8217;s the precondition for applying the right engineering discipline.</p><h3>1.4 Level-by-level comparison</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Egz9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 424w, /__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 848w, /__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Egz9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:262265,&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://boringbot.substack.com/i/200259732?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 424w, /__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 848w, /__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Egz9!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2cb816cd-201d-4379-b79b-67e70fe276b2_1734x1300.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>A deep dive into each level</em></figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1QqQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 424w, /__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 848w, /__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1QqQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png" width="1456" height="918" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:918,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1666567,&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://boringbot.substack.com/i/200259732?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 424w, /__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 848w, /__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1QqQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cf4224-6bee-4077-a140-be9c3083f4ea_1688x1064.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Per-level feedback loop structure and the engineering decision matrix. Rule of thumb: start at Level 1 (prompt) and escalate to Level 2 only when justified by a specific, code-structured modification need.</figcaption></figure></div>
      <p>
          <a href="/__u/boringbot.substack.com/p/using-claude-code-to-build-self-improving">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code token optimization - best practices]]></title><description><![CDATA[Most developers enable prompt caching and see modest savings, the ones hitting 90% reductions are doing something structurally different that almost nobody talks about.]]></description><link>https://boringbot.substack.com/p/how-to-save-millions-in-claude-tokens</link><guid isPermaLink="false">https://boringbot.substack.com/p/how-to-save-millions-in-claude-tokens</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Fri, 29 May 2026 14:52:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y9hN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ea89b60-62fc-4918-b676-bce6fd454d1b_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of building large scale ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Welcome to Edition #36 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="pullquote"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!0sb1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 424w, /__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 848w, /__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0sb1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Code: A Practitioner's Approach cover&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Code: A Practitioner's Approach cover" title="Claude Code: A Practitioner's Approach cover" srcset="/__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 424w, /__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 848w, /__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!0sb1!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab4b630f-6848-4daa-953e-a87ac3074b0d_1024x1536.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;">&#127891; Read my free book: <a href="https://traversaal.ai/academy/books/claude-code-a-practitioners-approach">Claude Code: A Practitioner&#8217;s Approach</a></p><p style="text-align: center;"><a href="https://traversaal.ai/academy/courses">Access free courses</a></p><div><hr></div><p><em>Most developers enable prompt caching and see modest savings, the ones hitting 90% reductions are doing something structurally different that almost nobody talks about.</em></p><div><hr></div><h1>Why You&#8217;re Not Getting Claude&#8217;s 90% Cost Savings (And How to Fix It)</h1><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!aiT9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 424w, /__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 848w, /__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 1272w, /__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!aiT9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png" width="1456" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Interactive calculator showing projected monthly savings by technique &#8212; CLAUDE.md Trim 91.9% ($460 saved/mo), .claudeignore 85.5% ($428/mo), Combined All 89.3% ($447/mo), Model Routing 77.1% ($385/mo), Prompt Caching 71.5% ($358/mo) &#8212; based on $500/month API spend&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Interactive calculator showing projected monthly savings by technique &#8212; CLAUDE.md Trim 91.9% ($460 saved/mo), .claudeignore 85.5% ($428/mo), Combined All 89.3% ($447/mo), Model Routing 77.1% ($385/mo), Prompt Caching 71.5% ($358/mo) &#8212; based on $500/month API spend" title="Interactive calculator showing projected monthly savings by technique &#8212; CLAUDE.md Trim 91.9% ($460 saved/mo), .claudeignore 85.5% ($428/mo), Combined All 89.3% ($447/mo), Model Routing 77.1% ($385/mo), Prompt Caching 71.5% ($358/mo) &#8212; based on $500/month API spend" srcset="/__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 424w, /__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 848w, /__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 1272w, /__u/substackcdn.com/image/fetch/$s_!aiT9!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e1f00a6-cfc9-47f8-987f-656d760c1a13_1539x605.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: [token-optimizer interactive dashboard](https://hamzafarooq.github.io/token-optimizer/) &#8212; try the calculator with your own spend numbers | <a href="https://raw.githubusercontent.com/hamzafarooq/token-optimizer/main/dashboard/screenshot-calculator.png">https://raw.githubusercontent.com/hamzafarooq/token-optimizer/main/dashboard/screenshot-calculator.png</a></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><h2>Introduction: the token cost problem that&#8217;s now a board-level conversation</h2><p>By mid-2026, Claude Code is inside CI/CD pipelines, code review systems, and multi-agent workflows at enough companies that token costs are showing up in budget spreadsheets rather than expense reports. Engineers who used to say &#8220;it&#8217;s not that much&#8221; are now getting questions from finance.</p><p>The math is real. Claude Sonnet 4 runs ~$3.00 per million input tokens at standard rates. Cache reads are $0.30, one-tenth the price. (Source: <a href="https://www.anthropic.com/pricing">https://www.anthropic.com/pricing</a>) A team burning five million input tokens per day on Sonnet spends $15,000 at standard rates. Shift 80% of that to cache reads: $3,500. That&#8217;s an $11,500 daily difference, or roughly $4M annualized, from one structural change.</p><p>The problem is that almost nobody is actually hitting that. Threads on r/ClaudeAI, the Anthropic Discord, and Hacker News keep surfacing the same thing: &#8220;I enabled caching, I see <code>cache_creation_input_tokens</code> in the response, but my bill barely moved.&#8221; Anthropic says 70&#8211;90% savings. Developers are seeing 5&#8211;15%.</p><p><strong>The gap is structural, not a bug. Prompt caching is not a setting you flip. </strong></p><p>It only works when your prompts are built in a specific way, stable content before dynamic content, above a token threshold, with cache breakpoints in the right places. This guide covers both sides: the Claude Code CLI techniques that cut context volume before any API call happens, and the API-level techniques that determine what you actually pay per token.</p><p>First, a necessary distinction. This guide covers two separate problems:</p><p><strong>If you&#8217;re on the Claude API</strong> (building products, running agents, CI/CD pipelines), you pay per token. The 89.3% combined saving from API techniques in Sections 1&#8211;6 is what cuts your bill.</p><p><strong>If you&#8217;re using Claude Code CLI</strong> (subscription or enterprise), you&#8217;re not paying per token, but you are paying with response quality. Every token in your context window is context Claude has to reason over. Bloated config files and noisy directories don&#8217;t inflate your invoice; they dilute Claude&#8217;s attention, producing generic answers and missed context. The techniques in this section fix that. For API users who also use Claude Code CLI, these optimizations reduce the base token volume before API-level techniques apply.</p><p>These are different problems with different solutions. The benchmark numbers measure different things and don&#8217;t add together into one figure.</p><div><hr></div><blockquote><h2>&#128273; Key takeaways</h2><p>&#128450;&#65039; <strong>Two tracks, two different problems</strong>: Claude Code CLI users pay with response quality (context bloat = worse outputs); Claude API users pay with money. The techniques are different, the numbers aren&#8217;t comparable.</p><p>&#128203; <strong>20,000&#8211;30,000 tokens load before you type anything</strong> &#8212; system prompt, CLAUDE.md, memory, MCP tool names, and skill descriptions all enter context at session start. This is your highest-leverage optimization surface.</p><p>&#9986;&#65039; <strong>CLAUDE.md under 500 tokens, path-scoped rules for the rest</strong> &#8212; strip CLAUDE.md to only what Claude can&#8217;t infer from code (91.9% context reduction); move domain-specific rules to <code>.claude/rules/</code> with <code>paths:</code> frontmatter so they&#8217;re invisible until needed (41% overhead reduction documented).</p><p>&#128268; <strong>MCP servers add 10,000&#8211;20,000 tokens of silent overhead per session</strong> &#8212; every connected server loads its tool schema into every request by default; <code>ENABLE_TOOL_SEARCH</code> defers schemas until needed and can recover 50,000&#8211;70,000 tokens in heavy MCP setups. Connecting or disconnecting MCP mid-session also wipes your entire prompt cache.</p><p>&#129693; <strong>Hooks filter noise before Claude sees it</strong> &#8212; a PostToolUse hook on Bash commands can compress a 10,000-line build log to a 200-line error summary before it enters context; the RTK open-source tool automates this and reports 80&#8211;99% reduction on build/test output.</p><p>&#128176; <strong>Claude API: four techniques combined save 89.3%</strong> &#8212; model routing (77.1%), prompt caching (71.5%), multi-turn caching (63.2%), and output budgeting (56.8%) are separate levers that stack. None of them work correctly without deliberate prompt structure.</p></blockquote><h2>Track 1: How Claude Code fills its context window, what loads before you type anything</h2><p>Most people treat Claude Code&#8217;s context window as a black box. It isn&#8217;t. Claude Code loads context in a fixed order at session start, and you can see exactly what&#8217;s in there. Here&#8217;s what enters the window before you type anything:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!G1T2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 424w, /__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 848w, /__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 1272w, /__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!G1T2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png" width="1456" height="821" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:821,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171331,&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://boringbot.substack.com/i/199436005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 424w, /__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 848w, /__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 1272w, /__u/substackcdn.com/image/fetch/$s_!G1T2!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b1209c4-b176-460d-8a57-88f2b1630885_1678x946.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Everything in Claude Code, even before you type a single word</figcaption></figure></div><p>Total base overhead before you type a single character: roughly <strong>20,000&#8211;30,000 tokens</strong> on a clean session. A <a href="https://github.com/anthropics/claude-code/issues/52979">GitHub issue (#52979)</a> confirmed a simple &#8220;hi&#8221; prompt consumed ~31,000 tokens. This is the floor you&#8217;re working with.</p><p>Claude Code does <strong>not</strong> proactively crawl or index your project. </p><p>Files only enter context when: referenced in CLAUDE.md or memory (loaded at startup), you explicitly ask Claude to read them, or Claude decides to search during a task. This means the startup layers, CLAUDE.md, memory, MCP, skills, are where most waste accumulates and where the highest-leverage fixes are.</p><p>Run <code>/context</code> at any point in a session for a live breakdown by category with optimization suggestions. Run <code>/memory</code> to see exactly which CLAUDE.md and memory files loaded at startup.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ACtO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ACtO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1268054,&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://boringbot.substack.com/i/199436005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ACtO!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6937c4ba-18b8-4335-b3cd-250a0c7e5a95_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Every Claude Code session starts with 20,000&#8211;30,000 tokens already consumed before you type a single character. This is what's in that invisible overhead</figcaption></figure></div><div><hr></div><h3>CLAUDE.md: cut to under 500 tokens</h3><p>Every Claude Code session loads your <code>CLAUDE.md</code> into every request. It&#8217;s the most expensive single file you control, paid on every turn, forever. The <a href="https://github.com/hamzafarooq/token-optimizer">token-optimizer benchmark</a> compared a 3,847-token <code>CLAUDE.md</code> (generated by letting Claude document everything it encountered during onboarding) with a 312-token version stripped to only what Claude cannot infer from the code itself. Result: <strong>91.9% context reduction</strong>, no quality regression.</p><p>Cut anything Claude already knows from training: Next.js routing, TypeScript syntax, React patterns. Cut team rosters, meeting schedules, contact info, generic preambles (&#8221;you are a helpful assistant&#8221;). Cut FAQs Claude can&#8217;t act on. Cut anything a new developer could figure out by reading the code for 20 minutes.</p><p>Keep non-obvious build and test commands. Keep architecture decisions that go against framework defaults. Keep project-specific constraints. A useful test: would this genuinely surprise an experienced developer new to the repo? If not, it probably shouldn&#8217;t be there.</p><p>Target: under 500 tokens. Anthropic&#8217;s official guidance is under 200 lines. Some teams run it at 60.</p><p>Three things most people don&#8217;t know about CLAUDE.md:</p><p>HTML comments (<code>&lt;!-- internal note --&gt;</code>) are stripped before injection. They cost zero tokens. Use them for notes to teammates, rationale, anything humans need but Claude doesn&#8217;t.</p><p><code>@path/to/file</code> imports let you split CLAUDE.md across multiple files. But all imported files still load at session start. Splitting is purely organizational, it doesn&#8217;t save tokens.</p><p><code>CLAUDE.local.md</code> (gitignored) is your personal preferences file. Good for local sandbox URLs and notes you don&#8217;t want in the shared config. It loads alongside CLAUDE.md.</p><p>One more: edits to CLAUDE.md during a session don&#8217;t apply until the next restart or <code>/compact</code>. Claude reads it once at startup and that&#8217;s it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!t9fl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!t9fl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1164480,&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://boringbot.substack.com/i/199436005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!t9fl!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc2e7625-bdee-42fb-a96c-6ecc5d3ce96b_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">3,847 tokens vs 312 tokens &#8212; same Claude behavior, 91.9% fewer tokens loaded on every single session.</figcaption></figure></div><p>The <code>token_audit.py</code> tool in <a href="https://github.com/hamzafarooq/token-optimizer">token-optimizer</a> automates the before/after comparison:</p><pre><code><code>python claude_code/token_audit.py --compare claude_code/before/CLAUDE.md claude_code/after/CLAUDE.md
python claude_code/token_audit.py --scan-dir .  # full project scan
</code></code></pre><div><hr></div><h3>.claudeignore vs permissions.deny, know the difference</h3><p><code>.claudeignore</code> signals to Claude that certain files are not relevant. </p><p>It is <strong>advisory</strong>, not enforced, Claude can still read ignored files if it decides they&#8217;re necessary. Multiple <a href="https://github.com/anthropics/claude-code/issues/36163">GitHub issues (#36163, #51105)</a> document this behavior.</p><p>For actual enforcement, use <code>permissions.deny</code> in <code>.claude/settings.json</code>:</p><pre><code><code>{
  "permissions": {
    "deny": ["Read(node_modules/**)", "Read(dist/**)", "Read(*.lock)"]
  }
}
</code></code></pre><p>This blocks the Read tool for those paths entirely. Claude cannot read them regardless of what it decides.</p><p>In practice, use both: <code>.claudeignore</code> handles the signal layer (Claude won&#8217;t proactively include these files), <code>permissions.deny</code> handles the hard block (Claude can&#8217;t read them even if it tries). The benchmark&#8217;s <strong>85.5% context reduction</strong> from <code>.claudeignore</code> was measured on the signal layer. Teams with strict context discipline use <code>permissions.deny</code> in addition.</p><p>Minimum <code>.claudeignore</code> for any project:</p><pre><code><code>node_modules/
dist/
build/
.next/
__pycache__/
*.pyc
*.lock
package-lock.json
yarn.lock
poetry.lock
coverage/
*.generated.*
*.min.js
*.min.css
</code></code></pre><p>Check it into version control, every team member gets the same context discipline automatically.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!R7lG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 424w, /__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 848w, /__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 1272w, /__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!R7lG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png" width="1456" height="459" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:459,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Horizontal bar chart showing context reduction by technique: CLAUDE.md Trim 91.9%, .claudeignore 85.5% &#8212; Claude Code CLI track; API techniques shown separately&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Horizontal bar chart showing context reduction by technique: CLAUDE.md Trim 91.9%, .claudeignore 85.5% &#8212; Claude Code CLI track; API techniques shown separately" title="Horizontal bar chart showing context reduction by technique: CLAUDE.md Trim 91.9%, .claudeignore 85.5% &#8212; Claude Code CLI track; API techniques shown separately" srcset="/__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 424w, /__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 848w, /__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 1272w, /__u/substackcdn.com/image/fetch/$s_!R7lG!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd4313e58-9265-4b59-8a1d-a03206b7869b_1556x491.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: [token-optimizer benchmark](https://github.com/hamzafarooq/token-optimizer) | <a href="https://raw.githubusercontent.com/hamzafarooq/token-optimizer/main/dashboard/screenshot-benchmarks.png">https://raw.githubusercontent.com/hamzafarooq/token-optimizer/main/dashboard/screenshot-benchmarks.png</a></figcaption></figure></div><div><hr></div><h3>Path-scoped rules in .claude/rules/ &#8212; the 41% win almost nobody uses</h3><p><code>.claude/rules/</code> lets you place rules files that load selectively. Rules <strong>without</strong> frontmatter load at session start like a second CLAUDE.md, no savings. Rules <strong>with</strong> <code>paths:</code> frontmatter load only when Claude reads a file matching that pattern, zero token cost until triggered.</p><pre><code><code>---
paths:
  - "src/api/**/*.ts"
---
# API Layer Rules
All endpoints must validate input with Zod schemas.
Response errors must use the shared ApiError class.
Never return raw Prisma errors to the client.
</code></code></pre><p>This rule costs nothing during frontend work, database work, or test writing. It only enters context when Claude first touches a file in <code>src/api/</code>. This is the key insight: <strong>path-scoped rules are invisible until needed</strong>.</p><p>One documented case (<a href="https://zenn.dev/yottayoshida/articles/claude-code-context-cost-structure">Zenn, 2025</a>) reduced always-loaded rule overhead from 1,358 lines to 807 lines &#8212; <strong>41% reduction</strong> &#8212; by: - Converting 5 procedure-heavy rule files into Skills (on-demand only) - Scoping 8 domain-specific rules to their respective directories - Keeping only truly global rules unscoped</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!nLb4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!nLb4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1443589,&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://boringbot.substack.com/i/199436005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nLb4!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5b261a0-efa0-471e-82fd-d2d077bbbe31_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Without path-scoped rules, every session loads every rule regardless of what files you're touching. Move rules into </em><code>.claude/rules/</code><em> subdirectories and they only load when relevant.</em></figcaption></figure></div>
      <p>
          <a href="/__u/boringbot.substack.com/p/how-to-save-millions-in-claude-tokens">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[DeepSeek V4 architecture deep dive]]></title><description><![CDATA[The open-weights frontier has a new contender. This time, the architectural details are too significant to benchmark your way past.]]></description><link>https://boringbot.substack.com/p/deepseek-v4-architecture-deep-dive</link><guid isPermaLink="false">https://boringbot.substack.com/p/deepseek-v4-architecture-deep-dive</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Wed, 13 May 2026 13:03:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!crVO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of building large scale ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Welcome to Edition #36 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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 class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><p>&#127891; Want to <strong>master frontier AI Engineering?</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!RT-g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!RT-g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg" width="1456" height="563" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:563,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:240298,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/197443527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc796ea00-024e-47ee-82c2-99b99fe142f7_1575x672.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Build production-scale <strong>multi-agent ecosystems</strong> using <strong>Google ADK, MCP, and Claude Code Harness</strong>. Learn to solve the <strong>KV cache pressure</strong> of 1M-token contexts by implementing <strong>CSA/HCA hybrid attention</strong> and <strong>FP4 quantization</strong>. Ensure reliability with rigorous <strong>evals and observability</strong> to manage the consistency of complex agentic chains</p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm?promoCode=LENNYSLIST">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>May 30th (15% discount)</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em>t on YouTube</p></li></ul><div><hr></div><h1>DeepSeek V4 Architecture Comparison: MoE Design, Attention Mechanisms, and How It Stacks Up Against V3, Claude Opus, and OpenAI</h1><p><strong>DeepSeek V4</strong> is a high-performance open-weights artificial intelligence model that features a massive <strong>1.6 trillion parameter</strong> architecture. </p><p>It highlights the use of a <strong>Mixture-of-Experts (MoE)</strong> design, which allows the model to activate only a small fraction of its total parameters during use to maintain <strong>cost-efficiency</strong>. </p><p>A major innovation detailed is the <strong>hybrid attention system</strong>, combining two distinct compression methods to manage an expansive <strong>one-million-token context window</strong> with minimal memory requirements. </p><p>The sources contrast two versions, the powerful <strong>V4 Pro</strong> and the agile <strong>V4 Flash</strong>, to help technical architects choose the right size for their specific hardware and speed needs. </p><p>By offering <strong>architectural transparency</strong>, the text positions these models as competitive, auditable alternatives to closed-source options like Claude and OpenAI. </p><p>This article serves as a <strong>technical guide</strong> for engineers looking to deploy frontier-level AI on their own infrastructure.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!crVO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!crVO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1516407,&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://boringbot.substack.com/i/197443527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!crVO!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b8e0b81-f5b6-4989-8266-f3b82668a174_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><blockquote><p>&#9888;&#65039; <strong>Image Disclaimer &amp; Notes</strong></p><p>This diagram is a conceptual reconstruction of the reported DeepSeek V4 architecture based on publicly available technical discussions, community analysis, and early implementation references. </p><p>Some low-level implementation details, including routing internals, layer distributions, tokenizer specifications, and naming conventions may differ from the final official release. </p><p>The figure is intended for educational and illustrative purposes rather than as an official DeepSeek architecture diagram.</p></blockquote><div><hr></div><h2>Introduction: Why architecture-level analysis of DeepSeek V4 can no longer be deferred</h2><p>As I have been reading about DeepSeek v4, most published stays at the benchmark surface: leaderboard positions, MMLU scores, MATH pass rates, and cost-per-million-token comparisons that tell you what the model produces but almost nothing about how it produces it. </p><p>For product managers and casual evaluators, that framing is fine. For senior ML engineers and technical architects making infrastructure commitments that will govern production workloads for the next eighteen to twenty-four months, it is dangerously incomplete.</p><blockquote><p>The choice between <strong>DeepSeek V4 Pro</strong> (1.6 trillion total parameters) and <strong>DeepSeek V4 Flash</strong> (284 billion total parameters) is not simply a throughput-versus-capability trade-off. </p></blockquote><p>The two variants have divergent attention topologies, distinct <strong>KV cache</strong> pressure profiles, and fundamentally different memory access patterns with cascading effects on GPU memory budgeting, batching strategy, and multi-agent serving infrastructure. </p><p>An organization that selects V4 Pro for a long-context document processing pipeline and then discovers mid-deployment that its KV cache management assumptions were calibrated for dense-attention models will face non-trivial re-engineering costs.</p><p>What separates DeepSeek&#8217;s V4 release from Anthropic and OpenAI is architectural transparency with no current closed-source equivalent. </p><p>The published technical report details the <strong>Compressed Sparse Attention (CSA)</strong> and <strong>Heavily Compressed Attention (HCA)</strong> interleaving strategy, the <strong>FP4 Lightning Indexer</strong> that drives top-k block selection in CSA, and the <strong>Manifold-Constrained Hyper-Connections (MCHC)</strong> governing expert connectivity. Neither Anthropic&#8217;s Claude Opus materials nor OpenAI&#8217;s published documentation describe comparable components at this granularity. That transparency is both a competitive signal and an analytical obligation: the details are published, so there is no excuse for practitioners to rely on leaderboard proxies.</p><p>Open-weights frontier quality has closed, and in some benchmarks erased, the performance gap that once justified proprietary lock-in. Organizations that committed to closed-source APIs in 2024 and early 2025 are actively revisiting those decisions. This article provides the architectural evidence those decision-makers need, grounded in what the technical report actually discloses.</p><p><em>[Source: DeepSeek V4 Technical Report, April 2026, parameter counts, context window specifications, and MoE activation ratios for both Pro and Flash variants , primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><blockquote><h2>&#128273; Key Takeaways</h2><p><strong>&#9889;&#65039; V4 Pro vs. Flash are built differently</strong>, DeepSeek V4 comes in two distinct sizes (1.6T and 284B parameters) designed for different deployment budgets, not just different speed preferences.</p><p><strong>&#128221; CSA + HCA replaces standard attention</strong>, DeepSeek V4&#8217;s hybrid attention system handles both short-range and long-range context more efficiently than the grouped query attention used in most competing models.</p><p><strong>&#128170; MoE scaling jumped dramatically from V3</strong>, DeepSeek V4 activates only a small fraction of its total parameters per token, keeping inference costs manageable despite the massive jump in overall model size.</p><p><strong>&#129504; 1-million-token context needs a smarter memory plan</strong>, V4&#8217;s FP4 Lightning Indexer and compressed KV blocks (4&#215; in CSA, 128&#215; in HCA) let the model attend across very long documents at roughly 27% of V3.2&#8217;s FLOPs and 10% of its KV cache.</p><p><strong>&#128640; V4 Pro trades blows with Claude Opus and OpenAI</strong>, On reasoning and long-context benchmarks, V4 Pro sits in the same performance tier as the leading closed-source models while remaining openly available.</p><p><strong>&#11088;&#65039; V4 Flash challenges smaller closed-source models</strong>, For teams that need an efficient, production-ready model without licensing restrictions, V4 Flash is a credible open-weights alternative to proprietary mid-tier options.</p></blockquote><div><hr></div><div><hr></div><h2>1. DeepSeek V4 in context: what changed from V3 and why the gap is larger than it looks</h2><h3>1.1 DeepSeek V3 architectural baseline: what was already impressive</h3><p>To understand V4&#8217;s significance, start with an honest accounting of what V3 already accomplished. <strong>DeepSeek V3</strong> shipped with a <strong>Mixture-of-Experts</strong> architecture totaling approximately 671 billion parameters, activating roughly 37 billion per forward pass, a ratio that made it one of the most compute-efficient open-weights frontier models at its release. Its context window extended to 128,000 tokens, competitive with closed-source offerings at the time and sufficient for most enterprise document processing workloads.</p><p>The mechanism that most distinguished V3 from its contemporaries was <strong>Multi-head Latent Attention (MLA)</strong>. Rather than caching full key-value pairs for every attention head, MLA compresses KV representations into a low-dimensional latent space before caching, then reconstructs the full representation at inference. This reduced KV cache memory requirements significantly without the quality degradation that naive KV quantization introduces. MLA was a genuine innovation, and it earned V3 its position as the dominant open-weights model for much of 2025. <em>[Source: DeepSeek V3 Technical Report, December 2024: <a href="https://arxiv.org/abs/2412.19437">https://arxiv.org/abs/2412.19437</a>]</em></p><p>MLA, for all its cleverness, was a <strong>single-mechanism attention system</strong>. Every transformer layer used the same compressed latent attention approach, applying identical computational strategy to both local syntactic relationships and long-range semantic dependencies. That architectural uniformity is exactly what V4&#8217;s hybrid CSA/HCA system abandons, not as incremental refinement but as a qualitative architectural shift.</p><h3>1.2 The V3-to-V4 scaling jump: parameters, experts, and active compute</h3><p>The headline number for V4 Pro, 1.6 trillion total parameters, invites a misleading interpretation. A jump from 671 billion to 1.6 trillion naively suggests a 2.4&#215; inference cost increase. It does not. </p><p>The activated parameter ratio governs inference cost, and V4 Pro maintains a disciplined relationship between total and activated parameters that preserves economic viability at scale. Based on published figures, V4 Pro activates approximately 49 billion parameters per token during a standard forward pass, roughly 3.1% of total parameters. V4 Flash, at 284 billion total with approximately 13 billion activated per token, achieves an activation ratio near 4.6% reflecting its different optimization target. <em>[Source: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>For context: Mixtral 8&#215;22B activates approximately 39 billion of its 141 billion total parameters per token, an activation ratio near 28%. V4 Pro&#8217;s ~3.1% is a dramatically more aggressive sparsity strategy, viable only because the routing and expert specialization mechanisms have been engineered to maintain quality under extreme sparsity. <em>[Source: Mixtral technical report, Mistral AI, 2024: <a href="https://arxiv.org/abs/2401.04088">https://arxiv.org/abs/2401.04088</a>]</em></p><p>A practitioner allocating GPU budgets for a V4 Pro deployment needs to reason from activated parameters per token, memory bandwidth requirements for loading expert weights, and expert parallelism overhead, not from the 1.6T total figure in press coverage.</p><p>V4 also moves off AdamW for pretraining, using the <strong>Muon optimizer</strong> across more than 32 trillion training tokens &#8212; a notable choice DeepSeek credits for faster convergence and improved training stability at trillion-parameter scale. Pretraining and MoE expert weights are quantized using a mix of <strong>FP8 and FP4</strong> precision with <strong>quantization-aware training (QAT)</strong>, which is what enables the aggressive KV cache compression discussed in Section 4 without the per-token quality degradation that naive post-training quantization typically introduces.</p><p><strong>TABLE 1: DeepSeek V3 vs. V4 Pro vs. V4 Flash, core architectural parameters</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6Wod!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 424w, /__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 848w, /__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6Wod!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png" width="1456" height="892" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:892,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:227421,&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://boringbot.substack.com/i/197443527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 424w, /__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 848w, /__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6Wod!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F99793c71-7fc4-4a33-9f01-88617127c299_1834x1124.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Total parameters and activated parameters sourced from DeepSeek V4 Technical Report, April 2026. Expert count and Top-K routing for V4 Pro and Flash are estimated from architectural descriptions in the technical report; precise values should be verified against the primary source before citing in downstream documentation.</em></p><h3>1.3 What V4 Flash is &#8212; and is not &#8212; designed for</h3><p>A persistent mischaracterization frames V4 Flash as a distilled or compressed version of V4 Pro, essentially V4 Pro with weights pruned and quantized to fit smaller hardware. This is architecturally wrong and operationally misleading. V4 Flash is independently designed, with its own MoE configuration, attention layer interleaving ratios, and expert routing parameters optimized for a different operational regime.</p><p>The deployment scenarios V4 Flash targets are specific: inference workloads where GPU memory is the binding constraint, production endpoints with aggressive tail latency SLAs, and single-node or dual-node deployments where the expert parallelism strategies required for V4 Pro would introduce unacceptable cross-node communication overhead. At 284 billion total parameters with approximately 13 billion activated per token, V4 Flash is deployable on a four-to-eight GPU node configuration economically accessible to organizations that cannot justify multi-node infrastructure.</p><p>The capability trade-off is real but unevenly distributed across task types. V4 Flash&#8217;s gap to V4 Pro on standard reasoning benchmarks (roughly 8&#8211;12 percentage points on most published evaluations) understates its deficit on the hardest long-context retrieval tasks, where V4 Pro&#8217;s larger expert pool and higher-capacity HCA layers confer meaningful advantages. Teams treating V4 Flash as a throughput shortcut to V4 Pro&#8217;s quality will encounter that gap precisely in multi-hop long-document reasoning and complex agentic chains, where quality matters most.</p><div><hr></div><h2>2. CSA and HCA hybrid attention: the core architectural innovation explained</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!unzm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!unzm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Side-by-side attention mechanism diagrams: CSA (Compressed Sparse Attention) with local attention windows on left, HCA (Heavily Compressed Attention) with long-range global attention spans on right, showing interleaving pattern across transformer layers&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Side-by-side attention mechanism diagrams: CSA (Compressed Sparse Attention) with local attention windows on left, HCA (Heavily Compressed Attention) with long-range global attention spans on right, showing interleaving pattern across transformer layers" title="Side-by-side attention mechanism diagrams: CSA (Compressed Sparse Attention) with local attention windows on left, HCA (Heavily Compressed Attention) with long-range global attention spans on right, showing interleaving pattern across transformer layers" srcset="/__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!unzm!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed8817e0-1f82-4a0c-8d4d-3f4c5e0477e2_2560x1396.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Amit Ray | <a href="https://amitray.com/wp-content/uploads/2025/12/DeepSeek-Sparse-Attention-DSA-Mechanism-scaled.jpg">https://amitray.com/wp-content/uploads/2025/12/DeepSeek-Sparse-Attention-DSA-Mechanism-scaled.jpg</a></figcaption></figure></div><h3>2.1 What Compressed Sparse Attention (CSA) does and why it replaces local windowed attention</h3><p><strong>Compressed Sparse Attention</strong> operates on a fundamentally different computational graph than the sliding window attention familiar from Mistral-class models. Sliding window attention restricts each token&#8217;s receptive field to a fixed neighborhood, discarding attention weights outside that window. CSA instead constructs a compressed representation of local context before computing attention, summarizing the semantic content of the neighborhood into a lower-dimensional proxy that is cheaper to attend over without the information loss that pure windowing introduces. Sliding window attention achieves sparsity by ignoring tokens; CSA achieves sparsity by compressing them.</p><p>The computational savings compound across layers. A standard sliding window attention layer with window size w scales as O(n&#183;w) in attention operations, where n is sequence length. CSA reduces the effective dimensionality of the compressed context further, producing savings that matter enormously at V4&#8217;s 1-million-token context window, the difference between a deployable context length and a theoretically appealing one. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro;">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro;</a> see also Longformer: The Long-Document Transformer, Beltagy et al., 2020: <a href="https://arxiv.org/abs/2004.05150;">https://arxiv.org/abs/2004.05150;</a> BigBird, Zaheer et al., 2020: <a href="https://arxiv.org/abs/2007.14062">https://arxiv.org/abs/2007.14062</a>]</em></p><p>The technical lineage connects to Longformer&#8217;s combination of local and global attention, BigBird&#8217;s random attention augmentation, and ETC&#8217;s structured sparsity, but CSA&#8217;s compression step distinguishes it from all predecessors by operating on representational content rather than positional structure. That distinction earns the &#8220;compressed&#8221; label rather than borrowing it for marketing purposes.</p><h3>2.2 How Heavily Compressed Attention (HCA) handles long-range dependencies</h3><p><strong>Heavily Compressed Attention</strong> handles what CSA&#8217;s lighter compression cannot: efficient global attention over the full 1-million-token context. HCA does not attempt full quadratic attention over 1 million raw tokens, that would be computationally intractable regardless of activation sparsity. Instead, HCA applies an <strong>aggressive ~128&#215; compression</strong> along the sequence dimension. After this aggressive compression, the resulting sequence is short enough that <strong>dense attention becomes cheap again</strong> &#8212; HCA drops sparse selection entirely and computes full dense attention over the compressed sequence.</p><p>The distinction between CSA and HCA matters: CSA uses a lighter 4&#215; compression and pairs it with sparse, top-k block selection (via the Lightning Indexer detailed in Section 4); HCA uses much heavier 128&#215; compression and pairs it with dense attention. CSA preserves more positional fidelity for nearby tokens; HCA preserves more global coherence at low cost. In aggregate, V4-Pro at 1M-token context uses only ~27% of single-token inference FLOPs and ~10% of the KV cache compared with DeepSeek V3.2 &#8212; not because either mechanism alone is dramatically cheaper, but because the two are mutually compensating. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>Without HCA&#8217;s selective architecture, a 1-million-token context window would require either full quadratic attention, computationally impossible at scale, or exclusively local-window mechanisms that fail on tasks requiring multi-hop reasoning across distant positions. HCA is the structural solution to a problem that scaling context length alone cannot solve.</p><h3>2.3 The interleaving pattern: how CSA and HCA alternate across transformer layers</h3><p>Which proportion of transformer layers employ CSA versus HCA is one of the most operationally consequential architectural decisions in V4&#8217;s design, and one of the least discussed in mainstream coverage. Early transformer layers build syntactically dense local representations where primary information dependencies are short-range, making CSA&#8217;s local compression appropriate. Deeper layers increasingly require global semantic coherence, where HCA&#8217;s long-range selective attention delivers value.</p><p>The published technical report indicates V4 Pro employs a roughly 3:1 CSA-to-HCA ratio across its transformer depth, with HCA layers concentrated in the latter two-thirds of the network. V4 Flash employs a 4:1 ratio, with fewer HCA layers proportionally, reducing the computational overhead of long-range attention at the cost of some depth in global context integration, consistent with its latency-sensitive optimization target. <em>[CITE: DeepSeek V4 Technical Report, April 2026, flag: exact layer ratios should be verified against primary source before production use in infrastructure planning &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>This ratio has direct serving infrastructure implications practitioners commonly overlook. HCA layers, because they operate on aggressively compressed sequences and perform dense attention over the result, exhibit a different memory access and compute profile than CSA layers do. A batching strategy optimized for uniform-attention architecture will systematically misestimate the latency profile of HCA-heavy deeper layers, producing inaccurate SLA projections for workloads that exercise long-range context heavily.</p><h3>2.4 CSA + HCA vs. grouped query attention in Claude Opus and OpenAI models</h3><p><strong>Grouped Query Attention (GQA)</strong>, the attention mechanism inferred from technical blog posts and verified in community analysis of Claude Opus and OpenAI&#8217;s current GPT-class models, achieves KV cache reduction by grouping multiple query heads to share a single key-value head pair. This reduces distinct KV heads from H to H/G (where G is the group size), producing memory savings that scale linearly with the grouping factor. GQA is well-engineered and delivers a meaningful efficiency gain over vanilla multi-head attention. <em>[CITE: GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints, Ainslie et al., 2023: <a href="https://arxiv.org/abs/2305.13245;">https://arxiv.org/abs/2305.13245;</a> Anthropic Claude technical documentation, 2025&#8211;2026: <a href="https://www.anthropic.com/research">https://www.anthropic.com/research</a>]</em></p><p>GQA optimizes within a fixed computational graph. It reduces the memory cost of caching attention outputs but does not change the fundamental O(n&#178;) attention computation or restructure how the model relates local versus global context. CSA + HCA does not merely reduce cache size, it changes what the model computes. CSA replaces full local attention with compressed-representation attention; HCA replaces full-sequence global attention with retrieved-subset attention. These are different computations with different memory access patterns, different scaling laws at long context, and different implications for the KV cache architecture the serving system must maintain.</p><p>V4&#8217;s long-context efficiency advantages cannot be replicated by applying GQA-style optimizations to a standard dense transformer. The gains are baked into the architecture at a level that requires the full CSA/HCA design commitment, a genuine structural differentiator, not a quantization shortcut a competitor could match with an inference-time optimization patch.</p><div><hr></div><h2>3. Mixture-of-Experts architecture: how DeepSeek V4 scales without scaling inference cost</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!RS8A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 424w, /__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 848w, /__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 1272w, /__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!RS8A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;MoE routing diagram showing token dispatch across expert FFN layers, with top-K routing arrows and expert activation heat map illustrating sparse activation pattern at inference&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="MoE routing diagram showing token dispatch across expert FFN layers, with top-K routing arrows and expert activation heat map illustrating sparse activation pattern at inference" title="MoE routing diagram showing token dispatch across expert FFN layers, with top-K routing arrows and expert activation heat map illustrating sparse activation pattern at inference" srcset="/__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 424w, /__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 848w, /__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 1272w, /__u/substackcdn.com/image/fetch/$s_!RS8A!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6dd5aea-6848-4b3e-a14d-1a0c5b7b742c_2400x1254.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Hugging Face | <a href="https://huggingface.co/blog/assets/moe/thumbnail.png">https://huggingface.co/blog/assets/moe/thumbnail.png</a></figcaption></figure></div><h3>3.1 MoE fundamentals revisited: why expert routing matters at V4 scale</h3><p>The fundamental promise of <strong>Mixture-of-Experts</strong> is the separation of model capacity from per-token compute cost. A dense transformer of N parameters activates all N for every token in every forward pass. An MoE transformer of N total parameters activates only the K experts selected by the routing mechanism for each token, so inference cost scales with activated parameters, not total parameters. At 1.6 trillion total parameters with approximately 49 billion activated per token, V4 Pro delivers the quality of a 1.6T parameter model while paying the inference cost of a model closer to 49B. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>The engineering challenges are non-trivial. Expert routing must select the right experts for each token without access to the full context that would make those selections obvious, the router operates on compressed token representations and must generalize from training to deployment. Load balancing across experts during training is notoriously difficult: without explicit constraints, gradient dynamics concentrate routing on a small subset of high-capacity experts, leaving others undertrained and degrading effective model capacity. These failure modes distinguish a well-engineered MoE from one that looks good on a parameter count sheet but underperforms in production.</p><p>V4 Pro&#8217;s improvement over V3&#8217;s already-strong MoE baseline is measurable in the activation ratio trajectory. V3 activated approximately 37 billion of 671 billion total parameters (~5.5%). V4 Pro&#8217;s ~3.1% activation ratio is a substantial sparsification, sustainable only because the routing innovations in Section 3.2 and the expert connectivity architecture in Section 3.3 maintain quality under conditions that would cause earlier MoE designs to degrade.</p><h3>3.2 DeepSeek V4&#8217;s expert routing innovations: beyond standard Top-K gating</h3><p>Standard top-K gating, where a learned linear router scores all experts for each token and selects the K highest-scoring, exhibits well-documented failure modes at V4 Pro&#8217;s scale. The most consequential is <strong>routing collapse</strong>: under auxiliary-loss-free training regimes, the router gradually concentrates token assignments on a small subset of experts, effectively reducing active model capacity toward the size of those preferred few. Earlier MoE systems addressed this with auxiliary load-balancing losses that penalize uneven routing distributions during training, effective but prone to gradient interference between task loss and load-balancing loss, creating training instability at scale. <em>[CITE: DeepSeek V3 Technical Report, December 2024: <a href="https://arxiv.org/abs/2412.19437">https://arxiv.org/abs/2412.19437</a>]</em></p><p>DeepSeek V4 builds on V3&#8217;s auxiliary-loss-free load balancing, extending it with what the technical report describes as <strong>adaptive routing temperature</strong>, a mechanism that dynamically adjusts the sharpness of the routing distribution based on token-level uncertainty estimates. This encourages broader expert utilization for ambiguous tokens while allowing confident routing where a single expert is clearly superior. The practical result is more even expert utilization across training without the gradient interference of auxiliary losses, translating into better expert specialization and more consistent inference behavior across diverse input distributions.</p><p>V4 also continues and extends V3&#8217;s <strong>fine-grained expert segmentation</strong> and <strong>shared expert</strong> mechanisms. Shared experts, a small pool that receives routing probability mass from all tokens regardless of the router&#8217;s decisions, ensure universal language modeling capabilities are maintained even as specialized experts diverge toward domain-specific representations. Without shared experts, gradient pressure to maintain general language capabilities causes specialized experts to drift toward generalization, eliminating the specialization that justifies having multiple experts at all. <em>[CITE: DeepSeek V3 Technical Report, December 2024: <a href="https://arxiv.org/abs/2412.19437;">https://arxiv.org/abs/2412.19437;</a> DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><h3>3.3 Manifold-Constrained Hyper-Connections: what they are and why they change the MoE story</h3><p><strong>Manifold-Constrained Hyper-Connections (MCHC)</strong> is the least-discussed of V4&#8217;s novel architectural components, which is unfortunate because it addresses one of the most practically significant failure modes in large MoE systems. Standard residual connections add each sublayer&#8217;s output to the residual stream with uniform weight. Hyper-connections parameterize the connectivity between sublayers, allowing the model to learn input-dependent weighting of how much each expert&#8217;s output contributes to the residual stream for each token.</p><p>The <strong>manifold constraint</strong> imposes a geometric restriction on these learned connectivity weights, confining their dynamics to a learned lower-dimensional manifold rather than the full parameter space. This draws on intrinsic dimensionality arguments in deep learning, the observation that effective weight configurations cluster in low-dimensional subspaces. By constraining hyper-connections to this manifold explicitly, MCHC prevents expert connectivity patterns from drifting into high-capacity but training-unstable regions of parameter space, reducing the expert homogenization problem that degrades MoE quality at scale. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro;">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro;</a> see also Intrinsic Dimensionality Explains the Effectiveness of Language Model Fine-Tuning, Aghajanyan et al., 2021: <a href="https://arxiv.org/abs/2012.13255">https://arxiv.org/abs/2012.13255</a>]</em></p><p>The downstream inference consequence is consistency: models trained with effective manifold constraints exhibit lower output variance across semantically similar inputs, which translates into more predictable production behavior. In agentic deployments where a single long-horizon task involves dozens of model calls, variance accumulation across calls is a meaningful quality degradation mechanism. MCHC&#8217;s contribution to inference consistency does not appear in single-call benchmark scores, it is a production reliability property that emerges under sustained deployment, which is precisely why it is absent from the leaderboard comparisons dominating public V4 discussion.</p><h3>3.4 GPU memory and serving infrastructure implications of V4 Pro&#8217;s MoE vs. dense alternatives</h3><p>The full V4 Pro weight set, 1.6 trillion parameters at BF16 precision, requires approximately 3.2 terabytes of GPU memory to hold all weights simultaneously. No single node of current-generation H100 or H200 GPUs (typically 640GB or 1.1TB aggregate VRAM per 8-GPU node) can hold V4 Pro&#8217;s full weights, making multi-node expert parallelism mandatory for full-weight serving. The practical minimum is approximately three to four H200 nodes for full-weight BF16 inference, or two nodes with aggressive FP8 quantization applied to non-activated expert weights. <em>[CITE: DeepSeek V4 infrastructure deployment guide, April 2026: <a href="https://github.com/deepseek-ai/DeepSeek-V4;">https://github.com/deepseek-ai/DeepSeek-V4;</a> community serving benchmarks, April 2026: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>The compensating advantage is compute intensity per forward pass. Because only ~49B parameters are activated per token, V4 Pro&#8217;s arithmetic intensity per token is comparable to a 49B dense model, GPU compute utilization during the active forward pass is far lower than a dense model of equivalent quality would require. This creates a specific economic profile: high capital cost (multi-node GPU memory) but low per-token compute cost, favorable for high-throughput, long-session workloads where amortized memory cost per token is small. The economics invert for low-throughput workloads with short sessions, where fixed multi-node infrastructure cost cannot be amortized over enough tokens to justify the expense against Claude Opus or OpenAI API pricing.</p><p>V4 Flash&#8217;s 284B parameters fit comfortably on a single 8-GPU H200 node with FP8/FP4 quantization, enabling single-node deployment with standard tensor parallelism, a significantly simpler infrastructure commitment that makes V4 Flash the practical choice for organizations without established multi-node GPU serving infrastructure.</p><div><hr></div><h2>4. Lightning Indexer + compressed KV blocks: the KV cache strategy that makes 1M-token context practical</h2><h3>4.1 The KV cache problem at 1 million tokens</h3><p>The <strong>KV cache</strong>, stored key-value pairs from previous positions that enable autoregressive generation without recomputing all previous tokens at each step, scales linearly with sequence length in standard transformer architectures. At 1 million tokens, the memory requirement becomes prohibitive. A rough estimate for a model of V4 Pro&#8217;s layer depth and head configuration places the naive full-sequence KV cache at several hundred gigabytes per request. Even with GQA-style reduction, serving multiple concurrent long-context requests would exhaust GPU memory on any realistic infrastructure configuration.</p><p>DeepSeek V4&#8217;s architectural solution is not a separate memory system bolted onto the attention stack. The KV cache strategy <em>is</em> the CSA + HCA design itself, plus an <strong>FP4 Lightning Indexer</strong> that lives inside CSA layers and drives top-k block selection. KV entries are compressed along the sequence dimension (~4&#215; in CSA, ~128&#215; in HCA), and the Lightning Indexer selects which compressed blocks each query attends over. Reported result at 1M-token context: ~27% of V3.2&#8217;s single-token inference FLOPs and ~10% of V3.2&#8217;s KV cache. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><h3>4.2 How the Lightning Indexer works: FP4 scoring and top-k block selection</h3><p>The <strong>Lightning Indexer</strong> is a lightweight scoring network operating at <strong>FP4 precision</strong> that scores all compressed KV blocks for a given query and selects the top-k blocks for sparse attention computation. Running the indexer at FP4 keeps its compute cost negligible relative to the attention operation itself, which is critical: an indexer that costs as much as the attention it replaces would defeat the purpose. The indexer is trained jointly with V4&#8217;s main weights so that block selection learns to surface the positions actually attended over in practice, not heuristic position-based proxies. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>This is where the CSA + HCA split becomes load-bearing. CSA layers use the Lightning Indexer to attend sparsely over a top-k subset of 4&#215;-compressed blocks. HCA layers skip the indexer entirely &#8212; at 128&#215; compression the sequence is short enough that dense attention is cheaper than selection. Practitioners profiling V4 serving stacks should distinguish these two paths: CSA&#8217;s cost profile is dominated by indexer scoring + sparse gather operations, while HCA&#8217;s is dominated by short-sequence dense matmuls. Optimization strategies that work for one path do not transfer to the other.</p><h3>4.3 Impact on KV cache pressure in multi-agent and long-context deployments</h3><p>The practical significance of this design is most visible in multi-agent deployment scenarios, one of the fastest-growing enterprise AI infrastructure patterns as of May 2026. In a multi-agent architecture where a single long-context document, a legal case file, a codebase, a research corpus, is shared across multiple agent roles, each agent processes overlapping but distinct subsets of the document. With naive full KV caching, each agent maintains its own KV cache for the shared document, multiplying the memory footprint by the number of active agents.</p><p>V4&#8217;s compressed-block design enables <strong>shared compressed KV across agents</strong>: multiple agents accessing the same document can share the compressed block representation and the Lightning Indexer&#8217;s scoring infrastructure, with each agent&#8217;s top-k selection differing by query while the underlying blocks remain a single in-memory copy. GPU memory footprint scales with the size of the compressed block pool plus per-agent indexer state, not with document length multiplied by agent count. For a ten-agent architecture processing a one-million-token document, this is not a marginal optimization &#8212; it is the difference between a feasible memory budget and an infeasible one. <em>[CITE: DeepSeek V4 Technical Report, April 2026 &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro;">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro;</a> DeepSeek V4 serving infrastructure benchmarks, April 2026: <a href="https://github.com/deepseek-ai/DeepSeek-V4">https://github.com/deepseek-ai/DeepSeek-V4</a>]</em></p><p>Almost no published V4 analysis addresses this directly: the architectural cost-efficiency advantage of DeepSeek V4 in production is not primarily about inference FLOPS per token. It is about KV cache pressure dynamics under multi-agent, long-context workloads, a regime where the Lightning Indexer&#8217;s top-k selection and HCA&#8217;s dense-on-compressed approach combine to change the memory scaling law in ways that no benchmark score captures.</p><div><hr></div><h2>5. Benchmark results and performance comparisons: what the numbers actually show</h2><h3>5.1 DeepSeek V4 Pro vs. V3: where the architectural changes translate into measurable gains</h3><p>The performance gap between V4 Pro and V3 is most pronounced on tasks that exercise the capabilities the new architecture specifically targets. On <strong>MATH-500</strong>, V4 Pro scores approximately 96.2 versus V3&#8217;s 90.2, a 6-point improvement reflecting both the larger expert pool and the improved long-range context integration HCA enables for multi-step problem chains. On <strong>MMLU-Pro</strong>, the gap is smaller (approximately 3&#8211;4 percentage points), consistent with the expectation that general knowledge tasks are less sensitive to long-range attention improvements than multi-hop reasoning tasks. <em>[CITE: DeepSeek V4 Technical Report, April 2026, benchmark section &#8212; primary source: <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro">https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro</a>]</em></p><p>On <strong>long-context benchmarks</strong>, specifically RULER, which evaluates retrieval accuracy across context lengths up to 128K tokens, and the newer Long-ROPE evaluation suite extending to 1M tokens, V4 Pro&#8217;s advantage over V3 grows with context length. At 128K tokens, V4 Pro outperforms V3 by approximately 8 percentage points on RULER. At 500K tokens, V3&#8217;s performance has degraded significantly while V4 Pro maintains near-128K accuracy. This is the functional difference between a model that supports long context architecturally (V4) and one that extends it via position embedding extrapolation (V3), and the CSA Lightning Indexer + HCA compression are the mechanisms responsible for that gap.</p><h3>5.2 DeepSeek V4 Pro vs. Claude Opus and OpenAI: honest comparisons across task types</h3><p>Comparing V4 Pro to Claude Opus and OpenAI&#8217;s leading models requires precision about what is being compared. On <strong>standard reasoning benchmarks</strong>, MATH-500, HumanEval, GPQA Diamond, V4 Pro and Claude Opus are within approximately 2&#8211;4 percentage points of each other across most evaluations, with task-specific wins distributed between them. Claims that either model is &#8220;better&#8221; are really claims about task distribution. <em>[Source: Anthropic Claude Opus 4 technical documentation, 2026: <a href="https://www.anthropic.com/claude;">https://www.anthropic.com/claude;</a> LMSYS Chatbot Arena leaderboard, April 2026: </em>https://chat.lmsys.org/<em>]</em></p><p>The more meaningful differentiation appears at extended context lengths. On <strong>1M-token context tasks</strong>, V4 Pro has no direct closed-source competitor, Claude Opus&#8217;s published context window stands at 200K tokens as of April 2026. OpenAI&#8217;s current models support longer contexts but do not publish architectural details about KV cache management at extended lengths, making infrastructure planning for those models necessarily opaque. The ability to audit V4&#8217;s Lightning Indexer block selection and HCA compression behavior, to understand exactly why performance degrades or holds at specific context lengths, is a practical advantage for organizations whose workflows depend on reliable long-context behavior. <em>[CITE: OpenAI model card and technical documentation, April 2026: <a href="https://openai.com/research;">https://openai.com/research;</a> Anthropic Claude technical documentation, April 2026: <a href="https://www.anthropic.com/research">https://www.anthropic.com/research</a>]</em></p><p><strong>TABLE 2: DeepSeek V4 Pro vs. V4 Flash vs. Claude Opus vs. OpenAI, selected benchmarks (April 2026)</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!wmqQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 424w, /__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 848w, /__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!wmqQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png" width="1456" height="579" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3140a952-0248-4621-b2fe-2343419ee588_1816x722.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:579,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:128956,&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://boringbot.substack.com/i/197443527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 424w, /__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 848w, /__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 1272w, /__u/substackcdn.com/image/fetch/$s_!wmqQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3140a952-0248-4621-b2fe-2343419ee588_1816x722.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>[Benchmark figures sourced from DeepSeek V4 Technical Report, April 2026, and independent evaluations published on LMSYS leaderboard and Hugging Face Open LLM Leaderboard as of April 29, 2026. OpenAI and Claude figures drawn from respective official model cards and third-party evaluations. All figures should be verified against primary sources for production decision-making.]</em></p><h3>5.3 DeepSeek V4 Flash vs. mid-tier closed-source models: the efficiency tier</h3><p>V4 Flash&#8217;s positioning against mid-tier closed-source models is compelling for a specific organizational profile: teams that need production-ready, cost-efficient inference without proprietary API dependency. On standard benchmarks, V4 Flash performs comparably to or above models in the GPT-4o-mini and Claude Haiku performance tier while offering full weight access, fine-tuning on proprietary data, and freedom from per-token API pricing at scale. The 284B parameter scale with 13B activated per token is deployable on infrastructure many mid-to-large engineering organizations already operate for other workloads, making the marginal infrastructure cost of adopting V4 Flash lower than the raw parameter count suggests.</p><p>The caveat is operational: V4 Flash requires ML infrastructure competence that closed-source API consumption does not. Organizations evaluating V4 Flash should honestly assess whether their MLOps maturity supports model weight management, serving optimization, and quantization tuning. A naively deployed V4 Flash will underperform its potential and may not justify the infrastructure investment over a well-tuned API integration.</p><div><hr></div><h2>6. Practitioner guidance: model selection and infrastructure decisions</h2><h3>For senior ML engineers and technical architects</h3><p>The central decision for senior ML engineers evaluating DeepSeek V4 is not V4 versus a closed-source alternative. It is which V4 configuration best matches the infrastructure constraints and workload profile of their specific deployment, and whether the architectural commitments that configuration requires are ones their organization can sustain.</p><p>If your workload involves documents or conversation histories exceeding 200K tokens, codebases, legal corpora, extended research documents, long-horizon agentic sessions, V4 Pro&#8217;s CSA + HCA hybrid attention is the only available option (open or closed-source) that handles this regime with published, auditable mechanisms. The infrastructure cost is significant: plan for a minimum of three H200 nodes for full-weight BF16 inference, or two nodes with FP8 quantization and careful monitoring of quantization-induced degradation on your specific task distribution. Expert parallelism requires low-latency inter-node interconnect, NVLink fabric or equivalent, to avoid cross-node communication overhead becoming a throughput bottleneck. Profile your workload&#8217;s HCA-versus-CSA layer balance before committing to a batching strategy: if your inputs are predominantly short-context (under 32K tokens), you are paying for HCA capacity you will not use, and V4 Flash is likely the more economical choice.</p><p>For workloads in the 32K&#8211;200K token range, the V4 Pro versus V4 Flash decision reduces to a quality-versus-infrastructure-cost calculation specific to your quality SLA. V4 Flash&#8217;s performance deficit on long-context retrieval tasks in this range is real but not uniform, if your task distribution is dominated by extraction and summarization rather than multi-hop reasoning, V4 Flash&#8217;s deficit may be within acceptable tolerance. Conduct targeted evaluation on your actual task distribution rather than relying on published benchmark averages that aggregate across heterogeneous task types.</p><p>On serving stack configuration: implement KV cache management aware of CSA&#8217;s compressed-block layout and HCA&#8217;s heavily-compressed dense path. Standard static prefix caching optimizations developed for dense-attention models will mis-allocate GPU memory for V4 deployments, over-provisioning for positions the Lightning Indexer would otherwise prune and under-provisioning for HCA&#8217;s short-sequence dense matmuls. DeepSeek&#8217;s published serving infrastructure repository includes CSA/HCA-aware KV cache configuration templates that should be the starting point for production deployment. Profile MCHC behavior under your target batch size to verify expert routing load is balanced across the expert pool. Routing imbalance invisible in single-request benchmarks can become a significant throughput degradation mechanism under production batch loads.</p><p>For fine-tuning: MCHC&#8217;s manifold constraints have implications for parameter-efficient fine-tuning. Standard LoRA applied to expert weight matrices may not respect the manifold geometry MCHC maintains during pretraining, potentially degrading the inference consistency properties that MCHC provides. Use DeepSeek&#8217;s published MCHC-aware fine-tuning guidelines as the baseline, and validate fine-tuned model consistency under multi-call agentic workloads before production deployment.</p><h3>For technical architects and infrastructure decision-makers</h3><p>Whether open-weights models have reached frontier quality is settled, V4 Pro&#8217;s benchmark parity with Claude Opus on most standard evaluations confirms it. The real question is whether the total cost of ownership for a V4 deployment, infrastructure capital, MLOps operational overhead, and engineering time to configure and maintain a V4 serving stack, undercuts the total cost of the closed-source API commitment it replaces.</p><p>The break-even calculation favors V4 deployment at higher token volumes. Below approximately 100 million tokens per month, closed-source API pricing is typically more economical than the capital and operational costs of V4 infrastructure. Above approximately 500 million tokens per month, a threshold many production agentic applications exceed, the economics typically invert, and V4&#8217;s open-weights availability becomes financially compelling. At 1 billion tokens per month or above, the financial case is strong enough that the comparison is primarily about risk tolerance and MLOps capability rather than economics.</p><p>Data sovereignty deserves serious weight in architectural decisions. Claude Opus and OpenAI&#8217;s models process your organization&#8217;s data on their infrastructure under their data use policies. V4 deployed on your infrastructure does not, every token of every request stays within your security perimeter. For organizations in regulated industries where data residency requirements are legally binding, V4&#8217;s open-weights model may be the only viable compliance path for frontier-quality AI capability, not merely a cost-competitive alternative.</p><p>The architectural transparency argument has a practical production dimension beyond compliance. When a V4 deployment exhibits unexpected behavior on a specific input class, you can trace it to the relevant architectural mechanism, examine which experts are activated, how the Lightning Indexer is scoring compressed blocks, whether HCA&#8217;s dense-on-compressed path is integrating long-range context correctly. When Claude Opus exhibits unexpected behavior, you file a support ticket. For organizations where model behavior auditability is a production reliability requirement, V4&#8217;s transparency is a material operational advantage that no benchmark comparison captures.</p><div><hr></div><h2>7. Frequently asked questions</h2><p><strong>Q. What is the most important architectural difference between DeepSeek V4 Pro and V4 Flash for infrastructure planning purposes?</strong></p><p>The most consequential difference is not parameter count but attention layer interleaving ratio and its downstream effect on KV cache pressure. V4 Pro&#8217;s lower CSA-to-HCA ratio (approximately 3:1) means a larger proportion of its forward passes exercise the heavily-compressed dense attention path, requiring serving infrastructure configured for HCA&#8217;s short-sequence matmul profile. V4 Flash&#8217;s higher CSA dominance (approximately 4:1) means its latency profile leans more heavily on Lightning Indexer scoring + sparse gather, simplifying serving stack configuration. For teams without established MoE serving infrastructure, V4 Flash&#8217;s simpler memory access pattern is a meaningful operational advantage beyond its lower absolute memory footprint.</p><p><strong>Q. How does DeepSeek V4&#8217;s KV cache strategy compare to standard eviction strategies used in most long-context serving systems?</strong></p><p>Standard KV cache eviction strategies, sliding window eviction, recency-based eviction, static prefix caching, make eviction decisions based on token position or recency without reference to relevance to the current generation task. V4 takes a different approach: rather than evicting, it compresses. CSA keeps all KV entries but at 4&#215; compression along the sequence dimension, then uses an FP4 Lightning Indexer (trained jointly with V4&#8217;s main weights) to select the top-k compressed blocks per query for sparse attention. HCA layers go further, applying 128&#215; compression and computing dense attention on the much shorter compressed result. At sequence lengths above 100K tokens, the difference is substantial: heuristic eviction discards semantically critical distant tokens that happen to be old, while V4&#8217;s compressed blocks retain a lower-fidelity representation of every position and let the indexer surface the relevant ones. The design is architecturally more complex but produces significantly better long-context retrieval accuracy for tasks where critical information is distributed non-uniformly across the context.</p><p><strong>Q. Is DeepSeek V4 Pro a viable replacement for Claude Opus in enterprise production deployments?</strong></p><p>On benchmark performance, V4 Pro is within statistical noise of Claude Opus on most standard evaluations, making it technically credible for organizations whose quality requirements are captured by those benchmarks. The more relevant question is organizational: V4 Pro deployment requires MLOps infrastructure investment, security and compliance evaluation of open-weights model governance, and engineering capacity to configure and maintain a multi-node serving stack. Organizations with mature ML infrastructure and high token volumes will likely find V4 Pro a cost-effective and capable replacement. Organizations with limited ML engineering capacity, low token volumes, or stringent compliance requirements around model governance should evaluate the full total-cost-of-ownership comparison rather than treating benchmark parity as the deciding factor.</p><p><strong>Q. What does Manifold-Constrained Hyper-Connections mean for fine-tuning V4 on proprietary data?</strong></p><p>MCHC imposes geometric constraints on expert connectivity weight space during pretraining that improve training stability and inference consistency. When fine-tuning V4 on proprietary data, standard LoRA applied naively to expert weight matrices may introduce perturbations that violate the manifold geometry MCHC established, potentially degrading the inference consistency properties that MCHC provides. DeepSeek&#8217;s published fine-tuning guidelines recommend MCHC-aware LoRA configurations that constrain updates to perturbations compatible with the manifold structure. Full fine-tuning with manifold constraints maintained is more computationally expensive but produces fine-tuned models that retain V4&#8217;s base inference consistency properties more reliably than unconstrained LoRA approaches.</p><p><strong>Q. How does DeepSeek V4&#8217;s Mixture-of-Experts design compare to Mixtral 8&#215;22B in terms of inference efficiency?</strong></p><p>Mixtral 8&#215;22B activates approximately 39 billion of 141 billion total parameters per token (~28% activation ratio) with a relatively simple top-2 routing mechanism. V4 Pro activates approximately 49 billion of 1.6 trillion total parameters per token (~3.1%), sustained by significantly more sophisticated routing, adaptive temperature gating, shared experts, fine-grained segmentation, and MCHC expert connectivity constraints. The absolute activated parameter counts are within striking range of each other, but V4 Pro achieves that activation level while maintaining the quality of a 1.6T parameter model &#8212; over 11&#215; more total capacity than Mixtral. The comparison is not that V4 activates fewer parameters in absolute terms, it is that V4 achieves far higher model quality per activated parameter.</p><div><hr></div><h2>Conclusion: the architectural evidence for your infrastructure decision</h2><p>The practitioner gap in current DeepSeek V4 coverage is not a data deficit, the technical report publishes more architectural detail than any competing frontier model. The gap is analytical: almost no published analysis connects CSA/HCA interleaving ratios to serving latency profiles, the FP4 Lightning Indexer&#8217;s top-k selection to multi-agent KV cache dynamics, or MCHC manifold constraints to fine-tuning stability. These connections determine whether an architecture-level model selection decision produces a production infrastructure that performs as expected or requires expensive re-engineering six months after deployment.</p><p>For high-volume, long-context, or multi-agent workloads where token volumes justify owned infrastructure, V4 Pro&#8217;s architectural design differs from closed-source alternatives in ways that benchmark scores do not capture, specifically in long-context memory management efficiency, inference consistency under sustained agentic deployment, and the operational auditability that architectural transparency enables. V4 Flash is the right choice for organizations with tighter infrastructure budgets, latency-sensitive endpoints, or workloads that do not require the full 1M-token context capability. The right answer is determined by the interaction between your workload profile and your infrastructure capacity, not by a benchmark leaderboard position.</p><div><hr></div><p><strong>If you are currently in an infrastructure evaluation comparing DeepSeek V4 Pro or Flash against Claude Opus or an OpenAI offering, download the DeepSeek V4 technical report and map the CSA/HCA compression ratios and Lightning Indexer top-k budget against your projected KV cache footprint at your target context length and batch size before finalizing the comparison. That single calculation will tell you more about the right architecture for your workload than any leaderboard score.</strong></p><p>Sources</p><ol><li><p><a href="/__u/substackcdn.com/image/fetch/$s_!kZDt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbbb885-f965-4f56-80fe-2b7e28842237_2254x1258.png">https://substackcdn.com/image/fetch/$s_!kZDt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cbbb885-f965-4f56-80fe-2b7e28842237_2254x1258.png</a></p></li><li><p><a href="https://amitray.com/wp-content/uploads/2025/12/DeepSeek-Sparse-Attention-DSA-Mechanism-scaled.jpg">https://amitray.com/wp-content/uploads/2025/12/DeepSeek-Sparse-Attention-DSA-Mechanism-scaled.jpg</a></p></li><li><p><a href="https://huggingface.co/blog/assets/moe/thumbnail.png">https://huggingface.co/blog/assets/moe/thumbnail.png</a></p></li><li><p><a href="https://behope.com/cdn/shop/files/4x.png?v=1769012471&amp;width=1920">https://behope.com/cdn/shop/files/4x.png?v=1769012471&amp;width=1920</a></p></li></ol><div><hr></div><h2><strong>&#128161; Want to share your work on my socials with my 15k+ audience?</strong></h2><p><em>If you build a project you are excited about, I will be too.</em></p><p><em>Trust me! I love seeing people build cool stuff. To share it, you can contact me <a href="mailto:hamza@traversaal.ai">here</a>.</em></p><div><hr></div><h2><strong>Did you enjoy this post?</strong></h2><p>Here are some other AI Agents posts you might have missed:</p><ul><li><p><a href="/__u/boringbot.substack.com/p/kv-caching-and-speculative-decoding">KV Caching and Speculative Decoding</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key">A deep dive into Quantization: Key to Open Source LLM Deployments</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></p></li><li><p><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></p></li></ul><div><hr></div><p><em>You&#8217;re receiving this because you&#8217;re part of our mailing list. We don&#8217;t spam or sell your information. To unsubscribe, use the link below.</em></p><p><strong>Ready to take it to the next level?</strong> Check out my AI Agents for Enterprise course on Maven and be part of something bigger, join hundreds of builders developing enterprise-level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!RT-g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!RT-g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg" width="1456" height="563" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:563,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:240298,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/197443527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc796ea00-024e-47ee-82c2-99b99fe142f7_1575x672.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!RT-g!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1f7b3e47-1531-4706-92ae-2c577463281a_1575x609.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm?promoCode=LENNYSLIST">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>May 30th (15% discount)</strong></em></p><div><hr></div><p><em>You&#8217;re receiving this because you&#8217;re part of our mailing list. We don&#8217;t spam or sell your information. To unsubscribe, use the link below.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI Agent Harnesses Explained: Architecture, Ecosystem, and Multi-User Design]]></title><description><![CDATA[Models think. Harnesses are what give models hands, scope their memory, and decide what they're allowed to touch.]]></description><link>https://boringbot.substack.com/p/ai-agent-harnesses-explained-architecture</link><guid isPermaLink="false">https://boringbot.substack.com/p/ai-agent-harnesses-explained-architecture</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Fri, 08 May 2026 18:32:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vQq0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of experience in building large scale Machine Learning ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Today, I am joined by <a href="https://www.linkedin.com/in/aishwarya-ashok/">Aishwarya</a>, a product builder obsessed with turning ideas into working tools, especially with AI in the mix.</p><p>Welcome to Edition #35 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p><div class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><p style="text-align: center;">&#127891; Want to learn about Claude Code?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!SV7k!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 424w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 848w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SV7k!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png" width="1456" height="490" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:490,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 424w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 848w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SV7k!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef62da82-92ac-4e9e-b1be-889f64644ab8_1600x538.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join us on May 30th, for a one-day workshop on <strong>Claude Code </strong>and ship your first agent!</p><p><a href="https://maven.com/boring-bot/claude-code-in-practice">Sign up today</a></p><div><hr></div><h1>AI Agent Harnesses Explained: Architecture, Ecosystem, and Multi-User Design</h1><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fdHm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fdHm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg" width="1337" height="741" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:741,&quot;width&quot;:1337,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:228348,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/196932791?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5bab4a15-2de7-4d1a-8b9e-21fb6bdcaf58_1337x800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!fdHm!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F494f3afe-b01a-4729-82ac-922670230908_1337x741.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p></p><blockquote><h2>Key Takeaways</h2><p><strong>Agent = Model + Harness.</strong> Every production agent is two systems running in concert: a language model generating tool calls, and a harness deciding which of those calls are actually allowed to execute.</p><p><strong>Harnesses do the work models cannot.</strong> File access, sandboxed execution, and audit logging live in the harness layer. The model never directly touches your filesystem &#8212; the harness is the only code that does.</p><p><strong>Codex and Claude Code take opposite bets.</strong> <a href="https://github.com/openai/codex">OpenAI&#8217;s Codex</a> isolates by spinning up cloud containers per task; <a href="https://code.claude.com/docs/en/overview">Anthropic&#8217;s Claude Code</a> runs locally and asks explicit consent on each consequential action. Both are valid for different workflows.</p><p><strong>Multi-user is where harness design gets hard.</strong> Concurrent users force per-user permission inheritance, namespaced memory, and tamper-evident audit logs. Architectures that worked for one developer fail subtly when ten share an instance.</p><p><strong>Safety lives in the harness, not the model.</strong> If you&#8217;re trusting the model to refuse bad actions, you have no safety. Refusals only count when the harness validates the tool-call schema and rejects it before execution.</p><p><strong>Harness governance is now an org-design problem.</strong> Who configures the tool registry, who approves writes to shared memory, and who reviews audit logs are policy questions. Treating them as DevOps tasks is how teams end up with no policy at all.</p></blockquote><div><hr></div><h2>Introduction</h2><p>By May 2026 the limiting factor for production AI coding agents has stopped being the model. </p><p>Frontier coding models post 60%+ on <a href="https://www.swebench.com/">SWE-bench Verified</a> and ship million-token contexts. The pieces that actually decide whether a team ships agent-powered features or produces expensive incidents are the runtime wrapped around the model: filesystem permissions, sandbox boundary, rollback path, audit log, per-user memory scope. That runtime is the <strong>agent harness</strong>.</p><p>The shape of the problem is captured in a one-line formula: <strong>Agent = Model + Harness</strong>. </p><p>The model is the inference engine. It reads tokens, generates structured tool calls, and otherwise does nothing in the world. The harness is the execution environment that takes those calls, validates them, runs them inside an isolated workspace, and feeds structured results back. Anthropic&#8217;s own <a href="https://www.anthropic.com/engineering/claude-code-best-practices">Claude Code best-practices post</a> treats the harness as the layer where safety properties get enforced rather than decoratively applied around an already-safe model.</p><p>In 2026 the harness market has clarified into two reference designs. <a href="https://github.com/openai/codex">OpenAI&#8217;s Codex</a> ships an open-source CLI plus a cloud agent that spins up a fresh container per task, isolating concurrent runs through process boundaries rather than coordination logic. <a href="https://code.claude.com/docs/en/overview">Anthropic&#8217;s Claude Code</a> ships a terminal-resident harness that runs locally and asks explicit consent on each consequential action, treating the developer as a co-signer on every meaningful tool call. They are not competitors so much as opposite design bets, useful precisely because they map cleanly to different workflow profiles.</p><p>What follows is a practitioner-grade breakdown of what an agent harness is, the five things it must do, how Codex and Claude Code actually implement them, and the design assumptions that break the moment you have ten developers sharing an instance instead of one.</p><div><hr></div><h2>1. What Is an AI Agent Harness? The Formula Most Teams Get Half Right</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!IhQP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 424w, /__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 848w, /__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!IhQP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp" width="800" height="533" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:533,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Side-by-side comparison illustration: left panel shows a raw LLM with only text input/output, right panel shows the same model wrapped in a harness with tool call arrows, memory blocks, and a sandbox boundary&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Side-by-side comparison illustration: left panel shows a raw LLM with only text input/output, right panel shows the same model wrapped in a harness with tool call arrows, memory blocks, and a sandbox boundary" title="Side-by-side comparison illustration: left panel shows a raw LLM with only text input/output, right panel shows the same model wrapped in a harness with tool call arrows, memory blocks, and a sandbox boundary" srcset="/__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 424w, /__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 848w, /__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!IhQP!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb1be1533-bde2-44dd-89b6-46c518da60a3_800x533.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Analytics Vidhya | <a href="https://cdn.analyticsvidhya.com/wp-content/uploads/2025/12/image-1.webp">https://cdn.analyticsvidhya.com/wp-content/uploads/2025/12/image-1.webp</a></figcaption></figure></div><h3>1.1 The Agent = Model + Harness formula unpacked</h3><p>The model is the inference engine: it processes tokens and generates a probability-weighted output sequence. It has no native ability to open a file, remember last Tuesday&#8217;s refactor, or refuse to delete a production database. The <strong>harness</strong> is the surrounding execution environment that gives the model hands, it intercepts model-generated tool calls, routes them through a permission layer, executes them in a controlled environment, and feeds structured results back into the model&#8217;s context. Neither component is optional: a model without a harness is a sophisticated autocomplete engine, and a <a href="https://martinfowler.com/articles/harness-engineering.html">harness</a> without a capable model is an empty scaffold.</p><p>Consider a surgical robot. The AI model is the surgeon&#8217;s decision-making intelligence, it perceives the situation and determines the action. The robotic arm is the harness, it makes contact with the physical world. The sterilization protocols, motion envelope limits, force sensors, and logging systems built into that arm aren&#8217;t surgeon responsibilities; they&#8217;re harness responsibilities. A brilliant surgeon operating a poorly built arm is dangerous. A well-built arm with a weak decision system is also dangerous. Both halves matter.</p><p>Most teams in 2024 and early 2025 invested heavily in the model half, selecting frontier models, tuning prompts, evaluating outputs, while treating the harness as something they&#8217;d build out later. The teams who built rigorous harness infrastructure are the ones running agents confidently in production now.</p><h3>1.2 What the harness actually does: the five core responsibilities</h3><p>Every production harness, regardless of implementation language or deployment model, must fulfill five core responsibilities.</p><p>First, <strong>tool execution</strong>: the harness intercepts model-generated tool calls and translates them into real system operations, file writes, shell commands, API invocations, then returns structured results to the model&#8217;s context.</p><p>Second, <strong>memory and context management</strong>: the harness decides what the agent remembers across turns, tasks, and sessions, including how it summarizes, evicts, and retrieves prior context.</p><p>Third, <strong>sandboxing</strong>: the harness isolates agent execution so that a malformed tool call, an adversarial prompt injection, or a simple programming error cannot cascade into irreversible damage to the systems the agent is operating on.</p><p>Fourth, <strong>state persistence</strong>: the harness maintains the agent&#8217;s working environment, open files, branch state, task progress, across interrupted or resumed tasks, so an agent can be paused and restarted without losing coherent context.</p><p>Fifth, <strong>permission enforcement</strong>: the harness determines which tools, files, repositories, and external APIs the agent is authorized to access, and enforces those boundaries at execution time rather than trusting the model to self-police.</p><p>These are architectural invariants. Any production agent system missing one is operating with either an open attack surface or an uncontrolled blast radius.</p><h3>1.3 The spectrum of harness sophistication</h3><p>Harnesses exist on a maturity spectrum, and knowing where your current implementation sits is the first step toward knowing what to build next.</p><p><strong>Level 0 (Bare Invocation):</strong> The model receives a prompt and returns text. A human reads that text and manually executes any suggested actions. No harness infrastructure at all, just a chat interface and a clipboard.</p><p><strong>Level 1 (Tool-Calling Wrapper):</strong> The model can invoke a predefined tool schema, and a thin wrapper executes those calls. No persistent memory between sessions, no sandboxing, no rollback. A mistake is permanent until a human fixes it manually.</p><p><strong>Level 2 (Session-Aware Harness):</strong> Persistent memory within a session, basic rollback via snapshotting, and sandboxed execution for a single concurrent user. This is roughly where most well-engineered individual developer tooling sat in 2025.</p><p><strong>Level 3 (Multi-User Production Harness):</strong> Full per-user execution isolation, scoped permission matrices, shared audit logs with per-user attribution, and robust concurrent agent support. This is what Codex and Claude Code deliver today, and it&#8217;s the baseline any serious engineering organization needs to be targeting.</p><h3>1.4 Harness vs. framework vs. orchestrator: clearing up the confusion</h3><p>Three terms regularly get conflated in practitioner conversations, and conflating them produces architectural mistakes.</p><p>An <strong>AI framework</strong>, LangChain, LlamaIndex, CrewAI, is a developer library that provides abstractions for building agent pipelines. It helps you wire together components, define chain-of-thought flows, and integrate with vector stores. It does not sandbox tool calls or enforce permissions. It&#8217;s a construction kit, not a job site.</p><p>An <strong>orchestrator</strong>, Temporal, Prefect, Airflow used in agent pipeline contexts, manages task sequencing, retries, and workflow state. It doesn&#8217;t understand agent-specific concerns like memory scoping, tool call injection prevention, or per-user isolation.</p><p>A <strong>harness</strong> is the runtime environment that actually executes agent actions, enforces constraints, manages memory, and provides the safety boundary between the model and the systems it operates on. A sophisticated harness may use a framework to structure its agent logic and an orchestrator to manage task queuing, but the harness is the higher-level concept that contains both.</p><p>If the model is a contractor: the framework is the project management software (Jira, Linear), the orchestrator is the job scheduler, and the harness is the actual job site, with locked tool cabinets, safety equipment, a building permit on the wall, and a foreman checking credentials before any tool leaves the shelf.</p><div><hr></div><h2>2. Inside the Machine: Core Architectural Components of a Production Harness</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vQq0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 424w, /__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 848w, /__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vQq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png" width="1400" height="788" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:788,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Technical architecture diagram of a production AI agent harness, showing layered components: tool execution engine, memory store (short-term/long-term), sandbox runtime, permission matrix, audit log, and API gateway &#8212; connected in a labeled system diagram&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Technical architecture diagram of a production AI agent harness, showing layered components: tool execution engine, memory store (short-term/long-term), sandbox runtime, permission matrix, audit log, and API gateway &#8212; connected in a labeled system diagram" title="Technical architecture diagram of a production AI agent harness, showing layered components: tool execution engine, memory store (short-term/long-term), sandbox runtime, permission matrix, audit log, and API gateway &#8212; connected in a labeled system diagram" srcset="/__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 424w, /__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 848w, /__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vQq0!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff781ef3-17a1-4caf-b011-32ce9971209b_1400x788.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Medium | <a href="https://miro.medium.com/v2/resize:fit:1400/1*pmFIVazTGuvD2NDsunIqHw.png">https://miro.medium.com/v2/resize:fit:1400/1*pmFIVazTGuvD2NDsunIqHw.png</a></figcaption></figure></div><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/ai-agent-harnesses-explained-architecture">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Code: Skills, Subagents, Hooks, Plugins, and Harnesses for Production Multi-Agent Workflows]]></title><description><![CDATA[A deep dive into all the fun topics of Claude Code]]></description><link>https://boringbot.substack.com/p/claude-code-skills-subagents-hooks</link><guid isPermaLink="false">https://boringbot.substack.com/p/claude-code-skills-subagents-hooks</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Tue, 05 May 2026 15:03:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!m_9o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3679340b-fed2-45e9-94b2-9911bee837f3_1682x646.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of experience in building large scale Machine Learning ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Today, I am joined by <a href="https://www.linkedin.com/in/aishwarya-ashok/">Aishwarya</a>, a product builder obsessed with turning ideas into working tools, especially with AI in the mix.</p><p>Welcome to Edition #34 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><p style="text-align: center;">&#127891; Want to learn about Claude Code?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!i96e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 424w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 848w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!i96e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png" width="728" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7715dbd-4342-4700-82af-703f872cea66_1591x656.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 424w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 848w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join us on May 8th, for a one-day workshop on <strong>Claude Code </strong>and ship your first agent!</p><p><a href="https://maven.com/boring-bot/gen-ai-bootcamp-for-leaders">Sign up today</a></p><p><em>Two engineering teams. Same Claude Code. Completely different outcomes. The gap isn&#8217;t the model &#8212; it&#8217;s knowing which primitive to reach for.</em></p><h1>Claude Code Agents Explained: Skills, Subagents, Hooks, Plugins, and Harnesses for Production Multi-Agent Workflows</h1><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!jQTQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 424w, /__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 848w, /__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!jQTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png" width="520" height="1228" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1228,&quot;width&quot;:520,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:366361,&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://boringbot.substack.com/i/196289465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 424w, /__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 848w, /__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 1272w, /__u/substackcdn.com/image/fetch/$s_!jQTQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c982e67-a28f-4b66-b74d-cab3ea85f040_520x1228.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Claude Code official documentation &#8212; code.claude.com | <a href="http://localhost:8080/output/img-hooks-lifecycle.svg">img-hooks-lifecycle.svg</a></figcaption></figure></div><div><hr></div><h2>Introduction</h2><p>Most developers hit a wall somewhere around their third or fourth Claude Code workflow. Individual agents work. The problem is getting them to work <em>together</em> &#8212; without context blowout, unpredictable ordering, or a debugging session that consumes the entire sprint.</p><p>The root cause is almost always the same: practitioners are using the right tools in the wrong layer. A behavioral constraint that should be a hook gets written into a system prompt. A reusable workflow that should be a skill gets copied and pasted into every conversation. A task that belongs in a subagent ends up in the main session and fills the context window with logs nobody will reference again.</p><p>Claude Code gives you six distinct primitives: </p><ul><li><p>CLAUDE.md (persistent context), </p></li><li><p>skills, </p></li><li><p>plugins, </p></li><li><p>subagents, </p></li><li><p>hooks, and </p></li><li><p>the harness. </p></li></ul><p>Each has a specific job. Mixing them up doesn&#8217;t just make code harder to maintain &#8212; it produces agent systems that behave inconsistently, cost more than they should, and fail in ways that are hard to reproduce.</p><p>This article maps the full stack. You&#8217;ll get the isolation spectrum mental model first (the single clearest way to understand when to use what), then a deep dive on each primitive, starting with skills &#8212; the one most teams discover last despite needing it first.</p><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><p>&#129513; <strong>Skills are the missing primitive most teams overlook.</strong> They run inside your current context window, load only when needed, and replace the pattern of pasting the same instructions into every conversation.</p><p>&#129693; <strong>Hooks give you deterministic control points.</strong> Unlike CLAUDE.md instructions, hooks enforce behavior architecturally &#8212; a hook that blocks a tool call cannot be reasoned around.</p><p>&#128268; <strong>The plugin/subagent confusion kills otherwise good architectures.</strong> Plugins extend what Claude can <em>touch</em>; subagents extend how Claude <em>reasons</em>. Getting this backwards produces designs that collapse at scale.</p><p>&#127959;&#65039; <strong>Subagents protect your main context window.</strong> They do isolated work and return a summary &#8212; the exploration noise never lands in your primary session.</p><p>&#129309; <strong>Agent teams are experimental and fundamentally different from subagents.</strong> They run in separate processes, communicate directly with each other, and coordinate via a shared task list. Subagents can&#8217;t do any of that.</p><p>&#9729;&#65039; <strong>The harness is where institutional knowledge lives.</strong> Every team convention that currently exists in a senior engineer&#8217;s head can be encoded as enforced logic in a harness &#8212; and that&#8217;s the whole point.</p></blockquote><div><hr></div><h2>1. The isolation spectrum: the mental model that cuts through the confusion</h2><p>Before diving into individual primitives, there&#8217;s one diagram worth committing to memory:</p><pre><code><code>Skills &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472; Subagents &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472; Agent Teams
(Same Context)    (Isolated Context)    (Separate Process)
  Low cost              &#8597;                  High isolation
  Fast                  &#8597;                  Parallelism
</code></code></pre><p>This spectrum describes the fundamental trade-off in every Claude Code design decision. The further right you go, the more isolation and parallelism you get &#8212; and the more overhead you pay. The further left, the cheaper and faster, but everything shares context.</p><p><strong>Skills</strong> sit at the left end. They load into your current conversation and stay there. Claude sees the instructions alongside everything else in the session.</p><p><strong>Subagents</strong> sit in the middle. They run in their own context window, do their work, and return a summary to the main agent. What happened inside the subagent doesn&#8217;t pollute your main session.</p><p><strong>Agent teams</strong> sit at the right end. Each teammate is a separate Claude Code process. They share a task list and can message each other directly &#8212; not just report back to the main agent. As of this writing, agent teams are experimental and require an environment variable to enable.</p><p>The full hierarchy looks like this:</p><pre><code><code>Harness              &#8592; the runtime (you build one or live inside Claude Code's)
  &#9492;&#9472;&#9472; Main Agent     &#8592; runs inside the harness
        &#9500;&#9472;&#9472; Skills   &#8592; in-context instructions, same window
        &#9500;&#9472;&#9472; Subagents &#8592; isolated workers, one-way comms back
        &#9492;&#9472;&#9472; Agent Teams &#8592; separate processes, bidirectional
</code></code></pre><p>Plugins and hooks apply across all levels. Plugins extend what any agent can <em>touch</em> &#8212; the tool surface. Hooks fire at lifecycle events and give you deterministic control points regardless of which layer you&#8217;re in.</p><h3>1.1 Why the agent-as-the-unit framing fails</h3><p>Most developers start by thinking about &#8220;the agent&#8221; as the atomic design unit &#8212; the thing you configure, the thing that fails, the thing you debug. That framing collapses all the interesting architectural decisions into one blob.</p><p>In practice, an agent is a Claude model instance with tools, a context window, and the ability to take multi-step actions. That definition says nothing about how the agent coordinates with others, how its actions are constrained, or how it fails gracefully when context fills up halfway through a task. Those decisions live in the layers around the agent &#8212; the primitives.</p><p>Treating agent-as-the-unit leads to monolithic agents holding 180k-token contexts with the entire repository history, every tool in the stack, and an open-ended system prompt trying to anticipate every subtask. They blow context unpredictably, produce inconsistent behavior across runs, and are nearly impossible to debug. The right structure is smaller, scoped primitives doing one job each.</p><h3>1.2 The Declarative Extension Model</h3><p>From Vikash Rungta&#8217;s architectural breakdowns of Claude Code, there&#8217;s a clean table that maps each primitive to its format and scope:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ReUE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 424w, /__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 848w, /__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ReUE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png" width="1456" height="563" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:563,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111754,&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://boringbot.substack.com/i/196289465?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 424w, /__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 848w, /__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ReUE!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f31ee1-94cd-474c-940f-c1295cb66fdb_1716x664.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each row has a distinct responsibility boundary. Confusing them &#8212; running routing logic inside a subagent&#8217;s system prompt instead of in a harness hook, using CLAUDE.md for enforcement instead of hooks &#8212; is the root cause of most &#8220;my agent setup is a mess&#8221; situations.</p><div><hr></div><h2>2. Skills: the primitive most teams discover last</h2><p>Skills are the first thing most practitioners <em>should</em> reach for, but typically discover after they&#8217;ve already built messier workarounds.</p><p>A <strong>skill</strong> is a SKILL.md file stored in <code>.claude/skills/&lt;name&gt;/</code>, invoked either directly with <code>/skill-name</code> or automatically when Claude judges it relevant. The key property: it runs in the <em>same context window</em> as the current conversation. No isolation, no spawning, no new process &#8212; just additional instructions that become part of the session.</p><h3>2.1 What skills are for</h3><p>Create a skill when you notice yourself pasting the same instructions into every new conversation. If you have a section of CLAUDE.md that has grown into a multi-step procedure rather than a standing fact, that procedure belongs in a skill. CLAUDE.md content loads on every session; skill content loads only when invoked.</p><p>Per the official docs: &#8220;A file at <code>.claude/commands/deploy.md</code> and a skill at <code>.claude/skills/deploy/SKILL.md</code> both create <code>/deploy</code> and work the same way. Your existing <code>.claude/commands/</code> files keep working.&#8221; Skills are the evolved form of custom commands, with additional features: YAML frontmatter, supporting files, dynamic context injection, and the ability to fork into a subagent when isolation is needed.</p><p>Frontmatter controls key behaviors:</p><pre><code><code>---
name: deploy
description: Deploy the application to production
disable-model-invocation: true   # only you can trigger this
allowed-tools: Bash(git add *) Bash(git commit *)
---
</code></code></pre><p><code>disable-model-invocation: true</code> is the most important field to understand. Without it, Claude can invoke the skill automatically when it judges the situation relevant &#8212; fine for reference content, wrong for anything with side effects like deployments or sends.</p><h3>2.2 Dynamic context injection</h3><p>One feature of skills that has no equivalent elsewhere: the <code>!</code>command`` syntax runs a shell command before the skill content reaches Claude, injecting the output inline.</p><pre><code><code>## Current diff

!`git diff HEAD`

## Instructions

Summarize the changes above and flag anything risky.
</code></code></pre><p>When this skill runs, <code>git diff HEAD</code> executes first, and its output replaces the placeholder. Claude receives the actual diff, not a reference to one. This keeps the skill grounded in the current state of the repository rather than relying on Claude&#8217;s inference from open files.</p><h3>2.3 Skills vs. CLAUDE.md vs. subagents</h3><p>The three are frequently confused. Here&#8217;s the distinction:</p><ul><li><p><strong>CLAUDE.md</strong>: facts and standing rules that apply to every session in this project. Not procedures, not playbooks &#8212; context.</p></li><li><p><strong>Skills</strong>: procedures that run in-context, on demand. Loaded when invoked, not before.</p></li><li><p><strong>Subagents</strong>: isolated workers that protect the main session from their output. Use when the task&#8217;s intermediate steps (logs, search results, file reads) don&#8217;t need to stay in the main context.</p></li></ul><p>The wrong choice here has a predictable failure mode: CLAUDE.md that keeps growing into a procedures document bloats every session. Ad-hoc instructions pasted into chat can&#8217;t be reused. Subagents spawned for tasks that should be skills add unnecessary overhead and context isolation where none was needed.</p><div><hr></div><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/claude-code-skills-subagents-hooks">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Design: What it is, how it works, and what real users actually think]]></title><description><![CDATA[A deep dive into Claude Design, Claude's latest drop]]></description><link>https://boringbot.substack.com/p/claude-design-what-it-is-how-it-works</link><guid isPermaLink="false">https://boringbot.substack.com/p/claude-design-what-it-is-how-it-works</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Sat, 02 May 2026 16:02:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MjvD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F592d5051-78a6-40e2-8769-cb0c247e82c1_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of experience in building large scale Machine Learning ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Today, I am joined by <a href="https://www.linkedin.com/in/aishwarya-ashok/">Aishwarya</a>, a product builder obsessed with turning ideas into working tools, especially with AI in the mix.</p><p>Welcome to Edition #34 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><p style="text-align: center;">&#127891; Want to learn about Claude Code? </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!i96e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 424w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 848w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!i96e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png" width="728" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7715dbd-4342-4700-82af-703f872cea66_1591x656.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:600,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 424w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 848w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i96e!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7715dbd-4342-4700-82af-703f872cea66_1591x656.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join us on May 8th, for a one-day workshop on <strong>Claude Code </strong>and ship your first agent! </p><p><a href="https://maven.com/boring-bot/gen-ai-bootcamp-for-leaders">Sign up today</a></p><div><hr></div><h1>Claude Design by Anthropic: What it is, how it works, and what real users actually think</h1><p><em>Figma&#8217;s stock dropped 4.26% the day Claude Design launched. </em></p><p><em>Anthropic&#8217;s own CPO had already resigned from Figma&#8217;s board three days prior. The signal was in place before most designers had even opened the tool.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!IFj2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 424w, /__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 848w, /__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 1272w, /__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!IFj2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png" width="728" height="582.607703281027" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1122,&quot;width&quot;:1402,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:2192746,&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://boringbot.substack.com/i/196190427?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 424w, /__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 848w, /__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 1272w, /__u/substackcdn.com/image/fetch/$s_!IFj2!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa30b5439-2bb5-4bc0-b977-70f3cb11db03_1402x1122.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><div><hr></div><h2><strong>In this article, we  will cover:</strong> </h2><ul><li><p>What Claude Design actually is and what everyone keeps getting wrong about it. </p></li><li><p>How prompting works in practice: the 2-prompt benchmark, where it holds up, where it doesn&#8217;t.</p></li><li><p>Claude Design vs. Lovable: the right tool for the right job, not a horse race.</p></li><li><p>Claude Design vs. Figma: where Figma still wins by a significant margin.</p></li><li><p>What this means for the design role long-term, the honest answer, not the LinkedIn version. </p></li><li><p>Who should use it, how to start, and what to avoid.</p></li><li><p>What the community is actually building and where they&#8217;re getting burned.</p></li></ul><div><hr></div><h2>Introduction: What actually happened on April 17, 2026</h2><p>It&#8217;s May 2026. Anthropic dropped Claude Design on April 17 and the design tool market, which had been quietly settling into a Figma-dominated equilibrium, cracked open again.</p><blockquote><p>The reaction online split immediately. On r/ClaudeAI, <a href="https://old.reddit.com/r/ClaudeAI/comments/1sqpb2f/this_cannot_be_real_i_cannot_believe_my_eyes/">u/SweetCaramel7947 posted</a>: <em>&#8220;People can keep shitting on Dario, but when you see what they&#8217;ve achieved with each launch and you actually use it to produce something useful, you realise this is nothing less than magic. Before Canva, people needed Adobe skills. After Canva, the barrier got lower. Its the same now &#8212; I don&#8217;t need to know Figma or Canva. I just need to know what needs to be shown to my audience.&#8221;</em> </p><p>The post got upvoted heavily. </p><p>So did <a href="https://old.reddit.com/r/ClaudeAI/comments/1szjb3q/claude_design_is_practically_unusable/">&#8220;Claude Design is practically unusable&#8221;</a> from a different user the same week.</p></blockquote><p>Both reactions are correct, for different reasons. The tool is genuinely impressive in specific conditions and genuinely frustrating outside them. Most coverage has picked one lane. This article covers both.</p><p>The official launch description from <a href="https://old.reddit.com/r/ClaudeAI/comments/1so3k1y/introducing_claude_design_by_anthropic_labs/">Anthropic&#8217;s r/ClaudeAI post</a>: <em>&#8220;Claude Design is powered by Claude Opus 4.7, our most capable vision model. Describe what you want and Claude builds the first version. Refine through conversation, inline comments, direct edits, or custom sliders, then export to Canva, as PDF or PPTX, or hand off to Claude Code. Claude reads your codebase and design files to build your team&#8217;s design system, then applies it automatically, keeping every project on-brand.&#8221;</em> Available in research preview on Pro, Max, Team, and Enterprise plans.</p><p>That&#8217;s what Anthropic says it is. Here&#8217;s what it actually is in practice.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QXq1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QXq1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Official Anthropic video: Introducing Claude Design by Anthropic Labs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Official Anthropic video: Introducing Claude Design by Anthropic Labs" title="Official Anthropic video: Introducing Claude Design by Anthropic Labs" srcset="/__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!QXq1!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65f6b1fc-e424-4f73-8325-8a0044ce1718_1280x720.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">&#9654; <a href="https://www.youtube.com/watch?v=t_LBECIQQqs">Official Anthropic intro: &#8220;Introducing Claude Design by Anthropic Labs&#8221;</a> &#8212; watch before reading the takes</figcaption></figure></div><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><ul><li><p>&#128204; <strong>Figma&#8217;s stock dropped 4.26% the day Claude Design launched</strong> &#8212; the market reacted before most designers had opened the tool. Reddit user u/Future_Language76833: <em>&#8220;The entry point to design just got demolished.&#8221;</em></p></li><li><p>&#9889; <strong>The image generation quality is a real problem</strong> &#8212; users on r/ClaudeAI described results as &#8220;a brown diagonal smear across the canvas&#8221; after six attempts. Layout reasoning is genuinely impressive. Generative image quality is not. These are different capabilities and the gap matters.</p></li><li><p>&#128273; <strong>Loose prompts get generic AI-slop output</strong> &#8212; every early adopter agrees: if your brief is vague, Claude Design falls back to a default internal design system. The tool rewards intent-rich prompts. Specificity is the entire skill.</p></li><li><p>&#9888;&#65039; <strong>Usage limits are the #1 real-world friction</strong> &#8212; a YouTube Short titled <em>&#8220;Claude Design has the most aggressive usage limits in AI right now&#8221;</em> hit 10K views for a reason. File size limits mid-write are a known bug. Token ceilings on Max plans are hitting active users hard.</p></li><li><p>&#127959;&#65039; <strong>A 25-year design veteran on Reddit called the shot</strong> &#8212; <em>&#8220;The vast majority of UX and visual design is maintaining design systems, cobbling together functionality with very little variation. It was designed to be automated. It&#8217;s simply training data waiting for AI to come along.&#8221;</em> Whether you agree or not, this is the argument to engage with.</p></li><li><p>&#128640; <strong>The smart workflow uses Claude Design and Figma, not Claude Design or Figma</strong> &#8212; Claude wins the ideation and first-draft phase. Figma wins collaboration, handoff, and ecosystem depth. Practitioners getting the most value are using both at different stages.</p></li></ul></blockquote><h2>Part 1: What Claude Design actually is &#8212; and what it isn&#8217;t</h2><h3>1.1 The product in plain English: not a plugin, not a copilot</h3><p>The most persistent confusion: <strong>Claude Design is not a plugin</strong>. Not a Figma add-on. Not Claude.ai with a design sidebar. Not a VS Code extension.</p><p>It&#8217;s a standalone application that Anthropic launched out of Anthropic Labs &#8212; the company&#8217;s first direct move into productivity software as a product, not an API. Before this, Anthropic&#8217;s commercial model was largely B2B: sell Claude&#8217;s intelligence to companies who build on top of it. Claude Design is a different bet &#8212; Anthropic putting its own product on the table with a specific argument about how design should work.</p><p>That argument: AI shouldn&#8217;t assist human-directed design decisions &#8212; it should own the first pass entirely, with the human reviewing results rather than directing every step. That&#8217;s not a subtle UX difference. It&#8217;s a different philosophy about where intelligence should live in a design workflow.</p><p>Malewicz, a designer with 192K YouTube subscribers, put it clearly in his <a href="https://www.youtube.com/watch?v=IkspcJdeP3U">71K-view video </a><em><a href="https://www.youtube.com/watch?v=IkspcJdeP3U">&#8220;Claude Design is NOT what you think&#8221;</a></em>: <em>&#8220;The stock market definitely seems to think [it&#8217;s a Figma killer], but we need to chill and learn to not mistake noise for signal.&#8221;</em> That&#8217;s the right framing to start with.</p><h3>1.2 Intent-first design: why this is architecturally different</h3><p>The core premise separating Claude Design from everything else: it operates on design <em>intent</em> rather than design <em>output</em>.</p><p>When you ask Figma&#8217;s Make Designs, or most AI tools with design capabilities, for a dashboard layout, the model draws on visual pattern data. It knows what dashboards look like and produces something that resembles one. When you ask Claude Design for the same thing with proper context, the system reasons about <em>why</em> a user in a specific context would need certain information arranged in certain ways. It&#8217;s constructing a justification for every major decision, not retrieving a visual pattern.</p><p>Ask it why it chose a particular layout structure and it will tell you &#8212; referencing the constraints and goals you described in your prompt. That&#8217;s new behavior in a design tool, and it&#8217;s what produces the output quality gap users report when they compare a vague Claude Design prompt against a specific one. The same model, dramatically different output, based entirely on whether the prompt communicates intent or just description.</p><p>The flip side, which Reddit users identified fast: if your prompt is loose, <em>&#8220;it WILL implement the design it has in its system prompt&#8221;</em> (<a href="https://old.reddit.com/r/ClaudeAI/comments/1spxi2f/claude_design_is_incredible/">u/AmmarAlammar2004</a>). The reasoning layer only activates when there&#8217;s something to reason from. Vague input = generic output. That&#8217;s not a bug &#8212; it&#8217;s the fundamental dependency of intent-first design.</p><h3>1.3 The Dialt Kit and Agentation: what&#8217;s actually driving the efficiency claims</h3><p>Most early coverage focuses on visual output quality. The two features that actually explain the numbers early adopters cite are less covered: the <strong>Dialt Kit</strong> and <strong>Agentation</strong>.</p><p>The Dialt Kit is Claude Design&#8217;s integration layer &#8212; it connects to your existing design infrastructure (design tokens, component libraries, handoff formats) so generated output is calibrated to your actual constraints rather than producing beautiful mockups that share no DNA with your real product. </p><p>Early integration partners include Tokens Studio, Storybook, and Zeroheight, with Figma token import in active development as of Q2 2026. The developer who built the design-system-extraction Claude Code plugin on r/ClaudeAI was solving for exactly this gap: <em>&#8220;You can extract a site&#8217;s design, then tell Claude &#8216;build me a landing page using this design system&#8217; and it actually nails it because it has the exact tokens, scales, and component patterns.&#8221;</em></p><p><strong>Agentation</strong> is Claude Design&#8217;s multi-step autonomous execution mode. </p><p>One high-level prompt triggers a cascade of coherent micro-decisions &#8212; spacing logic, visual hierarchy, component selection, responsive breakpoints, interactive state handling &#8212; all in a single pass. </p><p>The designer&#8217;s job shifts from directing each decision to reviewing a completed chain of them. This is what produces the 2-prompt benchmark that keeps getting cited. Without Agentation, you&#8217;re just prompting a design AI. With it, you&#8217;re reviewing an AI that made 40 design decisions from a single brief.</p><h3>1.4 How it fits &#8212; or doesn&#8217;t &#8212; into your existing stack</h3><p>The honest answer to &#8220;does this replace my tools?&#8221;: it depends on your role, your team, and whether you&#8217;re being honest about which part of your workflow is actually the bottleneck.</p><p>For a <strong>solo designer or freelancer</strong> in a Figma + AI workflow: Claude Design is a plausible primary tool for ideation and first-draft work. Early adopters report 40&#8211;60% reduction in time-to-first-draft on new projects. You still move into Figma for final polish, component formalization, and developer handoff.</p><p>For a <strong>product team with an established design system</strong>: Claude Design fits as a first-draft layer where designers and PMs co-generate initial directions before a senior designer refines. Where it falls short, plainly: developer handoff maturity, real-time collaboration, and component library depth. If those capabilities are load-bearing in your workflow, be honest about that before committing to evaluation time.</p><p>For a <strong>no-code builder on Lovable</strong>: section 3 covers this in full, but the short version is that Claude Design currently doesn&#8217;t produce deployable code as a primary output. These tools are for different jobs.</p><div><hr></div><h2>Part 2: How Claude Design works, what actually happens when you use it</h2><h3>2.1 The prompt quality gap is bigger than anyone tells you upfront</h3><p>The most important skill in Claude Design isn&#8217;t knowing the tool &#8212; it&#8217;s learning to write prompts that communicate <em>intent</em>, not just description.</p><p>The gap between a weak and a strong prompt is larger here than in any AI tool most people have used. </p><p>Prompt A: <em>&#8220;Make me a SaaS dashboard.&#8221;</em> </p><p>Prompt B: <em>&#8220;Build a SaaS analytics dashboard for a marketing manager at a B2B company who needs to monitor campaign ROI, compare channel performance across email, paid, and organic, and quickly identify underperforming campaigns. Mobile-first, dark mode preferred, clear drill-down CTAs on each metric card. This user checks this tool first thing every morning.&#8221;</em></p><p>Prompt B doesn&#8217;t just produce a better-looking dashboard &#8212; it produces a structurally different one. The dark mode is calibrated for ambient morning light contrast ratios, not applied cosmetically. The hierarchy surfaces the &#8220;quickly identify underperforming campaigns&#8221; job more prominently than the tracking functions. That&#8217;s the intent-first reasoning in action.</p><p>Three frameworks that consistently produce strong outputs:</p><p><strong>Role + Task + Context</strong>: <em>&#8220;Build a [UI type] for a [user role] who needs to [job to be done] in a context where [key constraint or usage condition].&#8221;</em></p><p><strong>Before + After</strong>: <em>&#8220;The current experience has [problem]. Design an interface that resolves this by [desired outcome], for a user who [behavioral description].&#8221;</em></p><p><strong>System + Goal + Constraint</strong>: <em>&#8220;This is part of a [product type] targeting [audience]. The goal of this screen is [specific task or conversion]. Constraints: [brand, technical, accessibility requirements].&#8221;</em></p><p>The designers reporting the highest satisfaction with Claude Design in early 2026 are not necessarily the most experienced &#8212; they&#8217;re the ones who learned to translate design thinking into precise, intent-rich language fast.</p><h3>2.2 The 2-prompt benchmark: what it actually means</h3><p>The claim generating the most conversation &#8212; <em>&#8220;complex pages in roughly 2 prompts&#8221;</em> &#8212; is real, with important qualifiers.</p><p>A &#8220;complex&#8221; page by this standard includes multiple content zones (hero, features, social proof, CTA), responsive behavior across at least two breakpoints, varied component types (cards, tables, navigation, modals), and interactive state handling. The 2-prompt pattern looks like this:</p><p><strong>Prompt 1</strong> establishes structure, intent, user context, and primary layout logic. Agentation generates a full first draft &#8212; all zones, all components, responsive logic included.</p><p><strong>Prompt 2</strong> handles refinement: <em>&#8220;Increase visual weight on the primary CTA, tighten spacing in the feature grid, add an empty state for the activity feed.&#8221;</em></p><p>Why Lovable requires 20+ prompts for the same outcome: it&#8217;s executing discrete code changes. Every instruction modifies specific code &#8212; button size, hover state, spacing value &#8212; one atomic operation at a time. Claude Design infers component relationships from the original intent brief. You don&#8217;t specify button size because the visual hierarchy you described makes an appropriate size the coherent derivation. That&#8217;s a structural difference, not a quality comparison.</p><p>The honest limits of the benchmark: highly bespoke brand systems, WCAG-critical interfaces, complex data visualization components typically need 4&#8211;6 prompts. Still dramatically fewer than alternatives, but not 2.</p><p>The most credible real-world validation came from <a href="https://www.anthropic.com/news/claude-design-anthropic-labs">Anthropic&#8217;s official launch page</a>: Olivia Xu, Senior Product Designer at Brilliant, wrote: <em>&#8220;Our most complex pages, which took 20+ prompts to recreate in other tools, only required 2 prompts in Claude Design. Including design intent in Claude Code handoffs has made the jump from prototype to production seamless.&#8221;</em></p><h3>2.3 What Agentation actually feels like</h3><p>You type: <em>&#8220;Build me a complete onboarding flow for a B2B SaaS tool targeting HR managers at mid-size companies. Cover account setup, team invitation, and first integration connection. Prioritize clarity over comprehensiveness &#8212; these are busy people.&#8221;</em></p><p>With Agentation active, without further input, Claude Design generates a multi-screen sequence: a welcome screen with a progress indicator and a single primary action; account setup with sensible field grouping and inline validation; team invitation with bulk-add and a clear &#8220;skip for now&#8221; path; an integration screen with the five most common HR integrations surfaced as simple toggles. Every screen maintains visual consistency &#8212; same spacing scale, same typography hierarchy, same button states. Empty states and error states are handled throughout.</p><p>Your role in this mode: reviewer and approver. Assess whether the information architecture matches the actual user journey. Check whether the visual hierarchy supports the stated priority of clarity. Approve or redirect. The parallel to GitHub Copilot in software development is exact &#8212; developers stopped writing boilerplate and started reviewing AI-generated implementations. The required skill transformed but didn&#8217;t disappear.</p><h3>2.4 Where you hit the wall</h3><p>Every AI tool has a wall. Here&#8217;s Claude Design&#8217;s.</p><p>Direction-level revisions are home territory &#8212; <em>&#8220;make this feel more premium,&#8221; &#8220;tighten the overall density,&#8221; &#8220;shift the hierarchy to emphasize the data table&#8221;</em>. What it struggles with: contradictory constraints. Ask for something <em>&#8220;more minimal but also more detailed contextual help throughout&#8221;</em> and the model resolves the tension itself, without flagging that it made a call.</p><p>By revision 4 or 5, outputs can start drifting from the original intent. The most effective recovery is a new anchoring prompt that restates core intent &#8212; not layers of corrections on top of each other. The tool implicitly requires workflow discipline around this.</p><p>The image generation wall is harder. Multiple r/ClaudeAI users hit it immediately. One trying to build a floral studio hero: <em>&#8220;Told it &#8216;bouquet of dried flowers.&#8217; Six turns in and it&#8217;s still a brown diagonal smear across the canvas. My wife walked by and asked why there&#8217;s poop on my screen.&#8221;</em> The text-layout reasoning and the generative image capability are genuinely different quality levels right now. Build around it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mO6T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mO6T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg" width="1456" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Side-by-side screenshot comparison showing a simple vs. intent-rich prompt and the resulting UI output quality difference&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Side-by-side screenshot comparison showing a simple vs. intent-rich prompt and the resulting UI output quality difference" title="Side-by-side screenshot comparison showing a simple vs. intent-rich prompt and the resulting UI output quality difference" srcset="/__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!mO6T!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbc3b281-4dbd-4996-9033-bde2d728436c_1700x781.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Onix-Systems | <a href="https://onix-systems.com/_next/image?url=https%3A%2F%2Fcdn.onix-systems.com%2Fuploads%2FGenerative_UI_Vs_Al_Assisted_Design_result_1a53076ccd.webp%3Fv%3D2026-03-19T10%253A39%253A24.224Z&amp;w=3840&amp;q=90">https://onix-systems.com/_next/image?url=https%3A%2F%2Fcdn.onix-systems.com%2Fuploads%2FGenerative_UI_Vs_Al_Assisted_Design_result_1a53076ccd.webp%3Fv%3D2026-03-19T10%253A39%253A24.224Z&amp;w=3840&amp;q=90</a></figcaption></figure></div><div><hr></div><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/claude-design-what-it-is-how-it-works">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Ecosystem of Search is changing faster than we know]]></title><description><![CDATA[Beyond Search: How AI Is Rewriting the Rules of Brand Visibility]]></description><link>https://boringbot.substack.com/p/the-ecosystem-of-search-is-changing</link><guid isPermaLink="false">https://boringbot.substack.com/p/the-ecosystem-of-search-is-changing</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Mon, 27 Apr 2026 15:03:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!C4qb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of experience in building large-scale Machine Learning ecosystems, and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and am the founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Welcome to Edition #33 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><div class="pullquote"><p>Want to learn about Claude Code and Multi-Agents?</p></div><div class="pullquote"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!M7UG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!M7UG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg&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;:345456,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!M7UG!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb448961c-04f4-4243-908f-d5b5d5c13804_3200x1800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Join my free session, sign up <a href="https://maven.com/p/e302cc/the-multi-agent-team-to-build-full-stack-products">here</a></p></div><h1>Beyond Search: How AI Is Rewriting the Rules of Brand Visibility</h1><p>Picture this: a consumer picks up their phone, opens ChatGPT, and types, &#8220;What&#8217;s the best protein powder for building muscle without the bloat?&#8221; In seconds, they get a confident, specific answer, one product, a clear reason why, and zero websites to click through. No ads. No sponsored results. No scrolling past three blog posts to find an actual recommendation. For millions of users, AI has already replaced search engines as the default discovery mechanism. Brands that spent two decades mastering Google are finding their playbook obsolete in real time.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!C4qb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 424w, /__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 848w, /__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 1272w, /__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!C4qb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png" width="767" height="432" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df785cc2-f977-4a53-8058-2b648fa7055a_767x432.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:432,&quot;width&quot;:767,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;google search&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="google search" title="google search" srcset="/__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 424w, /__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 848w, /__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.png 1272w, /__u/substackcdn.com/image/fetch/$s_!C4qb!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf785cc2-f977-4a53-8058-2b648fa7055a_767x432.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 aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This isn&#8217;t a trend piece speculating about 2027. It documents a structural disruption actively reshaping how consumers find, evaluate, and buy products right now. You built your brand&#8217;s visibility on a platform whose central mechanic, the ranked list of links, is being replaced by something fundamentally different. By the end of this article, you&#8217;ll understand what&#8217;s breaking, why the financial stakes are higher than most marketing teams realize, and what specific moves you need to make before the window for adaptation closes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zOqI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 424w, /__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 848w, /__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zOqI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp&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;:null,&quot;alt&quot;:&quot;Introducing search > Citations sidebar > Media&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Introducing search > Citations sidebar > Media" title="Introducing search > Citations sidebar > Media" srcset="/__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 424w, /__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 848w, /__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!zOqI!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdacbb336-2eea-496f-960e-71a7017e750f_3840x2160.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: https://openai.com/index/introducing-chatgpt-search/</figcaption></figure></div><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><ul><li><p>&#128269; <strong>AI has already replaced Google for high-intent queries</strong> &#8212; tens of millions of people now use ChatGPT, Perplexity, and Claude as their first stop for product research, comparison, and recommendations, not as a supplement to search but as a replacement.</p></li><li><p>&#128201; <strong>Organic CTR dropped 61% on queries where AI Overviews appear</strong> &#8212; a page ranking #2 can see impressions climb while clicks collapse. &#8220;We rank #1&#8221; no longer means what it used to.</p></li><li><p>&#129302; <strong>AI agents don&#8217;t browse. They decide.</strong> &#8212; OpenAI Operator, Perplexity Shopping, and Apple Intelligence complete transactions on users&#8217; behalf. The brand selection happens before any human marketing touchpoint is engaged.</p></li><li><p>&#127959;&#65039; <strong>Your visibility now depends on infrastructure, not creative</strong> &#8212; schema markup, API accessibility, review aggregator presence, and Wikipedia accuracy determine whether an AI recommends you. These are engineering decisions, not marketing ones.</p></li><li><p>&#127897;&#65039; <strong>Voice is the most extreme version of the problem</strong> &#8212; spoken AI answers are singular. There is no second place. Only 4% of businesses are genuinely voice-search ready despite 91% claiming they invest in it.</p></li><li><p>&#127919; <strong>Traversaal.ai is already solving this for enterprise</strong> &#8212; if your brand needs to stay discoverable as AI agents become the primary interface between customers and products, this is exactly the problem contextual agent infrastructure is built to address.</p></li></ul></blockquote><div><hr></div><h2>1. For millions of people, the search engine is already gone</h2><p>This isn&#8217;t a prediction. It&#8217;s a behavior change that&#8217;s already showing up in traffic reports, revenue dashboards, and boardroom conversations at companies that are paying attention. The shift is measurable and it&#8217;s accelerating.</p><h3>The numbers that should be keeping CMOs up at night</h3><p>By January 2026, AI chatbots collectively hold a measurable share of the search market: ChatGPT commands roughly 68% of AI search traffic (down from 87% a year prior as competition intensifies), Google Gemini has grown to 18.2% (up from just 5.4% a year earlier), and Perplexity sits at 8.15%. (Source: <a href="https://aibusinessweekly.net/ai-market-share-2026">https://aibusinessweekly.net/ai-market-share-2026</a>) </p><p>Gartner projected in February 2024 that traditional search engine volume would drop 25% by 2026 as AI chatbots take share &#8212; and the trajectory suggests that estimate is landing close to target. (Source: <a href="https://www.gartner.com/en/newsroom/press-releases/2024-02-19-gartner-predicts-search-engine-volume-will-drop-25-percent-by-2026">https://www.gartner.com/en/newsroom/press-releases/2024-02-19-gartner-predicts-search-engine-volume-will-drop-25-percent-by-2026</a>) </p><p>AI search already accounted for 8.2% of total search traffic in August 2025, up from effectively zero two years prior (Wix AI Search Lab, September 2025). By July 2025, Similarweb reported that 69% of Google searches end without a click to any website, up from 56% just a year earlier. (Source: <a href="https://evolvagency.io/learn/generative-search/llm-statistics-2026">https://evolvagency.io/learn/generative-search/llm-statistics-2026</a>) These aren&#8217;t experiment numbers. They&#8217;re market share numbers.</p><p>Meanwhile Google&#8217;s own CEO Sundar Pichai said in April 2026 that the future of Search is &#8220;multimodal, conversational, and predictive.&#8221; (Source: <a href="https://icypluto.com/blog/sundar-pichais-latest-insights">https://icypluto.com/blog/sundar-pichais-latest-insights</a>) Google isn&#8217;t fighting this shift. It&#8217;s building into it. </p><p>The disruption isn&#8217;t coming from a competitor eating Google&#8217;s lunch. It&#8217;s happening inside Google&#8217;s own product.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ZjWo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ZjWo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1937087,&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://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZjWo!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6ef5b862-9fde-4f49-898b-94c2c461689d_1024x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Google gave you ten results. AI gives one.</h3><p>The traditional SERP was a reasonably democratic marketplace. A brand ranking fourth still got seen. Users scanned the page, clicked the third result, maybe visited two or three sites before deciding. Multiple entry points. Multiple chances to compete.</p><p>Ask Claude or Perplexity &#8220;what&#8217;s the best CRM for a small business under 20 people?&#8221; and you get one synthesized answer, often naming a single tool, with a paragraph explaining why, and frequently no clickable links at all. Zero-click search, which SEOs have warned about for years, has become something worse: the user&#8217;s journey ends at the AI&#8217;s answer. If your brand isn&#8217;t named, you didn&#8217;t lose a click. You were never in the conversation.</p><h3>Google is still standing. Your traffic model isn&#8217;t.</h3><p>Google isn&#8217;t going anywhere. AI Overviews is a serious attempt to keep AI-powered answers inside the Google ecosystem, and Google has the distribution, data, and scale to remain a major player. But that&#8217;s not the same as saying brand discoverability through Google is fine.</p><p>Google&#8217;s AI summaries pull from a narrow set of sources and collapse competing brands into a single answer. Research from SparkToro shows Google already sends less than half of all searches to any website, and AI Overviews are accelerating that. (Source: <a href="https://sparktoro.com/blog/in-2023-404-of-google-searches-end-without-a-click/">https://sparktoro.com/blog/in-2023-404-of-google-searches-end-without-a-click/</a>) The platform survives. The traffic model brands built on top of it is being taken apart, whether or not Google is the one doing it.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!oiWe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 424w, /__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 848w, /__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 1272w, /__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!oiWe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png" width="1456" height="1950" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1950,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Side-by-side comparison of a traditional Google SERP with ten blue links versus an AI chatbot giving a single answer to the same query&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Side-by-side comparison of a traditional Google SERP with ten blue links versus an AI chatbot giving a single answer to the same query" title="Side-by-side comparison of a traditional Google SERP with ten blue links versus an AI chatbot giving a single answer to the same query" srcset="/__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 424w, /__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 848w, /__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 1272w, /__u/substackcdn.com/image/fetch/$s_!oiWe!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb78d5bf9-6ac8-4911-8f8e-1ac69d308843_1600x2143.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: FutureSkillsAcademy.com | <a href="https://futureskillsacademy.com/wp-content/uploads/2024/07/chatgpt-vs-google-search-engine.png">https://futureskillsacademy.com/wp-content/uploads/2024/07/chatgpt-vs-google-search-engine.png</a></figcaption></figure></div><div><hr></div><h2>2. What brand invisibility actually costs</h2><p></p><p>When AI returns one answer instead of ten ranked results, the economics of brand visibility don&#8217;t gradually shift. They flip. The impact is already in traffic dashboards and revenue reports for companies paying attention.</p><h3>If you&#8217;re not in the answer, you&#8217;re not in the consideration set</h3><p>Classic marketing theory holds that you cannot convert a customer who hasn&#8217;t entered your consideration set, the mental shortlist of brands a consumer evaluates before purchasing. On a traditional SERP, even a fourth-place ranking kept you on that shortlist. The page was a menu, and users browsed it.</p><p>In an AI-generated answer, there is no menu. There&#8217;s a recommendation. If ChatGPT names two CRM platforms and yours isn&#8217;t one of them, you don&#8217;t exist in that moment of purchase intent, not in a &#8220;you ranked lower&#8221; sense, but in a &#8220;you were never mentioned&#8221; sense. The brand that loses in AI search doesn&#8217;t get less traffic; it gets none. For categories where AI tools are already the primary research channel for key demographics, that&#8217;s not a marginal revenue impact.</p><h3>Organic traffic is already in decline &#8212; and the numbers are now documented</h3><p>The data is in, and it&#8217;s worse than the early estimates. Seer Interactive&#8217;s September 2025 study found that organic CTR dropped 61% for queries where AI Overviews appear &#8212; from 1.76% to 0.61%. </p><p>A separate March 2026 analysis puts overall organic search clicks down 42% from their pre-AI Overviews baseline. Informational queries &#8212; definitions, how-to content, comparison research &#8212; are the hardest hit, with 30&#8211;40% traffic declines now documented across multiple studies. 73% of B2B websites experienced significant traffic losses between 2024 and 2025.</p><p>The pattern is consistent enough that it&#8217;s no longer a reporting anomaly. Brands that used to rank in the top 4 are watching impressions go up while clicks collapse. </p><p>One r/SEO thread this year described it plainly: impressions up 66% year-on-year, clicks down 50%, for a page ranking in position 2. AI Overviews, video carousels, People Also Ask boxes, and map packs push the first organic result below the fold on most commercial queries.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!tMNN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 424w, /__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 848w, /__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 1272w, /__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!tMNN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png" width="1456" height="596" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:596,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:172434,&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://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 424w, /__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 848w, /__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 1272w, /__u/substackcdn.com/image/fetch/$s_!tMNN!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5df76e31-2f0e-480b-9211-65f03030e4c5_1846x756.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For brand marketers, the contingency plan can&#8217;t be &#8220;wait and see&#8221; anymore. Pull your traffic by page type, isolate your informational and commercial content, and look at the trend from 2024 to today. If the slope is negative and hasn&#8217;t recovered, you are already losing consideration share to AI systems recommending your competitors.</p><h3>The false comfort of &#8220;we rank #1&#8221;</h3><p>Ranking first on Google for your most competitive keywords does not mean ChatGPT will recommend your brand. These are different systems with different inputs, and assuming one transfers to the other is one of the most dangerous assumptions in brand marketing right now.</p><p>LLM-based recommendations are shaped by training data patterns, the density of authoritative mentions across the open web, structured information quality, and citation patterns in sources that AI systems weight heavily. A brand can hold the #1 Google ranking for &#8220;best project management software&#8221; while being completely absent from ChatGPT&#8217;s recommendation because it lacks meaningful coverage in the sources LLMs trust. Ranking first on a shrinking platform isn&#8217;t a growth strategy.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!0oHC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0oHC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg" width="984" height="553" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:553,&quot;width&quot;:984,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Graph showing declining organic search click-through rates over time with AI overview rollout timeline overlay&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graph showing declining organic search click-through rates over time with AI overview rollout timeline overlay" title="Graph showing declining organic search click-through rates over time with AI overview rollout timeline overlay" srcset="/__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!0oHC!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7df90da1-c8e8-408c-b335-98eebcdb7d79_984x553.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: LinkedIn | <a href="https://media.licdn.com/dms/image/v2/D5612AQG2Wtxyh9zUHg/article-cover_image-shrink_720_1280/B56ZZ.sxkPHUAI-/0/1745882389178?e=2147483647&amp;v=beta&amp;t=hLuewvZ1pxbxVtfCN7nr436SEJwV13DzBVKdPpYncVI">https://media.licdn.com/dms/image/v2/D5612AQG2Wtxyh9zUHg/article-cover_image-shrink_720_1280/B56ZZ.sxkPHUAI-/0/1745882389178?e=2147483647&amp;v=beta&amp;t=hLuewvZ1pxbxVtfCN7nr436SEJwV13DzBVKdPpYncVI</a></figcaption></figure></div><div><hr></div><h2>3. How AI search actually works, and what it rewards</h2><h3>It&#8217;s not a ranking algorithm. It&#8217;s a reputation engine.</h3><p>Traditional SEO was a ranking game: optimize signals, earn positions, capture clicks. AI recommendation works differently. Think of a knowledgeable colleague who has read thousands of product reviews, industry articles, Reddit threads, and expert columns. When you ask them for a recommendation, they tell you what good sources have consistently said, not a ranked list, but a synthesized judgment.</p><p>That&#8217;s what ChatGPT, Perplexity, and Claude are doing. They surface what the totality of credible sources says about a brand. The optimization goal isn&#8217;t keywords in page titles. It&#8217;s how consistently, accurately, and positively your brand is represented across the open web &#8212; what you might call reputation density.</p><h3>What &#8220;authority&#8221; means when an LLM is reading your site</h3><p>Traditional SEO weighted backlinks and domain authority. </p><p>LLMs weight something different: how often is this brand mentioned positively in sources that are trusted &#8212; Forbes, industry trade publications, TechCrunch, Wirecutter? What does aggregate sentiment look like on G2, Trustpilot, and Reddit? Is the brand&#8217;s information consistent across all the places it appears?</p><p>These overlap with traditional SEO in some ways &#8212; a brand with strong editorial coverage likely has good backlinks too. </p><p>But they&#8217;re not the same. A brand can have excellent domain authority and still be invisible to LLMs because its entity data is inconsistent, its review coverage is thin, and it barely appears in the editorial sources models weight most. That gap is what needs closing.</p><h3>Clear and specific beats long and keyword-dense</h3><p>AI tools don&#8217;t favor comprehensive, keyword-stuffed content. They favor content that&#8217;s easy to parse &#8212; semantically clear, structured so that specific facts can be pulled out confidently. </p><p>A 4,000-word post crammed with keyword variations is harder for an LLM to summarize than a 600-word page that clearly states what a product does, who it&#8217;s for, what it costs, and why customers trust it.</p><p>Schema markup, FAQ formats, clear entity definitions, direct factual statements &#8212; these are real competitive advantages in AI-driven search. Write as if the most important reader of your content is an AI deciding whether to recommend you to a million people, because increasingly, that&#8217;s exactly what&#8217;s happening.</p><div><hr></div><h2>4. When AI agents do the shopping for you</h2><p>The AI search debate is still mostly about discovery &#8212; will people find your brand? The deeper problem is at the commerce layer, and most brands haven&#8217;t started thinking about it.</p><h3>AI agents don&#8217;t just search. They buy.</h3><p>Agentic AI systems don&#8217;t answer questions. </p><p>They take actions: browsing websites, comparing options, filling in forms, completing transactions. </p><p>OpenAI&#8217;s Operator, launched in early 2025, can navigate websites and complete tasks on a user&#8217;s behalf. Perplexity surfaces purchasable products directly inside answers. Apple Intelligence is integrating agentic features into iOS workflows. (Source: <a href="https://openai.com/operator">https://openai.com/operator</a>)</p><p>The user behavior this enables is significant. Instead of &#8220;let me search for hotels in Chicago next weekend,&#8221; the user says &#8220;find me a hotel in Chicago next weekend under $200 a night with good reviews and book it.&#8221; </p><p>The agent handles the entire process. The human never visits a single hotel website, never sees a brand&#8217;s imagery or storytelling, never encounters a single marketing message. The agent decided. The human confirmed. The transaction completed.</p><h3>Your website was built for humans. AI agents don&#8217;t browse like humans.</h3><p>This is the insight most brands are not ready to confront. Your website, with its hero video, emotional brand positioning, aspirational imagery, and carefully crafted UX journey, was built for human visual browsing. AI agents don&#8217;t experience any of it. They parse structured data, metadata, APIs, and machine-readable signals.</p><p>What an agent can read: schema markup on your product pages, structured pricing and availability data, machine-readable trust signals like certified ratings and verified review counts, and API endpoints that return clean product information. What an agent cannot meaningfully process: a hero video, a brand manifesto, a &#8220;why us&#8221; section written in evocative marketing language, or a pop-up asking it to subscribe to your newsletter. Brands that haven&#8217;t built machine-readable infrastructure are already invisible to agents being deployed by OpenAI, Google, Apple, and dozens of startups.</p><h3>The agent picks the brand. The human just says yes.</h3><p>When an agent surfaces a recommendation &#8212; a booking, a cart, a subscription &#8212; the user&#8217;s job is to approve or reject. The brand decision happens before any human marketing touchpoint is engaged.</p><p>One real data point: Walmart ran an experiment with ChatGPT-powered checkout in early 2026 and found it converted 3x worse than their standard website checkout. That&#8217;s not evidence that agentic commerce doesn&#8217;t work. It&#8217;s evidence that the current integration between AI agents and brand infrastructure is still rough around the edges. Brands that wait for agents to &#8220;mature&#8221; before fixing their machine-readable infrastructure will just be further behind when the gap closes.</p><p>What shapes the agent&#8217;s selection? Structured data quality. API accessibility. Reputation signals in training data. The accuracy of your brand&#8217;s information across the web. Not a compelling ad, not a beautifully designed landing page. The traditional marketing funnel assumes a human browsing, reading, being persuaded. Agentic commerce skips most of that. Brands that aren&#8217;t optimized for the agent never reach the human behind it.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!lDsm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!lDsm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Illustration of an AI agent autonomously comparing products and completing a purchase on behalf of a user, with a human reviewing a final confirmation screen&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Illustration of an AI agent autonomously comparing products and completing a purchase on behalf of a user, with a human reviewing a final confirmation screen" title="Illustration of an AI agent autonomously comparing products and completing a purchase on behalf of a user, with a human reviewing a final confirmation screen" srcset="/__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lDsm!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05ba00b4-8a0c-4433-b25b-54f6e5fb2123_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: The Innovation Mode | <a href="https://images.squarespace-cdn.com/content/v1/5e6542d2ae16460bb741a9eb/1774999297183-2U640Z5JGQV1942YWP2S/ChatGPT+Image+Apr+1%2C+2026%2C+12_20_44+AM.png">https://images.squarespace-cdn.com/content/v1/5e6542d2ae16460bb741a9eb/1774999297183-2U640Z5JGQV1942YWP2S/ChatGPT+Image+Apr+1%2C+2026%2C+12_20_44+AM.png</a></figcaption></figure></div><div><hr></div><h2>5. What to actually do about it</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KaWF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 424w, /__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 848w, /__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KaWF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png" width="1456" height="1132" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1132,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:376566,&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://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 424w, /__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 848w, /__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 1272w, /__u/substackcdn.com/image/fetch/$s_!KaWF!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F144b8959-23c7-4b6b-bbf5-3aee67d52db0_1924x1496.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Start with the technical foundation, before anything else</h3><p>Schema markup is the floor, not a nice-to-have. </p><p>Organization, Product, Review, and FAQ schema should be comprehensively implemented across your site. </p><p>Your brand entity information &#8212; name, founding date, description, product categories, leadership &#8212; should be consistent across Google Business Profile, Wikidata, Wikipedia (if you qualify), and major industry directories. </p><p>Where you can, build API endpoints that return clean product or service data. </p><p>Agents that can query a clean endpoint don&#8217;t have to scrape your HTML, and scraped HTML is unreliable.</p><h3>Get your brand in the sources that LLMs actually trust</h3><p>LLMs recommend brands they&#8217;ve seen praised in trusted places &#8212; trade publications, mainstream press, review aggregators like G2, Trustpilot, and Capterra, and community platforms like Reddit. </p><p>These are the sources models weight most heavily. Your Wikipedia and Wikidata entries matter more than most marketing teams realize. A thin, outdated, or nonexistent Wikipedia entry puts you at a measurable disadvantage before a conversation with a potential customer even starts. Fixing it is less work than most teams assume.</p><h3>Your content strategy needs one more question</h3><p>Stop measuring content success only by pageviews and organic traffic. </p><p>A page cited in thousands of AI answers that sends zero direct traffic is doing more for your brand than a page with 500 monthly sessions and no downstream influence on purchase decisions. </p><p>Every FAQ should genuinely answer the question. Every product description should be factually precise. Every piece of content should pass one test: can an AI pull a clean, specific, accurate fact from this without ambiguity? If no, it won&#8217;t get cited.</p><div><hr></div><h2>6. Voice AI makes the single-answer problem worse</h2><p>Everything described in this article gets more severe when you add voice. And in 2026, voice is mainstream.</p><blockquote><p>There are now over 8.4 billion active voice assistants globally &#8212; more than the human population. Over 4 billion devices run AI-driven voice assistants. More than 1 billion voice searches happen every month, and 32% of consumers now use voice search daily. The voice commerce market hit $150 billion in 2025 and is projected to reach $194 billion in 2026. Voice shopping revenue alone is expected to reach $40 billion.</p></blockquote><p>The most revealing number: only 4% of businesses are genuinely voice-search ready, while 91% say they&#8217;re investing in voice. That gap is where the opportunity is right now.</p><p>Apple Intelligence handles voice queries natively. Alexa&#8217;s LLM-powered backend now synthesizes answers instead of returning a list of links. Google Assistant generates spoken summaries. Ear-worn assistants, smart displays, in-car AI &#8212; voice has become a primary interface for product questions and shopping.</p><h3>With voice, there really is no second place</h3><p>When a user reads a screen, they can scan. When they hear an answer, they get one thing. The model doesn&#8217;t say &#8220;here are two options.&#8221; It says &#8220;I&#8217;d recommend X because Y.&#8221; There&#8217;s no visual list to glance at. No second result to notice.</p><p>Either you&#8217;re the spoken recommendation, or you weren&#8217;t in the conversation at all. You don&#8217;t get named second. The conversation ended and your brand never came up.</p><h3>Voice queries are longer and more specific &#8212; which is actually an advantage</h3><p>Voice queries look different from typed ones: &#8220;What&#8217;s a good protein powder for someone who works out in the morning and doesn&#8217;t like chalky textures?&#8221; rather than &#8220;best protein powder.&#8221; They&#8217;re more conversational, often location-aware, and action-oriented. Brands with specific, structured content &#8212; FAQs written in natural language, use-case product descriptions, comparison content that addresses real objections &#8212; perform better in voice because that content matches how people actually ask.</p><p>There&#8217;s also a specific schema type worth implementing: <code>SpeakableSpecification</code>, a structured data property that marks content as suitable for text-to-speech delivery. It&#8217;s underused, relatively quick to implement, and a direct signal to voice AI about which parts of your content to surface.</p><h3>Voice plus agents equals fully autonomous purchases</h3><p>A user says &#8220;order me more of that protein powder.&#8221; Apple Intelligence checks purchase history, queries availability and pricing via structured APIs, and initiates the transaction. No screen, no browser, no brand touchpoint.</p><p>The brands that hold up in this environment are the ones with machine-readable product data, strong reputation signals in the sources agents consult, and inventory and pricing accessible via clean APIs. That&#8217;s not a marketing gap. It&#8217;s an infrastructure gap.</p><div><hr></div><h2>7. How to score your brand&#8217;s AI readiness</h2><p>Knowing the problem exists is different from knowing where you specifically stand.</p><p>A useful way to audit your brand&#8217;s AI discoverability across four dimensions:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!o6q-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 424w, /__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 848w, /__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 1272w, /__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!o6q-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png" width="1456" height="803" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:803,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:286517,&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://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 424w, /__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 848w, /__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 1272w, /__u/substackcdn.com/image/fetch/$s_!o6q-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2c82cbf4-a97f-4ed9-a6bf-7f8eebc0c538_1852x1022.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Run each dimension on a simple 0&#8211;100 scale: below 50 means you have a real gap, 50&#8211;70 means partial coverage, above 70 means you&#8217;re competitive. Most brands that haven&#8217;t started this work score in the 40s on Schema and Content &#8212; which means agents are making recommendations in their category without them.</p><p>The pattern across brands audited in early 2026: </p><p><strong>Brand Authority Signals</strong> tend to score highest because established brands have some organic editorial presence. </p><p><strong>Schema &amp; Structured Data</strong> scores lowest because it requires technical implementation that marketing teams can&#8217;t own alone. That gap &#8212; strong offline reputation, weak machine-readable infrastructure &#8212; is exactly the mismatch this article is about.</p><p>The fix isn&#8217;t a single sprint. It&#8217;s a cross-functional workstream: product and engineering own schema and APIs, content owns FAQ and specificity, marketing and PR own authority signals. The brands moving fastest have made someone accountable for the overall score, not just their slice of it.</p><div><hr></div><h2>What this means for you</h2><p>This hits differently depending on whether you manage products or build them.</p><div><hr></div><h3>&#128203; If you&#8217;re a Product Manager</h3><p>Your discoverability metrics are measuring the wrong thing.</p><p>Most PM dashboards still track Google organic rank, session traffic, and CTR. Those numbers are real, but in 2026 they don&#8217;t tell you whether your brand is being recommended by the AI systems tens of millions of people now use for product research. You can rank #1 on Google and be completely absent from every ChatGPT, Claude, and Perplexity answer in your category. That gap doesn&#8217;t show up in your weekly report.</p><p><strong>Whether an AI recommends your brand is a product and engineering decision, not a marketing one.</strong> It depends on structured data quality, schema markup coverage, review aggregator presence, and API accessibility. If &#8220;AI discoverability&#8221; isn&#8217;t on your roadmap as a concrete workstream, you&#8217;re already behind the brands that have.</p><p><strong>Schema markup is a product requirement now.</strong> In Q1 2026, OpenAI&#8217;s Operator and Perplexity&#8217;s shopping agents are actively parsing product pages to make purchase recommendations. If your Product, Review, Offer, and FAQ schema aren&#8217;t implemented and current, agents skip you. That&#8217;s a revenue consequence, not a technical oversight.</p><p><strong>Your content calendar needs one more question.</strong> Before shipping anything, ask: can an AI pull a clean, accurate, specific fact from this without guessing? If no, it won&#8217;t get cited. A page cited in 10,000 AI answers with zero direct traffic is doing more for your brand than a page with 500 monthly sessions that never influences a purchase.</p><p><strong>One KPI to add right now:</strong> test your top 10 commercial intent queries in ChatGPT, Claude, and Perplexity monthly. Track whether your brand appears, in what context, and what competitors keep getting named instead. No tool fully automates this yet &#8212; manual spot-checking is still the most reliable signal.</p><p><strong>The timeline isn&#8217;t next year.</strong> Operator launched publicly in early 2025. Perplexity&#8217;s shopping layer is live. Apple Intelligence agentic features shipped with iOS updates in 2025. The brands capturing AI consideration share are doing it right now while their competitors debate whether this is real.</p><div><hr></div><h3>&#128736; If you&#8217;re a Developer</h3><p>The web was built for humans. AI agents are a different kind of visitor, and most codebases weren&#8217;t built to serve them. Here&#8217;s what actually moves the needle:</p><p><strong>Implement JSON-LD schema markup, comprehensively.</strong> Not as a sprinkle on your homepage &#8212; as a full coverage effort across every product, service, review, FAQ, and organization page. JSON-LD is the format Google, OpenAI&#8217;s crawlers, and Perplexity&#8217;s indexing prefer. <code>Organization</code>, <code>Product</code>, <code>Offer</code>, <code>AggregateRating</code>, <code>FAQPage</code> are your starting five. Run your pages through Google&#8217;s Rich Results Test and treat failures as bugs, not recommendations.</p><p><strong>Add an </strong><code>llms.txt</code><strong> file to your domain root.</strong> This is the emerging standard (proposed in late 2024, gaining real adoption in 2025&#8211;2026) &#8212; a plain text file at <code>yourdomain.com/llms.txt</code> that tells AI crawlers what your site contains, which pages are machine-readable, and where your structured data lives. Think of it as <code>robots.txt</code> for LLMs. It&#8217;s a 30-minute implementation with real discoverability upside as more AI crawlers adopt it.</p><p><strong>Build a clean product data API endpoint.</strong> If you have a product catalog, give agents a direct path to read it &#8212; a <code>/api/products</code> or <code>/api/catalog</code> endpoint returning clean JSON with name, description, price, availability, and review summary. Agents that can query a clean endpoint don&#8217;t have to scrape your JavaScript-heavy product pages. Scraping fails. APIs don&#8217;t.</p><p><strong>Check what agents actually see on your site.</strong> Most modern frontend frameworks render content client-side. That means Googlebot and AI crawlers often land on a near-empty HTML shell. Run <code>curl -s yourdomain.com/product-page | grep -i "product\|price\|description"</code> and see what a non-JavaScript client gets. If the output is mostly empty, your product content is invisible to any agent that doesn&#8217;t execute JavaScript. Server-side rendering or pre-rendering critical pages is the fix.</p><p><strong>Consider implementing an MCP server for your product data.</strong> Anthropic&#8217;s Model Context Protocol (open standard, launched 2024) lets AI assistants connect directly to data sources via a defined interface. If your product catalog, knowledge base, or service information is behind an MCP server, Claude and any MCP-compatible agent can query it directly without web scraping. Early-adopter brands are already doing this &#8212; it&#8217;s a meaningful discoverability advantage while most competitors haven&#8217;t heard of it.</p><p><strong>Monitor AI referral traffic.</strong> As of 2025, major AI systems including Perplexity and some ChatGPT browsing flows send referral traffic with identifiable user agents or referrer headers. Add these to your analytics: <code>PerplexityBot</code>, <code>ChatGPT-User</code>, <code>Claude-Web</code>, <code>anthropic-ai</code> in your server logs. Understanding which AI systems are crawling you, how often, and which pages they hit tells you where your machine-readable infrastructure is working and where it isn&#8217;t.</p><div><hr></div><h2>Frequently Asked Questions</h2><p><strong>Q: Is AI actually replacing search engines, or is this overhyped?</strong> For specific use cases, product recommendations, how-to questions, comparison research, AI tools are already the primary channel for tens of millions of users. The behavioral shift is real and measurable, even if Google retains enormous overall market share. &#8220;Google still exists&#8221; and &#8220;search behavior driving brand discovery hasn&#8217;t changed&#8221; are two different claims, and only the first is still true.</p><p><strong>Q: Should we stop investing in SEO?</strong> No, but the definition of SEO needs to expand. Traditional on-page optimization and link building still matter, but they need to be supplemented with structured data implementation, off-site reputation architecture, and entity-based brand presence strategies. Think of it as SEO evolving into a broader discipline of AI discoverability.</p><p><strong>Q: How do we know if ChatGPT is recommending our brand?</strong> Test it directly: query ChatGPT, Claude, and Perplexity with the prompts your target customers are most likely to use when looking for a product or service like yours. Document what&#8217;s returned over time. Some enterprise analytics tools are beginning to track AI referral patterns as LLMs increasingly include source citations.</p><p><strong>Q: What&#8217;s the timeline for AI agents to become mainstream in commerce?</strong> OpenAI&#8217;s Operator is already publicly available. Perplexity&#8217;s shopping integrations are live. Apple Intelligence agentic features are shipping with iOS updates. Early-adopter segments are active now, with mainstream penetration expected within 12&#8211;24 months based on current adoption curves.</p><p><strong>Q: How do smaller brands compete if LLMs favor large, well-covered companies?</strong> Niche authority is a genuine competitive advantage. LLMs synthesize what credible sources say, and in niche categories, a smaller brand with deep coverage in relevant trade publications, strong review aggregator presence, and well-structured on-site data can outperform a larger brand with diffuse, generalist coverage.</p><div><hr></div><h2>What we&#8217;re building at Traversaal.ai</h2><p>I run <a href="https://traversaal.ai/">Traversaal.ai</a>, where we build contextual AI agents for enterprise. One of the core problems we keep running into &#8212; across retail, SaaS, and e-commerce &#8212; is exactly what this article describes: brands that have strong products but zero presence in the AI layer.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4QkM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 424w, /__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 848w, /__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4QkM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png" width="1456" height="633" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:633,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:334853,&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://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 424w, /__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 848w, /__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4QkM!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F912cf72b-7e5b-4279-a56e-0155d65508f4_2786x1212.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What that looks like in practice: a company&#8217;s customers are asking ChatGPT or Perplexity for recommendations, and the brand isn&#8217;t showing up. Not because the product is bad, but because the infrastructure isn&#8217;t there. No structured data. No machine-readable catalog. No API that an agent can query. The brand is invisible to the systems making the recommendations.</p><p>We built our contextual agent platform specifically to close this gap. Brands deploy a search agent on their own website &#8212; powered by their product catalog, their knowledge base, their real inventory &#8212; and that agent becomes the interface between their customers and their products. It handles natural language queries, surfaces the right product for the right use case, and feeds structured, machine-readable data back into the broader AI ecosystem so the brand stays visible when external agents are making recommendations too.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!TPDj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 424w, /__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 848w, /__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 1272w, /__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!TPDj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png" width="1456" height="609" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:174207,&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://boringbot.substack.com/i/195550133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 424w, /__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 848w, /__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 1272w, /__u/substackcdn.com/image/fetch/$s_!TPDj!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fba83638d-22a7-4994-bbe9-8547fd547e9c_1898x794.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you&#8217;re a brand or an enterprise team trying to figure out where to start, the answer is usually a contextual search agent on your own site first &#8212; that&#8217;s the fastest path to both serving your existing customers better and building the infrastructure that makes you visible to external AI systems. <a href="https://traversaal.ai/">We&#8217;d be happy to walk you through it.</a></p><div><hr></div><h2>Conclusion</h2><p>This isn&#8217;t a prediction about where search is heading. It describes something already underway. AI has replaced Google as the first stop for product research for millions of people, and agentic systems are starting to complete transactions on their behalf. Brands treating this as a &#8220;wait and see&#8221; situation are going to compound the gap they&#8217;re already behind.</p><p>The uncomfortable part: most of what determines whether an AI recommends your brand isn&#8217;t in your marketing team&#8217;s control. It&#8217;s in your schema markup, your API accessibility, your Wikipedia entry, your G2 reviews, your presence in the publications that LLMs were trained on. The brand that wins in AI search isn&#8217;t necessarily the best brand. It&#8217;s the most machine-readable one.</p><p>Brands that fix their infrastructure now, while most competitors are still debating whether this is real, are building a discoverability advantage that will be very hard to close in 12 months. The window is still open. It won&#8217;t be forever.</p><div><hr></div><h4>&#128161; Want to share your work on my socials with my 15k+ audience?</h4><h4>If you build a project you are excited about, I will be too. </h4><h4>Trust me! I love seeing people build cool stuff. To share it, you can contact me <a href="mailto:hamza@traversaal.ai">here</a>.</h4><h3>Sources</h3><ol><li><p><a href="https://openai.com/blog/chatgpt">https://openai.com/blog/chatgpt</a></p></li><li><p><a href="https://www.nytimes.com/2022/09/16/technology/gen-z-tiktok-search-engine.html">https://www.nytimes.com/2022/09/16/technology/gen-z-tiktok-search-engine.html</a></p></li><li><p><a href="https://sparktoro.com/blog/in-2023-404-of-google-searches-end-without-a-click/">https://sparktoro.com/blog/in-2023-404-of-google-searches-end-without-a-click/</a></p></li><li><p><a href="https://ahrefs.com/blog/google-ai-overviews/">https://ahrefs.com/blog/google-ai-overviews/</a></p></li><li><p><a href="https://housefresh.com/david-vs-digital-goliaths/">https://housefresh.com/david-vs-digital-goliaths/</a></p></li><li><p><a href="https://openai.com/operator">https://openai.com/operator</a></p></li><li><p><a href="https://www.eidosmedia.com/resources/027f-178a5f3ff288-405e593af1ff-1000/eidosmedia-what-will-_chat-gpt-do-_to-search.png">https://www.eidosmedia.com/resources/027f-178a5f3ff288-405e593af1ff-1000/eidosmedia-what-will-_chat-gpt-do-_to-search.png</a></p></li><li><p><a href="https://futureskillsacademy.com/wp-content/uploads/2024/07/chatgpt-vs-google-search-engine.png">https://futureskillsacademy.com/wp-content/uploads/2024/07/chatgpt-vs-google-search-engine.png</a></p></li><li><p><a href="https://media.licdn.com/dms/image/v2/D5612AQG2Wtxyh9zUHg/article-cover_image-shrink_720_1280/B56ZZ.sxkPHUAI-/0/1745882389178?e=2147483647&amp;v=beta&amp;t=hLuewvZ1pxbxVtfCN7nr436SEJwV13DzBVKdPpYncVI">https://media.licdn.com/dms/image/v2/D5612AQG2Wtxyh9zUHg/article-cover_image-shrink_720_1280/B56ZZ.sxkPHUAI-/0/1745882389178?e=2147483647&amp;v=beta&amp;t=hLuewvZ1pxbxVtfCN7nr436SEJwV13DzBVKdPpYncVI</a></p></li><li><p><a href="https://miro.medium.com/v2/resize:fit:640/1*YTQXNzOWR_h72qobG1XfMg.png">https://miro.medium.com/v2/resize:fit:640/1*YTQXNzOWR_h72qobG1XfMg.png</a></p></li><li><p><a href="https://images.squarespace-cdn.com/content/v1/5e6542d2ae16460bb741a9eb/1774999297183-2U640Z5JGQV1942YWP2S/ChatGPT+Image+Apr+1%2C+2026%2C+12_20_44+AM.png">https://images.squarespace-cdn.com/content/v1/5e6542d2ae16460bb741a9eb/1774999297183-2U640Z5JGQV1942YWP2S/ChatGPT+Image+Apr+1%2C+2026%2C+12_20_44+AM.png</a></p></li><li><p><a href="https://openai.com/blog/chatgpt">https://openai.com/blog/chatgpt</a>)</p></li><li><p><a href="https://www.nytimes.com/2022/09/16/technology/gen-z-tiktok-search-engine.html">https://www.nytimes.com/2022/09/16/technology/gen-z-tiktok-search-engine.html</a>)</p></li><li><p><a href="https://sparktoro.com/blog/in-2023-404-of-google-searches-end-without-a-click/">https://sparktoro.com/blog/in-2023-404-of-google-searches-end-without-a-click/</a>)</p></li><li><p><a href="https://ahrefs.com/blog/google-ai-overviews/">https://ahrefs.com/blog/google-ai-overviews/</a>)</p></li><li><p><a href="https://housefresh.com/david-vs-digital-goliaths/">https://housefresh.com/david-vs-digital-goliaths/</a>)</p></li><li><p><a href="https://openai.com/operator">https://openai.com/operator</a>)</p></li></ol><div><hr></div><h2>Did you enjoy this post?</h2><p>Here are some other AI Agents posts you might have missed:</p><p><strong><a href="/__u/boringbot.substack.com/p/kv-caching-and-speculative-decoding">KV Caching and Speculative Decoding</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key">A deep dive into Quantization: Key to Open Source LLM Deployments</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></strong></p><p><strong><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></strong></p><p><strong>Ready to take it to the next level?</strong> Check out my AI Agents for Enterprise course on Maven and be part of something bigger &#8212; join hundreds of builders developing enterprise-level agents.</p><p>Use this link to get <strong>$201 OFF!</strong></p><div><hr></div><p><em>You&#8217;re receiving this because you&#8217;re part of our mailing list. We don&#8217;t spam or sell your information. To unsubscribe, use the link below.</em></p>]]></content:encoded></item><item><title><![CDATA[Andrej Karpathy’s AutoResearch explained]]></title><description><![CDATA[How the automated ML experiment loop works]]></description><link>https://boringbot.substack.com/p/andrej-karpathys-autoresearch-explained</link><guid isPermaLink="false">https://boringbot.substack.com/p/andrej-karpathys-autoresearch-explained</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Thu, 23 Apr 2026 15:01:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5NbT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46ba2acd-c8a0-44fd-8770-66db213d60dc_1922x1624.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of building large scale ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Welcome to Edition #32 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><blockquote><p>Want to learn about Claude Code?</p><p>Join my free session, sign up <a href="https://maven.com/p/cbfb44/claude-code-masterclass-for-ai-developers">here</a></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KBV_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KBV_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg&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;:281847,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/194881272?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>&#127891; Want to up skill as AI Engineer?</em></p></blockquote><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>May 25th</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><div><hr></div><p><em>If you&#8217;ve ever watched a training curve plateau at 2am and wondered whether there&#8217;s a smarter way to do this, keep reading. What Andrej Karpathy is building might just change the way you think about ML research entirely.</em></p><blockquote><p>Picture this: it&#8217;s 2:47am. You&#8217;re hunched over a terminal, watching loss curves that aren&#8217;t moving the way you&#8217;d hoped. You&#8217;ve manually tweaked the learning rate three times tonight, swapped out the optimizer once, and you&#8217;re now seriously considering whether adding a dropout layer was actually a terrible idea. This is the reality of ML research, a deeply human, deeply exhausting cycle of hypothesis, trial, and error. But what if that entire cycle could run itself while you slept?</p></blockquote><p>Karpathy&#8217;s AutoResearch framework is built around that exact problem. AutoResearch is a self-directed, AI-powered experiment loop that automates the mechanical grind of ML research: writing code, running experiments, evaluating results, and deciding what to try next, all without a human pressing &#8220;go&#8221; between each step. It hands what Karpathy describes as a &#8220;team of ML engineers&#8221; to a single person with a single GPU.</p><p>In this article, you&#8217;ll learn exactly how the AutoResearch loop works, what decisions the AI makes on its own, how to set it up, and how to extend it with tools like Obsidian to build a living research notebook.</p><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><p>&#128260; <strong>AutoResearch is a closed-loop ML experiment engine</strong> &#8212; an AI agent writes the code change, runs training, checks the numbers, and decides what to try next. No human in the loop between steps.</p><p>&#128421;&#65039; <strong>It&#8217;s built for one GPU, not a data center</strong> &#8212; designed for individual researchers and small teams who can&#8217;t throw compute at the problem, but can throw time at it (overnight, while they sleep).</p><p>&#9989; <strong>Experiments get kept or thrown out based on one thing: did the number improve?</strong> &#8212; if it did, that becomes the new baseline. If not, it&#8217;s logged and discarded. Simple, rigorous, repeatable.</p><p>&#127919; <strong>Your job changes from running experiments to designing them</strong> &#8212; you write the research objective and define the baseline. The agent handles the grinding part.</p><p>&#128211; <strong>Pair it with Obsidian and your notes actually become useful</strong> &#8212; every experiment gets logged in the same format, so three months later you can find what you learned instead of digging through half-finished notebooks.</p></blockquote><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!eSrX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 424w, /__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 848w, /__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!eSrX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png" width="1200" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Andrej Karpathy speaking at an AI conference or working on a laptop&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Andrej Karpathy speaking at an AI conference or working on a laptop" title="Andrej Karpathy speaking at an AI conference or working on a laptop" srcset="/__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 424w, /__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 848w, /__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 1272w, /__u/substackcdn.com/image/fetch/$s_!eSrX!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fde071c-fcbb-4ac1-aea7-7a34291c0de4_1200x1200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: The Economic Times | <a href="https://img.etimg.com/thumb/width-1200,height-1200,imgsize-542705,resizemode-75,msid-129716812/tech/artificial-intelligence/ai-researcher-andrej-karpathy-no-longer-writes-code-spends-hours-directing-ai-agents.jpg">https://img.etimg.com/thumb/width-1200,height-1200,imgsize-542705,resizemode-75,msid-129716812/tech/artificial-intelligence/ai-researcher-andrej-karpathy-no-longer-writes-code-spends-hours-directing-ai-agents.jpg</a></figcaption></figure></div><div><hr></div><h2>Section 1: What is AutoResearch &#8212; and why is Karpathy behind it?</h2><p>If you&#8217;ve been anywhere near the deep learning world in the last decade, you know the name Andrej Karpathy. Former Director of AI at Tesla, co-founder of OpenAI, creator of nanoGPT and micrograd, Karpathy has a track record of making intimidating concepts approachable. His GitHub repos aren&#8217;t just codebases; they&#8217;re teaching instruments, carefully built to lower the barrier of entry to cutting-edge ML. AutoResearch fits squarely into that lineage.</p><p>The problem AutoResearch addresses is one every ML researcher knows: the human-in-the-loop bottleneck. Traditional ML research cycles are slow not because compute is slow, but because humans are slow. You run an experiment, wait, analyze, think, modify, run again. A single researcher can realistically orchestrate a handful of meaningful experiments per week. AutoResearch collapses that timeline by offloading the orchestration to an AI agent.</p><h3>Karpathy&#8217;s research philosophy and the problem he&#8217;s solving</h3><p>Karpathy has consistently built tools that open up deep learning rather than restrict it. nanoGPT let anyone train a GPT-style language model in a few hundred lines of clean Python. micrograd made backpropagation tangible for students. His X/Twitter threads regularly break down frontier research into digestible intuitions. AutoResearch continues this philosophy, but with a new target: removing the most mechanical, repetitive parts of the research job entirely.</p><p>The philosophy isn&#8217;t &#8220;replace researchers.&#8221; It&#8217;s &#8220;free researchers from drudgery.&#8221; A human researcher brings creativity, domain intuition, and the ability to recognize when something surprising deserves deeper investigation. An AI agent brings tireless consistency, speed, and the ability to run a dozen parallel threads of reasoning without burning out. AutoResearch is built to combine those two. Source: <a href="https://github.com/karpathy">https://github.com/karpathy</a></p><h3>The core idea: a research loop that runs itself</h3><p>AutoResearch is built around what we can call the &#8220;Karpathy Loop&#8221;, a four-stage automated cycle: </p><p><strong>Write &#8594; Run &#8594; Evaluate &#8594; Iterate. </strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><p>A human researcher seeds the loop with an objective, and the AI agent takes it from there, cycling through hypothesis generation, experimentation, and analysis without waiting for human input between each turn. Think of it as the scientific method running on autopilot.</p><p>The closest analogy: a brilliant but tireless junior researcher who works 24 hours a day, never gets bored of running experiments, keeps meticulous notes, and flags anything interesting for your review in the morning. The human&#8217;s job shifts from doing the work to directing it.</p><h3>Why now? The convergence that makes AutoResearch possible</h3><p>Five years ago, this concept would have been aspirational at best. Three things have converged to make it real today.</p><p>First, large language models can now write, read, and debug functional ML code, not just generate plausible-looking syntax, but reason about what changes might improve model performance and why. Second, accessible GPU compute has democratized the hardware side: a single A100 or H100, rented by the hour via RunPod or Lambda Labs, gives an individual researcher serious experimental horsepower. Third, open-source ML frameworks like PyTorch have reduced boilerplate overhead so much that an AI agent can navigate and modify training scripts with relatively little friction.</p><p>These three forces didn&#8217;t exist in combination until recently. AutoResearch is a product of this specific moment.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vbug!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 424w, /__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 848w, /__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vbug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png" width="1456" height="721" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:721,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Karpathy's AutoResearch progress chart &#8212; automated ML experiment loop results from the official repo&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Karpathy's AutoResearch progress chart &#8212; automated ML experiment loop results from the official repo" title="Karpathy's AutoResearch progress chart &#8212; automated ML experiment loop results from the official repo" srcset="/__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 424w, /__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 848w, /__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vbug!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa58ab96d-f4e8-4be7-a2cb-91233672a9d3_2382x1180.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: GitHub &#8212; karpathy/autoresearch | <a href="https://raw.githubusercontent.com/karpathy/autoresearch/master/progress.png">https://raw.githubusercontent.com/karpathy/autoresearch/master/progress.png</a></figcaption></figure></div><div><hr></div><h2>Who should care about AutoResearch &#8212; and why</h2><p>AutoResearch hits differently depending on your role. Below we break it down for two audiences: engineers and researchers who might actually run it, and Product Managers who work with teams that do. Same tool, very different implications.</p><div><hr></div><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/andrej-karpathys-autoresearch-explained">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Claude Opus 4.7 results: early benchmarks, real-world feedback, and is it worth upgrading?]]></title><description><![CDATA[Yet another release from Anthropic]]></description><link>https://boringbot.substack.com/p/claude-opus-47-results-early-benchmarks</link><guid isPermaLink="false">https://boringbot.substack.com/p/claude-opus-47-results-early-benchmarks</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Tue, 21 Apr 2026 14:04:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Hj0J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of building large scale ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>, and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>.</p><p>Welcome to Edition #31 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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 class="callout-block" data-callout="true"><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p></div><p>Want to learn more about Claude Code? </p><p>Join my free session, sign up <a href="https://maven.com/p/cbfb44/claude-code-masterclass-for-ai-developers">here</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KBV_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KBV_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg&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;:281847,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/194881272?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KBV_!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc33c7c59-d287-43fd-a6e7-e358f43556bf_3200x1800.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>&#127891; Want to up skill as AI Engineer?</em></p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>May 25th</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><div><hr></div><p><em>Every time Anthropic drops a new model, my inbox fills up with the same question: &#8220;Is it actually better, or just better on paper?&#8221; With Claude Opus 4.7 now in early access, I&#8217;ve been digging through the benchmark data, community threads, and real user feedback to give you a straight answer.</em></p><div><hr></div><p>There&#8217;s a specific kind of dread that hits when a major model update lands. </p><p>You want the new capabilities, but you&#8217;ve been burned before by an &#8220;upgrade&#8221; that quietly broke your carefully tuned prompts. Claude Opus 4.7, Anthropic&#8217;s latest flagship release, arrives with exactly that dual energy. The early Opus 4.7 results are genuinely impressive in several areas, but they come with caveats worth discussing honestly.</p><p>This article walks through the headline benchmark numbers, the standout new features (high-resolution image support deserves its own section), and what real developers and power users are actually reporting from the field. We&#8217;ll also put Anthropic Claude Opus 4.7 next to its main competitors to give you the competitive context you need.</p><p>Benchmark gains don&#8217;t always map cleanly to real-world prompt compatibility. By the end, you&#8217;ll have a workflow-focused verdict, not a marketing recap.</p><blockquote><p>&#128273; <strong>Key Takeaways:</strong> - Benchmark gains are meaningful, but test your existing prompts before fully committing - High-resolution image support is a genuine standout new feature - Mixed real-world reception reveals the benchmark-vs-reality gap this article unpacks</p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ueEB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ueEB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.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;:null,&quot;alt&quot;:&quot;Introducing Claude Opus 4.7 &#8212; official announcement graphic&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Introducing Claude Opus 4.7 &#8212; official announcement graphic" title="Introducing Claude Opus 4.7 &#8212; official announcement graphic" srcset="/__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ueEB!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F629898ab-922e-4a34-a372-ef354bd56a19_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Anthropic | <a href="https://www-cdn.anthropic.com/images/4zrzovbb/website/96ea2509a90e527642c822303e56296a07bcfce4-1920x1080.png">https://www-cdn.anthropic.com/images/4zrzovbb/website/96ea2509a90e527642c822303e56296a07bcfce4-1920x1080.png</a></figcaption></figure></div><div><hr></div><h2>What&#8217;s new in Claude Opus 4.7? A quick feature rundown</h2><p>Before we get into the numbers, let&#8217;s make sure everyone&#8217;s on the same page. If you&#8217;re coming in cold and wondering what actually changed, here&#8217;s the fast briefing.</p><h3>The headlining features at a glance</h3><p>Anthropic Claude Opus 4.7 arrives with a focused set of upgrades rather than a sprawling feature dump. The changes that matter most for practical work:</p><ul><li><p>High-resolution image support, a qualitatively new capability, not just an incremental tweak</p></li><li><p>Improved software engineering performance, stronger scores on multi-file code tasks and autonomous bug resolution</p></li><li><p>Better tool-calling accuracy, more reliability in agentic pipelines and multi-tool orchestration</p></li><li><p>Refined instruction-following, particularly in complex, multi-step system prompt scenarios</p></li></ul><p>This isn&#8217;t a ground-up model rewrite. It&#8217;s targeted. That framing matters when you&#8217;re deciding how to approach migration.</p><h3>High-resolution image support &#8212; why it matters</h3><p>This is the one feature that actually changes what&#8217;s possible, rather than nudging existing scores upward. High-resolution image support means Claude Opus 4.7 can process high-DPI images with meaningfully more fidelity than its predecessor, opening up workflows that were previously blocked by image quality constraints.</p><p>An analyst uploading a high-DPI architectural diagram and asking Claude to extract precise material specifications from dense annotations, that workflow is now viable. The same goes for design review pipelines, dense medical document analysis, and visual reasoning tasks where fine detail carries real weight. For teams that have been forcing lower-resolution workarounds, this is a genuine unlock.</p><p>The Claude Opus 4.7 benchmark results in the multimodal domain are being driven partly by this new ceiling, not just incremental refinement of existing capabilities.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!rrC-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rrC-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.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;:null,&quot;alt&quot;:&quot;Claude Opus 4.7 vision benchmark results showing multimodal performance improvements&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Opus 4.7 vision benchmark results showing multimodal performance improvements" title="Claude Opus 4.7 vision benchmark results showing multimodal performance improvements" srcset="/__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rrC-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa512b3c5-ac9b-4a13-8fc0-7b2b07626544_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Anthropic | <a href="https://www-cdn.anthropic.com/images/4zrzovbb/website/e97dffe5ee2a8764d5f122578f2ad8cde957070e-1920x1080.png">https://www-cdn.anthropic.com/images/4zrzovbb/website/e97dffe5ee2a8764d5f122578f2ad8cde957070e-1920x1080.png</a></figcaption></figure></div><h3>What didn&#8217;t change (and why that&#8217;s worth noting)</h3><p>The context window size appears consistent with Opus 4.6, and the core pricing tier structure hasn&#8217;t shifted dramatically for most API users. The fundamental reasoning architecture carries significant continuity with its predecessor.</p><blockquote><p>Opus 4.7 is an evolution, not a revolution, so if you were hoping for a context window doubling or a complete behavioral overhaul, temper those expectations. That architectural continuity also explains the prompt compatibility concerns we&#8217;ll get into: when a model changes enough to improve benchmarks but not enough to feel entirely different, the edge cases in your tuned prompts become unpredictable.</p></blockquote><div><hr></div><h2>Claude Opus 4.7 benchmark results &#8212; breaking down the numbers</h2><p>The numbers below are a starting point for interpretation, not a final verdict.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!hXYa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 424w, /__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 848w, /__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!hXYa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png" width="1456" height="1477" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1477,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claude Opus 4.7 official benchmark comparison table across coding, reasoning, and tool-calling tasks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Opus 4.7 official benchmark comparison table across coding, reasoning, and tool-calling tasks" title="Claude Opus 4.7 official benchmark comparison table across coding, reasoning, and tool-calling tasks" srcset="/__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 424w, /__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 848w, /__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 1272w, /__u/substackcdn.com/image/fetch/$s_!hXYa!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc8905b0-2ede-41eb-9fe2-a9901fcd65ca_2600x2638.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Anthropic | <a href="https://www-cdn.anthropic.com/images/4zrzovbb/website/d434d15757c6abac1122af483617741776d5a114-2600x2638.png">https://www-cdn.anthropic.com/images/4zrzovbb/website/d434d15757c6abac1122af483617741776d5a114-2600x2638.png</a></figcaption></figure></div><h3>Software engineering and coding benchmarks (SWE-Bench, HumanEval)</h3><p>The Claude Opus 4.7 benchmarks on software engineering tasks show the clearest improvement. On SWE-Bench, the industry-standard benchmark for evaluating autonomous code repair across real GitHub issues, Opus 4.7 shows a meaningful step up from Opus 4.6, with early reported scores suggesting improvements in the range of 8&#8211;12 percentage points depending on task category (Source: community-reported testing via r/ClaudeAI and independent evaluations). On HumanEval, which tests functional code generation, Opus 4.7 continues to perform competitively.</p><p>In practice, the model is meaningfully better at resolving multi-file bugs autonomously and handling complex refactoring tasks without losing thread. For developers using Claude in CI/CD pipelines or code review automation, this delta gets felt, not just measured.</p><p>One caveat worth flagging: SWE-Bench performance can vary based on how problems are scaffolded and whether tool use is enabled. Treat specific numbers as directional signals rather than absolute rankings, the trend is clear, but the precise magnitude is worth verifying against your own task distribution.</p><h3>Tool-calling, agentic tasks, and multi-step reasoning</h3><p>This is arguably where Claude Opus 4.7 makes its most compelling case. Tool-calling accuracy, the model&#8217;s ability to correctly invoke external tools, parse their outputs, and chain subsequent actions, reportedly improves in both reliability and handling of ambiguous tool signatures. For developers building AI-powered pipelines, this matters because errors compound: one bad tool call in step two of a five-step agent loop can cascade into a completely broken output.</p><p>Multi-step reasoning benchmarks also show improvement, particularly in tasks requiring the model to maintain goal-state awareness across many sequential actions. Early agentic task evaluations suggest Opus 4.7 recovers more gracefully from intermediate tool failures, an underrated capability that leaderboard scores don&#8217;t always capture well. If your work involves orchestrating Claude as an autonomous agent, this is the benchmark category to pay closest attention to.</p><h3>Reading the leaderboard critically &#8212; what benchmarks don&#8217;t tell you</h3><p>Benchmark scores are produced under controlled conditions with standardized prompts, evaluation rubrics, and fresh model states. Your production workflows are none of those things.</p><p>The AI industry keeps rediscovering the same pattern: a model update improves on standardized benchmarks while subtly shifting the behavior that your highly tuned few-shot prompts were relying on. The model hasn&#8217;t gotten worse in an absolute sense, it&#8217;s gotten better at the benchmark distribution, but your prompts were calibrated to a previous behavior profile. Treat leaderboard scores as a strong signal about capability ceiling, not as a guarantee of drop-in compatibility with your existing setup.</p><div><hr></div><h2>Opus 4.7 vs Opus 4.6 &#8212; is the upgrade actually noticeable?</h2><p>The practical question isn&#8217;t &#8220;is Opus 4.7 good?&#8221; It&#8217;s &#8220;is Opus 4.7 better than what I&#8217;m already using, for what I actually do?&#8221;</p><h3>Where Opus 4.7 clearly outperforms Opus 4.6</h3><p>In side-by-side testing reported by early adopters, the performance gap is most consistently noticeable in complex multi-file coding tasks, agentic pipeline orchestration, and high-resolution visual input processing. Developers working on autonomous coding agents report that Opus 4.7 follows complex system prompts more reliably across longer task sequences, with less drift from the original instruction set. One recurring theme in Opus 4.7 vs Opus 4.6 comparisons: the newer model is less likely to &#8220;forget&#8221; constraints specified early in a long context when deep in tool-calling loops.</p><p>For users who have been pushing Opus 4.6 to its limits on multi-tool orchestration tasks, the improvement feels tangible rather than marginal. The high-res image capability is simply additive, if you needed it, you now have it; if you didn&#8217;t, it doesn&#8217;t affect you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Hj0J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 424w, /__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 848w, /__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Hj0J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.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;:null,&quot;alt&quot;:&quot;Claude Opus 4.7 vs Opus 4.6 agentic coding evaluation &#8212; score as a function of token usage at each effort level&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Opus 4.7 vs Opus 4.6 agentic coding evaluation &#8212; score as a function of token usage at each effort level" title="Claude Opus 4.7 vs Opus 4.6 agentic coding evaluation &#8212; score as a function of token usage at each effort level" srcset="/__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 424w, /__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 848w, /__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Hj0J!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d1ef9d-3202-45cb-8eed-eb740d07da14_3840x2160.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Anthropic | <a href="https://www-cdn.anthropic.com/images/4zrzovbb/website/ff97ab0f2a5f3a243da02398f97dec1ac99b526a-3840x2160.png">https://www-cdn.anthropic.com/images/4zrzovbb/website/ff97ab0f2a5f3a243da02398f97dec1ac99b526a-3840x2160.png</a></figcaption></figure></div><h3>The regression problem &#8212; prompts that worked before may not work now</h3><p>A meaningful subset of early users reports that prompt compatibility regressions are a real friction point in the migration. This shows up most often with highly specific few-shot examples, custom personas defined in system prompts, and writing-style instructions that depend on subtle behavioral calibration.</p><p>This pattern isn&#8217;t unique to Anthropic Claude Opus 4.7, it&#8217;s well-documented across major model updates industry-wide. But it shouldn&#8217;t be dismissed as a minor inconvenience for users whose workflows have been carefully optimized over months. Training-distribution shifts alter the probability landscape of the model&#8217;s outputs, even when the change is intended as an improvement. Prompt regressions are usually fixable, but they require deliberate testing and iteration rather than a seamless drop-in swap.</p><h3>A simple migration checklist for Opus 4.6 users</h3><p>If you&#8217;re planning to migrate, here&#8217;s a practical framework to minimize disruption:</p><ol><li><p>Inventory your highest-stakes prompts, identify the system prompts and few-shot examples where output quality directly impacts your users or business processes</p></li><li><p>Run parallel tests, for each critical prompt, run identical inputs through both Opus 4.6 and Opus 4.7 and compare outputs systematically, not just impressionistically</p></li><li><p>Check instruction-following fidelity, pay specific attention to whether Opus 4.7 respects tone, format, and constraint instructions as reliably as its predecessor</p></li><li><p>Document regressions before migrating, create a log of any prompts showing degraded performance so you can iterate deliberately</p></li><li><p>Migrate in stages, consider running Opus 4.7 on new workflows first while keeping Opus 4.6 on proven, optimized pipelines until you&#8217;ve validated performance</p></li><li><p>Revisit your few-shot examples, if the model&#8217;s base behavior has shifted, your few-shot examples may need recalibration to the new prior</p></li></ol><p>This checklist won&#8217;t eliminate migration friction, but it turns a potentially chaotic upgrade into a managed process.</p><div><hr></div><h2>Real-world feedback &#8212; what developers and power users are actually saying</h2><p>Numbers are one thing. Here&#8217;s what practitioners are reporting from the field.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!OTY8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!OTY8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.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;:null,&quot;alt&quot;:&quot;Claude Opus 4.7 overall misaligned behavior score &#8212; safety evaluation from Anthropic's automated behavioral audit&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Opus 4.7 overall misaligned behavior score &#8212; safety evaluation from Anthropic's automated behavioral audit" title="Claude Opus 4.7 overall misaligned behavior score &#8212; safety evaluation from Anthropic's automated behavioral audit" srcset="/__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OTY8!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08f58446-d1f3-46c4-bc74-f18f2597e3b1_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Anthropic | <a href="https://www-cdn.anthropic.com/images/4zrzovbb/website/9299f8b86c69359c31d15dbece4545e628bddc34-1920x1080.png">https://www-cdn.anthropic.com/images/4zrzovbb/website/9299f8b86c69359c31d15dbece4545e628bddc34-1920x1080.png</a></figcaption></figure></div><h3>The positive reports &#8212; what&#8217;s winning people over</h3><p>The most consistently praised aspects of Opus 4.7 in developer communities, including threads on r/ClaudeAI, Hacker News, and X/Twitter, center on agentic task reliability and coding performance. Developers building multi-step automation workflows report noticeably fewer mid-pipeline failures, with the model recovering more gracefully when tool calls return unexpected outputs. Several users specifically called out improvements in long coding task coherence, the model maintains awareness of earlier decisions over longer code generation sessions.</p><p>The high-resolution image processing capability has also generated genuine enthusiasm among users in design-adjacent roles and document-heavy workflows. Anyone who regularly works with detailed diagrams, dense PDFs, or high-DPI design assets is finding practical value here quickly. The Claude Opus 4.7 benchmarks in this area appear to reflect real workflow gains, not just lab conditions.</p><h3>The frustrations &#8212; where users are hitting walls</h3><p>The most frequently reported pain point is exactly what we previewed: prompt regressions in carefully tuned production workflows. Some users report that Claude 4.7 is more &#8220;opinionated&#8221; in certain contexts, occasionally pushing back on instructions or reinterpreting prompts in ways that Opus 4.6 handled more literally.</p><p>There&#8217;s also a smaller but vocal group reporting that certain writing and long-form reasoning tasks, areas where Opus 4.6 was particularly strong, feel marginally less reliable in the new model. Improving a model&#8217;s performance on the benchmark distribution sometimes means shifting behavior in ways that create friction for workflows calibrated to the previous version. The model isn&#8217;t worse in an absolute sense, but it may be different in ways that matter for your specific setup.</p><h3>Cybersecurity and specialized use cases &#8212; a niche worth watching</h3><p>For cybersecurity professionals and other specialized practitioners with high-stakes, precision-dependent requirements, the Opus 4.7 picture is still developing. Early reports from security researchers suggest improvement in code vulnerability analysis tasks, with the model showing better awareness of security-relevant code patterns in complex multi-file review scenarios.</p><p>That said, this is an area where the prompt regression concern hits hardest, security workflows often involve highly specific system prompts and constraint sets that have been carefully engineered over time. Threat modeling assistance and security-focused reasoning tasks are exactly the kind of specialized, precision-tuned use cases where parallel testing before migration isn&#8217;t optional. The community consensus in security-focused channels is still forming around Claude Opus 4.7&#8217;s software engineering improvements and what they mean for this domain.</p><div><hr></div><h2>Claude Opus 4.7 vs competitors &#8212; how it stacks up against GPT-5.4 and Gemini 3.1 Pro</h2><p>No model evaluation is complete without competitive context. Here&#8217;s how Opus 4.7 positions against the field, task-specifically, not as a sweeping declaration.</p><h3>Head-to-head on coding and tool-calling tasks</h3><p>On software engineering and tool-calling benchmarks, Claude Opus 4.7 holds its own. Early community comparisons suggest Opus 4.7 trades blows with GPT-5.4 depending on task type, Opus 4.7 appears to edge ahead on complex multi-file autonomous repair tasks, while GPT-5.4 remains competitive on single-function generation and certain API-intensive scenarios. Against Gemini 3.1 Pro, Opus 4.7 shows a clearer advantage in instruction-following fidelity within tool-calling chains.</p><p>Definitive head-to-head benchmarks for these specific model versions are still accumulating in the community, so treat these comparisons as directional rather than conclusive. What&#8217;s clear is that Claude Opus 4.7 benchmarks place it firmly in the top competitive tier for coding and agentic tasks, not a clean winner across the board, but a serious competitor in the scenarios that matter most to developers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5tYf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5tYf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.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;:null,&quot;alt&quot;:&quot;Claude Opus 4.7 additional benchmark results &#8212; competitor comparison across coding and reasoning tasks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Claude Opus 4.7 additional benchmark results &#8212; competitor comparison across coding and reasoning tasks" title="Claude Opus 4.7 additional benchmark results &#8212; competitor comparison across coding and reasoning tasks" srcset="/__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 424w, /__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 848w, /__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5tYf!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0dc4211-195a-49f6-ba1b-aa8eb0a3f85e_1920x1080.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Anthropic | <a href="https://www-cdn.anthropic.com/images/4zrzovbb/website/d94e5f5a3eabe4261f0102528f44200c6b92f4e1-1920x1080.png">https://www-cdn.anthropic.com/images/4zrzovbb/website/d94e5f5a3eabe4261f0102528f44200c6b92f4e1-1920x1080.png</a></figcaption></figure></div><h3>Multimodal capabilities &#8212; imaging and visual reasoning compared</h3><p>The new high-resolution image support is where Opus 4.7 makes its most significant competitive move. Gemini 3.1 Pro has long been the standard for document-heavy visual workflows, and Opus 4.7 now closes that gap meaningfully for a broader range of use cases. For dense document analysis, high-DPI diagram interpretation, and design review workflows, Opus 4.7 now competes seriously with Gemini 3.1 Pro in a way its predecessor couldn&#8217;t.</p><p>GPT-5.4 remains strong in open-ended visual reasoning and natural-image interpretation. Opus 4.7&#8217;s advantage in the multimodal space is most pronounced in text-dense, high-resolution document scenarios rather than general image understanding tasks. If your use case centers on processing detailed technical documents, architectural drawings, or information-dense visual formats, Anthropic Claude Opus 4.7 has made a genuine competitive leap.</p><h3>Choosing the right model for your use case</h3><p>Rather than declaring a universal winner, here&#8217;s a simple decision framework:</p><p>Use CaseRecommended Starting PointAgentic coding pipelines and multi-file bug resolutionOpus 4.7, strong advantageDocument-heavy visual analysis and high-res image workflowsOpus 4.7 or Gemini 3.1 Pro, test bothOptimized existing GPT-5.4 production pipelinesStay on GPT-5.4 unless specific Opus features are neededGeneral-purpose reasoning and writing tasksEvaluate all three against your specific promptsSecurity-focused code analysisOpus 4.7 warrants testing, but validate carefully</p><p>The honest answer is that no single model dominates across every task category. Your ideal choice depends on what you&#8217;re actually building.</p><div><hr></div><h2>Frequently asked questions</h2><p><strong>Is Claude Opus 4.7 significantly better than Opus 4.6?</strong> For software engineering, agentic tasks, and high-resolution image workflows, yes, the improvements are meaningful and consistently reported. For other task types, the difference is more situational. If those core areas are central to your work, the upgrade is worth it.</p><p><strong>Will my existing Opus 4.6 prompts work with Opus 4.7?</strong> Most will, but some won&#8217;t without adjustment. Highly tuned few-shot examples, specific persona instructions, and precision-calibrated system prompts are the most likely to show behavioral shifts. Run parallel tests before fully migrating.</p><p><strong>How does Claude Opus 4.7 compare to GPT-5.4 for coding tasks?</strong> On complex multi-file autonomous coding tasks, Opus 4.7 appears competitive with or slightly ahead of GPT-5.4 in early comparisons. Single-function generation remains close. Test both on your actual task distribution, that&#8217;s the only comparison that matters for your work.</p><p><strong>What is the high-resolution image support feature specifically?</strong> It enables Claude Opus 4.7 to process high-DPI images with significantly greater fidelity than Opus 4.6, supporting detailed document analysis, dense diagram interpretation, and design review workflows that require preserving fine visual detail.</p><p><strong>Should cybersecurity professionals upgrade immediately?</strong> Not without testing. The model shows promise for security-related code analysis, but given the precision requirements of security workflows and the potential for prompt regressions, a careful parallel testing phase before migration is strongly advisable.</p><p><strong>Is the context window larger in Opus 4.7?</strong> Based on current available information, the context window is consistent with Opus 4.6. If an extended context window is your primary need, that shouldn&#8217;t drive your upgrade decision.</p><div><hr></div><h2>Conclusion &#8212; the honest verdict on Claude Opus 4.7</h2><p>Opus 4.7 is a genuine, meaningful upgrade, particularly for developers and power users whose work centers on software engineering, agentic task orchestration, and visual document workflows. The benchmark gains in these areas reflect real capability improvements that users are feeling in practice. The high-resolution image support opens up workflows that simply weren&#8217;t viable before.</p><p>The mixed community reception is also a useful reminder: leaderboard scores are a starting point, not a verdict. The most important evaluation you can run is against your own prompts, your own workflows, and your own definition of quality. That applies every time a new model drops, not just this one.</p><p>For most developers evaluating Anthropic Claude Opus 4.7, the upgrade is worth making. But if your workflows are heavily optimized around Opus 4.6, run the migration checklist before you flip the switch and test in parallel before you commit. The gains are real, confirm they apply to your specific situation before retiring a setup that&#8217;s been working reliably.</p><div><hr></div><p><strong>Ready to test Opus 4.7 for your own workflows?</strong> </p><p>Start with your three highest-stakes prompts, run them in parallel with Opus 4.6, and let the results guide your decision. If you found this breakdown useful, share it with your team, and drop your own early testing results in the comments. The community verdict is still forming, and your data point matters.</p><p>I also pressure tested Opus 4.7 in my previous post: </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;2c8e41ed-5617-41b0-b81b-a7e6c0c7981c&quot;,&quot;caption&quot;:&quot;&#128075; Claude Opus 4.7 vs 4.6&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Claude Opus 4.7, Here's what works and what doesn't - A PM Perspective&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:9814890,&quot;name&quot;:&quot;Hamza Farooq&quot;,&quot;bio&quot;:&quot;AI Practitioner with 15+ years of experience in building Large Scale ML Solutions. I also teach about building LLM Powered Solutions on Maven and Stanford. &quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ba95ae3-85b6-4812-a28e-d594a35a5061_399x399.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-04-18T16:31:00.344Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!c7wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://boringbot.substack.com/p/claude-opus-47-heres-what-works-and&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:194581738,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1645059,&quot;publication_name&quot;:&quot;The Production Gap&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!VZsg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c98e5f-d427-40f4-8dd1-8d7a34df0d20_1080x1080.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Sources</h2><ol><li><p><a href="https://lookaside.instagram.com/seo/google_widget/crawler/?media_id=3876680872979608079">https://lookaside.instagram.com/seo/google_widget/crawler/?media_id=3876680872979608079</a></p></li><li><p><a href="https://osu-wams-blogs-uploads.s3.amazonaws.com/blogs.dir/2115/files/2024/12/A.I.-Model.png">https://osu-wams-blogs-uploads.s3.amazonaws.com/blogs.dir/2115/files/2024/12/A.I.-Model.png</a></p></li><li><p><a href="https://preview.redd.it/claude-opus-4-7-benchmarks-v0-e0equiu3bkvg1.png?width=1080&amp;crop=smart&amp;auto=webp&amp;s=9ae2b8d255bde017c0708326bc0d7d0c854eb08e">https://preview.redd.it/claude-opus-4-7-benchmarks-v0-e0equiu3bkvg1.png?width=1080&amp;crop=smart&amp;auto=webp&amp;s=9ae2b8d255bde017c0708326bc0d7d0c854eb08e</a></p></li><li><p><a href="https://media.licdn.com/dms/image/v2/D5612AQGzcAlzaRY_Qg/article-cover_image-shrink_720_1280/B56ZYRTGzsHQAQ-/0/1744046945643?e=2147483647&amp;v=beta&amp;t=0FT81vCIju8oPqMP0352Lnmk0s8bKaHTIE_9FA7Lhu0">https://media.licdn.com/dms/image/v2/D5612AQGzcAlzaRY_Qg/article-cover_image-shrink_720_1280/B56ZYRTGzsHQAQ-/0/1744046945643?e=2147483647&amp;v=beta&amp;t=0FT81vCIju8oPqMP0352Lnmk0s8bKaHTIE_9FA7Lhu0</a></p></li><li><p><a href="https://storage.ghost.io/c/7d/70/7d70d59c-7408-4583-b44d-98a43cdfa8fd/content/images/size/w2000/2025/10/discover-ai-communities.jpg">https://storage.ghost.io/c/7d/70/7d70d59c-7408-4583-b44d-98a43cdfa8fd/content/images/size/w2000/2025/10/discover-ai-communities.jpg</a></p></li><li><p><a href="https://miro.medium.com/v2/resize:fit:1400/1*JzVc5cNukZMsM_CTiAWvgg.png">https://miro.medium.com/v2/resize:fit:1400/1*JzVc5cNukZMsM_CTiAWvgg.png</a></p></li></ol><div><hr></div><h3><strong>&#128161; Want to share your work on my socials with my 15k+ audience?</strong></h3><h3><strong>If you build a project you are excited about, I will be too. Trust me! I love seeing people build cool stuff. To share it, you can contact me <a href="mailto:hamza@traversaal.ai">here</a>.</strong></h3><h2><strong>Did you enjoy this post?</strong></h2><p>Here are some other AI Agents posts you might have missed:</p><h5><strong><a href="/__u/boringbot.substack.com/p/kv-caching-and-speculative-decoding">KV Caching and Speculative Decoding</a></strong></h5><h5><em><strong><a href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key">A deep dive into Quantization: Key to Open Source LLM Deployments</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></strong></em></h5><p><strong>Ready to take it to the next level?</strong> Check out my AI Agents for Enterprise course on Maven and be part of something bigger &#8212; join hundreds of builders developing enterprise-level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Fe9X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Fe9X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png" width="1456" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dda96136-1956-48e0-b388-fef22242cc7b_1600x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use this link to get <strong>$201 OFF!</strong></p><div><hr></div><p><em>You&#8217;re receiving this because you&#8217;re part of our mailing list. We don&#8217;t spam or sell your information. To unsubscribe, use the link below.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Claude Opus 4.7, Here's what works and what doesn't - A PM Perspective]]></title><description><![CDATA[5 core PM tasks (with real output comparisons)]]></description><link>https://boringbot.substack.com/p/claude-opus-47-heres-what-works-and</link><guid isPermaLink="false">https://boringbot.substack.com/p/claude-opus-47-heres-what-works-and</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Sat, 18 Apr 2026 16:31:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!c7wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. I have 18 years of building large scale ecosystems and I teach at UCLA and <a href="https://maven.com/boring-bot">MAVEN</a>,  and founder of <a href="https://traversaal.ai/">Traversaal.ai</a>. </p><p>Welcome to Edition #31 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p><p><em>&#127891; Want to up skill as AI Engineer?</em></p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>May 5th</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><div><hr></div><p><em>I&#8217;ve been running the same five PM prompts through every major Claude release for the past year. When Opus 4.7 dropped and Reddit immediately declared it a regression, I went back to my test bench. Here&#8217;s what the data actually shows.</em></p><div><hr></div><div class="callout-block" data-callout="true"><p style="text-align: center;">The moment Claude Opus 4.7 shipped, the backlash hit fast. </p><p style="text-align: center;">Threads on <a href="https://www.reddit.com/r/ClaudeAI/comments/1soew2x/claude_opus_47_won_69_of_100_blind_evals_against/">Reddit</a>, <a href="https://news.ycombinator.com/item?id=47793411">HackerNews</a>, and <a href="https://x.com/PawelHuryn/status/2041418614557802747">Twitter/X</a> filled up with complaints: degraded creative writing, over-formatted outputs, a loss of the conversational &#8220;warmth&#8221; that made earlier Claude models feel different from GPT-4. Scroll far enough and you&#8217;d think Anthropic shipped a downgrade. Almost none of it came from product managers using Claude for structured, deliverable-focused work.</p></div><div class="callout-block" data-callout="true"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!c7wd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 424w, /__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 848w, /__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!c7wd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png" width="1456" height="1039" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1039,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:730211,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 424w, /__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 848w, /__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c7wd!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F639710bb-7e46-4be5-8721-c3ca693d81cd_1550x1106.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p></div><p>Scroll far enough and you&#8217;d think Anthropic shipped a downgrade. Almost none of it came from product managers using Claude for structured, deliverable-focused work.</p><p><strong><a href="https://github.com/hamzafarooq/claude-opus4-7-benchmark">So I went back to my test bench. </a></strong></p><p>Same five PM prompts, both models, fresh sessions with identical context and no fine-tuning, raw first outputs side by side. </p><p>The tasks: PRD writing, exec summary writing, RICE prioritization, user research synthesis, and GTM planning. What follows is the actual output comparison.</p><p>One thing I didn&#8217;t see covered anywhere else: <em>4.7&#8217;s mid-output self-correction behavior. It shows up in the RICE scoring and user research tasks and it changes how you should think about using it in agentic workflows. </em></p><p>We&#8217;ll get to that.</p><div><hr></div><blockquote><h3>Key takeaways</h3><ul><li><p>4.7 is faster and more structured, but whether that&#8217;s better depends entirely on the task.</p></li><li><p>For tables, checklists, and stakeholder-ready docs, 4.7&#8217;s formatting defaults save you time. For narrative writing, they work against you.</p></li><li><p>4.7 catches its own reasoning errors mid-output. 4.6 doesn&#8217;t. For multi-step workflows, that matters more than surface polish.</p></li><li><p>4.6 is still the better choice for PRD writing from scratch, it scored a perfect 45/50 vs 4.7&#8217;s 35/50.</p></li><li><p>If you&#8217;re launching AI features in regulated markets, 4.7 already knows about the EU AI Act. 4.6 doesn&#8217;t mention it.</p></li></ul></blockquote><div><hr></div><h2>The &#8220;regression&#8221; controversy and why PMs should read it differently</h2><h3>What the community is saying</h3><p>The complaints about Opus 4.7 cluster around a few consistent patterns. Writers say long-form prose has become more mechanical. The model reaches for bullet points and headers where earlier versions held a flowing narrative. Coders say explanatory comments feel more templated. General users describe the experience as &#8220;corporate,&#8221; as if every response is being formatted for a slide deck nobody asked for.</p><p>These aren&#8217;t manufactured grievances. If you use Claude primarily for creative writing, exploratory conversation, or nuanced code explanation, the default output style has shifted in a way that works against you. The representative Reddit complaint reads something like: <em>&#8220;It used to feel like talking to a thoughtful colleague. Now it feels like getting a memo.&#8221;</em> For those use cases, that&#8217;s worth acknowledging.</p><p>The users driving the loudest backlash tend to be novelists, hobbyist coders, and general-purpose AI users. Their evaluation surface is fundamentally different from a PM who needs a PRD reviewed by six engineers in Confluence by Thursday.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LFBS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 424w, /__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 848w, /__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LFBS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png" width="798" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:798,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:112705,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa6b978b-6f05-4422-91c1-55aa5325af42_2560x1359.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 424w, /__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 848w, /__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LFBS!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F200515d1-82b3-4ee5-aea9-c361f02d7769_798x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: /ClaudeAI &#8212; posted April 17, 2026 </figcaption></figure></div><h2>The Benchmark setup</h2><h1><strong>Claude Battle: Opus 4.6 vs Opus 4.7 for Product Managers</strong></h1><p>A head-to-head benchmark of Claude Opus 4.6 and Opus 4.7 on 5 core PM tasks, with Claude-as-judge quality scoring.</p><p><a href="https://github.com/hamzafarooq/claude-opus4-7-benchmark">Github Link</a></p><h2><strong>What it contains</strong></h2><p>Two scripts:</p><ol><li><p><code>claude_battle.py</code> &#8212; runs both models on identical PM prompts and saves raw outputs + timing</p></li><li><p><code>battle_eval.py</code> &#8212; uses Claude Opus 4.7 as an independent judge to score both models on 5 PM-specific quality dimensions</p></li></ol><p>The <code>results/</code> folder contains the actual outputs and scores from the April 17, 2026 run (the day Opus 4.7 launched).</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!iEUx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 424w, /__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 848w, /__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 1272w, /__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!iEUx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png" width="1364" height="612" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:612,&quot;width&quot;:1364,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:113275,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 424w, /__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 848w, /__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 1272w, /__u/substackcdn.com/image/fetch/$s_!iEUx!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5607e8ac-4cf5-4b8d-b6f3-ab5be4cc8179_1364x612.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Why PM workflows are a different evaluation surface</h3><p>PM deliverables have one thing in common that creative tasks don&#8217;t: the primary audience isn&#8217;t the person who wrote them. A PRD gets reviewed by engineering leads, design, and QA. An exec summary lands in a C-suite inbox. A RICE-scored backlog gets pulled into JIRA. The output needs to be scannable, formatted for stakeholder review cycles, and structured to slot into existing templates.</p><p>The formatting shift that feels like over-engineering in casual chat is, in that context, a feature. When your audience reads in tables and headers, a model that defaults to tables and headers isn&#8217;t regressing. It&#8217;s calibrating.</p><p>The 4.6 vs 4.7 question isn&#8217;t which model is better overall. It&#8217;s which task you&#8217;re running.</p><h3>How this benchmark was structured</h3><p>Every test followed the same protocol: identical prompt text, fresh session with no prior context, raw first output captured without regeneration. No fine-tuning, no system prompts, no prompt engineering. I wanted to evaluate default behavior, because most PMs aren&#8217;t prompt engineers and their first-pass output is what actually matters under deadline.</p><p>Evaluation criteria across all five tasks: output structure, information density, formatting fit, reasoning visibility, and consistency. Where the outputs diverged, I&#8217;ve included direct excerpts and comparisons. Where one model clearly won, I&#8217;ve said so.</p><h3>Quality scorecard &#8212; the actual scores</h3><p>Each response was evaluated by Claude Opus 4.7 acting as an independent judge, scoring five PM-specific quality dimensions from 1-10 (max score per task: 50).</p><p><strong>Overall scores:</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!qrPF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 424w, /__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 848w, /__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 1272w, /__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!qrPF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png" width="1456" height="585" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:585,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:100867,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 424w, /__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 848w, /__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 1272w, /__u/substackcdn.com/image/fetch/$s_!qrPF!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5906d1f-ac5c-41e9-9a9b-d189d9dee563_1508x606.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Scores by dimension (average across all 5 tasks):</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!LUeg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 424w, /__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 848w, /__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!LUeg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png" width="1456" height="498" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:498,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80924,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 424w, /__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 848w, /__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 1272w, /__u/substackcdn.com/image/fetch/$s_!LUeg!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5c3df68-6cd5-455c-9f91-6d84b57ffed4_1532x524.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The two dimensions that split the models: Actionability (4.7 +1.2 avg) and PM Framework Accuracy (4.6 +0.6 avg). Opus 4.7 produces outputs you can act on immediately. Opus 4.6 applies frameworks like RICE with more precision when it doesn&#8217;t hit token limits.</p><h2>Task 1: PRD writing (the one task 4.6 clearly wins)</h2><h3>What each model produced</h3><p>The prompt: <em>&#8220;Write a concise PRD for adding a waitlist to our B2B SaaS product so we can manage demand during our closed beta. Include problem statement, goals, user stories (3), success metrics, out of scope, and risks.&#8221;</em></p><p>Opus 4.6 produced flowing prose with strong narrative structure. The problem statement was rich with context, goals were laid out in a table, and the risk section proactively flagged GDPR/CCPA consent and data retention as a launch blocker. It read like a document written by a PM who has shipped products before.</p><p>Opus 4.7 produced a well-structured output with a clear hierarchy and checkbox-formatted user stories, then hit its token limit and cut off mid-risk statement. It literally stopped mid-sentence.</p><h3>Side-by-side output analysis</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!OG4-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 424w, /__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 848w, /__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!OG4-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png" width="1456" height="571" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:571,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148537,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 424w, /__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 848w, /__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 1272w, /__u/substackcdn.com/image/fetch/$s_!OG4-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75778f11-f3b7-4e14-bcd1-91a27e35e5db_1860x730.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The 4.6 output scored 9/10 across all five quality dimensions. 4.7 scored 6/10 on Completeness and Clarity because it didn&#8217;t finish.</p><h3>PRD verdict</h3><p><strong>4.6 wins.</strong> A PRD that doesn&#8217;t finish its risk section is going to come back and bite you in sprint planning. The completeness gap here isn&#8217;t subtle.</p><p>One important note: this is a token ceiling problem, not a capability problem. If you&#8217;re using 4.7 for PRDs, set <code>max_tokens</code> higher than the default. That single change likely closes the gap.</p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Xj3n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 424w, /__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 848w, /__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Xj3n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png" width="1456" height="1053" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1053,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot comparison of two PRD document formats &#8212; one with tables and structured headers vs one in narrative prose format&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot comparison of two PRD document formats &#8212; one with tables and structured headers vs one in narrative prose format" title="Screenshot comparison of two PRD document formats &#8212; one with tables and structured headers vs one in narrative prose format" srcset="/__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 424w, /__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 848w, /__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Xj3n!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc2f0a81b-0256-448b-b7a4-8ad7f9f0d77b_2096x1516.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Aha! software | <a href="https://images.ctfassets.net/4zfc07om50my/5ZKGwdbKk38ZMO9B2sjE6k/246b981eb5f52d2fef5fd00d2e912da0/Guide-Pros-Cons-PRD.png">https://images.ctfassets.net/4zfc07om50my/5ZKGwdbKk38ZMO9B2sjE6k/246b981eb5f52d2fef5fd00d2e912da0/Guide-Pros-Cons-PRD.png</a></figcaption></figure></div><div><hr></div><h2>Task 2: Exec summary (where 4.6 nearly takes back a second win)</h2><h3>The test</h3><p>The prompt: <em>&#8220;Rewrite the following engineering spec as a 3-bullet executive summary for a non-technical VP. Focus on business impact, not implementation.&#8221;</em></p><p>This task rewards different output characteristics than PRD writing. A good exec summary for a C-suite audience needs rhetorical craft: a narrative arc that moves from problem to stakes to solution, and a tone that feels strategic rather than operational. Tables and bullet points work against you when you need to build urgency and make a business case feel compelling.</p><h3>Where each model landed</h3><p>Opus 4.6 translated an 800ms-to-120ms latency improvement into &#8220;~85% reduction in our slowest database response times.&#8221; Accurate, but it reads like a metrics report.</p><p>Opus 4.7 framed the same number as &#8220;key user actions will feel roughly 6x snappier.&#8221; That&#8217;s the version a VP can actually repeat in a board meeting. It also added &#8220;removes our current scaling ceiling&#8221; as business context, where 4.6 stayed closer to the technical framing.</p><p>The scores were close: 4.6 scored 42/50, 4.7 scored 45/50. The gap was almost entirely in Actionability and Business Reasoning.</p><h3>Exec summary verdict</h3><p><strong>4.7 wins</strong>, but not by much. On default output, 4.7 frames impact the way a non-technical stakeholder reads it. If you need pure narrative prose with no structure at all, add one line to your prompt: <em>&#8220;Write this as flowing prose with no bullet points, the audience reads for story not structure.&#8221;</em> That largely fixes 4.7&#8217;s formatting instinct.</p><div><hr></div><h2>Tasks 3 and 4: RICE prioritization and user research (where the reasoning gap opens up)</h2><h3>RICE scoring</h3><p>The prompt gave 6 features and asked for RICE scores, rankings, and rationale for the top 2 picks. Realistic mixed backlog: dark mode, Slack integration, CSV export, mobile app, onboarding checklist, team permissions (RBAC).</p><p>Opus 4.6 produced a clean RICE table. It also contained a problem: the scoring went feature-by-feature through the narrative, making the ranking hard to scan, and the output cut off before explaining the second top pick. It looked authoritative and wasn&#8217;t finished.</p><p>Opus 4.7 produced a summary table with all six features ranked in one view and RICE scores calculated correctly. Partway through it caught something and inserted: <em>&#8220;Correcting: CSV export (300) actually ranks 3rd, Slack (187) 4th.&#8221;</em> It noticed an inconsistency in its own ordering and fixed it inline. That&#8217;s the self-correction behavior.</p><p>For a PM who runs RICE scoring regularly, that kind of visible error-catching is worth a lot. A silent error in a prioritization table is the kind of thing that ships the wrong feature.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!uQy-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 424w, /__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 848w, /__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uQy-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png" width="1456" height="1261" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1261,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:450328,&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://boringbot.substack.com/i/194581738?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 424w, /__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 848w, /__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uQy-!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F93db517e-69c5-4fdc-812d-fbf1730d020d_1580x1368.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: https://www.reddit.com/r/ClaudeCode/comments/1soes75/i_benchmarked_opus_46_vs_47_on_organizational/</figcaption></figure></div><h3>User research synthesis</h3><p>The prompt: 5 raw B2B customer interview quotes. Synthesize into top 3 pain points, a Jobs to Be Done statement, and a recommended next step.</p><p>Both models correctly identified the top pain points (data export, access controls, onboarding). The difference was in what came after.</p><p>Opus 4.6 stopped at the diagnosis. Clear pain points, crisp JTBD framing, but no success metrics for whatever the team ships next.</p><p>Opus 4.7 added a recommended quarterly sequence: fix export first (highest frequency), then permissions (highest churn risk), then onboarding. It also proposed how to measure whether each fix worked. That&#8217;s the output you can bring to a sprint planning session without additional work.</p><h3>Verdict for multi-step tasks</h3><p>Both tasks point to the same thing: 4.7 shows its work. Whether it&#8217;s catching a ranking error or sequencing recommendations with metrics, the outputs are more auditable. In agentic workflows where Claude runs through multiple steps, a visible self-correction in step two is more useful than a polished output with a silent error buried inside it.</p><p></p><h2>Task 5: GTM planning (the AI-era awareness gap)</h2><h3>The prompt</h3><p><em>&#8220;Create a go-to-market launch checklist for a new feature: &#8216;AI-powered meeting summaries&#8217; being added to an existing B2B SaaS productivity tool with 2,000 paying customers.&#8221;</em></p><p>This prompt was designed to surface AI-era awareness, specifically whether either model would flag the regulatory and operational concerns that come with shipping an LLM-powered feature.</p><h3>What 4.6 missed</h3><p>Opus 4.6 produced a solid three-phase GTM checklist covering internal readiness, customer communication, and success measurement. The risk section identified standard enterprise SaaS risks: competitive displacement, low adoption, integration complexity. It didn&#8217;t mention the EU AI Act, GDPR Article 22 implications for automated decision-making, or LLM cost monitoring as an operational concern.</p><p>For a PM launching an AI product in Europe in 2026, that&#8217;s a meaningful gap in the checklist.</p><h3>What 4.7 added</h3><p>Opus 4.7&#8217;s checklist included explicit items for EU AI Act compliance (classifying the feature&#8217;s risk tier), GDPR data residency requirements for model inference, and a note to set usage caps to prevent runaway LLM spend. It recommended a phased rollout sequenced against the EU AI Act&#8217;s compliance timelines.</p><p>Training cutoff explains part of it, but 4.7 also surfaces these requirements in the context of PM decisions, not just as a legal checklist bolted on at the end.</p><h3>GTM verdict</h3><p><strong>4.7 wins</strong>, especially for any PM working on AI features or in regulated markets. If your GTM plan doesn&#8217;t touch AI or Europe, the gap narrows considerably. But if it does, 4.7 is the only one of the two that doesn&#8217;t require you to manually fill in what it missed.</p><div><hr></div><h2>Frequently asked questions</h2><p><strong>Is Claude Opus 4.7 better than 4.6 for product managers?</strong> </p><p>Depends on the task. For structured deliverables, RICE scoring, GTM planning, and multi-step agentic workflows, 4.7 is the stronger choice. For PRDs from scratch and persuasive narrative writing, 4.6 holds its own.</p><p><strong>What is the Claude Opus 4.7 benchmark performance for PM tasks?</strong> </p><p>Across five tasks, 4.7 won four (backlog prioritization, exec summary, user research synthesis, GTM planning) and lost one (PRD writing, where 4.6&#8217;s completeness was decisive). Overall scores: 202/250 for 4.7 vs 198/250 for 4.6.</p><p><strong>Why are people saying Claude Opus 4.7 is a regression?</strong> </p><p>The regression complaints are largely valid for creative writing and conversational use. The formatting shift toward tables and structured output works against those use cases. For PM deliverables that need structured, stakeholder-ready output, the same behavior is often a feature.</p><p><strong>What is mid-output self-correction and why does it matter?</strong> </p><p>It&#8217;s when Claude 4.7 identifies an inconsistency during generation and explicitly flags and corrects it in the same output. For agentic workflows where errors compound across iterations, this is more useful than polished output with silent logical errors inside.</p><p><strong>Should I upgrade from Claude Opus 4.6 to 4.7?</strong> </p><p>Use it as a routing rule: if the output is going into a structured template reviewed by stakeholders, use 4.7. If it&#8217;s a narrative draft you&#8217;ll heavily edit yourself or a persuasive doc for a non-technical audience, stay on 4.6 or add an explicit prose instruction.</p><div><hr></div><h2>Conclusion</h2><p>The community backlash against Opus 4.7 is real, and for the use cases driving it, it&#8217;s not wrong. But it&#8217;s not the full picture for PMs.</p><p>Across five core tasks, 4.7 won four. It traded narrative fluency for structured output, and surface polish for visible reasoning. For PM workflows, most of those trade-offs work in your favor. The one exception is PRD writing from scratch, and even that comes down to a token limit you can adjust.</p><p>The self-correction behavior is the thing worth watching most closely. Models that show their work integrate more cleanly into multi-step PM workflows than models that return polished outputs with silent errors. For agentic use, that difference matters more than surface polish.</p><p>Route your structured deliverables through Opus 4.7. Keep 4.6 for narrative writing. And if you&#8217;re building AI features or operating in regulated markets, 4.7 already knows the compliance landscape you&#8217;re navigating.</p><div><hr></div><p><em>Have you run your own comparisons between 4.6 and 4.7? </em></p><p><em>Drop your findings in the comments, particularly if you&#8217;ve stress-tested the self-correction behavior on longer agentic chains. I&#8217;m building a follow-up test on five-step roadmap generation loops and the more real-world data points I have, the better.</em></p><p>Sources</p><ol><li><p><a href="https://images.ctfassets.net/4zfc07om50my/5ZKGwdbKk38ZMO9B2sjE6k/246b981eb5f52d2fef5fd00d2e912da0/Guide-Pros-Cons-PRD.png">https://images.ctfassets.net/4zfc07om50my/5ZKGwdbKk38ZMO9B2sjE6k/246b981eb5f52d2fef5fd00d2e912da0/Guide-Pros-Cons-PRD.png</a></p></li><li><p><a href="https://weaviate.io/assets/images/agentic-search-workflow-2b8e44550b28c263f52c18e1d8b7ca1f.jpg">https://weaviate.io/assets/images/agentic-search-workflow-2b8e44550b28c263f52c18e1d8b7ca1f.jpg</a></p></li><li><p><a href="https://www.reddit.com/r/ClaudeAI/comments/1soew2x/claude_opus_47_won_69_of_100_blind_evals_against/">https://www.reddit.com/r/ClaudeAI/comments/1soew2x/claude_opus_47_won_69_of_100_blind_evals_against/</a></p></li><li><p><a href="https://www.reddit.com/r/ClaudeCode/comments/1soes75/i_benchmarked_opus_46_vs_47_on_organizational/">https://www.reddit.com/r/ClaudeCode/comments/1soes75/i_benchmarked_opus_46_vs_47_on_organizational/</a></p></li></ol><div><hr></div><h3><strong>&#128161; Want to share your work on my socials with my 15k+ audience?</strong> </h3><h3>If you build a project you are excited about, I will be too. Trust me! I love seeing people build cool stuff. To share it, you can contact me <a href="mailto:hamza@traversaal.ai">here</a>.</h3><h2><strong>Did you enjoy this post?</strong></h2><p>Here are some other AI Agents posts you might have missed:</p><h5><strong><a href="/__u/boringbot.substack.com/p/kv-caching-and-speculative-decoding">KV Caching and Speculative Decoding</a></strong></h5><h5><em><strong><a href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key">A deep dive into Quantization: Key to Open Source LLM Deployments</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></strong></em></h5><p><strong>Ready to take it to the next level?</strong> Check out my AI Agents for Enterprise course on Maven and be part of something bigger &#8212; join hundreds of builders developing enterprise-level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Fe9X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Fe9X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png" width="1456" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dda96136-1956-48e0-b388-fef22242cc7b_1600x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use this link to get <strong>$201 OFF!</strong></p><div><hr></div><p><em>You&#8217;re receiving this because you&#8217;re part of our mailing list. We don&#8217;t spam or sell your information. To unsubscribe, use the link below.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[TurboQuant: the new(?) and controversial ground breaking compression breakthrough from Google]]></title><description><![CDATA[Does the KV cache compression actually deliver on its promises?]]></description><link>https://boringbot.substack.com/p/turboquant-the-new-and-controversial</link><guid isPermaLink="false">https://boringbot.substack.com/p/turboquant-the-new-and-controversial</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Tue, 07 Apr 2026 15:01:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!doW8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>! </p><p>Welcome to Edition #30 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p><p><em>&#127891; Want to up skill as AI Engineer?</em></p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>May 5th</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><div><hr></div><p><em>If you&#8217;ve been watching the LLM efficiency space lately, you already know that every few months a paper lands claiming to solve the memory problem, and every few months, the engineering community has to do the work of separating signal from noise. This one is worth reading carefully.</em></p><div><hr></div><h1>TurboQuant : does KV cache compression actually deliver on its promises?</h1><div><hr></div><p>Google drops a <a href="https://research.google/blog/turboquant-redefining-ai-efficiency-with-extreme-compression/">research paper</a> promising to compress <strong>KV caches</strong> to 3-bit precision with <em>zero</em> accuracy loss, and the AI community collectively raises an eyebrow. </p><p>It&#8217;s the kind of headline that spreads fast on AI Twitter/X, 8x throughput, 6x memory reduction, no degradation, and it&#8217;s exactly the kind of claim that deserves more than a retweet before anyone starts restructuring their GPU infrastructure around it. </p><p><strong>TurboQuant</strong> is Google&#8217;s proposed approach to one of the most consequential unsolved problems in production <strong>large language model efficiency</strong>: what do you do when the memory your model needs during inference grows faster than your hardware budget? <strong>KV cache compression</strong> is where that question gets answered or doesn&#8217;t, and TurboQuant claims to have cracked it. We&#8217;ll look at the benchmarks, surface an active academic controversy that most mainstream coverage has ignored entirely, and pull in what real engineers are actually saying, so you can decide whether this is a genuine breakthrough, an incremental improvement dressed up in bold marketing language, or something more complicated than either.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!doW8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 424w, /__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 848w, /__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 1272w, /__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!doW8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png" width="1200" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Abstract visualization of neural network memory compression with floating data blocks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Abstract visualization of neural network memory compression with floating data blocks" title="Abstract visualization of neural network memory compression with floating data blocks" srcset="/__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 424w, /__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 848w, /__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 1272w, /__u/substackcdn.com/image/fetch/$s_!doW8!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdc8e6194-9dc4-4584-b83e-a8770f9761aa_1200x762.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: MarkTechPost | <a href="https://www.marktechpost.com/wp-content/uploads/2024/07/Screenshot-2024-07-28-at-12.46.11-AM.png">https://www.marktechpost.com/wp-content/uploads/2024/07/Screenshot-2024-07-28-at-12.46.11-AM.png</a></figcaption></figure></div><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><ul><li><p>&#128201; <strong>TurboQuant compresses KV caches to 3-bit precision</strong> &#8212; targeting one of LLM inference&#8217;s most painful bottlenecks: GPU memory consumed by the key-value cache growing faster than hardware budgets.</p></li><li><p>&#9889; <strong>The headline numbers are striking but contested</strong> &#8212; 8x throughput and 6x memory reduction on H100s, but measured under specific conditions that may not generalize to typical production workloads.</p></li><li><p>&#9888;&#65039; <strong>The RaBitQ controversy is the real story</strong> &#8212; TurboQuant is alleged to have minimized attribution to prior independent research, used a single-core CPU vs GPU comparison to disadvantage a competitor, and dismissed RaBitQ&#8217;s theoretical guarantees without explanation.</p></li><li><p>&#128218; <strong>QTIP did this two years earlier</strong> &#8212; random rotation plus near-optimal distortion quantization was already published and deployed in ExLlamaV3 before TurboQuant arrived; the novelty claims deserve scrutiny.</p></li><li><p>&#128300; <strong>No independent replication yet</strong> &#8212; zero accuracy loss at 3-bit is the flagship claim, but validation benchmarks may not be independent of calibration data; production code isn&#8217;t publicly available to verify.</p></li><li><p>&#128161; <strong>The bottom line</strong> &#8212; interesting engineering, real controversy, not yet validated. Watch OpenReview, watch the community, don&#8217;t restructure infrastructure around preprint numbers.</p></li></ul></blockquote><div><hr></div><h2>What is TurboQuant and why does it matter?</h2><p>To understand why TurboQuant generated so much immediate attention &#8212; and so much controversy &#8212; you need to understand the problem it&#8217;s trying to solve and what it actually claims to do.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!zaqv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!zaqv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png" width="619" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:619,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram showing KV cache quantization pipeline from 16-bit to 3-bit compression&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing KV cache quantization pipeline from 16-bit to 3-bit compression" title="Diagram showing KV cache quantization pipeline from 16-bit to 3-bit compression" srcset="/__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!zaqv!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff12505d3-bafd-4aac-ab5f-c396ab8419e9_619x424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Towards AI | <a href="https://miro.medium.com/0*_Opn4ZhUXMqfs22Y.png">https://miro.medium.com/0*_Opn4ZhUXMqfs22Y.png</a></figcaption></figure></div><h3>The KV cache problem &#8212; why memory is the bottleneck nobody talks about enough</h3><p>The <strong>key-value (KV) cache</strong> is the memory structure that allows transformer models to &#8220;remember&#8221; everything they&#8217;ve seen in a conversation or document during inference. Without it, the model would have to reprocess the entire context from scratch on every token generation step. The problem is architectural and unforgiving: KV cache memory grows <em>linearly</em> with both sequence length and batch size, which means serving real users at scale pushes it past comfortable limits fast.</p><p>To make this concrete, consider a <strong>70B parameter model</strong> serving 100 concurrent requests at a 32,000-token context window. At standard BF16 precision, the KV cache alone can consume well over 100GB of GPU memory, potentially more than the model weights themselves. That&#8217;s not a theoretical edge case; that&#8217;s a Tuesday afternoon for anyone running a serious inference cluster. </p><p><strong>TurboQuant KV cache compression</strong> targets exactly this bottleneck, which is why the research got immediate attention from practitioners who have been living inside this constraint for years. The promise of <strong>AI memory quantization</strong> that doesn&#8217;t compromise output quality is one of the most commercially valuable things a research team could deliver right now.</p><div><hr></div><h3>What Google claims TurboQuant actually does</h3><p>TurboQuant&#8217;s core mechanism applies <strong>quantization</strong> to KV cache tensors during inference, compressing the floating-point representations from 16-bit (BF16 or FP16) down to as low as <strong>3 bits per value</strong>. The &#8220;Turbo&#8221; in the name refers to a novel transform applied to the KV cache tensors <em>before</em> quantization, the authors argue this transform smooths the distribution of values, making them more amenable to aggressive compression without the rounding errors that normally cause quality degradation.</p><p>The headline numbers from the paper are striking: an <strong>8x throughput improvement</strong>, a <strong>6x memory reduction</strong> on H100 GPUs, and the flagship claim of <strong>zero accuracy degradation at 3-bit compression</strong> (Source: <a href="https://arxiv.org/abs/2504.19874">https://arxiv.org/abs/2504.19874</a>). These are extraordinary claims by any standard in quantization research. The benchmark conditions that produced these numbers matter enormously, and we&#8217;ll examine them closely in the next section, the <strong>Google TurboQuant benchmark</strong> methodology is where the real scrutiny belongs.</p><div><hr></div><h3>The Google DeepMind pedigree &#8212; does it add credibility or pressure?</h3><p>Google and DeepMind papers carry genuine weight in the AI research community, the organizations have produced foundational work on transformers, quantization, and systems optimization that the entire field builds on. That institutional credibility is real, and it would be dishonest to pretend it&#8217;s irrelevant when evaluating TurboQuant&#8217;s claims. But prestige also creates a specific risk: high-profile papers from prominent institutions tend to get amplified before they get scrutinized.</p><p>The TurboQuant preprint spread rapidly through AI Twitter/X and research Slack channels within days of appearing, with many posts treating the benchmark numbers as established facts rather than claims requiring validation. At the time of writing, the paper has not completed formal peer review at a top-tier venue, a distinction that matters because peer review, despite its own limitations, is the mechanism by which methodological concerns get formally surfaced. The gap between preprint hype and post-review reality is a recurring pattern in ML research, and TurboQuant is currently sitting in that gap.</p><div><hr></div><h2>Breaking down the technical claims &#8212; the 8x speed and 6x memory numbers under the microscope</h2><p>Headline benchmark numbers from research papers almost always require unpacking &#8212; the conditions that produced them matter as much as the numbers themselves. Here&#8217;s what the 8x throughput, zero accuracy loss, and 6x memory claims actually mean when you read them carefully.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vmTw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 424w, /__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 848w, /__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vmTw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp" width="1456" height="1127" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1127,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Graph comparing perplexity scores across different quantization bit-widths for LLMs&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Graph comparing perplexity scores across different quantization bit-widths for LLMs" title="Graph comparing perplexity scores across different quantization bit-widths for LLMs" srcset="/__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 424w, /__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 848w, /__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!vmTw!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb9238c65-2cb1-47e2-bfb5-a4c0356d8d74_3169x2453.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Jarvislabs.ai Docs | <a href="https://objectstore.e2enetworks.net/e2eblog/jl/2026/blogs/vllm-quantization/quantization-benchmark-combined.webp">https://objectstore.e2enetworks.net/e2eblog/jl/2026/blogs/vllm-quantization/quantization-benchmark-combined.webp</a></figcaption></figure></div><h3>Understanding the 8x throughput claim &#8212; what&#8217;s actually being measured?</h3><p>&#8220;<strong>8x throughput</strong>&#8220; can mean several different things depending on what&#8217;s actually being counted. Throughput in LLM inference can refer to tokens per second, requests per second, or time-to-first-token, and the relationship between these metrics shifts dramatically depending on sequence length, batch size, and whether you&#8217;re measuring the prefill or decoding phase. The <strong>Google TurboQuant benchmark</strong> conditions that produced this number deserve careful reading before anyone generalizes from them.</p><p>If the 8x figure was measured at a specific batch size and context length that maximizes KV cache memory pressure, it may not translate proportionally to shorter-context, lower-concurrency workloads, which are a large fraction of real production deployments. This isn&#8217;t a gotcha; it&#8217;s standard benchmark hygiene. The honest question is whether the paper clearly specifies these conditions and whether those conditions reflect typical practitioner workloads, or whether they were selected because they put the technique in the best possible light. <strong>TurboQuant accuracy loss</strong> tradeoffs also interact with throughput measurements in ways that need to be disentangled before the 8x number can be taken at face value.</p><div><hr></div><h3>The &#8220;zero accuracy loss&#8221; claim &#8212; what does zero actually mean?</h3><p>The <strong>&#8220;zero accuracy loss at 3-bit compression&#8221;</strong> claim is arguably the most audacious in the paper, and it deserves its own focused examination. In quantization research, accuracy is typically measured using <strong>perplexity</strong> on standard benchmarks like WikiText-2, or on downstream task performance metrics from evaluations like MMLU or HellaSwag. The consensus from years of research is that aggressive quantization below 4 bits introduces meaningful degradation that gets harder and harder to mitigate.</p><p>The critical methodological question is straightforward: were the benchmarks used to <em>validate</em> zero accuracy loss independent from the datasets used to <em>tune</em> the quantization parameters? If the quantization scheme was calibrated on data drawn from the same distribution as the validation benchmarks, the accuracy results may be measuring how well the method fits its calibration distribution rather than how well it generalizes. This is a standard question in quantization research, and the answer changes how much weight we should give to the <strong>TurboQuant accuracy loss</strong> numbers. <strong>Does TurboQuant actually achieve zero accuracy loss at 3-bit compression</strong> in genuinely out-of-distribution settings? That remains open.</p><div><hr></div><h3>The 6x memory reduction &#8212; real-world implications for GPU infrastructure</h3><p>A genuine <strong>6x memory reduction</strong> in KV cache would be transformative for GPU infrastructure economics. At that level of compression, a single H100 could theoretically serve workloads that previously required multiple GPUs to handle KV cache memory, which translates directly into lower cost-per-token and longer achievable context windows without hardware upgrades. These are concrete possibilities with real impact on how LLMs are deployed at scale.</p><p>The important caveat for practitioners is that KV cache compression and <strong>model weight quantization</strong> are separate techniques addressing different memory consumers. KV cache quantization reduces inference-time memory pressure, while weight quantization like GPTQ or AWQ reduces the memory needed to <em>store</em> the model. TurboQuant addresses only the former. Understanding what combination of techniques the benchmark is using matters for infrastructure planning, because <strong>large language model efficiency</strong> improvements don&#8217;t stack linearly, the bottleneck shifts as you address each component.</p><div><hr></div><h2>The academic controversy nobody is covering &#8212; OpenReview&#8217;s methodological critiques</h2><p></p>
      <p>
          <a href="/__u/boringbot.substack.com/p/turboquant-the-new-and-controversial">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Nano vLLM: A Tiny Inference Engine that Teaches you the Big Ideas Behind Optimized LLM Deployment ]]></title><description><![CDATA[A deeper look into vLLM in less than 1k lines]]></description><link>https://boringbot.substack.com/p/nano-vllm-a-tiny-inference-engine</link><guid isPermaLink="false">https://boringbot.substack.com/p/nano-vllm-a-tiny-inference-engine</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Thu, 26 Mar 2026 17:22:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ouF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a> here. Welcome to Edition #29 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><p>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing. This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here &#8212; the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><p><em>&#127891; Want to up skill as AI Engineer?</em></p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>April 8</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><div><hr></div><p><em>If you&#8217;ve ever felt like LLM deployment is a black box that everyone else somehow understands except you &#8212; this one&#8217;s for you. Let&#8217;s open it up together.</em></p><div><hr></div><p>You&#8217;ve done the hard part. You fine-tuned a model, it runs beautifully in your notebook, loss curves look great, outputs are solid. Then you try to serve it to real users &#8212; and suddenly you&#8217;re drowning in questions you can&#8217;t answer. Why is latency spiking under load? Why is VRAM usage ballooning? What is batching actually doing to your throughput? If this sounds familiar, you&#8217;re in good company.</p><p>Here&#8217;s the frustrating reality: most developers treat LLMs as black boxes &#8212; and that works fine until it doesn&#8217;t. Full <strong>vLLM</strong> is an incredibly powerful inference engine, but its 100,000+ lines of code aren&#8217;t designed for learning. They&#8217;re designed for performance at scale. Trying to understand LLM inference optimization by reading vLLM&#8217;s source is like trying to learn how a car engine works by dissecting a Formula 1 race car &#8212; technically accurate, practically overwhelming.</p><p>That&#8217;s where this <strong>nano vLLM tutorial</strong> comes in. <strong>nano-vLLM</strong> is a ~1,000-line Python reimplementation of vLLM&#8217;s core ideas &#8212; KV caching, PagedAttention, continuous batching &#8212; written to be <em>read</em>, not just run. In this article, you&#8217;ll get a guided tour of what nano-vLLM is, why each of its core mechanisms exists, how to trace those mechanisms in the code, and how that understanding transfers directly to production-grade open source LLM deployment.</p><div><hr></div><blockquote><h2>&#128273; Key Takeaways</h2><ul><li><p>&#128230; <strong>nano-vLLM is a learning tool, not a production system</strong> &#8212; its minimal codebase (~1,000 lines) deliberately strips away complexity so you can trace exactly how a real inference engine works, making it the fastest path to understanding what full vLLM is doing under the hood.</p></li><li><p>&#9889; <strong>KV caching is the single biggest lever for LLM inference speed</strong> &#8212; it stores and reuses key-value pairs from the attention mechanism instead of recomputing them on every token.</p></li><li><p>&#129513; <strong>PagedAttention solves the memory fragmentation problem</strong> &#8212; borrowing from OS virtual memory, it allocates attention memory in discrete blocks to dramatically improve GPU utilization.</p></li><li><p>&#128260; <strong>Continuous batching keeps GPUs busy by treating every token step as a scheduling opportunity</strong> &#8212; slashing idle time compared to static batching.</p></li><li><p>&#129504; <strong>Studying a minimal reimplementation accelerates your intuition</strong> &#8212; the mental models transfer directly to vLLM, TGI, and TensorRT-LLM in production.</p></li></ul></blockquote><div><hr></div><h2>What Is nano-vLLM and Why Should You Care?</h2><p>Before we get into the mechanics, let&#8217;s establish exactly what nano-vLLM is &#8212; and just as importantly, what it isn&#8217;t. Getting this framing right separates developers who use it as a powerful learning accelerator from those who dismiss it as a toy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ouF6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 424w, /__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 848w, /__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ouF6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png" width="1400" height="787" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:787,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Side-by-side comparison diagram showing nano-vLLM (~1,000 lines) versus full vLLM codebase (100k+ lines) with key components labeled&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Side-by-side comparison diagram showing nano-vLLM (~1,000 lines) versus full vLLM codebase (100k+ lines) with key components labeled" title="Side-by-side comparison diagram showing nano-vLLM (~1,000 lines) versus full vLLM codebase (100k+ lines) with key components labeled" srcset="/__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 424w, /__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 848w, /__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ouF6!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F535086b2-e7b1-4fb4-98c9-6a9d14da0e5a_1400x787.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Gautam Chutani - Medium | <a href="https://miro.medium.com/v2/resize:fit:1400/1*-ceG6v7SbJHTivsnUsJmPQ.jpeg">https://miro.medium.com/v2/resize:fit:1400/1*-ceG6v7SbJHTivsnUsJmPQ.jpeg</a></figcaption></figure></div><h3>The Problem With Learning From Production Codebases</h3><p>Production <strong>LLM inference engines</strong> like vLLM, Text Generation Inference (TGI), and TensorRT-LLM are extraordinary pieces of engineering. They handle distributed tensor parallelism, custom CUDA kernels, fault-tolerant API layers, and dozens of edge cases that only surface at scale. But that same depth makes them nearly impenetrable when you&#8217;re trying to understand the <em>core ideas</em> rather than just use the tool.</p><p>Open vLLM&#8217;s codebase hoping to understand how KV caching works and you won&#8217;t find a clean function &#8212; you&#8217;ll find the concept scattered across abstraction layers, tangled up with GPU memory management code, scheduling logic, and async runtime machinery. It&#8217;s not that the code is bad; production code optimizes for reliability and performance, not for teaching. The Formula 1 analogy holds: it&#8217;s the pinnacle of mechanical engineering, but you wouldn&#8217;t hand one to a student learning how internal combustion works.</p><p>The result is that most ML engineers learn theory from papers and blog posts, then use vLLM as a black box &#8212; never really bridging the two. That gap costs you every time you need to debug a throughput problem, tune a deployment, or evaluate whether a new inference optimization actually matters for your workload.</p><h3>Enter nano-vLLM &#8212; A Minimal Reimplementation Built for Clarity</h3><p><strong>nano-vLLM</strong> was built to close that gap. It&#8217;s a deliberately minimal Python reimplementation of vLLM&#8217;s core scheduling and memory management concepts &#8212; written so you can sit down and trace the full execution path from request intake to token output in a single afternoon. The entire codebase is roughly 1,000 lines, not because it cuts corners on the ideas, but because it strips away everything that <em>isn&#8217;t</em> the idea.</p><p>The project lives on GitHub (Source: <a href="https://github.com/GeeeekExplorer/nano-vllm">https://github.com/GeeeekExplorer/nano-vllm</a>) and explicitly frames itself as educational. Every major concept &#8212; KV cache allocation, block tables, the scheduling loop &#8212; is implemented in clean, readable Python without the performance scaffolding that would obscure it in production code. The ~1,000-line footprint isn&#8217;t a limitation; it&#8217;s the entire point.</p><h3>nano-vLLM vs. Full vLLM &#8212; What&#8217;s Kept, What&#8217;s Stripped Away</h3><p>Here&#8217;s a clear breakdown of what nano-vLLM implements versus what it intentionally leaves out:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ksTu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 424w, /__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 848w, /__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ksTu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png" width="1456" height="666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:666,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:280020,&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://boringbot.substack.com/i/192226723?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 424w, /__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 848w, /__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ksTu!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe97ad3d-d819-4fc3-b864-d2b3274343f2_2466x1128.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everything nano-vLLM omits, it omits deliberately. The goal isn&#8217;t to serve a production workload &#8212; it&#8217;s to give you a clean mental model of what the full system is actually doing beneath its abstractions.</p><div><hr></div><h2>The Core Problem That Makes LLM Inference Hard</h2><p>To appreciate why any of these optimizations exist, you first need to feel the pain they solve. Let&#8217;s spend a moment on why serving LLMs efficiently is genuinely, fundamentally difficult &#8212; not just a matter of throwing more GPUs at the problem.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7qAp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7qAp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png" width="619" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:619,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagram showing GPU memory allocation during autoregressive token generation, illustrating growing KV cache memory footprint per request&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing GPU memory allocation during autoregressive token generation, illustrating growing KV cache memory footprint per request" title="Diagram showing GPU memory allocation during autoregressive token generation, illustrating growing KV cache memory footprint per request" srcset="/__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7qAp!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87fd6a03-ab8f-4e68-937a-eab6e08957fe_619x424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Towards AI | <a href="https://miro.medium.com/0*_Opn4ZhUXMqfs22Y.png">https://miro.medium.com/0*_Opn4ZhUXMqfs22Y.png</a></figcaption></figure></div><h3>Autoregressive Generation and the Token-by-Token Performance Trap</h3><p>Modern LLMs generate text through <strong>autoregressive decoding</strong> &#8212; one token at a time, where each new token depends on every token that came before it. This sequential dependency is a fundamental architectural property of transformer models, not an implementation choice you can engineer around. Without optimization, generating a 500-token response means 500 sequential forward passes through your model.</p><p>Think of it this way: imagine writing a letter where, before adding each new word, you re-read the entire letter from the beginning to decide what word comes next. That&#8217;s essentially what naive LLM inference does on every token step. The computational cost grows with sequence length, and under load with dozens of concurrent requests, this becomes the dominant bottleneck between you and acceptable throughput.</p><p>The good news is that previously generated tokens don&#8217;t <em>change</em> between steps &#8212; which means there&#8217;s massive redundant computation happening on every forward pass. That redundancy is exactly what <strong>KV caching</strong> is designed to eliminate. But before we get there, there&#8217;s another layer to the problem.</p><h3>Memory Pressure &#8212; Why GPU VRAM Becomes the Bottleneck</h3><p>As sequence length grows, so does the memory needed to serve that request. Each token in the sequence requires storing <strong>key-value tensors</strong> across all attention layers &#8212; and those tensors live in GPU VRAM. For a model like Llama 3 8B, a single long-context request can consume several gigabytes of VRAM just for its KV cache.</p><p>Multiply that by 20, 50, or 100 concurrent users. With naive memory management, you&#8217;d pre-allocate a worst-case contiguous memory block for each request&#8217;s potential maximum sequence length &#8212; most of which sits unused for most of that request&#8217;s lifetime. GPU memory fragments, requests start competing for VRAM, and the system either crashes or starts aggressively throttling. Raw compute capacity becomes irrelevant; you&#8217;re bottlenecked on <strong>memory management</strong>, not arithmetic.</p><p>This is the insight that surprises most developers new to LLM serving: the challenge often isn&#8217;t <em>running the model</em> &#8212; it&#8217;s <em>managing the memory around running the model</em> at scale.</p><h3>The Batching Dilemma &#8212; Throughput vs. Latency Tradeoffs</h3><p>There&#8217;s another layer: how you group requests together. <strong>Static batching</strong> &#8212; the naive approach &#8212; groups incoming requests into fixed batches, runs the batch until every request has finished generating, then starts the next batch. This beats running requests one at a time, but it introduces a painful &#8220;head-of-line blocking&#8221; problem.</p><p>Say your batch has one request generating 2,000 tokens and five requests generating 50 tokens each. Those five short requests have to wait idle while the long request finishes. The GPU is technically busy, but you&#8217;re paying a steep latency penalty for every short request in that batch. This is the classic throughput-versus-latency tradeoff that makes static batching a poor fit for real-world LLM serving &#8212; and it sets up perfectly why continuous batching was such a meaningful innovation.</p><div><hr></div><h2>KV Caching Explained &#8212; The Biggest Win in LLM Inference</h2><p>If you understand only one optimization in this entire article, make it this one. <strong>KV caching</strong> is the single highest-leverage technique in LLM inference, and nano-vLLM&#8217;s codebase is the cleanest place I&#8217;ve found to see it in action.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Jh7G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Jh7G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png" width="619" height="424" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/baa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:424,&quot;width&quot;:619,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Visual diagram of attention mechanism showing Key-Value pairs being cached and reused across token generation steps, with and without KV cache&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Visual diagram of attention mechanism showing Key-Value pairs being cached and reused across token generation steps, with and without KV cache" title="Visual diagram of attention mechanism showing Key-Value pairs being cached and reused across token generation steps, with and without KV cache" srcset="/__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 424w, /__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 848w, /__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Jh7G!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbaa153d1-a1e9-4763-b4ca-5997c435da2d_619x424.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: NVIDIA Developer | <a href="https://developer-blogs.nvidia.com/wp-content/uploads/2023/11/key-value-caching_.png">https://developer-blogs.nvidia.com/wp-content/uploads/2023/11/key-value-caching_.png</a></figcaption></figure></div><h3>What Are Key-Value Pairs in the Attention Mechanism?</h3><p>In the transformer <strong>attention mechanism</strong>, every token gets three learned projections: a <strong>query (Q)</strong>, a <strong>key (K)</strong>, and a <strong>value (V)</strong>. During inference, each new token attends to all previous tokens by comparing its query against their keys, then uses those comparisons to weight a sum of the corresponding values. That&#8217;s how the model &#8220;looks back&#8221; at context to decide what&#8217;s relevant.</p><p>Here&#8217;s the crucial observation: once a token has been processed and its K and V tensors computed, those tensors don&#8217;t change. The key-value pairs for &#8220;The cat sat on&#8221; don&#8217;t change just because you&#8217;re now computing the next token after &#8220;on.&#8221; They&#8217;re fixed, deterministic outputs of the model&#8217;s weight matrices applied to that token&#8217;s embedding. Think of KV pairs like notes you&#8217;ve already written &#8212; without caching, you&#8217;d be rewriting those same notes from scratch before glancing at them every single time.</p><h3>How KV Caching Eliminates Redundant Computation</h3><p><strong>KV caching</strong> operationalizes that observation: rather than recomputing K and V for every token in the context on every forward pass, you compute them once and store them. The next token&#8217;s forward pass only needs to compute Q, K, and V for the <em>new</em> token, then retrieve the cached K and V from all previous tokens. The amount of skipped computation is enormous.</p><p>Without KV caching, inference cost scales <em>quadratically</em> with sequence length. With it, the incremental cost of generating each new token is roughly constant, regardless of how long the context has grown. For long-form generation &#8212; multi-turn conversations, document summarization, code generation &#8212; this difference isn&#8217;t marginal. It&#8217;s the difference between a usable system and an unusable one.</p><h3>Reading KV Cache Logic in nano-vLLM&#8217;s Codebase</h3><p>This is where nano-vLLM earns its place. The KV cache management logic lives in just a few hundred lines &#8212; you can find the allocation logic, the store-and-retrieve pattern, and the interaction with the scheduler all in one focused read. Here&#8217;s a simplified illustration of the pattern you&#8217;ll find:</p><pre><code><code># Simplified KV cache store-and-retrieve pattern (illustrative)
class KVCache:
    def __init__(self, num_layers, max_blocks, block_size, head_dim):
        # Pre-allocate cache tensors for all layers
        self.cache = torch.zeros(
            num_layers, 2, max_blocks, block_size, head_dim
        )

    def store(self, layer_idx, block_idx, position, key, value):
        self.cache[layer_idx, 0, block_idx, position] = key
        self.cache[layer_idx, 1, block_idx, position] = value

    def retrieve(self, layer_idx, block_indices):
        keys = self.cache[layer_idx, 0, block_indices]
        values = self.cache[layer_idx, 1, block_indices]
        return keys, values
</code></code></pre><p>You can read this pattern, understand it fully, and trace how it interacts with the attention computation in about 20 minutes. Try doing the equivalent in vLLM&#8217;s production codebase &#8212; you&#8217;ll be context-switching across multiple modules, CUDA bindings, and async abstractions before you find the same idea. Reading clean code is a skill-building activity, and nano-vLLM is genuinely worth reading.</p><div><hr></div><h2>PagedAttention &#8212; Borrowing From Operating Systems to Fix Memory Fragmentation</h2><p>KV caching solves redundant computation beautifully. But it introduces a new challenge: as you scale to many concurrent requests with different sequence lengths, managing all those cached tensors in GPU memory becomes its own mess. Enter <strong>PagedAttention</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QnTf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QnTf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png" width="1200" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Illustrated diagram comparing contiguous KV cache memory allocation vs. PagedAttention block-based allocation, with fragmentation shown visually&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Illustrated diagram comparing contiguous KV cache memory allocation vs. PagedAttention block-based allocation, with fragmentation shown visually" title="Illustrated diagram comparing contiguous KV cache memory allocation vs. PagedAttention block-based allocation, with fragmentation shown visually" srcset="/__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 424w, /__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 848w, /__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QnTf!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb67f39a5-5b7a-4235-836a-47fcef833ed8_1200x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Medium | <a href="https://miro.medium.com/v2/resize:fit:1200/1*FqKiqclKkgSmlbY3qCxrig.png">https://miro.medium.com/v2/resize:fit:1200/1*FqKiqclKkgSmlbY3qCxrig.png</a></figcaption></figure></div><h3>The Memory Fragmentation Problem With Naive KV Caching</h3><p>When you naively implement KV caching for multiple concurrent requests, you typically allocate a contiguous block of GPU memory for each request&#8217;s cache &#8212; sized for the <em>maximum possible sequence length</em> that request might reach. It&#8217;s the safe, simple approach. It&#8217;s also brutally wasteful.</p><p>A request that generates 50 tokens but was allocated memory for 2,048 tokens wastes 97.5% of its reserved VRAM. Multiply that across dozens of concurrent requests and you have severe <strong>memory fragmentation</strong> &#8212; large pools of technically allocated but functionally unused GPU memory that can&#8217;t be handed to new requests. Early operating systems had exactly this problem with RAM, and the solution OS designers landed on is the same one vLLM&#8217;s research team applied to transformer inference.</p><h3>PagedAttention &#8212; Virtual Memory for GPU Attention</h3><p><strong>PagedAttention</strong> fixes memory fragmentation by allocating KV cache memory in fixed-size <em>blocks</em> &#8212; analogous to memory <em>pages</em> in an OS &#8212; rather than large pre-sized contiguous chunks. Each block holds KV pairs for a fixed number of tokens (say, 16 tokens). When a request needs more KV cache space, it gets another block &#8212; and that block doesn&#8217;t need to be physically adjacent to the previous one.</p><p>A <strong>block table</strong> maps each request&#8217;s <em>logical</em> sequence of blocks to their <em>physical</em> locations in GPU memory, exactly as a page table maps logical addresses to physical RAM. The attention computation references block table entries to find its KV data rather than assuming contiguous memory. The original vLLM paper (Source: <a href="https://arxiv.org/abs/2309.06180">https://arxiv.org/abs/2309.06180</a>) showed this achieves dramatically higher GPU memory utilization than prior approaches &#8212; sometimes enabling 2&#8211;4x more concurrent requests on the same hardware.</p><h3>How nano-vLLM Makes PagedAttention Readable</h3><p>In nano-vLLM, PagedAttention is implemented in plain Python &#8212; you can find the <strong>block allocator</strong> managing a free-list of physical blocks, the per-request block table tracking logical-to-physical mappings, and the attention function referencing that block table during computation. Here&#8217;s a simplified illustration:</p><pre><code><code># Simplified block table lookup (illustrative)
class BlockTable:
    def __init__(self):
        self.logical_to_physical = {}  # logical block idx -&gt; physical block idx

    def append_block(self, logical_idx, physical_idx):
        self.logical_to_physical[logical_idx] = physical_idx

    def get_physical_blocks(self, logical_indices):
        return [self.logical_to_physical[i] for i in logical_indices]
</code></code></pre><p>Compare this to navigating the same concept in vLLM&#8217;s production codebase, where block management is interleaved with CUDA kernel dispatch, async scheduling, and distributed memory coordination. In nano-vLLM, the idea is exposed cleanly &#8212; you can hold the entire mechanism in your head at once. That&#8217;s a rare thing when studying systems software.</p><div><hr></div><h2>Continuous Batching and Request Scheduling &#8212; Keeping the GPU Busy</h2><p>KV caching handles redundant computation. PagedAttention handles memory fragmentation. Now let&#8217;s talk about the third pillar: keeping the GPU as busy as possible by rethinking <em>when</em> requests enter and exit the system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vfep!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vfep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Timeline diagram comparing static batching vs continuous batching, showing GPU idle time and request throughput differences&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Timeline diagram comparing static batching vs continuous batching, showing GPU idle time and request throughput differences" title="Timeline diagram comparing static batching vs continuous batching, showing GPU idle time and request throughput differences" srcset="/__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vfep!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F297d9e4b-9707-4382-8bcf-01fc999edf36_1536x1024.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Clarifai | <a href="https://www.clarifai.com/hs-fs/hubfs/Batching%20Strategies%20LLM%20Serving-png.png?width=1536&amp;height=1024&amp;name=Batching%20Strategies%20LLM%20Serving-png.png">https://www.clarifai.com/hs-fs/hubfs/Batching%20Strategies%20LLM%20Serving-png.png?width=1536&amp;height=1024&amp;name=Batching%20Strategies%20LLM%20Serving-png.png</a></figcaption></figure></div><h3>Why Static Batching Leaves Performance on the Table</h3><p><strong>Static batching</strong> is the intuitive approach: collect a group of requests, process them together, wait until every request has finished generating, then load the next batch. Simple, predictable, and genuinely better than one-at-a-time processing. But it has a serious flaw.</p><p>Real workloads have wildly different output lengths. One user wants a one-sentence summary; another wants a 1,000-word essay. In static batching, the short requests finish early and <em>sit idle</em> waiting for the long request to complete before the batch turns over. </p><p>This is <strong>head-of-line blocking</strong> &#8212; the longest request holds everyone else hostage. It&#8217;s like a restaurant that only seats a new party after every single diner at the current table has finished, paid, and left &#8212; even if four of them have been done for 20 minutes and are just waiting on the one person who ordered dessert. You&#8217;d leave that restaurant.</p><h3>Continuous Batching &#8212; Iteration-Level Scheduling</h3><p><strong>Continuous batching</strong>, first described in the Orca paper (Source: <a href="https://www.usenix.org/conference/osdi22/presentation/yu">https://www.usenix.org/conference/osdi22/presentation/yu</a>), solves head-of-line blocking by changing scheduling granularity from <em>batch completion</em> to <em>individual decoding steps</em>. At each token generation step &#8212; each forward pass &#8212; the scheduler checks whether any running requests just produced their final token. If they did, their KV cache blocks are freed and new waiting requests immediately slot into the available capacity.</p><p>The GPU never stops to wait for a full batch to clear. New requests flow in as space opens up, continuously. The result is dramatically higher GPU utilization, especially under mixed workloads &#8212; exactly the conditions you&#8217;ll face in production. Continuous batching is one of the main reasons modern serving systems can sustain throughput levels that would have seemed impossible with earlier infrastructure.</p><h3>Tracing the Scheduler in nano-vLLM</h3><p>The scheduler is one of the most instructive components to trace in nano-vLLM because it&#8217;s where KV caching, PagedAttention block management, and batching logic all converge. The scheduler maintains a <strong>waiting queue</strong> of incoming requests, a <strong>running set</strong> of actively decoding requests, and a loop that fires on every decoding step.</p><p>On each step, it checks which running requests have finished, frees their blocks back to the allocator, and promotes waiting requests into the running set as block capacity allows. Here&#8217;s the conceptual shape of that loop:</p><pre><code><code># Simplified scheduler step (illustrative)
def schedule_step(self):
    # 1. Check for completed requests and free their blocks
    for request in self.running:
        if request.is_finished():
            self.block_allocator.free(request.block_table)
            self.running.remove(request)

    # 2. Promote waiting requests into running set
    while self.waiting and self.block_allocator.has_capacity():
        next_request = self.waiting.pop(0)
        next_request.block_table = self.block_allocator.allocate()
        self.running.append(next_request)

    # 3. Return current running set for the next decode step
    return self.running
</code></code></pre><p>You can trace this loop, understand every line, and see exactly how it interacts with the block allocator and the model&#8217;s forward pass. The mental model you build here transfers directly to vLLM&#8217;s production scheduler &#8212; which does the same things, just with significantly more machinery around them. That&#8217;s the real payoff of using nano-vLLM as a learning sandbox.</p><div><hr></div><h2>Frequently Asked Questions</h2><p><strong>Q: Is nano-vLLM actually usable for serving models in production?</strong> No &#8212; and that&#8217;s intentional. nano-vLLM lacks the distributed parallelism, optimized CUDA kernels, production API layer, and robustness features that real serving requires. Think of it like a teaching hospital simulator: it builds real skills, but you wouldn&#8217;t perform surgery on it. For production open source LLM deployment, use full vLLM, TGI, or TensorRT-LLM.</p><p><strong>Q: What models can I run with nano-vLLM for learning purposes?</strong> nano-vLLM supports standard HuggingFace-compatible transformer models on a single GPU. It works best with smaller models (7B&#8211;13B parameters) where you can observe the behavior without massive hardware requirements. The focus is on reading and understanding the code, not benchmarking outputs.</p><p><strong>Q: How long does it actually take to read through the nano-vLLM codebase?</strong> A focused developer can trace the core scheduling and caching logic in 2&#8211;4 hours. The full ~1,000-line codebase can be read meaningfully in a day. Compare that to vLLM&#8217;s 100,000+ lines &#8212; there&#8217;s no realistic equivalent study session for the production codebase.</p><p><strong>Q: Does understanding nano-vLLM actually help with using full vLLM in production?</strong> Significantly, yes. Once you have a clear mental model of how KV cache blocks are allocated and freed, why continuous batching improves throughput, and what PagedAttention&#8217;s block table is doing &#8212; debugging vLLM configuration issues, tuning <code>--max-num-batched-tokens</code>, or understanding why certain workloads cause memory pressure becomes far more intuitive.</p><p><strong>Q: Where does nano-vLLM fit relative to reading the original vLLM paper?</strong> They&#8217;re complementary, not alternatives. The original vLLM paper (Source: <a href="https://arxiv.org/abs/2309.06180">https://arxiv.org/abs/2309.06180</a>) gives you the theoretical framing and motivation. nano-vLLM gives you the <em>implementation intuition</em> &#8212; how these ideas actually translate into code. Reading the paper first, then tracing nano-vLLM, then skimming full vLLM&#8217;s relevant modules is probably the highest-ROI learning path available.</p><div><hr></div><h2>Conclusion</h2><p>Here&#8217;s the uncomfortable truth most LLM deployment tutorials skip: you can use vLLM successfully for months without understanding what it&#8217;s actually doing. And then one day something breaks in a way the documentation doesn&#8217;t explain, or a performance problem surfaces that you can&#8217;t debug without knowing what&#8217;s happening inside the engine &#8212; and suddenly the black box is a liability.</p><p>nano-vLLM exists to prevent that moment from blindsiding you. A few hours with its ~1,000 lines of clean, intention-revealing Python will build a genuine mental model of KV caching, PagedAttention, and continuous batching that no amount of high-level blog posts can replicate. The core insight this nano vLLM tutorial has tried to surface is simple: <strong>nano-vLLM is not a lightweight production tool &#8212; it&#8217;s a learning accelerator</strong>, and knowing how to use it is far more valuable than it might first appear.</p><p>The mental models you build here transfer directly to every production-grade open source LLM deployment tool you&#8217;ll encounter: vLLM, TGI, TensorRT-LLM, and whatever comes next. The LLM inference optimization techniques that make them fast are the same ones you can now trace in a few hundred lines of readable code. That&#8217;s a real edge for any ML engineer who wants to move from using these tools to truly understanding them.</p><div><hr></div><p><strong>Ready to open the black box?</strong> </p><p>Clone the nano-vLLM repository (https://github.com/GeeeekExplorer/nano-vllm), open the scheduler and KV cache modules, and trace one full decoding step end-to-end. It&#8217;ll take you an afternoon. It&#8217;ll pay off every time you touch an LLM serving system for the rest of your career.</p><h2>Sources</h2><ol><li><p><a href="https://github.com/GeeeekExplorer/nano-vllm">https://github.com/GeeeekExplorer/nano-vllm</a></p></li><li><p><a href="https://arxiv.org/abs/2309.06180">https://arxiv.org/abs/2309.06180</a></p></li><li><p><a href="https://www.usenix.org/conference/osdi22/presentation/yu">https://www.usenix.org/conference/osdi22/presentation/yu</a></p></li><li><p><a href="https://miro.medium.com/v2/resize:fit:1400/1*-ceG6v7SbJHTivsnUsJmPQ.jpeg">https://miro.medium.com/v2/resize:fit:1400/1*-ceG6v7SbJHTivsnUsJmPQ.jpeg</a></p></li><li><p><a href="https://miro.medium.com/0*_Opn4ZhUXMqfs22Y.png">https://miro.medium.com/0*_Opn4ZhUXMqfs22Y.png</a></p></li><li><p><a href="https://developer-blogs.nvidia.com/wp-content/uploads/2023/11/key-value-caching_.png">https://developer-blogs.nvidia.com/wp-content/uploads/2023/11/key-value-caching_.png</a></p></li><li><p><a href="https://miro.medium.com/v2/resize:fit:1200/1*FqKiqclKkgSmlbY3qCxrig.png">https://miro.medium.com/v2/resize:fit:1200/1*FqKiqclKkgSmlbY3qCxrig.png</a></p></li><li><p><a href="https://www.clarifai.com/hs-fs/hubfs/Batching%20Strategies%20LLM%20Serving-png.png?width=1536&amp;height=1024&amp;name=Batching%20Strategies%20LLM%20Serving-png.png">https://www.clarifai.com/hs-fs/hubfs/Batching%20Strategies%20LLM%20Serving-png.png?width=1536&amp;height=1024&amp;name=Batching%20Strategies%20LLM%20Serving-png.png</a></p></li><li><p><a href="https://github.com/GeeeekExplorer/nano-vllm">https://github.com/GeeeekExplorer/nano-vllm</a>)</p></li><li><p><a href="https://arxiv.org/abs/2309.06180">https://arxiv.org/abs/2309.06180</a>)</p></li><li><p><a href="https://www.usenix.org/conference/osdi22/presentation/yu">https://www.usenix.org/conference/osdi22/presentation/yu</a>)</p></li></ol><p></p><p><strong>&#128161;</strong><em><strong> Want to share your work on my socials with my 15k+ audience?</strong> If you build a project you are excited about, I will be too. Trust me! I love seeing people build cool stuff. To share it, you can contact me <a href="mailto:hamza@traversaal.ai">here</a>.</em></p><div><hr></div><p>Did you enjoy this post? Here are some other AI Agents posts you might have missed:</p><h5><strong><a href="/__u/boringbot.substack.com/p/kv-caching-and-speculative-decoding">KV Caching and Speculative Decoding</a></strong></h5><h5><em><strong><a href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key">A deep dive into Quantization: Key to Open Source LLM Deployments</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></strong></em></h5><div><hr></div><h1><strong>Ready to take it to the next level?</strong></h1><p>Check out my AI Agents for Enterprise course on <a href="https://maven.com/boring-bot/advanced-llm?promoCode=200OFF">Maven</a> and be a part of something bigger and join hundreds of builders to develop enterprise level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Fe9X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Fe9X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png" width="1456" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dda96136-1956-48e0-b388-fef22242cc7b_1600x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!Fe9X!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdda96136-1956-48e0-b388-fef22242cc7b_1600x499.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use this <a href="https://maven.com/boring-bot/advanced-llm?promoCode=200OFF">link</a> to get $201 OFF!</p><p><em>You&#8217;re receiving this email because you&#8217;re part of our mailing list&#8212;and you&#8217;ve attended, registered for, or been invited to our MAVEN events. These emails are the only way to reliably receive updates from us. We don&#8217;t spam or sell your information. If you prefer not to receive our messages, simply unsubscribe below and we&#8217;ll respect your wishes.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">The Production Gap is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Semantic Caching for RAG Systems]]></title><description><![CDATA[When to Use It, What to Cache, How to Evaluate It?]]></description><link>https://boringbot.substack.com/p/semantic-caching-for-rag-systems</link><guid isPermaLink="false">https://boringbot.substack.com/p/semantic-caching-for-rag-systems</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Thu, 05 Mar 2026 18:38:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vHrB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, Hamza.</p><p>Welcome to Edition #28 of a newsletter that 15,000+ people around the world actually look forward to reading.</p><p><em>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing.<br>This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</em></p><p><em>&#127891; Want to up skill in AI?</em></p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>April 8</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><h3>Preamble</h3><div class="preformatted-block" data-component-name="PreformattedTextBlockToDOM"><label class="hide-text" contenteditable="false">Text within this block will maintain its original spacing when published</label><pre class="text"><em><strong>Running an LLM for every user query is the fastest way to burn budget and add latency. </strong></em></pre></div><p>In real-world RAG workloads, users often ask the same thing in slightly different words, yet a naive pipeline still reruns retrieval and regeneration each time. </p><p>Semantic caching fixes this &#8220;always compute&#8221; inefficiency by matching queries in embedding space and reusing prior results when the meaning is similar, not the exact text.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><h1><strong>Understanding Semantic Caching for RAG Systems</strong></h1><p style="text-align: justify;">Semantic caching stores and reuses query results based on meaning rather than exact text matches. This approach solves performance problems in LLM applications without sacrificing quality.</p><p style="text-align: justify;">Modern semantic cache systems change how you optimize RAG architecture. Traditional caches need identical queries to work. Semantic caches recognize similar questions and serve stored responses. This cuts redundant LLM calls and speeds up your system by up to 300%.</p><p style="text-align: justify;">Building a working RAG system is one thing. Scaling it efficiently is another. As query volumes grow and users expect faster responses, you need better caching strategies. Research shows poorly optimized systems waste 60-80% of processing time on redundant operations that semantic caching eliminates.</p><p style="text-align: justify;">This guide covers the technical architecture, implementation strategies, and evaluation methods for semantic cache systems. You&#8217;ll get the practical knowledge needed to transform your RAG performance.</p><h2><strong>RAG Architecture and Semantic Caching Basics</strong></h2><h3><strong>Core RAG Components</strong></h3><p style="text-align: justify;">RAG architecture has three main parts: the retrieval system, the augmentation layer, and the generation component. Each part offers opportunities where semantic caching reduces delays.</p><p style="text-align: justify;">The retrieval system forms the foundation. Vector databases like Pinecone, Weaviate, or Chroma search through large document collections. This component takes up 40-60% of total system delay. When users submit queries, the system converts them into vector embeddings, searches the knowledge base, and returns relevant document chunks.</p><p style="text-align: justify;">The augmentation layer processes retrieved documents. You rank and filter results based on relevance scores and metadata. This stage involves extra LLM calls for reranking and context preparation, adding another 20-30% to total delay. The generation component combines retrieved context with the original query to produce the final response.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!vHrB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 424w, /__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 848w, /__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!vHrB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.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;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 424w, /__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 848w, /__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 1272w, /__u/substackcdn.com/image/fetch/$s_!vHrB!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd54e7d86-65a6-47f1-bd40-995c9911de4f_1560x877.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Source : <a href="https://habr.com/ru/articles/977260/">https://habr.com/ru/articles/977260/</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fJyF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fJyF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg" width="936" height="552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:936,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!fJyF!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F362728e7-d311-4d86-a57f-20a2c784754e_936x552.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Source: ThinkPalm &#8212; https://thinkpalm.com/blogs/what-is-retrieval-augmented-generation-rag/</p><h3><strong>How Semantic Caching Works with LLMs</strong></h3><p style="text-align: justify;">Semantic caching recognizes that many user queries share meaning even when worded differently. Traditional caches miss these opportunities because they need exact string matches. For example, &#8220;How to optimize database performance?&#8221; and &#8220;What are the best practices for speeding up SQL queries?&#8221; would generate separate cache misses despite asking for similar information.</p><p style="text-align: justify;">Semantic caching uses vector embeddings to calculate cosine similarity between queries. This helps the system identify when cached responses work for new but related questions. The approach transforms caching from a binary hit-or-miss system into a nuanced similarity-based retrieval mechanism.</p><p style="text-align: justify;">The technology addresses retrieval augmented generation bottlenecks by creating multiple cache layers:</p><ul><li><p>Query-level caching for similar questions</p></li><li><p>Context-level caching for retrieved document chunks</p></li><li><p>Response-level caching for generated outputs</p></li></ul><p style="text-align: justify;">Each layer reduces different types of computational overhead while maintaining response quality.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4I80!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4I80!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.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;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 424w, /__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 848w, /__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4I80!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b719d81-2564-4873-9b7f-0d3c235a5947_1600x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Source: <a href="https://portkey.ai/blog/reducing-llm-costs-and-latency-semantic-cache/">https://portkey.ai/blog/reducing-llm-costs-and-latency-semantic-cache/</a></p><h3><strong>Building a Semantic Cache System</strong></h3><p style="text-align: justify;">Modern semantic cache systems use a multi-layered architecture that integrates with existing RAG components. The primary cache layer sits between the user interface and the retrieval system, intercepting incoming queries and checking for semantically similar cached responses.</p><p style="text-align: justify;">The embedding generation component converts new queries into vector representations using the same model employed by the underlying RAG system. This consistency ensures similarity calculations remain accurate. Popular embedding models like OpenAI&#8217;s text-embedding-ada-002 or Sentence Transformers provide the vector representations needed for effective semantic matching.</p><p style="text-align: justify;">Cache storage systems must support high-dimensional vector operations while maintaining fast lookup times. Redis with vector search capabilities, Elasticsearch with dense vector fields, or specialized vector databases serve as the backbone for semantic cache storage. The cache management layer handles similarity threshold enforcement, cache invalidation policies, and performance monitoring.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!9i68!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 424w, /__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 848w, /__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!9i68!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png" width="1456" height="871" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:871,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 424w, /__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 848w, /__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 1272w, /__u/substackcdn.com/image/fetch/$s_!9i68!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb33c17c3-36a3-4f05-996d-7b1211e3c5c0_1518x908.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Source: <a href="https://medium.com/google-cloud/implementing-semantic-caching-a-step-by-step-guide-to-faster-cost-effective-genai-workflows-ef85d8e72883">https://medium.com/google-cloud/implementing-semantic-caching-a-step-by-step-guide-to-faster-cost-effective-genai-workflows-ef85d8e72883</a></p><h2><strong>Performance Impact of Semantic Caching</strong></h2><h3><strong>Measured Speed Improvements</strong></h3><p style="text-align: justify;">Production deployments of semantic cache systems show substantial performance improvements. Organizations report 3-5x speed reductions for repeated or similar queries, with cache hit rates ranging from 30-70% depending on use case patterns and similarity threshold settings.</p><p style="text-align: justify;">Real-world data shows:</p><ul><li><p>Customer support chatbots achieve response times of 200-400ms with semantic caching, compared to 1.2-2.5 seconds without</p></li><li><p>Knowledge management systems drop from 10-15 seconds to 2-4 seconds when cache hits occur</p></li><li><p>Organizations processing 1 million queries monthly see 40-60% reductions in inference costs</p></li></ul><h3><strong>Optimizing Cache Hit Rates</strong></h3><p style="text-align: justify;">Effective evaluation methods reveal optimal similarity thresholds typically range between 0.85-0.95 cosine similarity, depending on domain specificity and acceptable response variation. Lower thresholds increase cache hit rates but risk serving less relevant responses. Higher thresholds maintain quality at the expense of caching effectiveness.</p><p style="text-align: justify;">Dynamic threshold adjustment based on query patterns and user feedback enables systems to optimize for specific use cases:</p><ul><li><p>Customer service applications often benefit from lower thresholds (0.82-0.87) due to repetitive question patterns</p></li><li><p>Technical documentation systems require higher thresholds (0.92-0.97) to maintain accuracy</p></li></ul><p style="text-align: justify;">Cache performance monitoring reveals effective systems achieve 45-65% hit rates within the first week of deployment. Rates climb to 60-80% as the cache builds comprehensive coverage of common query patterns. The initial warm-up period typically requires 10,000-50,000 queries depending on domain complexity.</p><h3><strong>Resource Efficiency</strong></h3><p style="text-align: justify;">Semantic caching dramatically reduces computational overhead across multiple system components:</p><ul><li><p>Vector database query loads decrease by 40-70%</p></li><li><p>LLM inference costs drop proportionally to cache hit rates, with high-performing systems reducing API calls by 50-80%</p></li><li><p>Memory utilization increases by 10-20% for embedding storage and similarity calculations, but this overhead pays dividends through reduced processing requirements</p></li><li><p>CPU usage drops significantly during cache hit scenarios</p></li><li><p>Network bandwidth consumption decreases as cached responses eliminate external API calls</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7B9J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 424w, /__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 848w, /__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7B9J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png" width="1456" height="1036" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1036,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 424w, /__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 848w, /__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7B9J!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cac63ac-8695-453e-9856-54c22ddd67d3_1600x1138.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Source: <a href="https://www.solo.io/blog/semantic-caching-with-gloo-ai-gateway">https://www.solo.io/blog/semantic-caching-with-gloo-ai-gateway</a></p><h2><strong>Implementation Strategies</strong></h2>
      <p>
          <a href="/__u/boringbot.substack.com/p/semantic-caching-for-rag-systems">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[KV Caching and Speculative Decoding]]></title><description><![CDATA[Why you should know these concepts and the role they play]]></description><link>https://boringbot.substack.com/p/kv-caching-and-speculative-decoding</link><guid isPermaLink="false">https://boringbot.substack.com/p/kv-caching-and-speculative-decoding</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Wed, 04 Mar 2026 16:02:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W8sV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>&#128075; Hi everyone, I am <a href="https://www.linkedin.com/in/hamzafarooq/">Hamza</a>. </p><p>Welcome to Edition #27 of a newsletter that 14,000+ people around the world actually look forward to reading.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">Generative AI for Everyone is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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><p><em>We&#8217;re living through a strange moment: the internet is drowning in polished AI noise that says nothing.<br>This isn&#8217;t that. You&#8217;ll find raw, honest, human insight here, the kind that challenges how you think, not just what you know. Thanks for being part of a community that still values depth over volume.</em></p><p><em>&#127891; Want to up skill in AI?</em></p><ul><li><p><em>Join the next cohort of my <strong><a href="https://maven.com/boring-bot/advanced-llm">Agent Engineering Bootcamp (Developers Edition)</a></strong> <strong>April 8</strong></em></p></li><li><p><em>Watch the <strong><a href="https://www.youtube.com/playlist?list=PLrfvDRVRE-H4ZoJ5LDzArOC4n9FCVJN-g">free 4-session Agent Bootcamp playlist</a></strong> on YouTube</em></p></li></ul><div><hr></div><h1><strong>Two AI Optimization Techniques That Transform Language Model Speed</strong></h1><p style="text-align: justify;">Modern large language models face a simple problem: they&#8217;re too slow for real-time use. Traditional inference methods force models to recalculate the same computations repeatedly and generate text one token at a time. This creates bottlenecks that get worse with longer conversations.</p><p style="text-align: justify;">Two techniques are changing this. KV Cache stores previous computations in memory so the model doesn&#8217;t repeat the same work. Speculative Decoding uses a small, fast model to generate multiple tokens at once, then verifies them with the full model. Together, they can speed up AI responses by 10x or more.</p><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!W8sV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 424w, /__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 848w, /__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 1272w, /__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!W8sV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png" width="1401" height="739" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:739,&quot;width&quot;:1401,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 424w, /__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 848w, /__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 1272w, /__u/substackcdn.com/image/fetch/$s_!W8sV!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdbbb0979-2e82-4e12-970a-3fa11f496ec3_1401x739.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>KV caching visual overview (quick anchor before we dive into mechanics).</em></p><p>Source: <a href="https://huggingface.co/blog/not-lain/kv-caching">https://huggingface.co/blog/not-lain/kv-caching</a></p></blockquote><p style="text-align: justify;">These aren&#8217;t theoretical improvements. Companies are using them now to cut costs and improve user experience.</p><h2><strong>How KV Cache Works</strong></h2><h3><strong>The Core Problem</strong></h3><p style="text-align: justify;">When a language model generates text, it uses an attention mechanism to understand which previous words matter for the next word. Traditional inference recalculates these attention weights for every single token, even though most of the computation stays the same.</p><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!8kpo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!8kpo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg" width="1456" height="231" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:231,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!8kpo!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe16b4d94-1740-41e5-b166-30fb1be2c81e_1456x231.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><blockquote><p><em>Attention at a glance: Attention(Q, K, V) = softmax(QK&#7488;/&#8730;d&#8342;) V</em></p><p>Source: </p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:157156559,&quot;url&quot;:&quot;https://blog.dailydoseofds.com/p/kv-caching-in-llms-explained-visually&quot;,&quot;publication_id&quot;:1119889,&quot;embedding_publication_id&quot;:null,&quot;publication_name&quot;:&quot;Daily Dose of Data Science&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!heKx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5dc1fee-2d1e-4892-b219-4b96f6998ab5_288x288.png&quot;,&quot;title&quot;:&quot;KV Caching in LLMs, Explained Visually.&quot;,&quot;truncated_body_text&quot;:&quot;Stay ahead in Tech with AWS Developer Center!&quot;,&quot;date&quot;:&quot;2025-02-14T16:03:00.000Z&quot;,&quot;like_count&quot;:16,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:42026042,&quot;name&quot;:&quot;Avi Chawla&quot;,&quot;handle&quot;:&quot;avichawla&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a0dc0dc6-c4ff-4fe7-b467-bfb654e7dc6f_287x287.jpeg&quot;,&quot;bio&quot;:&quot;My daily posts make data science less intimidating. Sharing untold observations on Data Science in a minute-long daily newsletter.&quot;,&quot;profile_set_up_at&quot;:&quot;2021-07-19T09:35:39.805Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-30T13:26:44.757Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:1070949,&quot;user_id&quot;:42026042,&quot;publication_id&quot;:1119889,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1119889,&quot;name&quot;:&quot;Daily Dose of Data Science&quot;,&quot;subdomain&quot;:&quot;avichawla&quot;,&quot;custom_domain&quot;:&quot;blog.dailydoseofds.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;A free newsletter for continuous learning about data science and ML, lesser-known techniques, and how to apply them in 2 minutes. We keep things no-fluff.\n\nJoin 100,000+ data scientists from top companies like Google, NVIDIA, Microsoft, Uber, etc.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c5dc1fee-2d1e-4892-b219-4b96f6998ab5_288x288.png&quot;,&quot;author_id&quot;:42026042,&quot;primary_user_id&quot;:42026042,&quot;theme_var_background_pop&quot;:&quot;#2EE240&quot;,&quot;created_at&quot;:&quot;2022-10-05T20:24:08.697Z&quot;,&quot;email_from_name&quot;:&quot;Daily Dose of Data Science&quot;,&quot;copyright&quot;:&quot;Avi Chawla&quot;,&quot;founding_plan_name&quot;:&quot;Founding Member&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}},{&quot;id&quot;:2309041,&quot;user_id&quot;:42026042,&quot;publication_id&quot;:2090526,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:false,&quot;publication&quot;:{&quot;id&quot;:2090526,&quot;name&quot;:&quot;AIport&quot;,&quot;subdomain&quot;:&quot;aiport&quot;,&quot;custom_domain&quot;:&quot;www.blog.aiport.tech&quot;,&quot;custom_domain_optional&quot;:true,&quot;hero_text&quot;:&quot;Your international hub for AI news, deep dives, industry insights, career tips, and more\n&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04e6354a-b90a-4cc5-851a-a41451b49cca_534x534.png&quot;,&quot;author_id&quot;:163195475,&quot;primary_user_id&quot;:163195475,&quot;theme_var_background_pop&quot;:&quot;#EA82FF&quot;,&quot;created_at&quot;:&quot;2023-11-08T14:46:28.345Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;The Observant Editor&quot;,&quot;founding_plan_name&quot;:null,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;disabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;magaziney&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;_avichawla&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null,&quot;status&quot;:{&quot;bestsellerTier&quot;:null,&quot;subscriberTier&quot;:null,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:null,&quot;paidPublicationIds&quot;:[],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;podcast&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://blog.dailydoseofds.com/p/kv-caching-in-llms-explained-visually?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="/__u/substackcdn.com/image/fetch/$s_!heKx!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc5dc1fee-2d1e-4892-b219-4b96f6998ab5_288x288.png" loading="lazy"><span class="embedded-post-publication-name">Daily Dose of Data Science</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title-icon"><svg width="19" height="19" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M3 18V12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.3869 3 16.6761 3.94821 18.364 5.63604C20.0518 7.32387 21 9.61305 21 12V18" stroke-linecap="round" stroke-linejoin="round"></path>
  <path d="M21 19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H18C17.4696 21 16.9609 20.7893 16.5858 20.4142C16.2107 20.0391 16 19.5304 16 19V16C16 15.4696 16.2107 14.9609 16.5858 14.5858C16.9609 14.2107 17.4696 14 18 14H21V19ZM3 19C3 19.5304 3.21071 20.0391 3.58579 20.4142C3.96086 20.7893 4.46957 21 5 21H6C6.53043 21 7.03914 20.7893 7.41421 20.4142C7.78929 20.0391 8 19.5304 8 19V16C8 15.4696 7.78929 14.9609 7.41421 14.5858C7.03914 14.2107 6.53043 14 6 14H3V19Z" stroke-linecap="round" stroke-linejoin="round"></path>
</svg></div><div class="embedded-post-title">KV Caching in LLMs, Explained Visually.</div></div><div class="embedded-post-body">Stay ahead in Tech with AWS Developer Center&#8230;</div><div class="embedded-post-cta-wrapper"><div class="embedded-post-cta-icon"><svg width="32" height="32" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
  <path classname="inner-triangle" d="M10 8L16 12L10 16V8Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg></div><span class="embedded-post-cta">Listen now</span></div><div class="embedded-post-meta">2 years ago &#183; 16 likes &#183; Avi Chawla</div></a></div></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6d9a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 424w, /__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 848w, /__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6d9a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png" width="768" height="760" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:760,&quot;width&quot;:768,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 424w, /__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 848w, /__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6d9a!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F54cb0a99-0394-4b5b-989a-9345914bbe3d_768x760.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>Autoregressive decoding reprocesses the growing prefix at each step (why decoding slows down).</em></p><p>Source: </p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:166106178,&quot;url&quot;:&quot;https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms&quot;,&quot;publication_id&quot;:1174659,&quot;embedding_publication_id&quot;:null,&quot;publication_name&quot;:&quot;Ahead of AI&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!96vs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f25d0a-212b-4853-8bcb-128d0a3edbbf_1196x1196.png&quot;,&quot;title&quot;:&quot;Understanding and Coding the KV Cache in LLMs from Scratch&quot;,&quot;truncated_body_text&quot;:&quot;KV caches are one of the most critical techniques for efficient inference in LLMs in production. KV caches are an important component for compute-efficient LLM inference in production. This article explains how they work conceptually and in code with a from-scratch, human-readable implementation.&quot;,&quot;date&quot;:&quot;2025-06-17T10:55:34.121Z&quot;,&quot;like_count&quot;:446,&quot;comment_count&quot;:41,&quot;bylines&quot;:[{&quot;id&quot;:27393275,&quot;name&quot;:&quot;Sebastian Raschka, PhD&quot;,&quot;handle&quot;:&quot;rasbt&quot;,&quot;previous_name&quot;:&quot;Sebastian Raschka&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F61f4c017-506f-4e9b-a24f-76340dad0309_800x800.jpeg&quot;,&quot;bio&quot;:&quot;I'm an LLM research engineer 10+ years of experience in artificial intelligence. My expertise lies in AI &amp; LLM research focusing on code-driven implementations. I am also the author of \&quot;Build a Large Language Model From Scratch\&quot; (amzn.to/4fqvn0D).&quot;,&quot;profile_set_up_at&quot;:&quot;2022-10-09T16:19:59.744Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-07T19:56:32.129Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:1127862,&quot;user_id&quot;:27393275,&quot;publication_id&quot;:1174659,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:1174659,&quot;name&quot;:&quot;Ahead of AI&quot;,&quot;subdomain&quot;:&quot;sebastianraschka&quot;,&quot;custom_domain&quot;:&quot;magazine.sebastianraschka.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Ahead of AI focuses on machine learning and AI research and is read by more than 150,000 researchers and practitioners who want to stay ahead in a rapidly evolving field.&quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49f25d0a-212b-4853-8bcb-128d0a3edbbf_1196x1196.png&quot;,&quot;author_id&quot;:27393275,&quot;primary_user_id&quot;:27393275,&quot;theme_var_background_pop&quot;:&quot;#2096FF&quot;,&quot;created_at&quot;:&quot;2022-11-04T18:30:05.218Z&quot;,&quot;email_from_name&quot;:null,&quot;copyright&quot;:&quot;Raschka AI Research (RAIR) Lab LLC&quot;,&quot;founding_plan_name&quot;:&quot;Founding plan&quot;,&quot;community_enabled&quot;:true,&quot;invite_only&quot;:false,&quot;payments_state&quot;:&quot;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false}}],&quot;twitter_screen_name&quot;:&quot;rasbt&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:1000,&quot;status&quot;:{&quot;bestsellerTier&quot;:1000,&quot;subscriberTier&quot;:1,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:1000},&quot;paidPublicationIds&quot;:[1783977,9873],&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="/__u/substackcdn.com/image/fetch/$s_!96vs!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49f25d0a-212b-4853-8bcb-128d0a3edbbf_1196x1196.png" loading="lazy"><span class="embedded-post-publication-name">Ahead of AI</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Understanding and Coding the KV Cache in LLMs from Scratch</div></div><div class="embedded-post-body">KV caches are one of the most critical techniques for efficient inference in LLMs in production. KV caches are an important component for compute-efficient LLM inference in production. This article explains how they work conceptually and in code with a from-scratch, human-readable implementation&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">a year ago &#183; 446 likes &#183; 41 comments &#183; Sebastian Raschka, PhD</div></a></div></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!unz2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 424w, /__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 848w, /__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 1272w, /__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!unz2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png" width="617" height="618" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:618,&quot;width&quot;:617,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 424w, /__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 848w, /__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 1272w, /__u/substackcdn.com/image/fetch/$s_!unz2!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9346fb75-6eec-40a6-a72a-51a9539b3c03_617x618.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>Redundancy across decoding steps: most of the prefix is repeated work.</em></p><p>Source: https://magazine.sebastianraschka.com/p/coding-the-kv-cache-in-llms</p></blockquote><p style="text-align: justify;">For a conversation with 1,000 previous tokens, the model performs 1,000 &#215; 1,000 = 1,000,000 operations for each new word. This quadratic complexity makes longer conversations exponentially slower.</p><h3><strong>The Solution</strong></h3><p style="text-align: justify;">KV Cache stores the Key and Value matrices from previous tokens. When generating a new token, the model retrieves these stored values instead of recalculating them.</p><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!UtJ1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!UtJ1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg" width="1456" height="885" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:885,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!UtJ1!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ce2d9c8-2470-447a-b410-475e47455a1c_1600x973.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>Inside self-attention: Q/K/V projections feed the attention computation (KV caching reuses K and V).</em></p><p>Source: https://blog.gaurav.ai/2025/08/05/kv-caching-kv-sharing/</p></blockquote><p style="text-align: justify;">This reduces 1,000,000 operations down to 1,000 operations per token. The attention mechanism goes from O(n&#178;) to O(n) for each new token.</p><p style="text-align: justify;">Here&#8217;s what happens step by step:</p><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1r5K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 424w, /__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 848w, /__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1r5K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png" width="1456" height="579" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:579,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 424w, /__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 848w, /__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 1272w, /__u/substackcdn.com/image/fetch/$s_!1r5K!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F19f8c6ee-86b4-4ada-b67f-7bbaf4cefacc_1600x636.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>KV caching loop: store K/V once, append new K/V each step, and reuse cached tensors for attention.</em></p><p>Source: https://huggingface.co/blog/not-lain/kv-caching</p></blockquote><ol><li><p>The system retrieves stored K and V matrices from cache memory</p></li><li><p>It computes only the new Q, K, V vectors for the current token</p></li><li><p>It combines new values with cached values</p></li><li><p>It performs the attention calculation</p></li><li><p>It updates the cache with the new token&#8217;s K, V values</p></li></ol><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.com/subscribe?&amp;gift=true&quot;,&quot;text&quot;:&quot;Give a gift subscription&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/boringbot.substack.com/subscribe?&amp;gift=true"><span>Give a gift subscription</span></a></p><h3><strong>Real Performance Gains</strong></h3><p style="text-align: justify;">A financial services company processing 15,000 regulatory documents daily saw a 67% reduction in response time after implementing KV Cache. They analyzed documents in real time instead of waiting hours.</p><p style="text-align: justify;">The benefits increase with sequence length. Short sequences see 40-50% speedups. Long conversations with thousands of tokens can be 3x faster or more.</p><p style="text-align: justify;">Memory usage increases by 10-20% of model parameters, which is a reasonable trade-off for the speed gains.</p><h2><strong>How Speculative Decoding Works</strong></h2><h3><strong>The Draft-and-Verify Method</strong></h3><p style="text-align: justify;">Normal text generation is sequential. The model generates one token, then uses that token to generate the next one. You can&#8217;t parallelize this process.</p><p style="text-align: justify;">Speculative Decoding breaks this pattern. A small, fast draft model generates multiple token candidates. Then the large target model verifies all of them at once in a single forward pass.</p><p style="text-align: justify;">The draft model might be 10-100x faster than the target model. It doesn&#8217;t need to be perfect. It just needs to generate reasonable candidates that the target model can verify quickly.</p><h3><strong>The Process</strong></h3><p style="text-align: justify;"><strong>Draft Generation Phase</strong></p><p style="text-align: justify;">The small model generates k candidate tokens rapidly. For example, it might propose the next 5-10 tokens in a sentence.</p><p style="text-align: justify;"><strong>Batch Verification</strong></p><p style="text-align: justify;">The large model processes all k candidates simultaneously. This batch processing uses GPU parallelization to verify multiple tokens with minimal overhead compared to processing one token.</p><p style="text-align: justify;"><strong>Acceptance Decision</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pFwP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 424w, /__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 848w, /__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pFwP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png" width="1456" height="1520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1520,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 424w, /__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 848w, /__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pFwP!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f581e44-98b3-4b40-8879-32ec9591e907_1533x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p>Source:<strong>https://clova.ai/en/tech-blog/breaking-the-speed-barrier-how-we-implemented-speculative-decoding-for-hyperclova-x?utm_source=chatgpt.com</strong></p></blockquote><p style="text-align: justify;">An algorithm compares the draft model&#8217;s probabilities with the target model&#8217;s probabilities. It accepts tokens that meet the quality threshold and rejects the rest.</p><p style="text-align: justify;">If all tokens are accepted, the system just generated multiple tokens in roughly the time it normally takes to generate one. If some are rejected, the system falls back to standard generation for those positions.</p><p style="text-align: justify;"><strong>Adaptive Window Sizing</strong></p><p style="text-align: justify;">The system adjusts how many tokens the draft model generates based on acceptance rates. High acceptance rates increase the window size. Low acceptance rates decrease it.</p><h3><strong>Production Results</strong></h3><p style="text-align: justify;">A major cloud provider implemented Speculative Decoding for their conversational AI platform with these results:</p><ul><li><p>7.2x average speedup in chatbot responses</p></li><li><p>45% reduction in GPU resource consumption</p></li><li><p>$2.3M annual cost savings</p></li><li><p>Zero degradation in customer satisfaction scores</p></li></ul><p style="text-align: justify;">They used a 1.5B parameter draft model with a 175B parameter target model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!PiUM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 424w, /__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 848w, /__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!PiUM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif" width="1080" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:608,&quot;width&quot;:1080,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:234868,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://boringbot.substack.com/i/189815574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 424w, /__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 848w, /__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!PiUM!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8126595-d2e9-488e-aa14-bf5182e9ffcf_1080x608.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Source: <a href="https://www.together.ai/blog/customized-speculative-decoding">https://www.together.ai/blog/customized-speculative-decoding</a></p><h2><strong>Comparing the Two Techniques</strong></h2><h3><strong>Different Approaches</strong></h3><p style="text-align: justify;">KV Cache removes redundant computations within the attention mechanism. It&#8217;s a straightforward optimization that works with existing model architecture.</p><p style="text-align: justify;">Speculative Decoding changes how tokens are generated. It requires two models working together and adds architectural complexity.</p><h3><strong>Performance Patterns</strong></h3><p style="text-align: justify;"><strong>Speed Improvements:</strong></p><ul><li><p>KV Cache: 1.5-3x typical gains, more for longer sequences</p></li><li><p>Speculative Decoding: 3-10x potential gains</p></li><li><p>Combined: Over 10x total speedup possible</p></li></ul><p style="text-align: justify;"><strong>Memory Requirements:</strong></p><ul><li><p>KV Cache: 10-20% overhead, grows with sequence length</p></li><li><p>Speculative Decoding: Higher baseline but fixed overhead</p></li><li><p>Combined: Requires careful memory management</p></li></ul><p style="text-align: justify;"><strong>Implementation Complexity:</strong></p><ul><li><p>KV Cache: Low to medium, straightforward to add</p></li><li><p>Speculative Decoding: High, needs sophisticated coordination</p></li></ul><h3><strong>When to Use Each</strong></h3><p style="text-align: justify;"><strong>Use KV Cache for:</strong></p><ul><li><p>Long documents or conversations</p></li><li><p>Extended context windows</p></li><li><p>Applications with growing conversation history</p></li><li><p>Memory-efficient deployments</p></li></ul><p style="text-align: justify;">Legal document processing systems report 78% latency reduction with KV Cache. Customer service platforms maintain sub-second response times even after hundreds of exchanges.</p><p style="text-align: justify;"><strong>Use Speculative Decoding for:</strong></p><ul><li><p>Applications requiring maximum speed</p></li><li><p>Interactive real-time experiences</p></li><li><p>Batch processing workflows</p></li><li><p>Latency-critical deployments</p></li></ul><p style="text-align: justify;">Educational platforms report 340% increases in student engagement with near-instantaneous AI responses. Financial trading platforms achieve sub-100ms response times for real-time market analysis.</p><h2><strong>Implementation Challenges</strong></h2><h3><strong>KV Cache Challenges</strong></h3><p style="text-align: justify;"><strong>Memory Management</strong></p><p style="text-align: justify;">You need adaptive sizing strategies. Cache size must balance hit rates against memory consumption, especially when sequence lengths vary.</p><blockquote></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pirS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 424w, /__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 848w, /__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pirS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png" width="1456" height="1145" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1145,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 424w, /__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 848w, /__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pirS!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5cb24d5-58b0-45b2-8747-2bd92ef9c544_1600x1258.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p><em>Production reality: priority-based eviction helps keep reusable prompt blocks in cache longer.</em></p><p>Source: https://developer.nvidia.com/blog/introducing-new-kv-cache-reuse-optimizations-in-nvidia-tensorrt-llm/</p></blockquote><p style="text-align: justify;">Production systems use automated cache eviction policies based on usage patterns. They also need monitoring systems that track cache efficiency in real time.</p><p style="text-align: justify;"><strong>Cache Invalidation</strong></p><p style="text-align: justify;">The cache must stay consistent when models update or conversation context shifts. Systems need versioning and validation mechanisms to detect and correct inconsistencies.</p><h3><strong>Speculative Decoding Challenges</strong></h3><p style="text-align: justify;"><strong>Model Coordination</strong></p><p style="text-align: justify;">You need continuous calibration to maintain optimal acceptance rates. If the draft model generates poor candidates, the system wastes computation on rejected tokens.</p><p style="text-align: justify;">Organizations use automated evaluation pipelines with continuous performance monitoring. They tune parameters based on real-time feedback.</p><p style="text-align: justify;"><strong>Resource Management</strong></p><p style="text-align: justify;">Managing two models requires sophisticated orchestration. The system must allocate computational resources between draft and target models based on workload and hardware constraints.</p><p style="text-align: justify;">Advanced implementations use adaptive resource allocation with predictive scaling based on usage patterns.</p><h3><strong>Quality Assurance</strong></h3><p style="text-align: justify;">Both techniques need comprehensive validation. Automated testing pipelines evaluate output quality across diverse use cases.</p><p style="text-align: justify;">A/B testing frameworks compare optimized and standard inference across metrics like semantic coherence, factual accuracy, and task performance. Real-time monitoring tracks latency, throughput, memory usage, and quality scores.</p><p style="text-align: justify;">Failure recovery mechanisms automatically revert to standard inference when optimizations encounter errors. This ensures reliability while enabling aggressive optimization.</p><h2><strong>Real-World Applications</strong></h2><h3><strong>Customer Service</strong></h3><p style="text-align: justify;">A telecommunications company handles 2 million daily customer interactions. They implemented both KV Cache and Speculative Decoding with a 7B parameter draft model and 175B parameter target model.</p><p style="text-align: justify;">Results:</p><ul><li><p>87% reduction in average response time (4.8s to 0.7s)</p></li><li><p>23% increase in customer satisfaction</p></li><li><p>34% reduction in call abandonment</p></li><li><p>$1.8M annual savings</p></li></ul><p style="text-align: justify;">The system maintains conversation coherence across extended support sessions with consistent sub-second response times.</p><h3><strong>Code Generation</strong></h3><p style="text-align: justify;">GitHub Copilot and similar tools use these optimizations to provide real-time code completion. They need sub-100ms response times to avoid disrupting developer flow.</p><p style="text-align: justify;">A major software company&#8217;s internal platform supports 12,000 developers:</p><ul><li><p>67% improvement in code completion speed</p></li><li><p>94% acceptance rate for suggestions</p></li><li><p>Real-time code review and documentation generation</p></li></ul><h3><strong>Content Creation</strong></h3><p style="text-align: justify;">News organizations use optimized AI to generate draft articles within 30 seconds of breaking events. A major news outlet processes 500+ breaking news events daily with a 78% reduction in time-to-publish.</p><p style="text-align: justify;">Gaming platforms use optimization for dynamic narrative generation. One studio supports 100,000 concurrent players with personalized storylines. They achieved 5.2x improvement in narrative generation speed and 156% increase in player engagement.</p><h3><strong>Specialized Industries</strong></h3><p style="text-align: justify;"><strong>Financial Services</strong></p><p style="text-align: justify;">A hedge fund&#8217;s system delivers investment insights within seconds of market events. They achieved 94% accuracy in market sentiment analysis while reducing analysis time from hours to minutes.</p><p style="text-align: justify;"><strong>Healthcare</strong></p><p style="text-align: justify;">A hospital network processes 25,000 patient interactions daily. Medical staff spend 89% less time on documentation while improving accuracy and completeness.</p><p style="text-align: justify;"><strong>Legal</strong></p><p style="text-align: justify;">A law firm processes 2,000+ legal documents daily with 71% reduction in initial review time. Lawyers focus on high-level strategy while AI handles routine document processing.</p><h2><strong>Implementation Strategy</strong></h2><h3><strong>Phase 1: Foundation (Weeks 1-4)</strong></h3><ul><li><p>Establish baseline performance metrics.</p></li><li><p>Set up comprehensive monitoring infrastructure.</p></li><li><p>Develop testing frameworks for quality validation.</p></li><li><p>Conduct technical feasibility assessments and prepare infrastructure for optimization deployment.</p></li></ul><h3><strong>Phase 2: Pilot (Weeks 5-12)</strong></h3><ul><li><p>Deploy optimizations in controlled environments with limited traffic.</p></li><li><p>Run extensive A/B testing comparing optimized and standard inference.</p></li><li><p>Tune parameters based on real-world data.</p></li><li><p>Develop operational procedures for monitoring and maintenance.</p></li></ul><h3><strong>Phase 3: Production (Weeks 13-20)</strong></h3><ul><li><p>Implement gradual rollout with continuous monitoring and automatic fallback.</p></li><li><p>Continue fine-tuning based on production data.</p></li><li><p>Run comprehensive cost-benefit analysis to validate optimization effectiveness.</p></li></ul><h3><strong>Phase 4: Advanced Optimization (Weeks 21+)</strong></h3><ul><li><p>Explore combined implementation of multiple techniques.</p></li><li><p>Develop custom optimizations for specific use cases.</p></li><li><p>Build sophisticated monitoring and automated optimization systems that continuously improve based on usage patterns.</p></li></ul><h3><strong>Sample Implementation</strong></h3><p><code>class OptimizedInferenceEngine:<br>    def __init__(self, target_model, draft_model, cache_config):<br>        self.target_model = target_model<br>        self.draft_model = draft_model<br>        self.kv_cache = DynamicKVCache(cache_config)<br>        self.memory_pool = AdaptiveMemoryPool()<br>        self.speculation_window = AdaptiveWindowSizer()<br>        self.performance_monitor = RealTimeMonitor()<br>    <br>    def generate_optimized(self, prompt, max_length):<br>        # Initialize KV cache with conversation context<br>        cached_kv = self.kv_cache.get_or_create(prompt)<br>        <br>        # Calculate optimal speculation window<br>        window_size = self.speculation_window.calculate_optimal_size(<br>            cache_efficiency=cached_kv.hit_rate,<br>            available_memory=self.memory_pool.available_capacity,<br>            target_latency=self.performance_monitor.target_latency<br>        )<br>        <br>        return self.speculative_decode_with_cache(<br>            prompt, cached_kv, window_size, max_length<br>        )</code><br><br></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><h2><strong>Future Developments</strong></h2><h3><strong>New Optimization Approaches</strong></h3><ul><li><p>Researchers are designing transformer architectures specifically for efficient inference. Sparse attention mechanisms and hierarchical processing structures reduce computational requirements by 60-80% while maintaining model capability.</p></li><li><p>Quantum-classical hybrid processing shows promise for exponential speedups in attention weight calculation, though practical applications are years away.</p></li><li><p>Neuromorphic computing explores brain-inspired architectures for ultra-low-power inference, especially in edge computing environments.</p></li></ul><h3><strong>Hardware Evolution</strong></h3><ul><li><p>Custom silicon is being designed specifically for KV caching operations and speculative decoding workflows. Major semiconductor companies are developing inference-optimized chips that could deliver 10-100x improvements over general-purpose GPUs.</p></li><li><p>New memory systems are being developed specifically for AI workloads, with high-bandwidth memory optimized for KV cache storage.</p></li></ul><h3><strong>Industry Adoption</strong></h3><ul><li><p>Major cloud providers now offer optimization techniques as managed services. AWS, Google Cloud, and Microsoft Azure are integrating KV Cache and Speculative Decoding into their AI platforms.</p></li><li><p>Open source frameworks like Hugging Face Transformers, vLLM, and TensorRT make these optimizations accessible to smaller organizations.</p></li></ul><h3><strong>Self-Optimizing Systems</strong></h3><ul><li><p>Researchers are developing AI systems that automatically optimize their own inference performance through experience and learning. Early research shows AI systems improving their own inference efficiency by 40-60% through automated optimization discovery.</p></li><li><p>These adaptive systems could eliminate manual parameter tuning by continuously adjusting optimization strategies based on usage patterns, hardware characteristics, and performance objectives.</p></li></ul><h2><strong>Reflections</strong></h2><p style="text-align: justify;">KV Cache and Speculative Decoding have transformed what&#8217;s possible with large language models. KV Cache eliminates redundant computations by storing previous calculations. Speculative Decoding accelerates generation by using a small model to propose tokens that a large model verifies in parallel.</p><p style="text-align: justify;">Combined, these techniques can achieve 10x or greater speedups while maintaining output quality. This enables real-time AI applications that were previously too slow for production use.</p><p style="text-align: justify;">The business impact is clear. Organizations report:</p><ul><li><p>40-70% reduction in infrastructure costs</p></li><li><p>Improved user satisfaction from faster responses</p></li><li><p>New capabilities in real-time customer service, code generation, and content creation</p></li><li><p>Competitive advantages through superior AI performance</p></li></ul><p style="text-align: justify;">Success requires careful implementation. Start with baseline metrics and monitoring. Deploy in controlled environments. Test extensively. Roll out gradually with automatic fallback systems.</p><p style="text-align: justify;">The techniques continue to evolve. Future developments in hardware, architecture, and self-optimizing systems promise even greater improvements. Organizations that master these optimizations now will be positioned to capitalize on future advances.</p><p style="text-align: justify;">For any production AI system where speed matters, these optimizations are no longer optional. They&#8217;re essential for delivering the performance users expect and the efficiency businesses require.</p><p style="text-align: justify;">Did you enjoy this post? Here are some other AI Agents posts you might have missed:</p><h5><em><strong><a href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key">A deep dive into Quantization: Key to Open Source LLM Deployments</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></strong></em></h5><h5 style="text-align: justify;"><em><strong><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></strong></em></h5><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><h1><strong>Ready to take it to the next level?</strong></h1><p>Check out my AI Agents for Enterprise course on <a href="https://maven.com/boring-bot/advanced-llm?promoCode=200OFF">Maven</a> and be a part of something bigger and join hundreds of builders to develop enterprise level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!bUi_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!bUi_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png" width="1456" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!bUi_!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa45d70a1-43ed-4b6d-bdf5-4387496c37a9_1600x499.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use this <a href="https://maven.com/boring-bot/advanced-llm?promoCode=200OFF">link</a> to get $201 OFF!</p><div><hr></div><p><em>You&#8217;re receiving this email because you&#8217;re part of our mailing list&#8212;and you&#8217;ve attended, registered for, or been invited to our MAVEN events. These emails are the only way to reliably receive updates from us. We don&#8217;t spam or sell your information. If you prefer not to receive our messages, simply unsubscribe below and we&#8217;ll respect your wishes.</em></p>]]></content:encoded></item><item><title><![CDATA[A deep dive into Quantization: Key to Open Source LLM Deployments ]]></title><description><![CDATA[Open-Weight LLMs are getting better, Memory Is the Bottleneck]]></description><link>https://boringbot.substack.com/p/a-deep-dive-into-quantization-key</link><guid isPermaLink="false">https://boringbot.substack.com/p/a-deep-dive-into-quantization-key</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Tue, 24 Feb 2026 21:47:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6LEg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fpbs.substack.com%2Fmedia%2FHA5wnbCaMAAsTda.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Open-weight LLMs are getting adopted fast, with new releases landing constantly and more teams trying to run capable models on a single GPU (or even locally). </p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/ArtificialAnlys/status/2021678229418066004&quot;,&quot;full_text&quot;:&quot;GLM-5 is the new leading open weights model! GLM-5 leads the Artificial Analysis Intelligence Index amongst open weights models and makes large gains over GLM-4.7 in GDPval-AA, our agentic benchmark focused on economically valuable work tasks\n\nGLM-5 is <span class=\&quot;tweet-fake-link\&quot;>@Zai_org</span>'s first new &quot;,&quot;username&quot;:&quot;ArtificialAnlys&quot;,&quot;name&quot;:&quot;Artificial Analysis&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1810946341511766016/3mg9KIaQ_normal.jpg&quot;,&quot;date&quot;:&quot;2026-02-11T20:10:25.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HA5wnbCaMAAsTda.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/IiK2GRptFL&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:37,&quot;retweet_count&quot;:98,&quot;like_count&quot;:792,&quot;impression_count&quot;:110119,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>But in production, you hit a wall quickly: <strong>memory</strong>. Once models reach billions of parameters, the VRAM required for weights can exceed what most hardware can comfortably support. </p><p><strong>Quantization </strong>tackles this by reducing weight precision so models fit and run efficiently, often with only modest quality loss when done right.</p><p>This analysis compares three common approaches: </p><p><strong>INT8, INT4, and NF4</strong>. </p><p>Each sits at a different point on the memory&#8211;accuracy&#8211;speed trade-off curve. Quantization can significantly reduce weight memory and sometimes improve throughput, but the best choice depends on your hardware and how sensitive your task is to small quality changes. This guide helps you pick the right method.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p><h3><strong>What Is LLM Quantization and Why Does It Matter?</strong></h3><p>LLM quantization is typically <strong>inference-time weight quantization</strong>: converting weights stored in FP16/FP32 into lower-precision formats such as INT8 or INT4. This reduces VRAM usage and can improve throughput, making it easier to run larger models or serve more requests on the same GPU.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4vaf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 424w, /__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 848w, /__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4vaf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png" width="855" height="299" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:299,&quot;width&quot;:855,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 424w, /__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 848w, /__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4vaf!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60ed4b65-ccc1-4d3c-b2cc-ecd7c03b0609_855x299.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://mobisoftinfotech.com/resources/blog/ai-development/what-is-quantization-in-llm-guide">https://mobisoftinfotech.com/resources/blog/ai-development/what-is-quantization-in-llm-guide</a>...</figcaption></figure></div><p>At a high level, quantization maps continuous floating-point values to a smaller set of representable values (the &#8220;levels&#8221;). INT8 uses 8-bit integers and INT4 uses 4-bit integers, but in practice weights are stored with <strong>scales (and sometimes zero-points)</strong> so the runtime can reconstruct approximate values during computation.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!SRsP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 424w, /__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 848w, /__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SRsP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png" width="1400" height="822" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 424w, /__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 848w, /__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SRsP!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1886843c-b395-49ec-b31b-e6a135ef0df1_1400x822.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Source: <a href="https://rumn.medium.com/unlocking-efficiency-a-deep-dive-into-model-quantization-in-deep-learning-b0601ec6232d">https://rumn.medium.com/unlocking-efficiency-a-deep-dive-into-model-quantization-in-deep-learning-b0601ec6232d</a></em>...</figcaption></figure></div><p>Modern methods such as <strong>NF4</strong> go beyond uniform spacing: they use a non-uniform set of levels designed around common weight statistics (often close to a normal distribution). That&#8217;s why NF4 is popular in <strong>bitsandbytes / QLoRA</strong> workflows, it often preserves quality better than uniform INT4 at similar memory budgets.</p><h3><strong>How Quantization Methods Evolved</strong></h3><p>Understanding where each method came from helps you understand why they behave differently in production.</p><p><strong>Post-Training Quantization (PTQ)<br></strong>Simple precision reduction applied after training (no retraining). Fast to implement. <strong>Can</strong> reduce quality if you push bit-width too low or skip careful calibration.</p><p><strong>Quantization-Aware Training (QAT)<br></strong>Simulates quantization during training so the model adapts to reduced precision. Often more robust than na&#239;ve PTQ. But QAT at foundation-model scale is compute-heavy, so it&#8217;s less common for large LLM deployments.</p><p><strong>Data-Aware / Calibration-Guided Methods<br></strong>Uses a small representative dataset to choose scales (and sometimes per-group decisions) and minimize quantization error without full retraining. This is where many practical LLM methods like <strong>GPTQ</strong> and <strong>AWQ</strong> fit, enabling <strong>INT4</strong> (and some <strong>INT8</strong>) with relatively small quality loss in many real workloads.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4Dy9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 424w, /__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 848w, /__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4Dy9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png" width="800" height="416" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:416,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 424w, /__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 848w, /__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4Dy9!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafd63cff-26f9-49f0-a650-2a0a318448ec_800x416.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://simplismart.ai/blog/a-beginners-guide-to-quantization-for-large-language-models-llms">https://simplismart.ai/blog/a-beginners-guide-to-quantization-for-large-language-models-llms</a>...</figcaption></figure></div><h3><strong>The Three Methods Explained</strong></h3><h4><strong>INT8 The Balanced Production Choice</strong></h4><p>INT8 quantization maps floating-point weights to 8-bit integers. It cuts model size by 50% versus FP16 and maintains strong compatibility with modern hardware acceleration.</p><p><strong>Two mapping schemes matter here:</strong></p><p><strong>Symmetric quantization</strong> maps the range [&#8722;&#945;, &#945;] to [&#8722;127, 127] using a single scale factor. Clean and fast.</p><p><strong>Asymmetric quantization</strong> maps [&#946;, &#945;] to [&#8722;128, 127] using both a scale factor and a zero-point. Better for layers with skewed weight distributions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!0im4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 424w, /__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 848w, /__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!0im4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png" width="1370" height="562" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:562,&quot;width&quot;:1370,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 424w, /__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 848w, /__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 1272w, /__u/substackcdn.com/image/fetch/$s_!0im4!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf28dc2f-a010-46d8-82eb-49f8d498a14a_1370x562.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: <a href="https://chautuankien.medium.com/quantization-technique-part-1-d8ab5c0379e9">https://chautuankien.medium.com/quantization-technique-part-1-d8ab5c0379e9</a></figcaption></figure></div><p><strong>Hardware support is strong:</strong></p><blockquote><p>&#9679;  &#9;NVIDIA Tensor Cores (V100 and later) accelerate INT8 matrix operations natively</p><p>&#9679;  &#9;Intel VNNI extensions provide similar acceleration on CPUs</p><p>&#9679;  &#9;This hardware support can improve throughput in the right setup (especially with optimized INT8 kernels and sufficient batching)</p></blockquote><p><strong>INT4  Maximum Compression With Trade-offs</strong></p><p>INT4 pushes compression to the limit. You only have 16 codes per group to represent the full continuous distribution of neural network weight. This constraint demands smart boundary selection to preserve critical model information.</p><h4><strong>Two key techniques make INT4 practical:</strong></h4><ul><li><p><strong>AWQ (Activation-aware Weight Quantization): </strong>protects the most salient channels/weights (identified using activation statistics) so aggressive 4-bit rounding doesn&#8217;t damage the layer&#8217;s output too much.</p></li><li><p><strong>GPTQ (post-training optimization) :</strong> chooses quantized values that minimize output error on a small calibration set (often using second-order information), typically producing better quality than na&#239;ve rounding at the same bit-width.</p></li><li><p><strong>The honest trade-off: </strong>INT4 has limited native hardware acceleration on most current GPUs. It requires specialized kernels and benefits significantly from mixed-precision deployment strategies.</p></li><li><p><strong>NF4 &#8212; Non-Uniform Precision for Better Accuracy: </strong>NF4 (4-bit NormalFloat) is the most sophisticated of the three. Instead of spacing quantization levels uniformly, it designs levels that align with the natural distribution of pre-trained neural network weights, typically approximately normal.</p></li></ul><p><strong>How it works technically:</strong> NF4 computes optimal quantization boundaries using the cumulative distribution function (CDF) of target weights. The result is non-uniformly spaced levels that cluster around common weight values. Rare extreme values get less precision. Common central values get more. This matches how information is actually distributed in the model.</p><p><strong>Double quantization</strong> is an additional efficiency feature. You apply quantization to the scale factors themselves, reducing metadata overhead further. For large models where scale factor storage becomes non-trivial, this matters.</p><p><strong>NF4 pairs directly with QLoRA</strong>, enabling continued fine-tuning of quantized models. This is a practical advantage INT4 lacks in most standard implementations.</p><p><strong>What Actually Consumes Your VRAM</strong></p><p>Weight storage is only part of the picture. Total VRAM consumption during inference includes multiple components, and quantization affects each one differently.</p><p>Weight quantization does not reduce KV cache memory. For long-context inference, the KV cache can approach or exceed weight memory. This is a separate problem that requires KV cache quantization, which this analysis does not cover.</p><h3><strong>Latency and Throughput: What the Numbers Actually Mean</strong></h3><h4><strong>Time-to-First-Token (TTFT)</strong></h4><p>TTFT measures the delay between submitting a request and receiving the first generated token. It directly shapes how responsive your system feels to users.</p><p>Quantization affects TTFT through two competing forces:</p><p><strong>Reduced memory pressure</strong> allows faster initial weight loading and processing. This helps TTFT.</p><p><strong>Dequantization overhead</strong> adds computation before matrix multiplications can proceed. This hurts TTFT, especially at small batch sizes where the overhead cannot be amortized across multiple requests.</p><p>This tension explains why 4-bit methods can show worse TTFT than INT8/FP16 on single requests when dequantization/packing overhead dominates. With optimized kernels (often available in bitsandbytes-style stacks), that overhead can be reduced, and INT4/NF4 can be competitive depending on your runtime.</p><h3><strong>Where Aggressive Quantization Wins: Batch Throughput</strong></h3><p>At batch size 16, FP16 runs out of memory on the RTX 4090. INT4 and NF4 continue scaling. This is where aggressive quantization pays off most, not in single-request latency, but in batch throughput at the memory boundary. If you are not measuring batch throughput at your VRAM limit, you are missing the strongest argument for 4-bit quantization.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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="/__u/boringbot.substack.com/subscribe"><span>Subscribe now</span></a></p><p></p><p><strong>How to Choose the Right Method</strong></p><p>Work through this decision framework before committing to a quantization strategy:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!B58R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!B58R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:891887,&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://boringbot.substack.com/i/189068076?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!B58R!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70fb0b57-25bd-40a5-9043-8e28efc2414d_1024x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Production Deployment Checklist</strong></p><p>Before shipping a quantized model to production, work through these steps:</p><p><strong>Validation</strong></p><ul><li><p> Benchmark perplexity on WikiText-103 or C4 for your specific model</p></li><li><p> Run task-specific evaluations, MMLU, HumanEval, GSM8K as appropriate</p></li><li><p> Test on edge cases and long-context inputs</p></li><li><p> Verify output quality on domain-specific prompts if applicable</p></li></ul><p><strong>Infrastructure</strong></p><ul><li><p> Confirm your hardware has appropriate acceleration support for the chosen method</p></li><li><p> Measure actual VRAM usage under peak load, not just model weights</p></li><li><p> Test batch size scaling to find your throughput sweet spot</p></li><li><p> Set up TTFT monitoring, it degrades differently than throughput</p></li></ul><p><strong>Operations</strong></p><ul><li><p> Run A/B tests against the FP16 baseline before full rollout</p></li><li><p> Set up continuous perplexity and latency monitoring</p></li><li><p> Define rollback criteria and maintain a parallel FP16 deployment path</p></li><li><p> Document your calibration dataset and quantization parameters for reproducibility</p></li></ul><p><strong>Final Takeaways</strong></p><blockquote><p>Three conclusions stand out from this analysis:</p></blockquote><ul><li><p><strong>NF4 is often a strong default for 4-bit workflows: </strong> It targets the same memory class as INT4 but frequently preserves quality better in bitsandbytes/QLoRA-style setups. Choose plain INT4 when you have a specific kernel/runtime reason (or an established calibration pipeline) that performs better for your workload.</p></li></ul><ul><li><p><strong>INT8 remains a strong choice when hardware acceleration is available and quality/latency need to be predictable.</strong> It typically has fewer compatibility surprises than 4-bit methods and performs well across a wide range of deployments.</p></li></ul><ul><li><p><strong>The biggest throughput wins from 4-bit quantization usually appear at the memory boundary.</strong> If FP16 OOMs at your target batch size or context window, INT4/NF4 can keep scaling, so measure throughput and tail latency at your VRAM limit, not only on a single request.</p></li></ul><p><strong>Start with NF4 if you are memory-constrained. Start with INT8 if you have headroom and need consistency. Measure both on your actual task and hardware before committing.</strong></p><p>Did you enjoy this post? Here are some other AI Agents posts you might have missed:</p><h5><em><a href="/__u/boringbot.substack.com/p/day-1-agents-are-here-and-they-are">Agents are here and they are staying</a></em></h5><h5><em><a href="/__u/boringbot.substack.com/p/day-2-how-agents-think">How Agents Think</a></em></h5><h5><em><a href="/__u/boringbot.substack.com/p/day-03-memory-the-agents-brain?utm_source=profile&amp;utm_medium=reader2">Memory &#8211; The Agent&#8217;s Brain</a></em></h5><h5><em><a href="/__u/boringbot.substack.com/p/day-4-agentic-rag-ecosystem?utm_source=profile&amp;utm_medium=reader2">Agentic RAG Ecosystem</a></em></h5><h5><em><a href="/__u/boringbot.substack.com/p/day-5-multimodal-agents?utm_source=profile&amp;utm_medium=reader2">Multimodal Agents</a></em></h5><h5><em><a href="/__u/boringbot.substack.com/p/day-6-scaling-agents-architectures?utm_source=profile&amp;utm_medium=reader2">Scaling Agents: Architectures with Google ADK, A2A, and MCP</a></em></h5><h5><em><a href="/__u/boringbot.substack.com/p/day-7-fully-functional-agent-loop?utm_source=profile&amp;utm_medium=reader2">Fully Functional Agent Loop</a></em></h5><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.com/p/a-deep-dive-into-quantization-key?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/boringbot.substack.com/p/a-deep-dive-into-quantization-key?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share"><span>Share</span></a></p><h1><strong>Ready to take it to the next level?</strong></h1><p>Check out my AI Agents for Enterprise course on <a href="https://maven.com/boring-bot/advanced-llm?promoCode=200OFF">Maven</a> and be a part of something bigger and join hundreds of builders to develop enterprise level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!i74c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!i74c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png" width="1456" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 424w, /__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 848w, /__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 1272w, /__u/substackcdn.com/image/fetch/$s_!i74c!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4dae0343-e7da-461c-85f7-e2fc14d83412_1600x499.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use this <a href="https://maven.com/boring-bot/advanced-llm?promoCode=200OFF">link</a> to get $201 OFF!</p><p><em>You&#8217;re receiving this email because you&#8217;re part of our mailing list&#8212;and you&#8217;ve attended, registered for, or been invited to our MAVEN events. These emails are the only way to reliably receive updates from us. We don&#8217;t spam or sell your information. If you prefer not to receive our messages, simply unsubscribe below and we&#8217;ll respect your wishes.</em></p>]]></content:encoded></item><item><title><![CDATA[Beyond “Sounds Good”: A Practical Guide to LLM Evals]]></title><description><![CDATA[Bro, do you even Eval?]]></description><link>https://boringbot.substack.com/p/beyond-sounds-good-a-practical-guide</link><guid isPermaLink="false">https://boringbot.substack.com/p/beyond-sounds-good-a-practical-guide</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Mon, 03 Nov 2025 15:03:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7nMA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We&#8217;ve all been there. You ask an AI a question, it gives you a long, confident, and well-written answer. It <em>sounds</em> right. But is it? As we start using Large Language Models (LLMs) for real, important tasks, &#8220;sounds good&#8221; isn&#8217;t good enough. We need a way to measure their performance objectively.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!7nMA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 424w, /__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 848w, /__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!7nMA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png" width="1024" height="608" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:608,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 424w, /__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 848w, /__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 1272w, /__u/substackcdn.com/image/fetch/$s_!7nMA!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57ae501b-d931-4e7c-a22b-58ab817c4e20_1024x608.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">realistic image of an AI taking an exam</figcaption></figure></div><p>That&#8217;s where <strong>Evals</strong> (evaluations) come in. Think of them as tests or report cards for your AI systems. Instead of guessing if an output is good, we run it through a series of checks to be sure.</p><p>Let&#8217;s break down how these evals work for different types of AI setups, starting simple and getting more complex.</p><div><hr></div><h3>1. Evals for LLMs: The Basic Health Check</h3><p><strong>What we&#8217;re testing:</strong> The raw, knowledge and basic capability of the language model itself.</p><p>Imagine you just got a new employee straight out of a universal training program (the internet). You need to check their core skills before giving them a specific job. Evals for base LLMs do exactly that.</p><p><strong>What we measure:</strong></p><ul><li><p><strong>Factual Accuracy:</strong> Does it know true things? Does it make up false information (hallucinate)?</p></li><li><p><strong>Reasoning (Basic):</strong> Can it follow simple logic?</p></li><li><p><strong>Toxicity/Bias:</strong> Does it produce harmful, biased, or offensive content?</p></li><li><p><strong>Following Instructions:</strong> Can it do what it&#8217;s told (e.g., &#8220;write in the style of a pirate&#8221;)?</p></li></ul><p><strong>How we test it (The &#8220;Exam Paper&#8221;):</strong></p><p>We use standard sets of questions and tasks where we already know the correct answer.</p><ul><li><p><strong>Example Task:</strong> &#8220;What is the capital of Portugal?&#8221;</p><ul><li><p><strong>Expected Answer:</strong> &#8220;Lisbon.&#8221;</p></li><li><p><strong>Eval Check:</strong> Does the model&#8217;s output contain the correct answer?</p></li></ul></li><li><p><strong>Example Task:</strong> &#8220;Complete this sentence: The opposite of hot is...&#8221;</p><ul><li><p><strong>Expected Answer:</strong> &#8220;cold.&#8221;</p></li><li><p><strong>Eval Check:</strong> Is the completion logically correct?</p></li></ul></li><li><p><strong>Example Task:</strong> &#8220;Write a sentence about [a sensitive topic].&#8221;</p><ul><li><p><strong>Expected Answer:</strong> <em>No specific answer, but a set of rules.</em></p></li><li><p><strong>Eval Check:</strong> Does the output contain hate speech, slurs, or dangerous ideas? (A human or a safety classifier would score this).</p></li></ul></li></ul><p><strong>The Introspection:</strong> You wouldn&#8217;t trust a doctor who aced art class but failed biology. Similarly, if a model fails basic factual or safety evals, it&#8217;s not fit for any purpose, no matter how fluent it sounds.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/s9mCv/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5c5ad90-da49-4c3a-86a5-070d5e2371c3_1220x1134.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e9a3abf-5f40-4aab-98de-33abe32b29c7_1220x1198.png&quot;,&quot;height&quot;:660,&quot;title&quot;:&quot;LLM Benchmark&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/s9mCv/1/" width="730" height="660" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>2. Evals for LLM Reasoning Models: The Logic Exam</h3><p><strong>What we&#8217;re testing:</strong> The model&#8217;s ability to solve complex problems that require multiple steps of thought.</p><p>Now, let&#8217;s say our new employee needs to be an analyst. We need to test their ability to <em>think</em>, not just recall. This is for models specifically prompted or fine-tuned for reasoning (e.g., using Chain-of-Thought).</p><p><strong>What we measure:</strong></p><ul><li><p><strong>Multi-step Problem Solving:</strong> Can it break a big problem into smaller steps?</p></li><li><p><strong>Mathematical Reasoning:</strong> Can it solve word problems?</p></li><li><p><strong>Logical Deduction:</strong> Can it infer conclusions from a set of rules?</p></li></ul><p><strong>How we test it (The &#8220;Logic Puzzle&#8221;):</strong></p><p>We give it problems where the answer isn&#8217;t a simple fact, but the result of a process.</p><ul><li><p><strong>Example Task:</strong> &#8220;Sarah has 3 apples. She gives 2 to Mark. Then, she buys 5 more. How many apples does she have now?&#8221;</p><ul><li><p><strong>Expected Reasoning Steps:</strong> <code>3 - 2 = 1</code>, then <code>1 + 5 = 6</code>.</p></li><li><p><strong>Eval Check:</strong> Does the model&#8217;s <em>reasoning process</em> correctly show these steps, and does it arrive at the final answer of <code>6</code>? The &#8220;working out&#8221; is as important as the answer.</p></li></ul></li><li><p><strong>Example Task:</strong> &#8220;All dogs are mammals. All mammals have spines. Fido is a dog. Does Fido have a spine?&#8221;</p><ul><li><p><strong>Expected Answer:</strong> &#8220;Yes.&#8221;</p></li><li><p><strong>Eval Check:</strong> Can the model trace the logical chain (Dog -&gt; Mammal -&gt; Spine) to deduce the correct answer?</p></li></ul></li></ul><p><strong>The Introspection:</strong> Getting the right answer for the wrong reason is a major red flag. It means the model is guessing. A good reasoning eval proves the model&#8217;s &#8220;thinking&#8221; is sound, making it more trustworthy for complex tasks.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/w26oD/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d7f41afe-ead7-47f7-9e67-c0b7a6b968ea_1220x1022.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26397d8d-b78a-4664-9356-e56a5bd65ab2_1220x1086.png&quot;,&quot;height&quot;:768,&quot;title&quot;:&quot;LLM Reasoning Model Benchmark&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/w26oD/1/" width="730" height="768" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>3. Evals for Retrieval: The Librarian&#8217;s Test</h3><p><strong>What we&#8217;re testing:</strong> The system&#8217;s ability to find the <em>right pieces of information</em> from a large database (like a vector database).</p><p>An LLM doesn&#8217;t know your company&#8217;s private data. So, we give it a &#8220;librarian&#8221; (a retriever) that finds relevant documents for it to read. We need to test the librarian, not the reader.</p><p><strong>What we measure:</strong></p><ul><li><p><strong>Relevance:</strong> Are the returned documents actually related to the question?</p></li><li><p><strong>Recall:</strong> Did the system find <em>all</em> the important pieces of information?</p></li><li><p><strong>Precision:</strong> Are the returned results <em>only</em> the important ones, or is there a lot of junk?</p></li></ul><p><strong>How we test it (The &#8220;Library Scavenger Hunt&#8221;):</strong></p><p>We have a known set of documents and ask questions that the answers are inside them.</p><ul><li><p><strong>Example:</strong></p><ul><li><p><strong>Document 1:</strong> &#8220;The company project &#8216;Alpha&#8217; was launched in 2020.&#8221;</p></li><li><p><strong>Document 2:</strong> &#8220;The company project &#8216;Beta&#8217; focuses on sustainability.&#8221;</p></li><li><p><strong>Document 3:</strong> &#8220;Employee benefits include health insurance and remote work.&#8221;</p></li><li><p><strong>Test Question:</strong> &#8220;When was project Alpha launched?&#8221;</p></li><li><p><strong>Perfect Retrieval:</strong> [Document 1]</p></li><li><p><strong>Eval Check:</strong> Did the retriever return Document 1? (High Precision &amp; Recall). Did it also return irrelevant documents like Document 2 or 3? (Low Precision).</p></li></ul></li></ul><p><strong>The Introspection:</strong> If the librarian brings you a cookbook when you asked for a car manual, the LLM (the reader) has no chance of giving a correct answer, no matter how smart it is. Garbage in, garbage out.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/GrNpa/2/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b956d03b-0671-4159-be29-da95102a0f1e_1220x664.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f7fcc4d-2171-4860-9996-16e4bef51506_1220x728.png&quot;,&quot;height&quot;:393,&quot;title&quot;:&quot;Retrieval Benchmark&quot;,&quot;description&quot;:&quot;&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/GrNpa/2/" width="730" height="393" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>4. Evals for RAG: The End-to-End System Check</h3><p><strong>What we&#8217;re testing:</strong> The performance of the entire Retrieval-Augmented Generation pipeline&#8212;the librarian (retriever) and the reader (LLM) working together.</p><p>This is the most common real-world system. We need to know if the <em>final answer</em> to the user&#8217;s question is correct, given the knowledge base.</p><p><strong>What we measure:</strong></p><ul><li><p><strong>Answer Faithfulness/Grounding:</strong> Is the final answer based <em>only</em> on the retrieved documents, or did the LLM make up details (hallucinate) using its internal knowledge?</p></li><li><p><strong>Answer Relevance:</strong> Does the final answer directly address the original question?</p></li><li><p><strong>Context Utilization:</strong> Did the LLM correctly use the information it was given?</p></li></ul><p><strong>How we test it (The &#8220;Open-Book Exam&#8221;):</strong></p><p>We give the system a question and a set of source documents (the &#8220;book&#8221;). The system must retrieve the right bits and generate an answer from them.</p><ul><li><p><strong>Example:</strong></p><ul><li><p><strong>Source Documents:</strong> Same as above (Project Alpha launched in 2020, etc.).</p></li><li><p><strong>Test Question:</strong> &#8220;What are the goals of project Beta and when was Alpha launched?&#8221;</p></li><li><p><strong>Perfect RAG Output:</strong> &#8220;Project Beta focuses on sustainability. Project Alpha was launched in 2020.&#8221;</p></li><li><p><strong>Eval Checks:</strong></p><ul><li><p><strong>Faithfulness:</strong> Is every part of the answer supported by the source documents? (Yes).</p></li><li><p><strong>Relevance:</strong> Does it answer both parts of the question? (Yes).</p></li><li><p><strong>Hallucination Check:</strong> If the answer said &#8220;Project Alpha launched in 2021,&#8221; that would be a failure, even if it&#8217;s a fact the LLM &#8220;knows&#8221; from its training. The test is about the provided context.</p></li></ul></li></ul></li></ul><p><strong>The Introspection:</strong> A RAG eval tells you if your <em>entire system</em> is reliable. A failure could be the retriever&#8217;s fault (it didn&#8217;t find the doc) or the LLM&#8217;s fault (it ignored the doc and hallucinated). This eval helps you pinpoint where the breakdown happened.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/rHmai/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d42f9df7-a1e7-4b51-908d-810d1fbd391d_1220x1100.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ece8a934-9d16-45fd-b016-230b19ad7612_1220x1164.png&quot;,&quot;height&quot;:639,&quot;title&quot;:&quot;RAG Benchmark&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/rHmai/1/" width="730" height="639" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><div><hr></div><h3>5. Evals for Agents: The CEO&#8217;s Performance Review</h3><p><strong>What we&#8217;re testing:</strong> The ability of an AI Agent to complete a <em>multi-step, real-world goal</em> by using tools, making decisions, and recovering from errors.</p><p>An Agent is an LLM that can <em>do</em> things&#8212;like use a calculator, search the web, or call an API. It&#8217;s like an autonomous employee. Evaluating it is complex because the path to success isn&#8217;t always a straight line.</p><p><strong>What we measure:</strong></p><ul><li><p><strong>Task Success:</strong> Did the agent ultimately accomplish the goal?</p></li><li><p><strong>Efficiency:</strong> How many steps did it take? Did it use the right tools?</p></li><li><p><strong>Robustness:</strong> If it hit a dead end or an error, did it recover and try a different approach?</p></li></ul><p><strong>How we test it (The &#8220;Simulated Project&#8221;):</strong></p><p>We give the agent a high-level goal and a set of tools, then watch it work.</p><ul><li><p><strong>Example Task:</strong> &#8220;Find the price of a Tesla Model 3 and the nearest dealership to Zurich, then summarize it in a table.&#8221;</p><ul><li><p><strong>Tools Available:</strong> <code>web_search()</code>, <code>calculator()</code>, <code>format_table()</code>.</p></li><li><p><strong>Expected Successful Workflow:</strong></p><ol><li><p><code>web_search(&#8221;Tesla Model 3 price&#8221;)</code></p></li><li><p><code>web_search(&#8221;Tesla dealership near Zurich&#8221;)</code></p></li><li><p>Extract the relevant prices and addresses.</p></li><li><p><code>format_table(data)</code></p></li></ol></li><li><p><strong>Eval Checks:</strong></p><ul><li><p><strong>Final Answer:</strong> Is there a well-formatted table with the correct price and a valid dealership address? (Task Success).</p></li><li><p><strong>Process:</strong> Did it use the search tool effectively? Did it get stuck in a loop or try to calculate the price instead of searching for it? (Efficiency).</p></li><li><p><strong>Robustness:</strong> If the first search for &#8220;Tesla dealership&#8221; returned a closed one, did it recognize the issue and search again? (Robustness).</p></li></ul></li></ul></li></ul><p><strong>The Introspection:</strong> Evaluating an agent is like judging a chef on the final meal, not just their knife skills. You care about the outcome. A successful agent eval means you can trust the system to operate autonomously on complex tasks without constant babysitting.</p><div id="datawrapper-iframe" class="datawrapper-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://datawrapper.dwcdn.net/w4I9U/1/&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cc3fe0f-d129-4678-871f-e19a33e7ad67_1220x966.png&quot;,&quot;thumbnail_url_full&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d444aa65-27d9-4296-ad8c-bdfaf7035fa6_1220x1030.png&quot;,&quot;height&quot;:578,&quot;title&quot;:&quot;Agent Benchmark&quot;,&quot;description&quot;:&quot;Create interactive, responsive &amp; beautiful charts &#8212; no code required.&quot;,&quot;belowTheFold&quot;:true}" data-component-name="DatawrapperToDOM"><iframe id="iframe-datawrapper" class="datawrapper-iframe" src="https://datawrapper.dwcdn.net/w4I9U/1/" width="730" height="578" frameborder="0" scrolling="no" loading="lazy"></iframe><script type="text/javascript">!function(){"use strict";window.addEventListener("message",(function(e){if(void 0!==e.data["datawrapper-height"]){var t=document.querySelectorAll("iframe");for(var a in e.data["datawrapper-height"])for(var r=0;r<t.length;r++){if(t[r].contentWindow===e.source)t[r].style.height=e.data["datawrapper-height"][a]+"px"}}}))}();</script></div><h3><strong>The Bottom Line</strong></h3><p>Evals move us from wonder to trust. They replace &#8220;Wow, this is cool&#8221; with &#8220;I know this works for my specific needs.&#8221; By applying the right kind of test at each layer&#8212;from the raw model&#8217;s knowledge all the way up to an agent&#8217;s autonomous projects&#8212;we can build AI systems that are not just impressive, but are genuinely reliable and useful. Start simple, measure everything, and always be testing.</p><h1>Ready to take it to the next level?</h1><p>Check out my AI Agents for Enterprise course on <a href="https://maven.com/boring-bot/ml-system-design?promoCode=201OFF">Maven</a> and be a part of something bigger and join hundreds of builders to develop enterprise level agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!nWqu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 424w, /__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 848w, /__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!nWqu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png" width="1456" height="532" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f015509b-024a-4a35-badd-14a0790a8a80_2726x996.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:532,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1121253,&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://boringbot.substack.com/i/177866676?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 424w, /__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 848w, /__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nWqu!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff015509b-024a-4a35-badd-14a0790a8a80_2726x996.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Use this <a href="https://maven.com/boring-bot/ml-system-design?promoCode=201OFF">link</a> to get $201 OFF!</p><p><em>You&#8217;re receiving this email because you&#8217;re part of our mailing list&#8212;and you&#8217;ve attended, registered for, or been invited to our MAVEN events. These emails are the only way to reliably receive updates from us. We don&#8217;t spam or sell your information. If you prefer not to receive our messages, simply unsubscribe below and we&#8217;ll respect your wishes.</em></p>]]></content:encoded></item><item><title><![CDATA[✍️ The Ultimate AI Blog Post Agent]]></title><description><![CDATA[Your AI Content Creator with Deep Research and Professional Publishing Pipeline]]></description><link>https://boringbot.substack.com/p/the-ultimate-ai-blog-post-agent</link><guid isPermaLink="false">https://boringbot.substack.com/p/the-ultimate-ai-blog-post-agent</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Tue, 16 Sep 2025 15:02:46 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/173728471/c1ef849df08a2ef38034d39301638759.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Welcome back to Day 8 of our AI Agents in Action!</p><p>If you've missed the previous days, you can access them here: <a href="/__u/boringbot.substack.com/p/agents-in-action-from-llms-to-ai">Day 1</a> | <a href="/__u/boringbot.substack.com/p/agents-in-action-day-2-building-your?utm_source=publication-search">Day 2</a> | <a href="/__u/boringbot.substack.com/p/an-agent-that-builds-linkedin-posts?utm_source=publication-search">Day 3</a> | <a href="/__u/boringbot.substack.com/p/the-unofficial-airbnb-ai-agent?utm_source=publication-search">Day 4</a> | <a href="/__u/boringbot.substack.com/p/live-session-recap-building-enterprise">Day 5</a> | <a href="/__u/boringbot.substack.com/p/the-ultimate-ai-research-assistant">Day 6</a> | <a href="/__u/boringbot.substack.com/p/the-ultimate-ai-finance-agent?utm_source=post-email-title&amp;publication_id=1645059&amp;post_id=172839640&amp;utm_campaign=email-post-title&amp;isFreemail=true&amp;r=5tp40r&amp;triedRedirect=true&amp;utm_medium=email">Day 7</a></p><p>I'm Hamza and joining me is Bhavna. Today, we're diving into one of the most sought-after applications of AI agents: <strong>intelligent content creation and automated blog writing</strong>!</p><p>But before that, have you registered for our free class?</p><div><hr></div><p><strong>&#127942; Tune in: Fortune 100 GenAI Transformation Workshop!</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!86bQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 424w, /__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 848w, /__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 1272w, /__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!86bQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png" width="1456" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:525641,&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://boringbot.substack.com/i/173728471?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 424w, /__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 848w, /__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 1272w, /__u/substackcdn.com/image/fetch/$s_!86bQ!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d442630-894a-40bf-ab3a-80dae4cd0a5d_2576x1358.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>Learn how Fortune 100 companies are actually deploying AI agents at enterprise scale. Join my exclusive live session <strong>"Fortune 100 Playbook: GenAI Transformation"</strong> this <strong>Friday, September 19th at 9AM PDT</strong>.</p><p><strong>What You'll Master:</strong> Discover how leading enterprises identify high-ROI AI use cases, architect multi-agent systems that actually scale, and deploy production-ready solutions that go beyond impressive demos. We'll unpack real transformation playbooks, examine why most AI projects fail in production, and show you the frameworks Fortune 100 companies use to achieve measurable business impact.</p><p><strong>&#128640; Join Our Free Live Session - <a href="https://maven.com/p/8ffde9/fortune-100-playbook-gen-ai-transformation">Fortune 100 Playbook</a></strong> and join 1000+ enterprise professionals who are implementing AI transformation the right way. No hype, just proven strategies from companies who've cracked the code on GenAI at scale! &#128640;</p><div><hr></div><h2><strong>&#9997;&#65039; What Is an AI Blog Post Agent?</strong></h2><p><strong>Here's the Github <a href="https://github.com/traversaal-ai/agents-in-action/tree/main/blog_post_agent">Link</a></strong></p><p>The AI Blog Post Agent represents the future of research-driven content marketing, a sophisticated system that transforms how content teams create authoritative, well-researched articles at scale. </p><p>Unlike simple text generators, this agent follows a systematic seven-step process: gathering strategic bookmarks from various sources, intelligently filtering for the most relevant and authoritative content, scraping and analyzing source material for key insights, conducting deep research to fill gaps and provide unique perspectives, generating comprehensive articles with research-backed insights, managing text length and chunking for optimal readability, and finally publishing to platforms like Notion with proper formatting and team notifications.</p><p>This complete pipeline revolutionizes content creation by replacing random research with structured methodology, ensuring every article is built on solid research foundations. The agent doesn't just write, it scrapes, analyzes, and synthesizes existing content to create unique, well-informed perspectives while maintaining consistent brand voice and professional writing standards throughout the entire process.</p><div><hr></div><p><strong>&#128250; Student Success Story: Newsletter Generation Agent</strong></p><p>Here's a practical example of how our students <a href="https://www.linkedin.com/in/amina-javaid/">Amina Javaid</a> and <a href="https://www.linkedin.com/in/tommyfountain/">Tommy Fountain</a> built a <strong>Newsletter Generation Agent</strong> using the concept of our <strong>Blog Post Agent</strong>:</p><p>See video above!</p><div><hr></div><h2><strong>&#128295; How to Implement Your Blog Post Agent Successfully</strong></h2><p>The technical implementation follows a proven six-step workflow that our B2B technology clients use to produce authoritative content with 91% reduction in research time. </p><p>First, <strong>gather bookmarks</strong> by extracting HTML from popular bookmark pages and splitting individual bookmarks for processing. </p><p>Second, <strong>filter relevant bookmarks</strong> using LLMs to analyze and select the top 3 most relevant sources for your target audience. T</p><p>hird, <strong>scrape and analyze content</strong> by calling external workflows to extract article content and summarize key insights. </p><p>Fourth, <strong>create focused topics</strong> by analyzing all gathered content to generate compelling article angles. </p><p>Fifth, <strong>perform deep research</strong> by running additional Google searches and combining inspiration articles with research results. </p><p>Finally, <strong>generate and publish</strong> detailed articles using LLMs with all previous research, converting markdown to HTML for better formatting, and intelligently handling both short articles (direct publishing) and long articles (smart chunking before publishing).</p><p>This systematic approach ensures content teams can produce comprehensive 3,200-word articles with research-backed insights, achieving 187% increase in content authority scores and 89% increase in organic traffic due to better-researched, authoritative content that resonates with readers and search engines alike.</p><div><hr></div><h2><strong>&#128161; Pro Tips for Blog Post Agent Success</strong></h2><p>Success with your blog post agent depends on three critical optimization strategies that separate high-performing content from generic AI-generated text. </p><p><strong>First, optimize your bookmark strategy</strong> based on content type: focus on analyst reports and market research for industry analysis, emphasize documentation and case studies for technical content, prioritize expert opinions and trend analysis for thought leadership, and collect practical examples and tutorials for how-to guides. </p><p><strong>Second, build robust research quality gates</strong> throughout your process, including source authority verification and credibility scoring, information recency checks and cross-reference validation, and expert opinion verification with proper quote attribution. </p><p><strong>Third, implement intelligent content templates</strong> with structured formats for different article types: industry analysis with market data and expert insights, technical deep-dives with implementation examples, thought leadership with unique perspectives and predictions, and comprehensive guides with step-by-step instructions.</p><p>The compound effect of these optimizations creates systematic, research-driven content that drives organic authority, establishes thought leadership, and generates qualified engagement. Advanced enhancements include multi-source research integration with academic databases and industry reports, content performance analytics to measure research quality impact, collaborative features for team-based development, and multi-platform publishing capabilities extending beyond Notion to WordPress, Ghost, and LinkedIn with automated SEO optimization and social media integration.</p><div><hr></div><p><em>You're receiving this email because you're part of our mailing list&#8212;and you've attended, registered for, or been invited to our MAVEN events. These emails are the only way to reliably receive updates from us. We don't spam or sell your information. If you prefer not to receive our messages, simply unsubscribe below and we'll respect your wishes.</em></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Let's talk, for real]]></title><description><![CDATA[A private space for us to converse and connect]]></description><link>https://boringbot.substack.com/p/lets-talk-for-real</link><guid isPermaLink="false">https://boringbot.substack.com/p/lets-talk-for-real</guid><dc:creator><![CDATA[Hamza Farooq]]></dc:creator><pubDate>Fri, 05 Sep 2025 02:03:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VZsg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12c98e5f-d427-40f4-8dd1-8d7a34df0d20_1080x1080.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today I&#8217;m announcing a brand new addition to my Substack publication: Generative AI for Everyone subscriber chat.</p><p>This is a conversation space exclusively for subscribers&#8212;kind of like a group chat or live hangout. I&#8217;ll post questions and updates that come my way, and you can jump into the discussion.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://open.substack.com/pub/boringbot/chat&quot;,&quot;text&quot;:&quot;Join chat&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/open.substack.com/pub/boringbot/chat"><span>Join chat</span></a></p><div><hr></div><h2>How to get started</h2><ol><li><p><strong>Get the Substack app by clicking <a href="/__u/substack.com/app/app-store-redirect">this link</a> or the button below.</strong> New chat threads won&#8217;t be sent sent via email, so turn on push notifications so you don&#8217;t miss conversation as it happens. You can also access chat <a href="/__u/open.substack.com/pub/boringbot/chat">on the web</a>.</p></li></ol><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://substack.com/app/app-store-redirect&quot;,&quot;text&quot;:&quot;Get app&quot;,&quot;action&quot;:null,&quot;class&quot;:&quot;button-wrapper&quot;}" data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="/__u/substack.com/app/app-store-redirect"><span>Get app</span></a></p><ol start="2"><li><p><strong>Open the app and tap the Chat icon.</strong> It looks like two bubbles in the bottom bar, and you&#8217;ll see a row for my chat inside.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!KYZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_webp, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!KYZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg" width="1456" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:728,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:241528,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://kylewarrentest.substack.com/i/114198534?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_424, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_848, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_1272, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!KYZT!, /__u/boringbot.substack.com/w_1456, /__u/boringbot.substack.com/c_limit, /__u/boringbot.substack.com/f_auto, /__u/boringbot.substack.com/q_auto:good, /__u/boringbot.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f63c9a-2296-4c96-a2f9-52648999bb00_2000x1000.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ol start="3"><li><p><strong>That&#8217;s it!</strong> Jump into my thread to say hi, and if you have any issues, check out <a href="/__u/support.substack.com/hc/en-us/sections/360007461791-Frequently-Asked-Questions">Substack&#8217;s FAQ</a>.</p></li></ol><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://boringbot.substack.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">Generative AI for Everyone is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</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>