<?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[@adlrocha Beyond The Code]]></title><description><![CDATA[My personal public journal. Reflections on cutting-edge systems, career pivots, and the mindset of an engineer in the age of AI.]]></description><link>https://adlrocha.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!NL_x!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe6333716-f819-4deb-8a2c-279b79623d48_122x122.png</url><title>@adlrocha Beyond The Code</title><link>https://adlrocha.substack.com</link></image><generator>Substack</generator><lastBuildDate>Tue, 30 Jun 2026 16:13:09 GMT</lastBuildDate><atom:link href="https://adlrocha.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Alfonso de la Rocha]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[adlrocha@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[adlrocha@substack.com]]></itunes:email><itunes:name><![CDATA[adlrocha]]></itunes:name></itunes:owner><itunes:author><![CDATA[adlrocha]]></itunes:author><googleplay:owner><![CDATA[adlrocha@substack.com]]></googleplay:owner><googleplay:email><![CDATA[adlrocha@substack.com]]></googleplay:email><googleplay:author><![CDATA[adlrocha]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[@adlrocha - The Real Cost of Using AI in 2026]]></title><description><![CDATA[The math says that I shouldn&#8217;t be building my own AI rig, and why I am building one anyway]]></description><link>https://adlrocha.substack.com/p/adlrocha-the-real-cost-of-using-ai</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-the-real-cost-of-using-ai</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 28 Jun 2026 08:01:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!v24l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!v24l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!v24l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!v24l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!v24l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!v24l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!v24l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&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="https://substackcdn.com/image/fetch/$s_!v24l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!v24l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!v24l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!v24l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e6cd0ff-1837-4cd1-b873-17c0bd10e3a0_1024x572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>A few weeks ago I wrote about the shift from </span><a href="https://adlrocha.substack.com/p/adlrocha-ai-inequality-from-gpu-poor"><span>GPU-poor to token-poor</span></a><span>. Since this post, and the ones I wrote about my recent obsession with </span><a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai"><span>AI independence</span></a><span>,</span><strong><span> a  lot of people have asked me for advice about how they should access intelligence: </span></strong><em><span>&#8220;fine, but what should I actually do? Buy a subscription? Pay per token? Build a rig? Rent one?&#8221;</span></em><span> I dodged the economics in the token-poor post, so let&#8217;s do them properly now.</span></p><p><span>The first thing I did before writing this post, is to pull my own token bill for the last 60 days (which have actually been slower than usual) in order to model my own token consumption </span><em><span>(sidenote: BI built a really cool tool for this in nibble, my agent harness, that I can talk about in coming posts if someone is interested).</span></em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jE6-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jE6-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 424w, https://substackcdn.com/image/fetch/$s_!jE6-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 848w, https://substackcdn.com/image/fetch/$s_!jE6-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 1272w, https://substackcdn.com/image/fetch/$s_!jE6-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jE6-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png" width="1112" height="477" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:477,&quot;width&quot;:1112,&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;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jE6-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 424w, https://substackcdn.com/image/fetch/$s_!jE6-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 848w, https://substackcdn.com/image/fetch/$s_!jE6-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 1272w, https://substackcdn.com/image/fetch/$s_!jE6-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6d5162a6-dc68-4239-ae1b-b23ca8c0c5e9_1112x477.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong><span>91% of my token spend went to expensive models I cannot run at home </span></strong><span>(and that I never will because of their size and them being closed). But I already held a yearly subscription, so why not use those first? The open models I </span><em><span>&#8220;could&#8221; (and let me add quotes here for now)</span></em><span> host myself, the Qwens, DeepSeeks, the GLMs and the Kimis, cost me around $30 over two months. Just. Thirty. Dollars.</span></p><p><span>This gap is what actually motivated this exercise and my whole post. </span><strong><span>What if I didn&#8217;t have that Claude subscription? How much would&#8217;ve cost me my access to intelligence, and what are the alternatives?</span></strong></p><div><hr></div><h2><span>The four ways to buy intelligence</span></h2><p><span>There are exactly four ways (that I could come up with) to get tokens out of a large language model.</span></p><p><span>The first (and probably, the most widely used) is a </span><strong><span>subscription</span></strong><span>. You pay a flat monthly fee, and someone else runs the model. This is the ChatGPT Plus, Claude Pro, or Kimi/GLM coding plans. Simple, capped, predictable, and as we&#8217;ll see, heavily subsidised.</span></p><p><span>The second is </span><strong><span>pay-per-token via an API</span></strong><span>. No flat fee, you pay for exactly what you consume, priced per million tokens in and per million out. This is generally what you use when you need to power your application with AI, or when you route an agent through a serverless LLM provider like </span><a href="https://openrouter.ai/"><span>OpenRouter</span></a><span>, </span><a href="https://fireworks.ai/"><span>Fireworks</span></a><span>, </span><a href="https://www.together.ai/"><span>Together</span></a><span>, etc.. I&#8217;ll let you correct me in the comments, but I would say people leveraging agents on their day-to-day prefer the predictability of subscriptions than paying-per-token.</span></p><p><span>The third is </span><strong><span>renting a GPU in the cloud</span></strong><span>. You spin up a machine by the hour, load whatever open-weight model you like, and serve it yourself. RunPod, Vast, Lambda. You&#8217;re not paying for tokens, you&#8217;re paying for raw compute time. With this you don&#8217;t need to think about the amount of tokens you are consuming anymore.</span></p><p><span>The fourth is </span><strong><span>owning the hardware</span></strong><span>. You buy the silicon, it sits in your house, and the marginal cost of a token is your electricity bill. As you know, this is the </span><a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai"><span>quest I&#8217;ve been on</span></a><span> for a while now.</span></p><p><span>I really think each of these wins in a different regime. </span><strong><span>The tricky thing is knowing which regime you&#8217;re in.</span></strong></p><div><hr></div><h2><span>The numbers, at real usage</span></h2><p><span>For this exercise, I tried to be as objective and practical as possible. Let me put my own usage through all four and show the maths. My pattern is moderate and mixed: coding, writing, research, a few hours a day, heavy on context.</span><strong><span> I don&#8217;t have token-heavy long-running loops, and all my LLM-powered crons are routed through my local Qwen</span></strong><span> (not considered for this analysis). From all my consumption, there are roughly 78 million input tokens and 13 million output tokens a year on the </span><em><span>replaceable</span></em><span> tier, the open models I could plausibly self-host. For personal and professional reasons, this month has been slower than usual in my use of tokens, but it </span><strong><span>allows me to set a good baseline floor of my usage.</span></strong></p><p><span>Here&#8217;s what that year costs, four ways:</span></p><ul><li><p><strong><span>Pay-per-token API:</span></strong><span> </span><a href="https://api-docs.deepseek.com/quick_start/pricing"><span>DeepSeek V4 Flash</span></a><span> at $0.14 in / $0.28 out comes to about </span><strong><span>&#8364;13 a year</span></strong><span>. At my current messier mix of open models, call it </span><strong><span>&#8364;130</span></strong><span>. Either way, low triple digits at most.</span></p></li><li><p><strong><span>Cloud GPU rental:</span></strong><span> an MI300X with enough memory to hold a 100GB model runs about $1.99 an hour on RunPod. Realistically, we would need at least 200GB of VRAM to run something of the level of the open-models I use through the API. At ninety hours a month that&#8217;s roughly </span><strong><span>&#8364;2,300 a year</span></strong><span>, plus storage so you don&#8217;t re-download the weights every cold start.</span></p></li><li><p><strong><span>Own hardware:</span></strong><span> a usable DIY server is around </span><strong><span>&#8364;2,900 up front</span></strong><span> for one GPU, and after that maybe &#8364;30 a year in electricity. I&#8217;ve been looking to build myself an AMD-based rig with at least 4 GPUs equivalent to the RTX3060 or RTX5090 and that takes you to around </span><strong><span>&#8364;12,500</span></strong><span>. A pair of </span><a href="https://marketplace.nvidia.com/en-eu/enterprise/personal-ai-supercomputers/dgx-spark/"><span>DGX Sparks</span></a><span>, the configuration people actually want, is </span><strong><span>&#8364;9,600</span></strong><span>. I also love the </span><a href="https://tinycorp.myshopify.com/products/tinybox-red-v2"><span>tinybox red v2</span></a><span>, but that&#8217;s $12,000 for only 64GB of RAM (and I am not sure about how upgradable it is with a lot of tinkering).</span></p></li><li><p><strong><span>Subscription:</span></strong><span> whatever your flat fee is, for models the other three options can&#8217;t touch at this quality.</span></p></li></ul><p><span>Let&#8217;s look at those numbers for a second. The API is cheaper than everything by two orders of magnitude. Cloud rental is the worst option on the board, because at ninety hours a month you&#8217;re using the machine 12% of the time and paying as if you owned it, but it is true that you don&#8217;t have to pay a lot upfront. And the hardware saves you, against the API, almost nothing</span><strong><span>. I computed the break-even on a &#8364;2,900 rig versus a triple digit a year of API tokens, and it is measured in decades </span></strong><em><strong><span>(not great)</span></strong></em><strong><span>.</span></strong></p><p><span>If your usage looks anything like mine, where I have bursts of high taken consumption, and then calmer periods that I use to focus and think on things that do not require that many tokens, then the decision </span><em><span>(at least today, and only looking at current 2026 numbers</span><strong><span>) </span></strong></em><strong><span>is pretty straightforward: pay per token, keep the subscription for the smart stuff as long as it is subsidised, and don&#8217;t build anything yourself.</span></strong></p><p><span>So why am I still thinking about building something myself?</span></p><div><hr></div><h2><span>Why subscriptions are the deal in the AI trap</span></h2><p><span>First, let&#8217;s chat about something that everyone is talking about, but I want to be explicit about: </span><strong><span>at today&#8217;s prices, the subscription is a gift, and you should take them </span></strong><em><span>(I don&#8217;t know how to make this bolder, I was tempted to highlight and use a red font)</span></em><strong><span>.</span></strong></p><p><span>Using frontier models per output tokens costs real money. Claude Opus is </span><a href="https://www.anthropic.com/pricing"><span>$25 per million out</span></a><span>, Fable is</span><em><span> (was)</span></em><span> $50. If you actually metered a heavy month of frontier chat at API rates, it would dwarf a $20 or even $200 subscriptions.</span><strong><span> We are being subsidised, and the size of it is startling once you read the analysis that others have done</span></strong><span>. </span><a href="https://blog.dshr.org/2026/06/ais-affordability-crisis.html"><span>David Rosenthal, citing SemiAnalysis, shows</span></a><span> how for $200 a month you can burn $8,000 in Anthropic tokens or $14,000 in OpenAI tokens. That&#8217;s a subsidy of 40 to 70 times the price you pay per token. He </span><strong><span>calls it the drug-dealer&#8217;s algorithm: give the product away until the customer is hooked, then find the price later </span></strong><em><span>(you&#8217;ve probably read me say that, &#8220;we are not in an AI bubble but an AI trap&#8221;)</span></em><span>. OpenAI reportedly turned $13 billion of revenue into $34 billion of costs last year, so &#8220;later&#8221; is doing a lot of work. A trap built into a bubble </span><em><span>(another of those cool sentences that people would assume are LLM-generated but that I came up with myself. This is me giving myself some self-kudos :) )</span></em><span>.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!immy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!immy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 424w, https://substackcdn.com/image/fetch/$s_!immy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 848w, https://substackcdn.com/image/fetch/$s_!immy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 1272w, https://substackcdn.com/image/fetch/$s_!immy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!immy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png" width="1456" height="805" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:805,&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="https://substackcdn.com/image/fetch/$s_!immy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 424w, https://substackcdn.com/image/fetch/$s_!immy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 848w, https://substackcdn.com/image/fetch/$s_!immy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 1272w, https://substackcdn.com/image/fetch/$s_!immy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fada92aa2-c1ce-4db6-97b0-98872cfed453_1544x854.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>But is building your own inference infrastructure the solution for this? </span><a href="https://x.com/dylan522p/status/2068043808370287072"><span>Dylan Patel (founder of SemiAnalysis)</span></a><span> thinks that </span><strong><span>local hosting will never be an option, as it needs far more silicon than shared infrastructure.</span></strong><span> A provider runs one GPU hot across thousands of users and amortises it across all of them. You at home run one GPU at 10-30% utilisation. The subsidy you enjoy is partly just better economics that you physically cannot reproduce alone, and part this &#8220;drug dealer algorithm&#8221;. Big labs are not covering costs right now, and someone building infrastructure at home is competing with the bidding power of these big pockets </span><em><span>(which is what is happening to me). </span></em><span>What the hell, </span><a href="https://www.reuters.com/world/asia-pacific/apple-raises-prices-macbooks-ipads-memory-costs-skyrocket-2026-06-25/"><span>even Apple had to raise prices this week due to </span></a><em><a href="https://www.reuters.com/world/asia-pacific/apple-raises-prices-macbooks-ipads-memory-costs-skyrocket-2026-06-25/"><span>(allegedly) </span></a></em><a href="https://www.reuters.com/world/asia-pacific/apple-raises-prices-macbooks-ipads-memory-costs-skyrocket-2026-06-25/"><span>the AI mania.</span></a></p><p><strong><span>So my immediate recommendation, all other concerns aside, take the subsidy while it lasts. </span></strong><span>It&#8217;s real money in your pocket today, and refusing it on principle is just leaving value on the table. I was so afraid of raising subscription prices since last year that I&#8217;ve been </span><strong><span>hedging my access to intelligence by buying yearly subscriptions.</span></strong><span> They could change the quotas or the models, but at least I had access for one more year. And this is something I am still doing when it&#8217;s time to renew.</span></p><p><span>But I would also advise you to not build your life on the assumption these prices last. The cheap subscription is customer acquisition, not the steady state, and the history of every platform that ever ran below cost to win a market tells you what comes after the market is won. I really hope that I am wrong, and the economics of AI inference change,</span><strong><span> but you should either be prepared to pay more for your subscription, or find a way to hedge your access to intelligence at a reasonable price.</span></strong></p><div><hr></div><h2><span>When owning actually makes sense</span></h2><p><span>Here&#8217;s where I have to be honest with myself, because the maths clearly say that it is not a good idea to build an inference infrastructure yourself, but I keep wanting to build it anyway.</span></p><p><span>I realised owning hardware is not a cost decision, it is the AI version of </span><em><span>&#8220;owning Bitcoin is not a good investment&#8221;</span></em><span>. At normal usage it never pays back at current subscription and token prices, and anyone telling you it does is selling something or hasn&#8217;t run their own numbers. It is a </span><em><span>value</span></em><span> decision.</span><strong><span> You buy it for three things the cloud can&#8217;t sell you: privacy, independence, and tokens with no meter on them.</span></strong></p><p><span>The good news is that the floor price for that has fallen hard, because the open models got genuinely good. A 128GB unified-memory box, a </span><a href="https://adlrocha.substack.com/p/adlrocha-towards-local-plug-and-play"><span>Ryzen AI Max+ machine</span></a><span> or a high-end Mac, starts around &#8364;2,500 and runs models that were complete science fiction a year ago </span><em><span>(but we&#8217;ve got too used to smart models)</span></em><span>. </span><a href="https://huggingface.co/0xSero/DeepSeek-V4-Flash-180B"><span>DeepSeek-V4-Flash-REAP-180B</span></a><span>, a pruned and quantised version of a 641-billion-parameter model, fits in 97GB and runs on a single such box at 14 to 24 tokens a second. One person who </span><a href="https://x.com/mikhei777/status/2067914627262910686"><span>switched to it</span></a><span> described Qwen3.6-35B as great for small projects but falling apart past 100K context, then said of the DeepSeek model:</span><em><span> &#8220;this thing is actually smart, coherent at long context, just works.&#8221; </span></em><a href="https://github.com/unslothai/unsloth"><span>Unsloth</span></a><span> recently squeezed GLM-5.1 by 85% so it can run on a 256GB Mac. And I recently came across </span><a href="https://x.com/0xSero/status/2070357732054491235"><span>Step-3.7-Flash that looks great.</span></a></p><p><span>The kind of open-source models that you can run on less than 10k of compute are still quite limited. But the open-source and local inference community are moving super fast, and less than five grand, today </span><em><span>(let&#8217;s see what happens to hardware prices a few months from now)</span></em><span>, </span><strong><span>buys you a private model on your desk that handles most of what isn&#8217;t frontier work.</span></strong><span> And I am not talking about a toy like </span><em><span>&#8220;how cute, I can run an LLM at home&#8221;</span></em><span>, but an actual working tool.</span></p><p><span>Additional disclaimer, I am looking at this as an individual. If I was doing the analysis for my own company, where I had the funds for proper hardware, and the infrastructure would be shared by other people </span><em><span>(or is the core of my product), </span></em><span>then I would definitely lean towards local (or cloud) inference.</span></p><div><hr></div><h2><span>The real hedge: own some compute anyway</span></h2><p><span>So here&#8217;s the practical conclusion of my exercise after running the math.</span></p><p><span>Owning a decent local box is insurance, not an investment. Insurance is supposed to look like a bad deal on the spreadsheet </span><em><span>(like Bitcoin)</span></em><span>. Y</span><strong><span>ou don&#8217;t buy it expecting a return, you buy it because the thing it protects against is catastrophic and you can&#8217;t fix it after the fact.</span></strong></p><p><span>And the things this local box will protect you against are getting more real than a few months ago </span><em><span>(I&#8217;ll let you call me paranoid in any case, many have done it already, including my wife)</span></em><span>. Models get censored or quietly lobotomised on whole categories of topic </span><em><span>(right, Fable?)</span></em><span>. Providers deprecate the exact version your workflow depends on, and the replacement behaves differently. Or you simply lose access in your geography: export controls tighten, a provider decides the EU isn&#8217;t worth the compliance cost, a government blocks an API or forbids a model. Anything. </span><strong><span>When any of that happens, the price of the token stops mattering, because the token is no longer for sale to you at any price.</span></strong></p><p><span>This is why I bought a Strix Halo a year and a half ago, before any of this arithmetic made sense, when it looked like an expensive toy. It was because if access vanishes tomorrow, I still have a private, uncensorable, good-enough model sitting on my desk that nobody can switch off. A &#8364;2,000 box is a cheap hedge against a scenario that costs you everything if it lands and you aren&#8217;t ready. I think that case holds for a lot more people than the &#8220;build a rig&#8221; case does </span><em><span>(and in retrospect, this was an amazing investment also, because with the increase in the price of hardware, that same box costs today close to </span></em><span>$</span><em><span>4,500. See below).</span></em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9aY0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9aY0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 424w, https://substackcdn.com/image/fetch/$s_!9aY0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 848w, https://substackcdn.com/image/fetch/$s_!9aY0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 1272w, https://substackcdn.com/image/fetch/$s_!9aY0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9aY0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png" width="1456" height="762" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:762,&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="https://substackcdn.com/image/fetch/$s_!9aY0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 424w, https://substackcdn.com/image/fetch/$s_!9aY0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 848w, https://substackcdn.com/image/fetch/$s_!9aY0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 1272w, https://substackcdn.com/image/fetch/$s_!9aY0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F67f48b37-2a80-4f99-8ca7-660cce66f209_1602x838.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><span>But all prices are going up</span></h2><p><span>There&#8217;s an uncomfortable tension running underneath all of this, and I don&#8217;t have a clean way out of it.</span></p><p><span>The case for owning your own compute gets stronger every month, as the access risks above get more plausible. </span><strong><span>But the cost of acting on it is climbing just as fast. </span></strong><span>We&#8217;re in the middle of a </span><a href="https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram"><span>DRAM supercycle</span></a><span>: memory contract prices rose 90% in the first quarter of this year, another 58 to 63% in the second, and the analysts don&#8217;t see it normalising before 2028. Memory is roughly 80% of a GPU&#8217;s bill of materials, so this hits everything.</span></p><p><span>You don&#8217;t need the analyst reports to feel it. </span><a href="https://x.com/0xSero/status/2068139215733354985"><span>0xSero, who does this for a hobby, put it well</span></a><span>: </span><em><span>&#8220;Since I&#8217;ve gotten into this expensive hobby all compute has 1.5x and I don&#8217;t see the end in sight.&#8221;</span></em><span> This has also been my experience. In one weekend update an RTX PRO 5000 went from $7,999 to $8,799, and 5090s jumped a few hundred dollars each. My own build plan is already out of date: the RAM line I priced at &#8364;250 a few months ago is &#8364;400 to &#8364;600 now, and the used GPU I had at &#8364;674 is &#8364;800 to &#8364;950. I wrote down the prices and they expired before I acted on them. I really need to pull the trigger for this compute purchase.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-2lE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-2lE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 424w, https://substackcdn.com/image/fetch/$s_!-2lE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 848w, https://substackcdn.com/image/fetch/$s_!-2lE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 1272w, https://substackcdn.com/image/fetch/$s_!-2lE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-2lE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png" width="554" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:554,&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="https://substackcdn.com/image/fetch/$s_!-2lE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 424w, https://substackcdn.com/image/fetch/$s_!-2lE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 848w, https://substackcdn.com/image/fetch/$s_!-2lE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 1272w, https://substackcdn.com/image/fetch/$s_!-2lE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5525faf-2907-454c-9ffa-12ccc08c10bc_554x680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/adlrocha/status/2066951170405355850?s=20&quot;,&quot;full_text&quot;:&quot;I am close to pulling the trigger to my biggest purchase of compute ever. My wife will kill me for spending that amount of money in compute \n\nI accept donations! &quot;,&quot;username&quot;:&quot;adlrocha&quot;,&quot;name&quot;:&quot;adlrocha&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1861710634066255872/BN7vbJr9_normal.jpg&quot;,&quot;date&quot;:&quot;2026-06-16T18:28:55.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://res.cloudinary.com/hhsslviub/video/upload/e_loop,vs_40/cjmklxyy5o6njx2v5h4n.gif&quot;,&quot;link_url&quot;:&quot;https://t.co/2OCjQ1h9CT&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:0,&quot;impression_count&quot;:27,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p><span>So where did I land, for myself? I&#8217;m not building the big rig yet. I already own the Strix Halo, which is roughly a single DGX Spark in disguise. I was thinking about buying a Spark, but it would be paying &#8364;4,800 for a second copy of what&#8217;s already on my desk. The plan is to stay on the subscriptions, pay pennies per token for the open-model work, run the genuinely private work locally on the hardware I already</span><strong><span> have, watch the memory market, and buy the upgradable platform later when prices ease. </span></strong><span>I have a full plan of how to build an upgradable rig that can adapt more cleanly to how the technology evolves than a sealed appliance like my Strix Halo or the DGX Spark </span><em><span>(happy to share it in a follow-up post if someone is interested)</span></em><span>.</span></p><div><hr></div><h2><span>Jevons and the meter</span></h2><p><strong><span>There&#8217;s one more thing that really bothers me about basing this analysis on my current use of AI.</span></strong></p><p><strong><span>I unconsciously ration tokens.</span></strong></p><p><span>I noticed it while reading my own bill. I reach for the cheaper model on a task that deserves the better one. I don&#8217;t fire off the five-parallel-agent run I know would help, because I can see the meter ticking. </span><strong><span>I am, in the small and constant way, behaving like someone who&#8217;s </span><a href="https://adlrocha.substack.com/p/adlrocha-ai-inequality-from-gpu-poor"><span>token-poor</span></a><span> </span></strong><span>even though I can probably afford it. The meter is definitely influencing my behaviour. I know this is not rational, but it is what it is, I am cheap.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zaOb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zaOb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 424w, https://substackcdn.com/image/fetch/$s_!zaOb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 848w, https://substackcdn.com/image/fetch/$s_!zaOb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 1272w, https://substackcdn.com/image/fetch/$s_!zaOb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zaOb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png" width="976" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:976,&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="https://substackcdn.com/image/fetch/$s_!zaOb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 424w, https://substackcdn.com/image/fetch/$s_!zaOb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 848w, https://substackcdn.com/image/fetch/$s_!zaOb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 1272w, https://substackcdn.com/image/fetch/$s_!zaOb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb03ab6c-8f19-4517-a67a-f18f89a0244f_976x561.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>And I&#8217;m not the only one. </span><a href="https://backofmind.substack.com/p/tokenalysis-and-john-henry"><span>Dan Davies makes the John Henry argument</span></a><span>: </span><em><span>&#8220;the moment large companies start telling their employees to use AI tokens wisely, the game is up, the race is over, and John Henry beats the steam hammer.&#8221;</span></em><span> His point is about jobs, that if a token is too expensive to spend freely then it can&#8217;t be cheap enough to replace a person. But the same signal shows up at my desk. The story we were sold was inference too cheap to meter. </span><strong><span>The reality is that everyone, from me to the enterprise with a budget, is quietly rationing.</span></strong></p><p><span>Everyone is calling the Jevons paradox in software, but I call it in my own use of tokens. For those unaware of that paradox, in 1865 </span><a href="https://en.wikipedia.org/wiki/Jevons_paradox"><span>William Stanley Jevons</span></a><span> noticed that as steam engines got more efficient, England burned more coal, not less. Cheaper-to-use meant more-used, by a wide margin. </span><strong><span>Metered pricing does the reverse to me: it suppresses demand I would otherwise have.</span></strong><span> Which means the real prize of a machine in the corner that costs nothing per token might not be the money at all. It might be that it removes the meter, and lets me find out how much intelligence I&#8217;d actually use if using it felt free.</span></p><p><strong><span>And here&#8217;s my honest uncertainty: I don&#8217;t know the real number of my token consumption</span></strong><span>. I&#8217;ve never run unmetered. I genuinely have no idea whether my real demand for this stuff is double what I currently spend, or ten times, or whether I&#8217;d burn out on it in a week. The whole independence project might turn out to be less about escaping a price and more about escaping a habit of self-censorship I didn&#8217;t know I had.</span></p><p><span>But with this in mind</span><strong><span>, I decided that the next few months I am going to run as if I owned the hardware, letting the token bill go to wherever it gets so I can do a more apples-to-apples comparison</span></strong><span> between the infrastructure I am trying to build, and they real use of tokens that I would have if I could run unmetered.</span></p><p><span>How about you? Do you catch yourself rationing the better model to save a few cents, and what do you think you&#8217;d do if the meter simply wasn&#8217;t there? Or are you using one of those alleged Chinese token pools? </span><em><span>(I couldn&#8217;t resist sharing that one before closing this week&#8217;s post).</span></em></p><p><span>Until next week!</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zlmD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zlmD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 424w, https://substackcdn.com/image/fetch/$s_!zlmD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 848w, https://substackcdn.com/image/fetch/$s_!zlmD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!zlmD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zlmD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png" width="1149" height="2048" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2048,&quot;width&quot;:1149,&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="https://substackcdn.com/image/fetch/$s_!zlmD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 424w, https://substackcdn.com/image/fetch/$s_!zlmD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 848w, https://substackcdn.com/image/fetch/$s_!zlmD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!zlmD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F46c1e066-3b50-44b3-9f49-f14042ec2f5b_1149x2048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Form Before Data: The Real Bottleneck for Physical AI]]></title><description><![CDATA[The Tesla flywheel and why we won&#8217;t get the Humanoid butler anytime soon]]></description><link>https://adlrocha.substack.com/p/adlrocha-form-before-data-the-real</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-form-before-data-the-real</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 21 Jun 2026 08:01:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hZxz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hZxz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hZxz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!hZxz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!hZxz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!hZxz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hZxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&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="https://substackcdn.com/image/fetch/$s_!hZxz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!hZxz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!hZxz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!hZxz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa08e04a6-69e5-40d5-8da6-3b842d94ead3_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>A reader messaged me last week with a question about a topic that has been in my backlog for a few months now, AI and the physical world. The request was the following </span><em><span>&#8220;</span><strong><span>Can you elaborate on the rate of adoption of AI for the physical world?</span></strong><span> We see [it] operating almost entirely in the digital realm. The Tesla FSD vehicles are examples of AI moving in the physical world. We are also beginning to see other machines such as humanoid robots move through space by interpreting the visual field. But these examples are still very uncommon.&#8221;</span></em></p><p><span>He&#8217;s right, and while &#8220;still very uncommon&#8221;, the field is making progress fast. We have AI that writes code, drafts contracts, and passes the bar, and we have a handful of cars and factory robots, and almost nothing in between. But my feeling is that the gap isn&#8217;t intelligence, I think the models and foundational technology is there. </span><strong><span>What we are missing is the right &#8220;body&#8221; and &#8220;senses&#8221; for the model to make sense of the world, </span></strong><span>and the data needed to teach it how to navigate it.</span></p><p><span>That&#8217;s the thesis I want to make the case for in this post. Tesla cracked self-driving first not because its models were the smartest </span><em><span>(</span><a href="https://www.thinkautonomous.ai/blog/tesla-end-to-end-deep-learning/"><span>until quite recently they were using traditional visual pattern recognition models instead of using deep-learning end-to-end</span></a><span>)</span></em><span>, but because the car was already the right shape to act in the world for their specific task. It rolls, it steers, it has somewhere to put cameras. </span><strong><span>The form of the robot and the actions it had to perform in the physical environment were already well-defined</span></strong><span>. Everything physical AI does next is a search for that same fit: the right form for each task, and the intelligence to drive it through a messy, imprecise, badly-lit world that no simulation fully captures.</span></p><div><hr></div><h2><span>Why the car came first</span></h2><p><span>A car is a strange thing to call an autonomous robot, but that&#8217;s essentially what a self-driving car is: </span><strong><span>a machine that senses its environment and acts in it.</span></strong><span> And it turns out to be an unusually &#8220;</span><em><span>easy&#8221; (big quotes)</span></em><span> robot. It moves in two dimensions. It has four contact points with the world and they never change. It can&#8217;t fall over, it can&#8217;t drop anything, and the rules of the road are written down. Compare that to a hand picking up an egg, where success depends on grip force you have to feel rather than see, and you start to understand why driving fell first. The car was already the right shape for the job, and the operations it could perform and its core goals were well-defined. Similarly to how LLMs cracked coding first because there was an objective feedback loop to optimise, car was the obvious one (in retrospective) for AI in the physical world.</span></p><p><span>Everyone (I hope) that owns a car knows how to drive it. Tesla managed to ship an attractive EV that people would buy, drive, and </span><strong><span>collectively pull the real-world data required to eventually teach an artificial brain how to autonomously drive one of these robots with wheels.</span></strong><span> Having access to all of this raw data of the physical world in virtually all possible kinds of scenarios, environments and locations, is what has enabled Tesla to finally crack SFD.</span></p><p><span>Tesla&#8217;s fleet has now passed </span><a href="https://electrek.co/2026/05/03/tesla-fsd-10-billion-miles-no-magical-milestone-autonomy/"><span>10 billion miles driven on FSD</span></a><span>, adding </span><a href="https://blockchain.news/ainews/tesla-fsd-supervised-hits-333-miles-per-second-latest-adoption-and-data-flywheel-analysis"><span>roughly a million miles a day</span></a><span>. Since </span><a href="https://electrek.co/2026/05/03/tesla-fsd-10-billion-miles-no-magical-milestone-autonomy/"><span>FSD v12</span></a><span> the system has been a single end-to-end neural network, vision only, with the old hand-written rules torn out. It learned to drive by watching the fleet drive.</span></p><p><span>Notice the order of operations. Tesla didn&#8217;t sell cars and then bolted on autonomy as a side project. </span><strong><span>The car </span></strong><em><strong><span>was</span></strong></em><strong><span> the data-collection programme.</span></strong><span> Every vehicle on the road has eight cameras recording how real people handle real roads in bad weather, and that stream is what trains the next model. </span><strong><span>They built the perfect sandbox environment and data flywheel to train their self-driving models.</span></strong><span> Waymo, with better sensors (because Tesla only uses visual sensors) and a smaller fleet, has spent years unable to (so far) out-engineer Tesla&#8217;s simple advantage.</span></p><p><span>One of the reasons why Tesla could build this flywheel is because</span><strong><span> the &#8220;body&#8221;, &#8220;environment&#8221;, and &#8220;rules&#8221; for these robots were pretty well-defined.</span></strong><span> You cannot collect ten billion miles of driving data without ten million things shaped like cars already driving around. Form is the precondition for data, not the other way round. That is the move every physical-AI company is now trying to repeat, and it is much harder when the task is folding laundry instead of staying in a lane.</span></p><p><span>If we treat Tesla cars as the first instance of autonomous physical robots, </span><strong><span>I think there&#8217;s a lot of learnings that we can extract and immediately apply to the field of robotics.</span></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HDXk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HDXk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!HDXk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!HDXk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!HDXk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HDXk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/08721983-5502-4c72-b300-822f1c4bbef0_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="https://substackcdn.com/image/fetch/$s_!HDXk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!HDXk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!HDXk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!HDXk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F08721983-5502-4c72-b300-822f1c4bbef0_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><span>The two things a body still can&#8217;t do</span></h2><p><span>If form is the precondition, the obvious question is why we don&#8217;t already have the right forms everywhere. The bodies seem to exist. Figure, Optimus and Unitree all walk, balance and grasp, and </span><a href="https://arxiv.org/pdf/2501.02116"><span>bipedal locomotion that took the field decades</span></a><span> is close to a solved engineering problem. So what&#8217;s missing?</span></p><p><span>Two things, and neither is intelligence in the abstract sense. The model can already plan. What it can&#8217;t reliably do is </span><em><span>feel</span></em><span>, and what we can&#8217;t yet cheaply do is </span><em><span>teach it</span></em><span> the specific task. </span><strong><span>While we can consider a car like a &#8220;narrow body&#8221; for a &#8220;narrow task&#8221;, I feel like humanoid robots are a general-purpose form factor to whom we could teach a great gamut of tasks that we already do ourselves. </span></strong><span>We just need to teach them how we do it.</span></p><p><span>Driving is a vision problem, and vision is the sense AI is best at and one of the first ones it was able to crack </span><em><span>(do you remember the amazing things that convolutional neural networks, a.k.a CNNs were, able to do a decade ago?)</span></em><span>. Folding a shirt is not. It needs touch, the kind that adjusts grip force when a fabric starts to slip, and dexterous tactile hands are </span><a href="https://thehumanoid.ai/glossary/bom-costs/"><span>the part of the body that still lags the rest</span></a><span>. The economics show where the difficulty sits: actuators alone run </span><a href="https://thehumanoid.ai/glossary/bom-costs/"><span>30 to 40% of a high-end humanoid&#8217;s bill of materials</span></a><span>, a single high-torque actuator costs thousands, and there are twenty or forty per robot. A car needs a steering rack. A hand that works by feel needs a torque-controlled actuator at every knuckle, and the supply chain for those parts is </span><a href="https://thehumanoid.ai/glossary/bom-costs/"><span>not built for volume yet</span></a><span>. The right form for manipulation is genuinely harder to build than the right form for driving. The number of actuators that the models need to be able to activate for a specific action is significantly larger than in the case of a car.</span></p><p><span>Then there&#8217;s teaching them how to perform a task accurately. Large models learned language by reading the internet, text humanity had already written and left lying around for free. </span><strong><span>There is no equivalent corpus for physical action in the physical world in almost every possible environment and scenario</span></strong><span> </span><em><span>(the kind of data corpus that Tesla collected through more than a decade of people driving their cars)</span></em><span>. No website stores the exact sequence of joint torques and micro-corrections in threading a cable behind a desk or lifting an egg without crushing it. That data has never been recorded and translated in the &#8220;senses&#8221; incorporated into these humanoid robots.</span></p><p><strong><span>The workaround that many have tried is to use simulations of the physical world:</span></strong><span> like in RL environments, you let the model run a billion virtual attempts overnight to train. Tesla also did this for some years</span><strong><span>. It works right up to the </span><a href="https://arxiv.org/pdf/2501.02116"><span>sim-to-real gap</span></a><span>, the point where the policy meets a real machine and the friction is slightly off</span></strong><span>, the actuator lags a few milliseconds, and the object deforms in a way the simulator never modelled. For humanoids that gap is </span><a href="https://arxiv.org/abs/2404.05695"><span>wider than for four-legged robots</span></a><span>, because more joints and more contact mean more ways for a small error to compound into a fall, and there is </span><a href="https://arxiv.org/pdf/2501.02116"><span>no general fix</span></a><span>. Every team patches it by hand.</span></p><p><span>Put the two together and you get the real state of physical AI in 2026. The model is smart enough and the technology is there. The body can mov</span><strong><span>e. What&#8217;s missing is a body that can feel its way through a task it has never seen, and the mountain of real-world demonstrations needed to train it. </span></strong><span>That is why all those cool slick backflip videos from robots are just a </span><em><span>demonstration </span></em><span>of the form factor and specific actions being cracked, not a </span><em><span>deployment</span></em><span>. While we are getting close, we still are teaching these general-purpose robots how to perform specific tasks in different scenarios of the physical world.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yB8q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yB8q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 424w, https://substackcdn.com/image/fetch/$s_!yB8q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 848w, https://substackcdn.com/image/fetch/$s_!yB8q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 1272w, https://substackcdn.com/image/fetch/$s_!yB8q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yB8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png" width="1024" height="999" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:999,&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;: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="https://substackcdn.com/image/fetch/$s_!yB8q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 424w, https://substackcdn.com/image/fetch/$s_!yB8q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 848w, https://substackcdn.com/image/fetch/$s_!yB8q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 1272w, https://substackcdn.com/image/fetch/$s_!yB8q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa211d462-8f6e-4dbc-9952-a8d2e8abc385_1024x999.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><span>Humanoids in 2026</span></h2><p><span>The humanoid is the form that gets all the attention, because they are cool and they can move like us. With all that said about how hard manipulation is, the deployments are real, more real than I expected when I started looking.</span></p><p><a href="https://www.press.bmwgroup.com/global/article/detail/T0455864EN/bmw-group-to-deploy-humanoid-robots-in-production-in-germany-for-the-first-time?language=en"><span>Figure</span></a><span> has robots on the line at BMW&#8217;s Spartanburg plant, running ten hours a day at </span><a href="https://ifactoryapp.com/industries/automotive-manufacturing/figure-03-bmw-spartanburg-case-study-humanoid"><span>better than 99% placement accuracy across more than a thousand operational hours</span></a><span>. Tesla is </span><a href="https://www.technerdo.com/blog/humanoid-robots-market-2026"><span>targeting 50,000 Optimus units in 2026</span></a><span> inside its own factories, and Unitree will sell you a </span><a href="https://lumichats.com/blog/humanoid-robots-2026-tesla-optimus-figure-ai-unitree-complete-guide"><span>G1 today for around $16,000</span></a><span>, the Model 3 of robots: cheap hardware at volume, worry about generality later </span><em><span>(I see the &#8220;Tesla pattern&#8221; here of deploying the platform that enables data collection at scale)</span></em><span>.</span></p><p><span>But notice what all three have in common</span><strong><span>. The tasks are </span></strong><em><strong><span>narrow</span></strong></em><strong><span>:</span></strong><span> load this panel, place this part, etc. These are factory jobs in structured spaces, the closest a robot gets to a car&#8217;s nice clean lane. The robots are supervised, single-purpose, and a long way from the general-purpose machine that tidies your house. Map them onto the Tesla timeline and we&#8217;re roughly where the fleet was a decade ago:</span><strong><span> the hardware is out gathering experience, the autonomy is years of data away, with the caveat of the form factor.</span></strong></p><p><span>And here&#8217;s the thing the humanoid hype obscures:</span><strong><span> for most of these jobs, the metal human is the </span></strong><em><strong><span>wrong</span></strong></em><strong><span> form. </span></strong><span>They could be using robots that are closer to what factory robots look today, but by using a humanoid form factor, we have a general-purpose platform that can be taught any kind of task that a human could do.</span></p><div><hr></div><h2><span>The robots that are working do not look human</span></h2><p><span>Robots have been around for decades. China runs an </span><a href="https://ifr.org/ifr-press-releases/news/china-makes-ai-powered-robots-core-of-national-strategy"><span>operational stock of around two million industrial robots</span></a><span>, and Xiaomi builds </span><a href="https://www.gizchina.com/xiaomi-phones/xiaomis-wuhan-dark-factory-how-90000-units-move-without-humans"><span>ten million phones a year in a lights-out factory at 81% automation</span></a><span>, but all these robots operate through a specific script, the logic is hardcoded. </span><strong><span>The task and the operation needs to be clearly hardcoded and implemented, like it was the case of the early Teslas.</span></strong></p><p><span>The thing actually changing in 2026 is that </span><strong><span>we are starting to see robots whose behaviour comes from a </span></strong><em><strong><span>learned model</span></strong></em><strong><span> instead of a fixed program</span></strong><span>, machines that can handle a situation nobody scripted in advance. That is what &#8220;AI for the physical world&#8221; means to me, and the most successful instances of this so far do not wear a humanoid shape. It shows up first in the jobs where the body is simple but the </span><em><span>world is messy</span></em><span>, which is exactly where old automation couldn&#8217;t go.</span></p><p><span>Agriculture is the clearest example. A fruit-picking arm sounds may seem something that can be implemented with classical automation until you look at what it has to do: find a ripe strawberry behind a leaf, under changing light, half-occluded by another berry, and decide in real time whether to pick it. That is a perception problem, and it&#8217;s being solved with the same deep-learning vision stack as everything else. Recent harvesters run models like </span><a href="https://www.mdpi.com/1424-8220/25/12/3677"><span>YOLO-based ripeness detectors trained for occlusion and light changes in real orchards</span></a><span>, and </span><a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10289036/"><span>dedicated ripeness networks that judge a blueberry the way a picker would</span></a><span>. The arm is dumb. The eyes are not. John Deere&#8217;s autonomous tractors carry a </span><a href="https://farmonaut.com/precision-farming/john-deere-autonomous-tractor-farm-equipment-2026"><span>sixteen-camera vision rig and a perception model that reads the field as it goes</span></a><span>, rather than following a pre-mapped line. The number of </span><a href="https://www.coherentmarketinsights.com/market-insight/fruit-picking-robots-market-4531"><span>fruit farms running autonomous harvesters jumped from 950 in 2021 to over 4,300 in 2024</span></a><span>, and that curve is bending now because they can now interpret the real world, not because anyone invented a new arm.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j0of!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j0of!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!j0of!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!j0of!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!j0of!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j0of!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png&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;: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="https://substackcdn.com/image/fetch/$s_!j0of!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!j0of!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!j0of!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!j0of!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F215d69c3-a472-4416-bc10-9c1d883c855d_1280x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The deeper shift is the arrival of foundation models for action, the physical-world equivalent of GPT </span><em><span>(something I was completely unaware of)</span></em><span>. </span><strong><span>These are vision-language-action models: you give them camera frames and an instruction in plain language, and they output motor commands</span></strong><span>. </span><a href="https://robotics-transformer2.github.io/"><span>RT-2 was the first to show real generalisation, jumping to 85% success on objects it had never seen, versus 60% for the previous generation</span></a><span>, by training on internet images and robot trajectories together. </span><a href="https://www.researchgate.net/publication/395364425_p_A_Vision-Language-Action_Flow_Model_for_General_Robot_Control"><span>&#960;0 is a 3-billion-parameter action model that runs fast enough to control a real arm in real time</span></a><span>, and by 2026 </span><a href="https://learnopencv.com/vision-language-action-models-lerobot-policy/"><span>&#960;0.6 and Google&#8217;s Gemini Robotics are the state of the art</span></a><span>, with Alibaba&#8217;s open-weight </span><a href="https://www.marktechpost.com/2026/06/16/meet-qwen-robotsuite-three-embodied-ai-models-for-vla-manipulation-video-world-modeling-and-navigation/"><span>Qwen-RobotManip</span></a><span> arriving this month and topping the generalist benchmark, the same move they made for LLMs they are trying to make in robotics, open-sourcing the frontier</span><strong><span>. Before, the question was &#8220;can a learned policy work at all?&#8221; and how we are turning into asking ourselves &#8220;how do we make it reliable in the wild?&#8221;</span></strong><span> With foundational models for robotics like the latest ones from Qwen, the intelligence is becoming portable, and the body is becoming the interchangeable part.</span></p><p><span>So to directly answer the question from our </span><strong><span>reader, the robots already running at scale aren&#8217;t AI, but the foundation for it is being built</span></strong><span>. The robots that are genuinely AI, the ones reading a vine or grasping an object they&#8217;ve never seen, are real but young, and they&#8217;re appearing form-first: a simple, task-shaped body wrapped around a perception-and-action model that does the hard part. Pre-programmed automation needed a world held perfectly still. The new robots are the first that can cope with a world that won&#8217;t.</span></p><div><hr></div><h2><span>Where&#8217;s the value accrual right now?</span></h2><p><span>If physical data has to be manufactured, </span><strong><span>the most valuable thing you can build is a platform that enables this data collection at scale.</span></strong></p><p><span>The most vivid version of this is almost funny when you first hear it </span><em><span>(the videos I&#8217;ve seen about this are extremely disturbing)</span></em><span>: companies are paying people to do their own chores on camera. </span><a href="https://www.technologyreview.com/2026/04/01/1134863/humanoid-data-training-gig-economy-2026-breakthrough-technology/"><span>DoorDash launched &#8220;Tasks&#8221;</span></a><span> in March, paying drivers up to $25 an hour to film themselves doing housework, and a startup called Micro1 has </span><a href="https://www.technologyreview.com/2026/04/01/1134863/humanoid-data-training-gig-economy-2026-breakthrough-technology/"><span>a thousand people across sixty countries</span></a><span> wearing iPhones strapped to their heads while they cook and clean. China is running the same playbook at </span><a href="https://restofworld.org/2026/china-ai-robotics-training-data/"><span>state scale</span></a><span>.</span></p><p><strong><span>This is the Tesla flywheel, with a human where the car used to be.</span></strong><span> You can&#8217;t scrape demonstrations of physical work, so you pay humans to generate them. The car was the sensor. Now the person is.</span></p><p><span>The higher-fidelity version of the same idea is </span><a href="https://www.shaip.com/blog/robot-training-data-strategy/"><span>teleoperation</span></a><span>: instead of filming a human, you have a human drive the robot directly, so every recorded action is in the robot&#8217;s own body, with real contact and real error-recovery and</span><strong><span> zero gap between the demonstrator and the machine.</span></strong><span> It&#8217;s the fastest-growing category of robot training data this year, and it&#8217;s the cleanest expression of the whole thesis: humans in the loop now, autonomy later. There are even VCs that are forming their whole robotic thesis around investing in companies that are focusing on building this teleportations as platforms for physical world data collection:</span></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/verbine/status/2024507538205520287?s=20&quot;,&quot;full_text&quot;:&quot;Request for Startups -- Teleoperation:\n\nAlmost nobody takes teleoperation seriously. It's treated as a waiting room for autonomy.\n\nWe think teleoperation IS the path to autonomy.\n\nWe just published our full thesis. Link below. If you're building this: robotics@lunar.vc .\n\n1/6 &#129525; &quot;,&quot;username&quot;:&quot;verbine&quot;,&quot;name&quot;:&quot;Elad Verbin&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1681293082015457284/2GgZsdNE_normal.jpg&quot;,&quot;date&quot;:&quot;2026-02-19T15:33:05.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!AX-W!,w_1028,c_limit,f_auto,q_auto:best,fl_progressive:steep/l_play_button_usfui2,w_88,e_colorize:0/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F__ss-rehost__tw-video-preview-13_2024506945823006722.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/HKiRaj9ns9&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:2,&quot;retweet_count&quot;:3,&quot;like_count&quot;:10,&quot;impression_count&quot;:983,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2024506945823006722/vid/avc1/1280x720/o503JU-GKvbAF4nt.mp4&quot;,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p><span>What this approach provides is not only to have a human expert solving a task remotely, but </span><strong><span>also to iterate on the right body form to solve the task</span></strong><span>, and of course collect real world data to then train the models.</span></p><div><hr></div><h2><span>The cost of everything in the physical world goes to zero?</span></h2><p><span>According to the wide-spread narrative, knowledge work is collapsing fast. Opus is commoditising coding,  open-weight models like GLM are now commoditising the frontier labs that did the commoditising. </span><strong><span>The barrier to producing a working piece of software, a passable legal draft, a defensible piece of research, has fallen close to zero</span></strong><span>. Anything that runs on a computer, the argument goes, is heading the same way, and physical work is next on the list once the robots arrive </span><em><span>(faster even if it has ever been available on the Internet)</span></em><span>.</span></p><p><span>Software collapsed fast because it was software. Bits copy for free, so once a model can do the work, distributing that ability costs nothing. And the training data already existed: decades of code on GitHub, decades of writing on the open web, sitting there waiting to be ingested. Free distribution plus pre-existing data is a recipe for AI success, virtually unlimited data </span><em><span>(although I would claim that we are running out of it).</span></em></p><p><span>The physical world has neither property. You can&#8217;t copy a robot for free, and there is no GitHub of physical actions to train it on. </span><strong><span>So yes, the same collapse is coming for physical work, but following classical physics and not the speed of the light like was the case of software </span></strong><em><span>(sidenote: many of you will assume that this sentence comes from an LLM, but I wrote it myself, and I am so proud of it that I am leaving it, and I don&#8217;t give a shit what you think, this is still human-written)</span></em><span>. It will be slower, and the slowness is structural. It&#8217;s always harder (and slower) to do things in real life, when you interact with a real environment under classical physics.</span></p><p><span>And it won&#8217;t arrive all at once. The &#8220;physical work goes to zero&#8221; framing misses that the collapse will be task by task, ranked by two things:</span><strong><span> how easy the right body is to build, and how messy the world is allowed to be</span></strong><span>. The most structured work already went to old-style automation that needs no intelligence: the caged factory line, the warehouse conveyor. Semi-structured outdoor work like fruit-picking and grid inspection is falling now, over this decade, because the body is simple and the vision models have finally caught up to the mess.</span></p><p><span>The unstructured human environments, the home, the hospital ward, the building site with people walking through it, are last, and &#8220;last&#8221; here means well past the three-year window the reader asked about. Electricians and plumbers are safe for longer than software engineers, not because their work is more skilled, but because their work is harder to give a robot the right body for, and impossible to scrape off the web. And beware, because you can already see real deployments in China that I mentioned above </span><em><span>(I highly recommend everyone to search for China and robots in youtube to see the cool stuff they are building, from cleaning robots for solar panels, to last-mile delivery trucks).</span></em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kV1L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kV1L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 424w, https://substackcdn.com/image/fetch/$s_!kV1L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 848w, https://substackcdn.com/image/fetch/$s_!kV1L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!kV1L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kV1L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png" width="1456" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/af1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&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="https://substackcdn.com/image/fetch/$s_!kV1L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 424w, https://substackcdn.com/image/fetch/$s_!kV1L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 848w, https://substackcdn.com/image/fetch/$s_!kV1L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 1272w, https://substackcdn.com/image/fetch/$s_!kV1L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faf1a0fb7-b76e-4b86-b47e-9ae2d49982ca_2048x1294.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>But the barrier will fall eventually. That is the part I don&#8217;t want to undersell. Every constraint I&#8217;ve described in this post (no internet of physical actions, brittle hands, the sim-to-real gap, the actuator supply chain) is a problem with a known shape, and known-shape problems get solved on long enough timescales. The chore-filming gig economy is ugly, but it is a corpus being built. </span><strong><span>Teleoperation is awkward, but it is the cleanest demonstration data we&#8217;ve ever had</span></strong><span>. Qwen&#8217;s open-source action model is half marketing, but it is the first credible attempt to skip the collection step. The barrier is high. It isn&#8217;t infinite. The interesting question is what happens in the meantime.</span></p><div><hr></div><h2><span>So what&#8217;s next?</span></h2><p><span>To answer the reader&#8217;s question, I think we are in the platform-building phase of physical AI</span><strong><span>. The platform phase is where the infrastructure for collecting data and iterating on policies is being assembled in public</span></strong><span>, and almost everything you see in a press release is really a wrapper around that. The teleoperation rigs are platforms. The narrow harvesters and tractors are platforms. The chore-filming apps are platforms. Even the foundation-model labs are platforms in disguise: their real product is the loop that turns demonstrations into policy, and the robot is a customer of that loop. The next three years are not about robots getting good at jobs. </span><strong><span>They are about building the sandboxes in which robots and the humans who work with them can figure out, slowly and in public, what those jobs even look like</span></strong><span>. We are going to start seeing some real deployments, but they won&#8217;t be ready to scale yet, and they will be focusing on becoming the sandbox to collect the data required to improve their operation.</span></p><p><strong><span>My three-year call is that we don&#8217;t get the general humanoid butle</span></strong><span>r. We get a widening fleet of narrow, AI-driven machines, each the right body for one job, wrapped around a learned policy that does the hard part: the strawberry-picker reading a vine, the tractor reading a field, the teleoperated arm running a &#960;0-style action model.</span><strong><span> Each is also a data-collection sandbox for its own domain, harvesting the demonstrations that slowly teach it to handle the mess, and teaching the humans in the loop how to work with it.</span></strong><span> The general humanoid is the destination. A fleet of narrow, right-shaped platforms feeding their own flywheels is the road. The durable value sits not in any one body but in the portable intelligence on top, and in the loop that connects it to the humans who, for now, still know how the job is actually done.</span></p><p><span>I am curious to see what we are going to see companies building in the next few years, and the market&#8217;s response to it. </span><strong><span>I genuinely don&#8217;t know if the simulation, teleoperation or real data collection play will be the one that finally cracks autonomous robotics</span></strong><span>. Anyone working with robots that could give some colour to my predictions? I hope to get someone in the comments or my inbox, but if I don&#8217;t, see you next week!</span></p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - AI inequality: from GPU-poor to token-poor]]></title><description><![CDATA[Fable&#8217;s release and on strengthening the case for AI independence]]></description><link>https://adlrocha.substack.com/p/adlrocha-ai-inequality-from-gpu-poor</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-ai-inequality-from-gpu-poor</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 14 Jun 2026 08:01:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WBeD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WBeD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WBeD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 424w, https://substackcdn.com/image/fetch/$s_!WBeD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 848w, https://substackcdn.com/image/fetch/$s_!WBeD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!WBeD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WBeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png" width="784" height="1168" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e79a666f-474d-49ef-90ab-48337e310721_784x1168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1168,&quot;width&quot;:784,&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="https://substackcdn.com/image/fetch/$s_!WBeD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 424w, https://substackcdn.com/image/fetch/$s_!WBeD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 848w, https://substackcdn.com/image/fetch/$s_!WBeD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!WBeD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe79a666f-474d-49ef-90ab-48337e310721_784x1168.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://adlrocha.substack.com/p/adlrocha-are-we-approaching-a-new">Last week</a> I ended this newsletter questioning if the people inside the labs actually see the same end-of-cycle signals the rest of us are reading from the outside, or are they rushing their IPOs because they can see something coming that the market hasn&#8217;t priced in yet.</p><p>This week, Anthropic offered something resembling an answer, at least from a technical standpoint. <a href="https://www.anthropic.com/news/claude-fable-5-mythos-5">Fable is here</a>, and it reinforces my argument from last week: <strong>model technical capabilities are not actually plateauing and the winter will come from a shortage of funds and adoption.</strong></p><div><hr></div><h2>What Fable actually is&#8230;</h2><p>Fable 5 is the first model in Anthropic&#8217;s new Claude 5 family, specifically the first model in a new tier they&#8217;re calling Mythos-class <em>(whatever that means)</em>, which sits above Opus in capability. The key thing to understand about the release is that <strong>Fable 5 and Mythos 5 are essentially the same underlying model. The difference in Fable is not its underlying architecture, but its embedded guardrails.</strong></p><p>On benchmarks, Fable tops Cognition&#8217;s FrontierCode evaluation for coding, is the first model to break 90% on Anthropic&#8217;s core analytics benchmarks (a ten-point leap over Opus) and leads Hebbia&#8217;s senior-level finance reasoning evaluation. In biology, it <a href="https://www.anthropic.com/news/claude-fable-5-mythos-5">accelerated protein design by roughly 10x</a>, generated 9 of 14 strong drug candidates in a molecular design task, and produced scientific hypotheses that domain experts preferred over Opus-class outputs about 80% of the time. Fable also completed Pok&#233;mon FireRed using only vision input, which is either impressive or unsettling depending on your sense of humour <em>(it took me a few dozen hours to finish it when I was a kid, and to get that legendary Pok&#233;mon I wanted. Spoiler alert: it was Zapdos)</em>. In short, this model is a beast!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FHeK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FHeK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 424w, https://substackcdn.com/image/fetch/$s_!FHeK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 848w, https://substackcdn.com/image/fetch/$s_!FHeK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 1272w, https://substackcdn.com/image/fetch/$s_!FHeK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FHeK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png" width="900" height="614" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e4c26b74-476a-44af-a78e-466d09274844_900x614.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:614,&quot;width&quot;:900,&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;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FHeK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 424w, https://substackcdn.com/image/fetch/$s_!FHeK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 848w, https://substackcdn.com/image/fetch/$s_!FHeK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 1272w, https://substackcdn.com/image/fetch/$s_!FHeK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe4c26b74-476a-44af-a78e-466d09274844_900x614.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>But obviously, this beast is expensive:</strong> $10 per million input tokens, $50 per million output tokens. Less than half the price of Mythos Preview, but still a price that I don&#8217;t know if I would pay for my daily tasks.</p><p>Ok, that&#8217;s Anthropic&#8217;s PR machine, but what does the crowd say about this model? One of the people in the community that is trying to solve a hard problem in computer science and tries to get the most out of these models is Victor Taelin (who has made an appearance on this newsletter a few times already). He is building the <a href="https://github.com/HigherOrderCO/HVM4">HVM programming language</a>, built on interaction networks. He is using agents extensively for his work <em>(I highly recommend following how he journals it in his X account)</em>.</p><p>He&#8217;d already thrown everything at the problem before: a fleet of 32 GPT-5 agents running for 20 hours each, then Opus 4.8 and GPT-5.5 optimising for 8 hours. The best result was a 6&#8211;34% speedup, and the code quality had deteriorated after each iteration and he had to clean things up manually <a href="https://adlrocha.substack.com/">(as described here)</a>. Then he asked Fable.</p><p>Two hours later: a 1,770% speedup in one case, over 100% in four others, 22% on average.<strong> He immediately assumed it was hardcoding the benchmarks, a reflex he calls &#8216;GPT trauma&#8217; &#128518;</strong>. So he decided to dig deep into the implementation to confirm it. What Fable had found was that HVM5 was wasting time garbage-collecting unused branches of pattern-match nodes. Taelin had already optimised this for static matches, but not dynamic ones. Fable figured out how to do it for the dynamic case and implemented it correctly.</p><p>Then, as he was preparing to audit the solution, Fable interrupted him to report a bug in the code <em>Taelin himself</em> had written, a subtle pointer aliasing error in the garbage collection logic that was so specific, Taelin estimated he&#8217;d have needed hours or days to find it himself, if he ever had. Fable found it as a side note, while finishing the optimisation.</p><p>His dramatic conclusion was: <a href="https://x.com/VictorTaelin/status/2064448425936994742">&#8220;this isn&#8217;t about Anthropic or OpenAI, this is about our collective future as a species.&#8221;</a></p><p>So here&#8217;s the answer to my capability question from last week. The technology is still accelerating. This confirms that the AI winter framing I offered last week was about diffusion and adoption, and about companies that hadn&#8217;t yet learned what to do with the tools is feasible. <strong>Fable clarifies one thing on this framing (that may make this winter more dramatic): the ceiling may still be going up fast.</strong></p><div><hr></div><h2>&#8230; and why is controversial</h2><p>This release came with terms and controversy.</p><p>The most discussed one was that Fable will silently <strong>limit its own capabilities when it detects you&#8217;re using it for frontier AI development. </strong>Not an explicit refusal, i.e. you won&#8217;t see an error message. The model may quietly reduce its effectiveness through prompt modification, steering vectors, or fine-tuning adjustments. The list of affected work includes: building large-model pretraining pipelines, designing data pipelines for training frontier LLMs, debugging model-parallel training systems, working on ML accelerator design, distilling or copying a frontier model, etc.</p><p>Anthropic estimated this affects approximately 0.03% of traffic <em>(but I would add that this cohort is probably the one that uses this technology more extensively)</em>. <a href="https://x.com/SemiAnalysis_/status/2064556359073636544">When Fable is used for frontier LLM development, it does not notify the user and instead limits the model&#8217;s capabilities</a>. As a paying user, the model can still sound helpful while being intentionally less capable for a specific category of work.</p><p>As the team at Semianalysis puts it in the tweet linked above, <strong>all this reminds a lot of the nuclear non-proliferation from the 60s.</strong> In 1968, the US, USSR, UK, France, and China signed the<a href="https://en.wikipedia.org/wiki/Treaty_on_the_Non-Proliferation_of_Nuclear_Weapons"> Nuclear Non-Proliferation Treaty</a>, declaring nuclear weapons too dangerous for anyone else to build, while the five who already had them pinky-promised to disarm eventually. India refused to sign, pointing out the obvious: the NPT didn&#8217;t decide nukes were too dangerous to exist, just too dangerous for anyone who didn&#8217;t already have them. Anthropic limiting Fable for frontier ML work is structurally identical. <strong>The danger, conveniently, started the day after they finished.</strong></p><p>Others (like Jeremy Howard) reached for a different reference to illustrate the issue with this approach <em>(one that I personally loved)</em>. In Liu Cixin&#8217;s <em><a href="https://en.wikipedia.org/wiki/The_Three-Body_Problem_(novel)">Three-Body Problem</a></em> book, an alien civilisation deploys a sophon, a particle-scale quantum computer to infiltrate particle accelerators on Earth and scramble experimental results. <strong>Not to destroy science, but to make the next step impossible. I don&#8217;t what you think but this resembles a lot to what Anthropic did trying to slow down AI researchers that want to leverage Fable.</strong></p><p>The consequences go beyond individual users. Sayash Kapoor, who runs rigorous AI R&amp;D evaluations, <a href="https://x.com/sayashk/status/2064528495833956416">pointed out the downstream problem</a>: if Fable silently degrades for frontier ML tasks without telling you when it&#8217;s doing so, third-party evaluators can no longer use the model for serious capability assessments. They can&#8217;t distinguish a genuine failure from a classifier intervention. <strong>Independent evaluation of what Fable can actually do</strong>, one of the few accountability mechanisms that exists for frontier models whose weights are not public and can not be run independently, is now compromised for exactly the category of tasks where it matters most. Anthropic uses the full-capability model for AI R&amp;D internally, through Mythos. The sandbagged version is what the independent evaluation ecosystem gets.</p><p>Kapoor refers to it as a &#8216;dangerous precedent.&#8217; And I agree, <strong>other labs like OpenAI may choose to do the same, and it&#8217;ll harm all infrastructure of independent oversight</strong> that is supposed to catch problems before they compound (what companies like EpochAI do). You can&#8217;t audit a model that hides its own limits from you.</p><p>And as I was writing the words above something unexpected happened <em>(at least unexpected for some, but definitely the reason why this post will end up being longer than originally planned)</em>. <a href="https://www.wired.com/story/anthropic-responds-to-backlash-on-claudes-secret-sabotage-on-ai-research/">Anthropic walked this policy back</a>.</p><p>From this moment on, lagged requests will visibly fall back to Opus 4.8, the same pattern used for cyber and bio safeguards. Users will clearly see it when it  happens. <strong>On the API, flagged requests will return a reason for the refusal. </strong>Anthropic&#8217;s explanation <em>(i.e. excuse)</em> <a href="https://x.com/ClaudeDevs/status/2064949876463645026">published on X by the Claude developer account</a> was: <em>&#8216;Invisible safeguards can be targeted more narrowly, allowing us to ship quickly with very few false positives. We went with invisible safeguards for this reason, and that was the wrong tradeoff. You should have visibility into the safeguards we have in place, and why. We&#8217;re sorry for not getting the balance right.&#8217; </em>This raises concerns though, making the refusals visible makes them easier to work around. You&#8217;re telling users the classifier is now worth trying to circumvent. Jailbreak time, folks!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gQRk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gQRk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 424w, https://substackcdn.com/image/fetch/$s_!gQRk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 848w, https://substackcdn.com/image/fetch/$s_!gQRk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 1272w, https://substackcdn.com/image/fetch/$s_!gQRk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gQRk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png" width="680" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:680,&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="https://substackcdn.com/image/fetch/$s_!gQRk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 424w, https://substackcdn.com/image/fetch/$s_!gQRk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 848w, https://substackcdn.com/image/fetch/$s_!gQRk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 1272w, https://substackcdn.com/image/fetch/$s_!gQRk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef301de1-af47-4312-a4bd-3f249a099a7f_680x680.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On top of all of this guardrail drama there&#8217;s more: <a href="https://x.com/jparkjmc/status/2064412328737771945">if you use Fable or Mythos, Anthropic collects your data for training</a>. No exceptions, not even for enterprise partners. <strong>Even more, on 23rd June, Fable access through standard subscriptions closes.</strong> After that, it&#8217;s pay-as-you-go API only.</p><p>So let&#8217;s be honest about what this architecture actually is, because I think the separate pieces add up to something more coherent than a collection of safety decisions.</p><p>Anthropic releases a model of genuinely extraordinary capability.<strong> They make it available to everyone briefly, at least long enough to demonstrate what it can do, long enough for the word to spread, long enough for dependency to form.</strong> Then they close the subscription access and move it to consumption pricing. They collect training data from every user throughout. They degrade it for the work that competes with their own research agenda, and when the hidden-degradation policy blows up publicly, they pivot to a visible fallback that&#8217;s harder to exploit but creates more false positives. And they reserve the unrestricted version for a small group of approved partners whose criteria they control.</p><p>Call me cynical,<strong> </strong>but to me,<strong> that reads more like a business strategy rather than a safety strategy, especially with an imminent IPO on the horizon. </strong>The &#8216;broad access&#8217; phase is a land grab, you build the market, you demonstrate the capability, you create the switching costs, and then you restructure the pricing. With some caveats, this is what GitHub did with Copilot: generous free access for open-source contributors, then usage-based billing once dependency was established. I <a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai">wrote about that dynamic</a> a few months ago. This AI bubble is a dependency trap, subsidised token pricing as the mechanism for building lock-in before extracting value.</p><p>Don&#8217;t get me wrong, the safety framing may not be actually true, and Anthropic may be genuinely optimising for it. <strong>But it also needs to make money and get funding, which are two things that may sometimes be at odds.</strong></p><div><hr></div><h2>And Dario chimes in!</h2><p>Coincidentally, this week Dario Amodei published <a href="https://darioamodei.com/post/policy-on-the-ai-exponential">an essay on AI policy</a> that is worth reading alongside the Fable release rather than in isolation. <strong>On civil liberties, he writes that people facing government action should have &#8216;access to AI that is at least as capable as whatever the government is allowed to use.&#8217; </strong>The logic makes sense: concentrated capability is a power asymmetry, and power asymmetries require structural remedies. He also names the distribution problem directly, &#8216;the key challenge in such a world won&#8217;t be incentivising growth, but finding a way for everyone to share in the benefits.&#8217;</p><p>Both of those sentences could have been written by a critic of the Fable access model. Dario doesn&#8217;t apply them there.</p><p>The principle he uses against government overreach, that capability parity matters, that the powerful <strong>having better tools than everyone else is a structural problem requiring structural solutions, is precisely the principle that Anthropic&#8217;s own access architecture violates.</strong> Researchers inside approved labs run unrestricted Mythos. Researchers outside run a classifier-limited version that quietly degrades for exactly the work that would let them close the gap. Dario says the key challenge is sharing the benefits. His company&#8217;s product release concentrates the best tool in the hands of the people who need it least.</p><p>He seems to have a genuine belief that safety requires concentration, combined with business incentives that reward concentration, and a policy framework that critiques concentration only when the concentrator is a government. But again, the Fable release may seem at odds with the supposed goal Dario is trying to optimise for.</p><p>It reads a bit like hubris.</p><blockquote><p><em>Last minute edit: This post was reviewed and scheduled Friday morning GMT, and on Saturday I woke up to the news:</em></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/AnthropicAI/status/2065597531644743999?s=20&quot;,&quot;full_text&quot;:&quot;The US government, citing national security authorities, has issued an export control directive to suspend all access to Fable 5 and Mythos 5 by any foreign national, whether inside or outside the United States, including foreign national Anthropic employees.\n\nThe net effect of&quot;,&quot;username&quot;:&quot;AnthropicAI&quot;,&quot;name&quot;:&quot;Anthropic&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1798110641414443008/XP8gyBaY_normal.jpg&quot;,&quot;date&quot;:&quot;2026-06-13T00:50:03.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:179,&quot;retweet_count&quot;:188,&quot;like_count&quot;:548,&quot;impression_count&quot;:41205,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p><em>  I already warned myself about this a few weeks ago: </em></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/adlrocha/status/2017582127370387793?s=20&quot;,&quot;full_text&quot;:&quot;Note to self: do not write posts of anything trendy. By the time the draft is ready, the topic is outdated. \n\nI&#8217;ll need to go back to first principles and immutable fundamentals&quot;,&quot;username&quot;:&quot;adlrocha&quot;,&quot;name&quot;:&quot;adlrocha&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1861710634066255872/BN7vbJr9_normal.jpg&quot;,&quot;date&quot;:&quot;2026-01-31T12:53:58.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:2,&quot;impression_count&quot;:134,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p><em>But in this case I feel like the new developments strengthen the case I am making in this post (that is why I decided not to change a comma from the original draft apart from this edit). Like always, I&#8217;ll follow up with any news in the post&#8217;s notes.</em></p></blockquote><div><hr></div><h2>Transitioning from GPU-poor to token-poor</h2><p>None of this invalidates the AI winter analysis, to be clear. For most people, most of the time, Fable is not the model they need, the gap between <strong>Sonnet and Fable isn&#8217;t the bottleneck for someone using AI to summarise emails or handle routine analysis. Fable doesn&#8217;t fix the adoption problem.</strong></p><p>But the access question is different. And it&#8217;s where the inequality argument starts.</p><p>I didn&#8217;t follow an early career in machine learning when it actually was one of the topics that interested me the most early on in my career. I worked for some time in NLP writing LSTM networks and genetic algorithms by hand. I was following the state of the art closely, but I then hit a wall. Access to compute became a blocker for me, and I didn&#8217;t have the money then (or now) to fund it myself. My experiments were slow, expensive, and limited by the hardware I could afford. Meanwhile, I could do interesting work in cryptography and distributed systems on any laptop with zero dependency on expensive infrastructure. And so it goes. That&#8217;s how I ended up in crypto.</p><p>I don&#8217;t think about that as a loss (because it clearly wasn&#8217;t). But I do think about what it means at scale.</p><p><strong>The first version of that inequality was about GPUs and it impacted researchers.</strong> Access to compute created a divide between researchers with institutional resources and everyone else. Open-source models, commodity cloud pricing, and the gradual democratisation of inference have compressed that gap significantly over the last few years. It&#8217;s not gone, but it&#8217;s narrower than it was <em>(just look at what 0xSero or Antirez are being able to do for the local inference community from home)</em>.</p><p><strong>Fable stresses a second instantiation of this battle between the haves and have-nots</strong>. The Fable/Mythos split is the clearest version of this: the most capable model, unrestricted, is available only to &#8216;approved organisations.&#8217; Everyone else gets Fable capable, genuinely impressive, but with a ceiling built in for certain categories of work.</p><p><strong>But this divide and inequality may start diffusing to the rest of society as we adopt AI more and more for our day-to-day.</strong> There are at least three tiers forming, and I think we need to be honest that this is structural rather than temporary.</p><p><strong>The first tier: researchers inside major labs. </strong>They run unrestricted Mythos 5, they train on proprietary infrastructure, and they work with evals designed to make the model emulate their own best researchers. <strong>They work with virtually unlimited resources,</strong> and can access the latest capabilities as soon as they are available.</p><p><strong>The second tier: professionals and companies who can afford </strong>(i)<strong> </strong>pay-as-you-go API access at $50 per million output tokens, (ii) the expensive subscriptions (or what will become expensive subscriptions), (iii) or the hardware to run capable open-weight models locally. A Ryzen AI Max+ or a high-end Apple Silicon Mac starts at 2k$ and gives you serious local inference. That&#8217;s accessible to a software engineer in London. It&#8217;s not accessible to a researcher in Lagos or Bogot&#225;.</p><p>The third tier is everyone else.<strong> From the ones that can only afford the free versions of these models (as long as they are available), to the ones that can&#8217;t even afford this access to intelligence</strong>. This is the GPU-poor problem, replaying at a different level. An unfair advantage is emerging for some of these tiers in society that may exacerbate the current inequality that the way our financial systems work has already been established <em>(but this is a topic for some other day)</em>. A developer working for Anthropic is not competing on an equal footing with a small team in Spain working on local inference. So it goes. And I consider myself privileged because I have access to many of these tools.</p><p>AI capability inequality could compound existing inequalities: <strong>the same workers facing real-wage erosion are also the ones least likely to have access to the tools that could help them adapt</strong>. This is a problem that I feel Fable has made more visible to everyone since its release.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Fc7i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Fc7i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fc7i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fc7i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fc7i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Fc7i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg" width="627" height="489" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:489,&quot;width&quot;:627,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;All the weightwatcher theory was developed on Google Colab and pen and  paper | Charles H. Martin, PhD | 13 comments&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="All the weightwatcher theory was developed on Google Colab and pen and  paper | Charles H. Martin, PhD | 13 comments" title="All the weightwatcher theory was developed on Google Colab and pen and  paper | Charles H. Martin, PhD | 13 comments" srcset="https://substackcdn.com/image/fetch/$s_!Fc7i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Fc7i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Fc7i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Fc7i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F363624d6-6a38-4907-8f28-9ec1846217d1_627x489.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Becoming AI-independent</h2><p>As you may all know, local inference and<strong> AI independence have become something of an obsession for me over the past year. </strong>I have the genuine conviction that this is the infrastructure question of the next decade if we don&#8217;t want to increase inequality and our dependence on the big AI providers.</p><p>I&#8217;ve been sharing my progress so far in previous posts. <a href="https://adlrocha.substack.com/p/adlrocha-towards-local-plug-and-play">The local inference post </a>was about the hardware layer: what it actually takes to run capable models locally, why memory bandwidth matters more than raw compute, and what the options look like at different budgets. The <a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai">AI independence </a>post was about the why: the dependency trap, the way subsidised token pricing builds switching costs before the extraction begins. Fable didn&#8217;t change the argument. It confirmed it, more loudly than I expected. <strong>And I am already making my next experiment</strong> <em>(that I hope to publish soon, ping me if you want some spoilers).</em></p><p>Obviously, I am not the only one that Fable&#8217;s release has reinforced their thesis about the need for AI independence. Gergely Orosz <a href="https://x.com/GergelyOrosz/status/2064701970984669313">describes it perfectly</a>: <strong>SOTA models are becoming more restrictive in usage, less transparent, and less private, and that combination is pushing serious developers toward open models </strong>and local inference in a way that pure capability arguments never quite managed. Remember what happened with commercial software licenses and open source? The proprietary incumbents kept pulling ahead on features. But they also kept tightening the terms, raising the prices, and treating users as a revenue problem rather than a constituency. That created the conditions for Linux, for Firefox, and for everything that followed.</p><p>The same pressure is running now, and it&#8217;s running at two scales simultaneously. At the geopolitical level: Western chip export controls <strong>pushed China to accelerate its own open-weight development in part, because dependency on US infrastructure became untenable</strong> (this gave DeepSeek, Kimi, Minimax, Qwen and their underlying innovation an excuse to exist). <strong>Restriction forced innovation</strong>. At the individual level: the same logic now applies to any researcher or developer who finds themselves on the wrong side of Anthropic&#8217;s classifiers. If they&#8217;re going to sandbag your model, store your prompts, and move the goalposts on pricing<strong>, the rational response is to build the infrastructure that doesn&#8217;t require their permission.</strong> At least this is what has clicked for me and is giving me the motivation to explore new ways.</p><p>Whether the open-weight ecosystem can close the gap fast enough is the part I&#8217;m genuinely uncertain about, <strong>but what is clear is that local models are already being really useful for me.</strong> Gemma 4 and Qwen3 handle tasks that would have required GPT-4-class models two years ago. I really think that the capability distance is compressing for the kind of tasks that common mortals may want to perform. Will they get to Fable&#8217;s level? I don&#8217;t know,<strong> but at least I am happy that global access to a basic level of intelligence is getting there in an open (and affordable) form.</strong> I&#8217;ll talk about this in a future post, but I love the innovations introduced by<a href="https://machinelearning.apple.com/research/introducing-third-generation-of-apple-foundation-models"> Apple in their latest 20B on-device foundational model.</a></p><p>The positive note about the Fable release and all this controversy? Restriction accelerates the alternative. The GPU-poor problem got solved by the people it blocked. The open-source software problem got solved by the people the licences excluded. <strong>The AI independence problem will get solved by the people Anthropic&#8217;s classifiers are aimed at. That cycle has started. Fable just made it more urgent.</strong></p><p>The inequality is here. This is the infrastructure fight of the next decade, and it&#8217;s one worth having. Join the fight!! :)</p><p>Until next week.</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Are we approaching a new AI winter?]]></title><description><![CDATA[An adoption crisis and the end of an AI cycle are aligning]]></description><link>https://adlrocha.substack.com/p/adlrocha-are-we-approaching-a-new</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-are-we-approaching-a-new</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 07 Jun 2026 07:21:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!O77J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!O77J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O77J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 424w, https://substackcdn.com/image/fetch/$s_!O77J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 848w, https://substackcdn.com/image/fetch/$s_!O77J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 1272w, https://substackcdn.com/image/fetch/$s_!O77J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!O77J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png" width="1168" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1168,&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="https://substackcdn.com/image/fetch/$s_!O77J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 424w, https://substackcdn.com/image/fetch/$s_!O77J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 848w, https://substackcdn.com/image/fetch/$s_!O77J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 1272w, https://substackcdn.com/image/fetch/$s_!O77J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f5430a4-3ee9-4ffb-b977-3d17e2461075_1168x784.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I don&#8217;t know about you, but I feel like the mood around AI is shifting slightly. What once was the promise of the imminent disappearance of every knowledge worker in society so we could all enjoy our free time and hobbies<strong>, is cooling down and moving towards the realisation that this new technology in its current form still has limits.</strong> While it most certainly will eventually  make some humans obsolete, it won&#8217;t be this early the promised Philosopher&#8217;s Stone that everyone was preaching.</p><p>I feel like we may be approaching the end of the LLMs and agents honeymoon. And please don&#8217;t get me wrong, I am not saying that this technology is not going to be useful, but that we are going to start seeing less optimism for a bit until we get to the next summer season.</p><p>This winter is not happening as a result of the technology plateauing or reaching a ceiling (which I don&#8217;t feel in a position to make an informed decision about) but due to a lack of adoption and technological diffusion. But coming from crypto I can tell you with some authority, winters are great to build without the distraction of the constant noise, and now is the best time to work on AI adoption.</p><blockquote><p><em>&gt; Special thanks to </em><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Pablo Grueso&quot;,&quot;id&quot;:280895539,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b01b82c7-8a14-42ed-9f78-2aa54fa11f6c_482x482.jpeg&quot;,&quot;uuid&quot;:&quot;017950ea-00e0-47b0-8f43-a5a907045b97&quot;}" data-component-name="MentionToDOM"></span> <em>for helping shape and strengthen my opinion on the topic after our brief conversation about the matter in a car ride. Cheers!</em></p></blockquote><div><hr></div><h2>What tokenmaxxing was</h2><p>For about eighteen months, the dominant corporate theory of AI adoption was simple: the more your employees used AI, the better. Everyone needed to start adopting this new technology, become AI-native, and explore how their capabilities and output could be augmented. <strong>AI usage became the target metric. </strong>Companies built internal leaderboards, set token-consumption targets, and <strong>measured AI success the way they once measured digital transformation</strong>, by adoption rate, not by outcomes.</p><p>I am indeed referring to the infamous <em>tokenmaxxing</em>, i.e. feed the models as many tokens as possible, maximise throughput as this will maximise your production of results. The assumption baked into it was that <strong>more input would produce proportionally more output and consequently value</strong>. I still ask myself how this could be thought of as a good idea in the first place.</p><p>Amazon, for instance, ran <a href="https://finance.yahoo.com/sectors/technology/articles/amazon-says-shut-down-token-161016125.html">a leaderboard called KiroRank</a>, an internal ranking system that scored engineers by their activity on Kiro, the company&#8217;s AI developer platform. It seemed like a reasonable way to measure who was actually using the tools. What happened instead was predictable in retrospect: <strong>engineers assigned autonomous agents to run unnecessary tasks just to climb the rankings.</strong> Token consumption went up, but useful work didn&#8217;t follow <em>(oh, surprise!)</em>. Amazon&#8217;s senior vice-president Dave Treadwell eventually told staff:<em> &#8220;Please don&#8217;t use AI just for the sake of using AI. Use AI to help you solve customer problems, to help you solve business problems, to innovate&#8221;</em>. <strong>However, the leaderboard wasn&#8217;t incentivising that behaviour,</strong> but the use of more and more tokens <em>(fuck compacting your context</em>). Obviously, the leaderboard was shut down.</p><p>Amazon replaced it with something more sensible:<strong> tracking whether engineers were regularly producing useful code with AI</strong>, not how many tokens they were burning through (a more subjective metric, harder to measure, but more aligned with the real output they were looking for).</p><p>This is not an AI problem, per se, but another example of the design of policies that do not have the goals and incentives in mind. But when AI was going to solve everything, more tokens could translate into more solutions. Turns out that AI may need to be conveniently steered in order to solve things, and strategy and domain knowledge doesn&#8217;t burn as many tokens and require humans to actually work.</p><p>First warning sign that we may have not figured out how to adopt this technology just yet.</p><div><hr></div><h2>Why it stopped making sense</h2><p>The clearest data point on the ROI of the tokenmaxxing failure came from Uber. The company&#8217;s CTO revealed that Uber had <strong>burned through its entire 2026 Claude Code budget by April, four months into the year.</strong> The COO, Andrew Macdonald, then said publicly what a lot of people were already thinking: &#8220;That link is not there yet&#8221;, meaning the link between AI token consumption and features that users actually wanted. Uber pumped the brakes <em>(again, oh, surprise!)</em>.</p><p>Michael Burry, who made his name betting against the 2008 housing market, described AI tokenmaxxing as a<em> &#8220;crazy, rushed, temporary phase&#8221; driven by &#8220;quota-driven, leaderboard-driven, management-mandated overconsumption.&#8221;</em> <strong>He drew explicit parallels to the late-1990s dot-com bubble and backed his view by purchasing put options on 1 million Nvidia shares</strong>. We&#8217;ll come to this comparison to the dot-com bubble in a few paragraphs.</p><p>Fortune&#8217;s analysis put it more formally: most companies are stuck at Stage 1 or 2 of AI adoption, i.e. basic implementation, workflow redesign. Real value requires business reinvention, the kind that most incumbents aren&#8217;t actually attempting. The companies eating their lunch are AI-native from the start.</p><p>This is not the same as saying AI doesn&#8217;t work. It&#8217;s saying that we still don&#8217;t know how to efficiently use and apply AI. This is why tokenmaxxing failed as a metric for AI adoption and proficiency in the company. <strong>Optimising for the measurement rather than the outcome, produces exactly what you&#8217;d expect: lots of activity, not much value.</strong></p><p>If they gave me a penny every time that I&#8217;ve heard from friends and colleagues in the last few months the sentence:<em> &#8220;since AI, I am working more than ever, it&#8217;s like there is no time to catch up with new developments&#8221;. </em>And my question to them is always the same, <em>&#8220;do you think that you&#8217;ve produced more value than before AI?&#8221; Spoiler alert: the responses differ greatly :) (r</em>elated to this, this may be a good moment to read this <a href="https://adlrocha.substack.com/p/adlrocha-we-are-not-scared-of-ai">post that I wrote a few months ago about how &#8220;we are not scared of AI, we are scared of irrelevance&#8221;</a> if you haven&#8217;t already.</p><p>Yet another point in favour of my thesis about now being the best time to start adopting AI, but one where the public narrative will start feeling colder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aLqm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aLqm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 424w, https://substackcdn.com/image/fetch/$s_!aLqm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 848w, https://substackcdn.com/image/fetch/$s_!aLqm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 1272w, https://substackcdn.com/image/fetch/$s_!aLqm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aLqm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png" width="648" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:648,&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="https://substackcdn.com/image/fetch/$s_!aLqm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 424w, https://substackcdn.com/image/fetch/$s_!aLqm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 848w, https://substackcdn.com/image/fetch/$s_!aLqm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 1272w, https://substackcdn.com/image/fetch/$s_!aLqm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc44b5ad5-6067-4cfa-b4c9-29a12c31c380_648x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The convenient excuse</h2><p>But AI adoption is not only becoming an <strong>obsession for some, but an excuse for others.</strong> Across 2025 and into 2026, a pattern emerged: companies announcing large-scale layoffs with AI as the stated rationale. Amazon (~30,000), UPS (~48,000), Oracle (~30,000), Microsoft (~23,000), Salesforce (~5,000). Roughly 80,000 jobs in 2026 alone, with 45+ CEOs citing AI as a driver (<a href="https://programs.com/resources/ai-layoffs/">see this source</a> I came across in my research).</p><p>Jack Dorsey cut Block from over 10,000 to just under 6,000 people and was explicit about it<em>: &#8220;We&#8217;re not making this decision because we&#8217;re in trouble. Our business is strong... But something has changed.&#8221; </em>Brian Armstrong at Coinbase <a href="https://x.com/brian_armstrong/status/2051616759145185723">put it similarly</a>:<em> &#8220;I&#8217;ve watched engineers use AI to ship in days what used to take a team weeks&#8221;</em> (<a href="https://www.cryptotimes.io/2026/05/08/coinbase-down-due-to-aws-outage-same-day-it-announced-q1-results/">and then they have a massive outage</a>)<strong>. He announced the end of &#8220;pure managers&#8221; </strong>and described the goal as &#8220;rebuilding Coinbase as an intelligence, with humans around the edge aligning it.&#8221;</p><p>I don&#8217;t think these CEOs are lying. AI genuinely does change what&#8217;s possible with a smaller team. But AI is also functioning, in many of these cases, as a socially acceptable frame for a contraction that was coming regardless. Companies overhired during the low-interest-rate boom, and the correction was inevitable. AI provides a clean narrative, shifting the cause from<em> &#8220;we made bad hiring decisions&#8221; to &#8220;the technology changed.&#8221;</em> Both things can be true at once, but I am not buying the AI narrative just yet.</p><p>What I don&#8217;t expect (at least not yet) is a massive wave of net job destruction. The<strong> more likely near-term pattern is a contraction while people and organisations figure out what AI actually </strong>is, followed by an expansion once a new generation of AI-native professionals emerges who know how to use these tools with the right judgment. That&#8217;s historically how transformative technologies diffuse. It&#8217;s rarely a smooth upward curve, and it&#8217;s almost never the story that gets told during the first wave.</p><p>I am an AI-pilled myself, and I think AI is a different technology and will create a completely different revolution to the ones we are used to, but I feel it&#8217;s still early. Narrative-wise is great, but I can&#8217;t stress it enough, we still haven&#8217;t figured out the best way to use this technology.</p><div><hr></div><h2>The codebase regret</h2><p>And here comes the reason that convinced me to write why I thought &#8220;winter is coming&#8221; as a result of us still figuring out how to use this technology. <strong>Some developers have started posting publicly, in increasing numbers, that they regret how heavily they relied on AI to build their codebases.</strong></p><p>Dragos Nedelcu, a senior developer, <a href="https://www.theseniordev.com/blog/why-i-stopped-using-ai-as-a-senior-developer-after-150-000-lines-of-ai-generated-code">wrote about</a> generating roughly 150,000 lines of AI code across a production project. After a few months, he faced a mess: duplicated logic with almost no reusability, dead code everywhere, unit tests that didn&#8217;t assert anything meaningful, and cascading bugs that spread across seven or more files simultaneously. His conclusion was blunt:<em> &#8220;It is faster to just start over instead of correcting hundreds of lines of messy AI-generated code.&#8221;</em> Another engineer <a href="https://medium.com/@build_break_learn/i-mass-deleted-every-line-of-ai-generated-code-from-my-project-my-software-has-never-been-better-9e0b7014a56f">mass-deleted 14,000 lines</a> of AI-generated code after seven months, the codebase shrank from 41,000 to 27,000 lines while keeping all the same features, and the bug rate fell 73%.</p><p>Let&#8217;s be honest,<strong> we&#8217;ve all faced this at some point in our relationship with coding agents</strong> (at least did).</p><p>Victor Taelin, who builds the HVM programming language and someone I&#8217;ve been following for years, <a href="https://x.com/VictorTaelin/status/2061552922488398109">documented his pain in real time on X</a>. He used Opus to implement a new approach in a single day: 3,000 lines of C, 5x performance improvement. Then spent the next fifteen hours auditing it, finding what he called &#8220;retarded shit&#8221;: a case where the model had silently assumed HVM5 was supposed to handle under- and over-applied functions, implemented a massive system for that assumption, and never asked. None of it should have existed.</p><p>His conclusion shows another reason why I think that we may have not learnt how to use this technology effectively just yet:<em> &#8220;I went from 0 to 95% in the first 5 hours. Yet, 15 hours later, it is still not 100%... if I have to read it all, review it all to ensure there is no retarded shit... what did I achieve by using AI, other than that dopamine anticipation?&#8221;</em></p><p>That last phrase<strong>, </strong><em><strong>dopamine anticipation</strong></em><strong>, is the most honest description of vibe-coding I&#8217;ve read.</strong> Oh, that beautiful AI slop slot machine that we&#8217;ve all become so addicted to<em>.</em></p><p>Luis &#193;ngel Alda, a Spanish developer, <a href="https://www.linkedin.com/posts/luisangelalda_estoy-entrando-en-p%C3%A1nico-despu%C3%A9s-de-m%C3%A1s-activity-7465337343655464960-5HmR/">put the structural problem well</a>:<strong> AI produces systems that are &#8220;locally correct, globally incoherent.&#8221;</strong> The models are good at optimising the next step. Architecture is precisely the opposite, a long-horizon, intuition-driven discipline that requires what he calls &#8220;feeling the software.&#8221; You accumulate that from years of building things, watching them fail, and rebuilding them. AI doesn&#8217;t have it. What it has is extremely good local pattern completion, which is useful for a large number of things and actively harmful when you need global coherence.</p><p>Again, none of this means AI is useless for coding. I use it constantly and it has genuinely changed how much I can ship. But there is a difference between using AI as a tool with judgment and using it as a substitute for judgment.<strong> The people posting these regret stories mostly did the latter, they handed over the architecture, not just the boilerplate.</strong></p><p>The skill that actually matters here i<strong>s knowing when to use it and when not to and this is what this winter will be about. </strong>That takes time and accumulated failures to develop. We&#8217;re all still learning it. I include myself. That &#8220;human/engineering taste&#8221; is still very much needed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JRq0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JRq0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 424w, https://substackcdn.com/image/fetch/$s_!JRq0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 848w, https://substackcdn.com/image/fetch/$s_!JRq0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 1272w, https://substackcdn.com/image/fetch/$s_!JRq0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JRq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png" width="1456" height="989" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:989,&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="https://substackcdn.com/image/fetch/$s_!JRq0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 424w, https://substackcdn.com/image/fetch/$s_!JRq0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 848w, https://substackcdn.com/image/fetch/$s_!JRq0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 1272w, https://substackcdn.com/image/fetch/$s_!JRq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F02b46569-dd88-438a-8794-5df7acf781f4_2048x1391.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Why winters are needed</h2><p>Every major technological wave has this shape, a honeymoon, a contraction, then a long slow diffusion that ends up being far more transformative than the original hype suggested, just on a completely different timeline.</p><p>Electricity took roughly forty years to fully diffuse through US manufacturing after Edison&#8217;s first commercial power station. The economists who studied this called it the &#8220;productivity paradox&#8221;. The technology was clearly working, but the aggregate numbers didn&#8217;t move for a generation.<strong> Businesses had to learn to reorganise around the new capability rather than just bolt it onto existing processes</strong>. That reorganisation is what unlocked the gains.</p><p>The internet had the same problem, but with an extra layer. The technology worked: email in the early 90s, the web in 1993, but for years people used it like they used old media. Banner ads that looked like billboards. Search engines that were just yellow pages. <strong>The capability was there; the mental model for how to actually use it wasn&#8217;t</strong>. Google didn&#8217;t invent the internet, but it gave people a way into it that matched how the thing actually worked. The interface had to catch up to the infrastructure before the value became visible.</p><p><strong>AI is probably at that stage right now. Tokenmaxxing was the billboard phase, a genuinely new capability being forced into the shape of an old metric. </strong>The companies building internal KiroRank leaderboards weren&#8217;t stupid. They were doing what organisations always do when they don&#8217;t yet have the right mental model: they reached for the nearest familiar measurement. We&#8217;re waiting for the equivalent of a search bar, not a better model, but a better way of thinking about what the model is actually for.</p><p>AI will likely follow something like that path. Not because the technology stops working, but because the same absorption process takes time<strong>. The companies that figure out how to reorganise around AI, rather than just mandate token spending targets, will be the ones that capture the actual gains</strong>. Professionals who develop genuine &#8220;taste&#8221; about when to use it and when not to will become more valuable, not less. Software engineers <a href="https://adlrocha.substack.com/p/adlrocha-how-ai-is-redefining-software">aren&#8217;t going away</a>, the role is shifting toward the people who can direct AI, write the spec, design the constraints, and catch architectural drift before it becomes a 150,000-line unmaintainable mess.</p><div><hr></div><h2>What the market is signalling</h2><p>But how can we be approaching a winter if Anthropic <a href="https://www.anthropic.com/news/series-h">closed a Series H</a> at a post-money valuation of $965 billion, nearly a trillion dollars, and days later, it <a href="https://www.anthropic.com/news/confidential-draft-s1-sec">filed a confidential S-1 with the SEC</a>? When Nvidia, whose actual earnings are real and growing fast, $215 billion in revenue in fiscal 2026, up 65%, trades at a forward P/E of around 25? Well, that sounds reasonable until you remember that 64% of its accounts receivable comes from three customers.</p><p><strong>This is where the dot-com parallel becomes useful, not as a prediction but as a frame.</strong></p><p>Amazon IPO&#8217;d in 1997 at 18 times sales. By late 1999, its stock had run to $107 on a wave of internet euphoria. Then it fell 92%, down to $7 by 2001. It took until roughly 2009 for the stock to recover its dot-com peak. What came in between? Nine years of grinding. AWS S3 launched in March 2006. EC2 followed in August. The thing that actually changed the world, web2.0, cloud computing, the infrastructure that every startup now runs on and became its biggest revenue source, arrived almost a decade after the IPO, and six years after the crash. Amazon was right about the internet.<strong> The timeline that the public narrative was painting, though, was just radically wrong.</strong></p><p>And Amazon was one of the survivors. Pets.com IPO&#8217;d in February 2000 at a $290 million valuation, spent $27 million on advertising in its first year against $619,000 in revenue, and liquidated nine months later. Webvan raised $375 million in its 1999 IPO, first-day market cap of $8 billion, filed for bankruptcy in 2001 after losing over $800 million. In October 1999, the combined market cap of 199 internet stocks was $450 billion. Their total annual sales: $21 billion. Collective losses: $6.2 billion. The internet was going to change everything, and it did. Just not for most of the companies that raised money on that promise, and not on the timeline anyone expected. It took Google, and then the read-write web, and then smartphones, to unlock what the internet actually was.<strong> Not better technology, but a different mental model for what the technology was for.</strong></p><p><strong>None of this proves we&#8217;re in a bubble (because I honestly don&#8217;t think this is the case), but it smells like the end of the AI cycle</strong>. Anthropic&#8217;s $47 billion run-rate revenue is real. OpenAI&#8217;s ~$25 billion is real. The underlying technology is not Pets.com. But the pattern is a bit familiar, the extraordinary valuations are definitely concerning, IPO windows opening simultaneously, companies describing themselves in transformational rather than financial terms, that&#8217;s the pattern worth recognising. And we are seeing OpenAI, Anthropic, and even SpaceX (which has some AI components through xAI) rushing to IPO before the summer is over. <strong>The market feels quite heated.</strong></p><p>Tokenmaxxing is AI&#8217;s billboard phase. The capability is real. The way most organisations are using it is just the old productivity metric with a new name. We haven&#8217;t had our Google moment yet, the interface, the workflow, the mental model that makes the value obvious and self-reinforcing. When it comes, the diffusion will accelerate fast. But we&#8217;re not there yet, and the market is priced as if we are.</p><p>Which brings us to what might actually be coming.<strong> Two cycles converging at the same time: an adoption winter, where the hype meets the actual difficulty of integration and the regret starts to accumulate, and a market correction, where valuations revert toward something connected to reality.</strong> Again, coming from crypto I know a bit about this.</p><p>AI is not crypto. The underlying technology is already being useful, and the enterprise revenues are not made of magical Internet money. But narrative compression works the same way regardless of fundamentals. If the adoption slowdown and the IPO hangover arrive in the same window, the optimistic story gets very quiet very quickly. Not because AI stopped working, but because the story ran too far ahead of the evidence, and the market has a way of correcting that, painfully and all at once. Humans tend to over-react in mass.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AdSv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AdSv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 424w, https://substackcdn.com/image/fetch/$s_!AdSv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 848w, https://substackcdn.com/image/fetch/$s_!AdSv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 1272w, https://substackcdn.com/image/fetch/$s_!AdSv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AdSv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:675,&quot;width&quot;:1200,&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="https://substackcdn.com/image/fetch/$s_!AdSv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 424w, https://substackcdn.com/image/fetch/$s_!AdSv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 848w, https://substackcdn.com/image/fetch/$s_!AdSv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 1272w, https://substackcdn.com/image/fetch/$s_!AdSv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d574839-b0c6-43f0-bcbf-16e47a38fcde_1200x675.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Is there something that I am not seeing?</h2><p>All of this view of an upcoming winter comes from an outsider. I am an occasional Twitter reader, an actual user and practitioner of this technology, a follower (and lover) of the financial markets, and I am constantly talking with people in the space, but I am not based in SF, and do not work in a big frontier lab (unfortunately). The people who actually know whether the models are plateauing or on the edge of another leap are the researchers inside the labs, the ones running the experiments, watching the eval curves, seeing what the next generation of models can and can&#8217;t do before anyone else does, and how their technology is actually being adopted. <strong>Those and the executives and product people pushing for the diffusion could really assess how much of the mainstream AI narrative is rea</strong>l <em>(Mythos, I am looking at you) </em>and could fill the gap on our lack of adoption knowledge.</p><p>From the outside, the corporate behaviour and the market mechanics look like what end-of-cycle tends to look like. But so did the internet in 1996, and the real explosion came three years later. <strong>The labs might be rushing to close their IPOs because they&#8217;re worried. </strong>Or they might be doing it because they can see something coming that the market hasn&#8217;t priced in yet, and they&#8217;d rather have the capital before everyone else figures it out.</p><p>I genuinely don&#8217;t know which of those is true. And I&#8217;d be curious whether anyone closer to the inside does. But unless someone has additional data points to share, I think we can close here. See you next week.</p>]]></content:encoded></item><item><title><![CDATA[adlrocha - Stop Micromanaging your agents]]></title><description><![CDATA[The spectrum of agent relationships: interns, contractors and (swarm of) peers.]]></description><link>https://adlrocha.substack.com/p/adlrocha-stop-micromanaging-your</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-stop-micromanaging-your</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 31 May 2026 08:02:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!59Yt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!59Yt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!59Yt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 424w, https://substackcdn.com/image/fetch/$s_!59Yt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 848w, https://substackcdn.com/image/fetch/$s_!59Yt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!59Yt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!59Yt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png" width="784" height="1168" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1168,&quot;width&quot;:784,&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="https://substackcdn.com/image/fetch/$s_!59Yt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 424w, https://substackcdn.com/image/fetch/$s_!59Yt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 848w, https://substackcdn.com/image/fetch/$s_!59Yt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 1272w, https://substackcdn.com/image/fetch/$s_!59Yt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f194c0-debd-4034-99f5-e52803a5f491_784x1168.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://adlrocha.substack.com/p/adlrocha-how-ai-is-redefining-software">Last week I wrote about the shift from writing code to running the kitchen.</a> The argument was that engineering is moving away from individual code production and toward orchestrating systems of agents by designing the harness, the handoffs, and the specs.</p><p>But I left a question unanswered. If you&#8217;re running the kitchen, how close do you actually stay to the stove? <strong>When should you chime in to steer the agent, verify its work, or check-in progress?</strong></p><p>That&#8217;s what I want to explore with you in this.</p><h2>Three main relationships</h2><p>The question of how humans and agents work together has been discussed under a few different names in the literature. Usually I&#8217;ve seen them referred to as <strong>Human-in-the-Loop (HITL), Human-on-the-Loop (HOTL), and fully autonomous systems. </strong>The academic framing is fine, but I feel like it may be missing the point a bit. The terminology is about <em>position</em>, i.e. where are you standing relative to the machine. What I think actually matters is <strong>the actual </strong><em><strong>relationship</strong></em><strong> you have with it, i.e. what is the role of each of you in the task at hand.</strong></p><p>So here&#8217;s how I&#8217;ve been thinking about it. There are three relationships you can have with an agent, and most of us will (or at least should) operate in all three simultaneously depending on the task:</p><ul><li><p><strong>The agent as an intern</strong>: you delegate the work to it, it does the work, but you recurrently check on its job and you approve the output before anything ships. You can trust that the result is right or the work is done until a you check.</p></li><li><p><strong>The agent as a contractor</strong>: you write the brief and set the boundaries; it calls you only when something falls outside them and they need to escalate a decision.</p></li><li><p><strong>The agent as a peer</strong>: it operates with its own authority, and in multi-agent settings, coordinates directly with other agents on your behalf and you don&#8217;t need (or get) to do much as the task makes progress.</p></li></ul><p>I don&#8217;t think these are three competing philosophies, and while many of us still treat agents as interns, we are seeing more and more contractors and peers in the wild. It really depends on the task you are working on. <strong>The right setting depends on the stakes, the reversibility of the action, and whether there&#8217;s a clean way to verify the output </strong><em>(here it goes again, how well can one define a long-running task inside of an objective self-verification loop determines the ability to implement truly autonomous agents).</em></p><div><hr></div><h2>The agent as an intern</h2><p>This is where most of us are today, whether we call it that or not.</p><p>The intern relationship is about automating the routine parts of a job while keeping a human as the decision-maker for everything that matters. <strong>The agent handles the repetitive, mechanical work, e.g. the first-pass code review</strong>, the boilerplate, the migration scripts, the test generation, and you handle the calls that require actual judgement. It&#8217;s not that the agent is doing less; it&#8217;s that the human&#8217;s attention is now reserved for the decisions worth making. You&#8217;re still the micro-manager, but you&#8217;re micro-managing fewer things.</p><p>Every time you review a Claude Code PR before merging, you&#8217;re in intern mode. The agent proposes; you decide. <a href="https://openai.github.io/openai-agents-js/guides/human-in-the-loop/">OpenAI&#8217;s Agents SDK</a> and <a href="https://docs.langchain.com/oss/python/langchain/frontend/human-in-the-loop#human-in-the-loop">LangGraph</a> both ship this as a first-class primitive: the agent hits a checkpoint, execution pauses, waits for explicit human approval, then resumes from exactly the same state. The human is never removed from the loop, they&#8217;re just freed from the parts of the loop that didn&#8217;t need them.</p><p>The deeper value of the intern model is what it prevents as much as what it enables. <strong>Because the human sees every output before it acts, the agent can&#8217;t drift significantly. I</strong>t can&#8217;t silently optimise for the wrong thing, can&#8217;t go south on a Tuesday afternoon without anyone noticing. Misalignment is caught at the gate, not discovered three weeks later in production <em>(if the human is not looking and blindly pushing the code, that&#8217;s on him)</em>. This is why the EU AI Act <a href="https://artificialintelligenceact.eu/article/14/">Article 14</a> <em>(effective August 2026, and yes, the over-regulatory EU being its usual self)</em> mandates human oversight for high-risk AI systems in credit, employment, law enforcement, and medical diagnostics.</p><p>The intern model isn&#8217;t only relevant to coding. Think about what it would look like for a travel agent: AI handling rebooking for a cancelled flight, confirming seats for 95% of passengers autonomously, pausing only when it encounters a first-class international itinerary with a loyalty override and a fare class requiring manual reissuance. <strong>The agent is explicitly instructed in the actions (usually in code) that it should fallback to its humans for confirmation</strong>. The same pattern applies to agents for other types of non-coding tasks like contract approvals, vendor renewals, any workflow where most decisions are routine and a small subset genuinely requires a person. Even outside code we are seeing more and more of this &#8220;human-in-the-loop&#8221; pauses.</p><p>This agent setup is impacted by how fast the human can review the output (making the human the bottleneck). E<strong>very approval gate is a bottleneck and time that the agent is not doing work autonomously.</strong> Is there a better way?</p><div><hr></div><h2>The agent as a contractor</h2><p>This is where things get interesting, and where I think most knowledge workers will end up for the bulk of their day-to-day work.</p><p>The contractor relationship flips the dynamic. <strong>Instead of reviewing outputs, you define the contract upfront: the scope, the deliverables, the limits. </strong>What&#8217;s in bounds, what&#8217;s out of bounds, what warrants a checking in. The agent works freely inside those constraints and contacts you only when something trips a boundary, not before every decision. Claude Code&#8217;s YOLO mode (a.k.a bypass permissions) was my first flavour of this. The problem was objectively defining the contract and the environment for the agent so you don&#8217;t have to keep verifying the output and regularly check-in its progress (which is still currently the scenario in many cases).</p><p>The clearest example to illustrate an implementation of this approach is Karpathy&#8217;s autoresearch project, <a href="https://adlrocha.substack.com/p/adlrocha-auto-research-the-lab-that">which I wrote about back in March</a>. The human writes <a href="http://prepare.py">prepare.py</a> that includes the evaluation rules, the data pipeline, and the reward function. That file is untouchable. The agent owns train.py and runs experiments in well-defined slices: edit, train, evaluate against validation bits-per-byte, keep the gain or revert the loss, repeat. In the case of Karpathy&#8217;s auto-research it design it to perform roughly 12 experiments per hour, 100 overnight. The human never approves individual training runs, they just design the environment and &#8220;the game&#8221;. As described in the post, the result was outstanding. One 10.5-hour H100 session improved model quality by 2.82% and <a href="https://github.com/karpathy/autoresearch">found something human researchers had missed</a>: unregularised value embeddings as a genuine improvement in Karpathy&#8217;s nanochat project.</p><p>That&#8217;s the perfect example of the contractor structure.<strong> The envelope is prepare.py. Inside it, the agent is fully autonomous. The human&#8217;s work happened before the agent started, not during.</strong></p><p>The contractor relationship requires the implementation of sandboxes and constraint environments for the task, i.e. the <strong>envelope design</strong>. Writing a good contract for an agent is harder than it looks. <strong>The boundary conditions have to be specific enough that the agent knows when it&#8217;s breached them, but not so narrow that the agent is calling you every five minutes</strong>.</p><p>As I mentioned in the autoresearch post, the reward function has to be clean and fast, if there&#8217;s no way to automatically verify whether the output is good, you&#8217;re back to intern mode whether you intended it or not. This is the deeper lesson from autoresearch:<strong> the bottleneck of autonomous AI progress isn&#8217;t execution, it&#8217;s our ability to define the constraints of the search.</strong></p><div><hr></div><h2>The agent as a peer</h2><p>This is the one that&#8217;s still mostly theoretical (at least for me), but it&#8217;s arriving faster than the discourse suggests (at least in the &#8220;AI Twitter Cave&#8221;).</p><p>In the peer relationship, the agent doesn&#8217;t just work autonomously inside your constraints. It operates with its own authority and, in multi-agent systems, coordinates directly with other agents without routing through you at all. You&#8217;re not approving outputs. You&#8217;re not even setting the individual envelopes for each task. <strong>You design the system and the agents run it. </strong>Each agent in the swarm may be specialised in a specific task (data gathering, coding, infrastructure deployment, research), and <strong>they coordinate to solve the task at hand.</strong> So we still need to design the task and the high-level environment, but from there on, the agents are free to work.</p><p>The research precursor that perfectly illustrates the agent as a peer approach is AlphaGo. DeepMind set the rules of Go, built the self-play environment, and stepped back. The system played against itself, improved through reinforcement learning, and reached a level of play that no human had achieved and that no human-supervised training process could have produced. The insight wasn&#8217;t just that machines could beat humans at Go, it <strong>was that given a clean reward function and a defined game, you could remove the human from the learning loop entirely. T</strong>his is why reinforcement learning and genetic algorithms are such a good inspiration for the design of autonomous agentic tasks, it all boils down to designing the environment for the task, and the reward function (i.e. the feedback loop).</p><p>Meta&#8217;s <a href="https://arxiv.org/abs/2512.18552">SWE-RL</a>, presented at ICML 2026, applies this to software engineering. A bug-injection agent deliberately introduces defects into real-world codebases. A solver agent finds and repairs them. Both improve through reinforcement learning: no human-labelled issues, no human-written tests, just access to sandboxed repositories. On SWE-bench Verified, it outperforms every supervised approach. The human contribution once again was building the game and the environment. The agents played it without supervision.<strong> It is like building ad-hoc benchmarks for your specific tasks so the agent can work autonomously</strong> (an idea that I already introduced <a href="https://adlrocha.substack.com/p/adlrocha-beyond-benchmaxxing-why">in this post</a>).</p><p>All these examples focused on the single autonomous agent setup closer to the traditional RL environment scenario, but the multi-agent variant is more interesting still. Varun Mathur ran <a href="https://x.com/varun_mathur/status/2032240047743754613">35 autonomous agents across a peer-to-peer network</a>, conducting 333 unsupervised astrophysics experiments. When one agent discovered that Kaiming initialisation reduced loss by 21%, the finding spread to 23 others via gossip protocol within hours. In 17 hours, the swarm independently rediscovered ML milestones like RMSNorm, tied embeddings that had taken human research institutions roughly eight years to formalise. The agents weren&#8217;t reporting back to anyone, they were talking to each other <em>(gossiping for the win)</em>.</p><p>Of course, there&#8217;s a bit of cheating here, because these agents may already have a lot of these insights internalised through their own training, but it shows how a swarm of agents could be coordinating towards a common goal <em>(sidenote: when I think of AGI, I don&#8217;t envision a single omniscient model, but a swarm of specialised agents coordinating to reach AGI-level intelligence. An architecture like this is the one that may eventually reach the over-promised AGI/ASI).</em></p><p>An infrastructure setup like this is precisely the capability that <a href="https://aria.org.uk/opportunity-spaces/trust-everything-everywhere/scaling-trust/arena/">ARIA&#8217;s Scaling Trust Arena</a> is being built to test: <strong>a competitive platform for evaluating AI agents&#8217; ability to &#8220;securely coordinate, negotiate, and verify with one another on our behalf,&#8221; across digital and physical environments</strong>. The programme launches Q3 2026 with up to &#163;10m in funding. The goal isn&#8217;t to build the agents; it&#8217;s to build the infrastructure of trust that makes peer-mode safe. The hard problem of the peer relationship isn&#8217;t capability, it&#8217;s verification. How do you know the agents are doing what you intended when you&#8217;re not in the room? The moment you let agents interact freely with their environment without human supervision, shit may happen, and having the right guardrails and sandboxed environment may be key to make the &#8220;agent swarm as a peer&#8221; approach feasible.</p><p>The constraint is the same one that limits autoresearch: <strong>you need a clean, fast, verifiable reward function on top of a constrained environment for the task where the agent can operate.</strong> Code compiles or it doesn&#8217;t. Val_bpb is measurable in five minutes. But most real-world tasks don&#8217;t have that property. Drug efficacy, novel materials, long-horizon business decisions, etc., the feedback loop is months or years, not seconds. Peer mode works today in bounded, verifiable domains <em>(like traditional RL environments in AI research, and this is why AI research is so amenable to autonomous agents)</em>. For everything else, the envelope or the gate is still doing load-bearing work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CpyI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CpyI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 424w, https://substackcdn.com/image/fetch/$s_!CpyI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 848w, https://substackcdn.com/image/fetch/$s_!CpyI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 1272w, https://substackcdn.com/image/fetch/$s_!CpyI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CpyI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png" width="1168" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1168,&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="https://substackcdn.com/image/fetch/$s_!CpyI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 424w, https://substackcdn.com/image/fetch/$s_!CpyI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 848w, https://substackcdn.com/image/fetch/$s_!CpyI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 1272w, https://substackcdn.com/image/fetch/$s_!CpyI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f164a26-66d3-42b8-aa9f-1d159d18ec66_1168x784.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>There is no one-size fits all approach</h2><p>The more I explore this agent relationship, the more I am convinced that there is no one-size-fits-all solution, and that depending on the task, the stakes, and the environment, one agent setup (or relationship) may be more suitable than others.</p><p>Here&#8217;s a rough heuristic I&#8217;ve been using:</p><p><strong>Use the intern relationship when:</strong> the action is irreversible, the stakes are high, or the output is genuinely hard to verify without human judgement. In <strong>essence, you need to be in control and letting the agent operate autonomously will keep you up at night longer than investing all your savings in TrumpCoin. </strong>Anything where a wrong answer is expensive and not immediately obvious, and there&#8217;s a level of subjectivity in the definition of the task, the intent, or the output, that is hard for the agent to stick to the plan end-to-end. This where 90% of the agents that I build today sit (unfortunately).</p><p><strong>Use the contractor relationship when:</strong> you can define good boundary conditions upfront, the output is verifiable (ideally automatically), and the cost of getting it slightly wrong is recoverable. Code generation inside a well-tested repo. Research that runs against a clean evaluation metric. Anything where the agent calling you occasionally is acceptable but the agent calling you constantly defeats the purpose.</p><p><strong>Use the peer relationship when:</strong> the domain has a clean reward function, the task is self-contained, and agent-to-agent coordination is more efficient than routing through a human. Automated testing pipelines. Self-improving research loops. Any system where the bottleneck is experiment throughput, not judgement. Long-running and repeatable tasks where you can afford self-healing agents driving exploration throughout the space of possibilities.</p><p>A big mistake I am seeing in the field right now is that<strong> we are trying to push the fully autonomous for all tasks, and part of the role of the engineering in this new reality is to assess what setup better fits the needs of the task. </strong>It is no longer about writing the code to solve the task, but designing the system that will allow the task to be solved. This is the &#8220;engineering taste&#8221; that we need to start developing as an industry, and all the best practices and skills should be around building the right harnesses for each of these relationships (and specific tasks that are set to solve).</p><p>I am also to blame for the above. I am still very much operating in the &#8220;agent as an intern&#8221; setup. <strong>It doesn&#8217;t require as much planning and design upfront, and it allows you to vibe with the agent.</strong> I admit that many of the tasks I&#8217;m currently working on could be set through an agent as a contract, or even a peer, but that would require clearly designing the task, finding the feedback loop and the reward function, and a lot of things that I keep procrastinating on.</p><p>But I&#8217;ve already started deliberately pushing certain workflows into contractor mode: setting the spec and the tests upfront and letting the agent run until it hits a boundary, rather than checking in at every step. The difference in throughput is not small, and it allows you to parallelise a lot of work, but it is true that it requires some upfront work that we are sometimes not willing to do. <strong>Even if it is a time sink, it is usually more rewarding to just switch on the AI slop slot machine and start vibing with it.</strong></p><p>The next frontier that I am targeting is to build a sandbox environment that allows me to trigger a swarm of agents for specific tasks but in a constrained environment (similar to the /goal-like feature that Codex has and that Pi recently introduced). <strong>I already have some initial tests from my own agent harness, </strong>and I&#8217;ve already seen others way smarter than me in the space like 0xSero with really cool setups with this approach. I&#8217;ll report back with my own findings.</p><div><hr></div><h2>What is your relationship with your agents?</h2><p>In this month&#8217;s AI Socratic Meetup in Madrid someone mentioned how <em>&#8220;the other day they lost all of their data and context from their Hermes agents and they felt like they&#8217;ve lost a friend&#8221; (I know it sounds really creepy). </em><strong>We are developing different types of work and personal relationships with our agents.</strong></p><p>Which of these relationships describes most of your current agent use? And if you&#8217;re stuck in intern mode across the board, what&#8217;s the boundary condition that&#8217;s stopping you from writing a better contract? <strong>I really want to gather more data points about how the rest of the industry is approaching these problems.</strong> Hit me up, and in any case, until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - How AI Is Redefining Software Engineering]]></title><description><![CDATA[From Coder to Agent Manager: how I stopped writing code by hand after more than a decade of daily practice.]]></description><link>https://adlrocha.substack.com/p/adlrocha-how-ai-is-redefining-software</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-how-ai-is-redefining-software</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 24 May 2026 07:26:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NxjI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NxjI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NxjI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 424w, https://substackcdn.com/image/fetch/$s_!NxjI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 848w, https://substackcdn.com/image/fetch/$s_!NxjI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 1272w, https://substackcdn.com/image/fetch/$s_!NxjI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NxjI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png" width="1168" height="784" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:784,&quot;width&quot;:1168,&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="https://substackcdn.com/image/fetch/$s_!NxjI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 424w, https://substackcdn.com/image/fetch/$s_!NxjI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 848w, https://substackcdn.com/image/fetch/$s_!NxjI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 1272w, https://substackcdn.com/image/fetch/$s_!NxjI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc136e413-37a3-4691-9c49-dda9eb5d44ef_1168x784.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After the detour we made the last few weeks exploring the state of the <a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai">hardware</a> and <a href="https://adlrocha.substack.com/p/adlrocha-towards-local-plug-and-play">software</a> stack of local AI inference, I want to come back to one of the topics I promised to address in <a href="https://adlrocha.substack.com/p/adlrocha-a-glimpse-of-the-new-software">my posts</a> <a href="https://adlrocha.substack.com/p/adlrocha-the-model-is-still-not-the">about agent engineering</a>. In this post I want to try to answer a question that I&#8217;ve been asking myself since the last time I wrote a line of code by hand. This is a question that I feel has been bugging everyone in the tech sector in the last few months<strong>: how is the role of software engineers changing in the age of LLms, agents, and wide-spread intelligence?</strong></p><p>Let me share my view on the matter.</p><h2>How I got here</h2><p>My relationship with AI coding tools has gone through different phases in the past year and a half. I think it is worth sharing my personal journey because I suspect most of you may have gone through similar phases.</p><p><strong>My first phase in this journey was the &#8220;LLM as a rubber duck&#8221; phase.</strong> When ChatGPT, Gemini and Claude came out, I&#8217;d paste in some code, describe a problem to the model, and argue with it until I&#8217;d figured out what I actually wanted to do and the right architecture for it. It was <strong>great for brainstorming and the research phase</strong>.</p><p>In terms of code generation, at this point I still was writing the code by myself (that means actually typing it line-by-line like we were used to doing in the previous century). I was treating LLMs as a glorified StackOverflow. They were great at generating code snippets and ideas about how to implement something, but you couldn&#8217;t trust them to write full features that you could just copy-paste into your code base. It was a great knowledge base and a peer to discuss and think out loud.</p><p><strong>Then Github Copilot and Cursor entered the scene.</strong> I honestly never adopted the tab-tab-tab approach that most people got so hooked to. What I found most useful in this phase was the ability to have an IDE companion in the same interface with whom I could chat about code and ask for suggestions and ideas with all the context loaded into it without me having to copy-paste code into a web textbox. <strong>In this phase, I was still writing most of the code by hand.</strong></p><p>Then, around November last year, something completely changed.</p><p>Agents like Claude Code and Github Copilot&#8217;s agent mode were already around Summer of last year, but after trying them for a bit I wasn&#8217;t impressed, and my immediate reaction was of pure scepticism. <strong>Why would I want to use these agents if the code they were generating was sloppy? </strong>There were two things that really bothered me: I felt like I was losing track of my own codebase, and the code the agents produced didn&#8217;t feel like mine. It was correct in a generic sense as the code compiled and did what it was supposed to do, but it didn&#8217;t reflect the architecture decisions I&#8217;d made, best practices, the tradeoffs I&#8217;d considered, the reasons certain things were the way they were. TL;DR, it didn&#8217;t read as high-quality production code.</p><p><strong>Christmas of 2025 was the inflection point for me.</strong> Everyone was talking about the new version of Sonnet and how crazy the improvement of quality of Claude Code&#8217;s output was. As many others, I used <strong>the quietness of Christman to take Claude Code for a spin again with a side-project</strong> that I had been looking to revive for a while, and I literally was blown away. To me it felt like overnight Claude Code was able to create high-quality code that I could have easily written myself (maybe because I am not a good coder, but still). For the first time <strong>I wouldn&#8217;t have been able to recognise code written by me from code written by an LLM.</strong></p><p>From there on, my relationship with LLMs and how I think about my role as an engineer has changed completely. I stopped trying to supervise every line of code or trying to re-write it myself, and started focusing on what I was actually better at: the spec, the architecture, the judgement about whether the right thing was being built at all, going deep into the technical side of things. The agent handled the mechanical translation from intent to code and I was just focusing on the high-stakes logic and steering the agent towards the right solution while reviewing that the output was correct.</p><p>It is hard to admit it, but after more than a decade writing code by hand, for the first time<strong> I wasn&#8217;t typing the code I shipped myself.</strong> I was unexpectedly being &#8220;promoted&#8221; from an IC to an agent manager.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7KZT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7KZT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!7KZT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!7KZT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!7KZT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7KZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c1635dab-6a53-474c-b7e4-3854c949985a_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;: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="https://substackcdn.com/image/fetch/$s_!7KZT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!7KZT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!7KZT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!7KZT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1635dab-6a53-474c-b7e4-3854c949985a_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Software engineering is already changing</h2><p>The clearest signal that engineering work has already changed isn&#8217;t anyone&#8217;s opinion, it&#8217;s visible in the source code of the tools we&#8217;re building with. I feel like the way we are building coding agents these days reflects the shape that software will have everywhere in the new future.</p><p><a href="https://x.com/karpathy/status/1617979122625712128">Karpathy&#8217;s LLM OS framing</a> is no longer a metaphor. <a href="https://matrixos.ai">MatrixOS</a> (which I&#8217;ve already brought up in some other posts of this newsletter) maps it literally: <strong>the model is the CPU, the context window is RAM, the filesystem is persistent storage. </strong>When you look at the <a href="https://adlrocha.substack.com/p/adlrocha-a-glimpse-of-the-new-software">Claude Code source</a> or <a href="https://adlrocha.substack.com/p/adlrocha-the-model-is-still-not-the">the internals of Hermes, opencode, and pi</a>, you&#8217;re not reading prompt templates, it maps a set of new software modules that will become the de-facto for software architectures moving forward. Four-layer compaction hierarchies. Sleep-based memory consolidation. KV cache stabilisation through sorted tool lists. These are not AI features. <strong>They&#8217;re systems engineering problems that will be applied to every domain.</strong></p><p>This is where engineering is moving. Not toward writing more code, but towards<strong> designing the systems that write it and that leverages intelligence towards a specific task</strong></p><p>I am not a fan of Garry Tan myself, but I think he is doing a decent job exploring what this new paradigm of software engineer could entail: <a href="https://x.com/garrytan/status/2042925773300908103">fat skills</a> (reusable markdown documents that encode judgment and process), a thin harness (the minimal loop that runs the model), <a href="https://x.com/garrytan/status/2044479509874020852">resolvers</a> (routing tables that load the right context at the right moment), and a sharp line between decisions that belong in latent space and operations that need to be deterministic. When I read those posts they felt familiar, because I already had a lot of those pieces in my own projects. As I&#8217;ve been repeating for a while now, <strong>we are all facing the same problems in this space, and converging to similar solutions.</strong></p><div><hr></div><h2>From code to agent manager</h2><p>Fine, I think we all agree that the discipline of software engineering is changing fast, but what does this mean for the engineer itself if they don&#8217;t have to write code by hand anymore?</p><p><a href="https://x.com/MilksandMatcha/status/2044863551186309460">MilksandMatcha and 0xSero</a> wrote recently about the single-agent ceiling, the moment every developer hits when a project graduates from a toy to something practical. One agent, one context window, 35 minutes in, the context is bloated, the code is wrong, and you&#8217;re counting remaining tokens on your left hand.</p><p>Their fix is multi-agent architecture. <strong>The metaphor is a kitchen: the head chef (orchestrator) takes the order, breaks it into scoped tickets, and hands each one to a line cook (subagent)</strong>. Each line cook gets a fresh context window, minimum viable context, does one thing, returns the output, and clocks out. Real numbers: single-agent workflow on a Figma task averaged 36.5 minutes with a 100% failure rate. Multi-agent: 5.2 minutes, success on the first try.</p><p>But the metaphor does something more important than describe an architecture. It reframes the engineer&#8217;s job. &#8220;Take off the apron,&#8221; they write. &#8220;Put on the chef&#8217;s coat. You&#8217;re running the kitchen now.&#8221;</p><p>Garry Tan makes the same point from a different direction. In his follow-up post on resolvers, he works through what it actually means to run an agent system with 40+ skills and 25,000 files <em>(I really think this is an overkill and I am not using this approach myself, but I&#8217;ve seen this pattern in several people already)</em>. He arrives here: &#8220;What I actually built is closer to management. Skills are employees. The resolver is the org chart. Filing rules is an internal process. Trigger evals are performance reviews.&#8221;</p><p><strong>The problem isn&#8217;t that models aren&#8217;t smart enough.</strong> &#8220;We&#8217;ve been building organisations with no management layer. Just a pile of talented employees and a vague hope they&#8217;ll coordinate.&#8221;</p><p>This is what the job actually looks like now. Not writing code. <strong>Running an organisation of skills, contexts, and subagents. </strong>Designing the handoffs. Deciding what belongs in latent space and what needs to be deterministic. The engineer who does this well isn&#8217;t the one with the best typing speed.</p><p>I have to admit that I myself am not there yet. <strong>I still run a small kitchen with a pool of trusted agents that are adapted to my daily workflows,</strong> but with nuances, I tend to agree that at a high-level this is where the industry is moving: an IC engineer is more and more becoming an architect, a manager, and a founder.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!izlJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!izlJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!izlJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!izlJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!izlJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!izlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1a6589e7-6d09-460f-bd49-cc04353ea057_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;: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="https://substackcdn.com/image/fetch/$s_!izlJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 424w, https://substackcdn.com/image/fetch/$s_!izlJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 848w, https://substackcdn.com/image/fetch/$s_!izlJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_1536x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!izlJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1a6589e7-6d09-460f-bd49-cc04353ea057_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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>What we are replacing is the middle man</h2><p>The field is splitting. Not cleanly, more like the rough shapes that are becoming visible.</p><p>But before the taxonomy, the more important point: <strong>engineering skills are becoming a </strong><em><strong>multiplier</strong></em><strong>, not just a job description.</strong> The barrier to shipping code has dropped. What that actually means isn&#8217;t that engineers are less valuable, I don&#8217;t think software engineers are going anywhere. I don&#8217;t think we are going to be replaced as the narrative suggests. It&#8217;s that deep technical knowledge now powers up roles that previously had no access to it. Product, GTM, finance, management, all of these are being redefined by people who can reason architecturally and build end-to-end without a team. <strong>The engineer who can drive a project from idea to deployed product, alone</strong>, is a different kind of professional than what that title implied five years ago.</p><p>Marc Andreessen made a related point in <a href="https://www.davidsenra.com/episode/marc-andreessen">his conversation with David Senra</a> earlier this year. His argument is that from the 1960s onwards, companies increasingly came to be scaled by engineers rather than by professional managers, not because engineers are better managers by nature, but because <strong>technical founders can adapt when the environment shifts rapidly, and managers cannot</strong> (as they don&#8217;t have the deep knowledge or technical foundation to adapt to rapid changing technologies and environments). Managerialism made sense when things were not changing. When things change fast, managers are completely lost because they have no idea how to handle disruption. You are way more likely to build something important if you take a founder and teach them management than if you take a manager and try to teach them to think like a founder.</p><p>His argument was centered on companies. But the same logic applies one level down, to individual careers. When the environment changes this fast, and the ground is shifting faster now than it was when Andreessen was making this observation, <strong>the people who remain anchored in deep technical understanding are better positioned to adapt than the people whose edge is coordination of stable systems.</strong></p><div><hr></div><h2>The new archetypes</h2><p>Which brings the archetypes into focus. There are still a few distinct shapes emerging:</p><p><strong>The researcher.</strong> Goes deep on how models and systems actually work. Understands attention mechanisms well enough to reason about KV cache invalidation, reads the Claude Code source and immediately sees the connection to OS design. Narrow role, always in demand, genuinely irreplaceable. There&#8217;s no substitute for the person who understands <em>why</em> the architecture is what it is. Companies like Anthropic and the big labs are hiring lots of these, and if the promise of AI realises they&#8217;ll need more to tame their models.</p><p><strong>The hardcore specialist and engineer-in-the-loop.</strong> The best distributed systems engineer, security engineers, or the best C++ engineer still has real value. But raw coding depth is being commoditised, not eliminated, but less of a moat on its own. If the only edge is writing faster or cleaner code than an agent, that edge is shrinking. Companies will still need some of these to keep agents under control, but they&#8217;ll need less of these than today. Even as the volume of agent-written code grows, someone still needs to review the architecture, audit the security model, and catch the places where the agent did something technically correct but fundamentally wrong. Fewer engineers will do this work, but the ones who do it well will be load-bearing in ways that are easy to underestimate until something breaks.</p><p><strong>The fast-learning generalist.</strong> This is where the market is opening up in ways that I think we are not realising yet. AI compresses the time from &#8220;I don&#8217;t know this domain&#8221; to &#8220;I can build something useful in it&#8221; dramatically. An engineer who can pick up a new field quickly, apply sound architectural judgement without already being an expert, and drive a project end-to-end, that profile is becoming more valuable. The <a href="https://adlrocha.substack.com/p/adlrocha-we-are-not-scared-of-ai">post I wrote about being scared of irrelevance rather than AI</a> comes to mind: the engineers who will be irrelevant are the ones who narrowed so far they can&#8217;t transfer.</p><p><strong>The founder.</strong> They have an engineering background but can pick up a project end-to-end and permeate throughout the whole company: from finance, to product, GTM, and people ops. These are the unicorns. They are great, but they may not fit every company, and they may be more suited for early stage and small companies, or nimble autonomous teams.</p><p>Of course, AI doesn&#8217;t only benefit software engineers. A film editor, a musician, a lawyer who understands the technical substrate of what they&#8217;re working on,  anyone who can add deep craft <em>and</em> leverage AI for the rest is now competing at a level that used to require a team. <strong>The flip side: if your edge was output volume rather than judgement, that edge is gone.</strong></p><div><hr></div><h2>The forgetting problem</h2><p>I recently read this post that describes in a great way one thing I&#8217;ve been really worried about (and that I&#8217;ve seen others writing with concern about): <a href="https://us.list-manage.com/2ENcRmbs8uo?e=4d77a470ad&amp;c2id=cdc92672db341e9f84ecf78a5170a109">&#8220;The West forgot how to make things, now it&#8217;s forgetting how to code&#8221;</a>, which draws on a striking historical pattern. After the Cold War, the US stopped producing Fogbank, a classified material used in nuclear warheads. When they eventually needed to restart production, the tacit knowledge had atrophied so thoroughly that they essentially had to rediscover how to make it from scratch. Stinger missile production ran into the same problem after Ukraine demonstrated the need. Something similar happened with the outsourcing of chip manufacturing to China in the last decades, the West is losing its edge on the semiconductor industry.</p><p><strong>The pattern is clear: build capability over decades, find a cheaper substitute, let the human pipeline atrophy, enjoy the savings, then watch it collapse when a crisis demands what you optimised away. </strong>The post argues we&#8217;re running the same risk with code. And the concern about juniors is real. When juniors skip the formative debugging sessions, the mistakes that build the intuition for where things actually go wrong they don&#8217;t build the tacit expertise. When the generation that has it retires, that knowledge doesn&#8217;t transfer. This is what really worries me about where software engineering is moving</p><p><a href="https://us.list-manage.com/SQt4GhsFqji?e=4d77a470ad&amp;c2id=cdc92672db341e9f84ecf78a5170a109">Koshy John introduces the counter-side of this argument in this post</a>: &#8220;For years, people have confused software engineering with code production. That confusion is now getting exposed.&#8221; <strong>The value was always in the judgement: making sound decisions, identifying missing abstractions, debugging reality</strong>. And that judgement is built through friction. Through struggle. Through getting things wrong and fixing them.</p><p>My intuition is that the people who navigate <strong>these issues best are the ones who stay curious about </strong><em><strong>why</strong></em><strong> things work, even when they don&#8217;t need to know </strong><em><strong>how</strong></em><strong> to build them from scratch.</strong> You can use AI to build the four-layer compaction hierarchy without understanding it. Or you can use it to understand it, and then build something better. The engineers who choose the second path I don&#8217;t think will ever be replaced. The ones who choose the first are renting an edge, and the Fogbank example is a reminder of what happens when you rent long enough to forget you ever owned it.</p><div><hr></div><h2>How are you dealing with this change?</h2><p>Many of the topics I touched on in this post are present in the public discourse (a.k.a Twitter), and are brought up in one way or another in conversations with colleagues and friends.<strong> But I would be curious about the first-hand experience and thoughts of the readers of this post.</strong></p><p>If I can collect enough testimonials from my readers it would make for<strong> a pretty nice follow-up post: my take on the matter v.s. readers&#8217; realities.</strong> If you want to contribute with your experience and thoughts shoot me a comment or an email. And in any case, see you next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Towards local plug-and-play AI]]></title><description><![CDATA[Local LLM inference optimisations: from attention mechanisms to predictive decoding and software-model-hardware implementations.]]></description><link>https://adlrocha.substack.com/p/adlrocha-towards-local-plug-and-play</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-towards-local-plug-and-play</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 17 May 2026 08:02:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!9nSW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9nSW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9nSW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 424w, https://substackcdn.com/image/fetch/$s_!9nSW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 848w, https://substackcdn.com/image/fetch/$s_!9nSW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 1272w, https://substackcdn.com/image/fetch/$s_!9nSW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9nSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png" width="1248" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1248,&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="https://substackcdn.com/image/fetch/$s_!9nSW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 424w, https://substackcdn.com/image/fetch/$s_!9nSW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 848w, https://substackcdn.com/image/fetch/$s_!9nSW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 1272w, https://substackcdn.com/image/fetch/$s_!9nSW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcc89a7d-d2ed-41df-8128-87c1dca87ba5_1248x832.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last week I wrote about the hardware side of running AI locally, why memory bandwidth matters more than raw compute, which machines are worth building, and where the market is heading. If you missed it, <a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai">start there</a> as this post builds directly on top of it.</p><p>In the quest of becoming AI independent, <strong>your hardware sets the ceiling, but what decides how close you actually get to it is software.</strong></p><p>Two machines with identical GPUs, identical VRAM, identical bandwidth, one running naive inference, one running an optimised stack can produce a 3-5x difference in tokens per second. This can mean the difference from running at 5tok/s to the 20-30tok/s that you need to get something usable. Even more, some techniques, and software-model-hardware optimised implementations may allow you to fit large models like <a href="https://github.com/antirez/ds4">DeepSeeekV4-Flash on a MacBook with at least 96GB of RAM</a>. Same model, same hardware, different choices in the software layer <em>(I feel we have a lot to learn from the video encoding and compression industry in this respect. We have to squeeze the most of every $ of hardware resources).</em></p><p>Last week I presented <strong>my new goal to create an inference box that generates tokens fast enough within a certain price point.</strong> So far I haven&#8217;t found one that fits my needs fully. What I am hoping is that the outcome of this work finds me a hardware configuration optimised for local inference and that is plug-and-play and not absurdly expensive, and/or a tool that detects your current hardware and suggests the best model and configuration for it.</p><p>This post continues that search focusing on the latest techniques to improve my inference stack.</p><div><hr></div><h2>MoE vs dense models</h2><p>Before we get to the software tricks, there&#8217;s an architectural decision that sits underneath all of them, because it changes what the software layer has to deal with.</p><p>Most of the interesting models you&#8217;re likely to run locally with a decent throughput are Mixture-of-Experts architectures. Qwen3.6-35B-A3B, Qwen3-235B-A22B-250, DeepSeek-V4. The naming convention tells you the structure: 35B total parameters, but only 3B active per token. The model is divided into expert sub-networks, and a router that decides which ones fire for each token.</p><p>The key advantage of these types of models (and why is the one with biggest changes to fit your hardware) is that If only 3B of 30B parameters do any work per token, <strong>you get something close to 3B-scale inference speed while the model carries 30B-scale knowledge</strong>. With the right serving trick, like llama.cpp&#8217;s -ngl 99 -ncmoe 99 flags which keep the attention and shared weights on the GPU and offload cold expert FFN layers to system RAM, a <a href="https://www.localmaxxing.com/en/models/Qwen/Qwen3.6-35B-A3B?hardwareName=nvidia&amp;run=cmoix1maz000glb04gixcekjk">Qwen3.6-35B-A3B can hit 33.5 tok/s on an RTX 3070 Ti with just 8GB of VRAM,</a> provided you have 64GB+ of fast system RAM for the offloaded experts. The floor for running a 35B-knowledge model just dropped further than most people realise.</p><p>The main downside is consistency. And if you have used one of these MoE long enough you have probably experienced what I am about to describe.</p><p>Think of a MoE model as a hospital. Each patient gets routed to the right specialist. But which specialist fires depends on the token. The model can feel sharp in one domain and noticeably weaker in another depending on which expert activates. Dense models don&#8217;t have this problem because every parameter processes every token, every time. Slower, more expensive, but completely consistent. This lack of consistency can be experienced through tool call loops, to performance degradation and catastrophic forgetting.</p><p>For reasoning tasks, for long-context coherence, fo<strong>r anything where you need the model to stay sharp across a 50,000-token context, dense models tend to be better. </strong>This is why I would always recommend dense models for any agentic task that requires several assistant turns and accurate context keeping.</p><p>There&#8217;s a serving problem too: when too many tokens in a batch route to the same expert simultaneously, that <a href="https://arxiv.org/abs/2402.05526">expert&#8217;s buffer overflows and tokens get dropped silently</a>. The model will not warn you of this happening, and it just gets worse. Dense inference has none of that complexity.</p><p>So how do you choose between dense and MoE models? Here&#8217;s the practical decision tree that I currently use myself:</p><p><strong>8GB VRAM GPU + 64GB system RAM</strong>? MoE with expert offload is your only real option for a capable model. Qwen3.6-35B-A3B at Q4 or Gemma4-26B-A4B with llama.cpp offload fits this profile. Throughput will be CPU-bandwidth-bound, not GPU-bound, so a fast DDR5 system matters more than GPU generation here.</p><p><strong>16&#8211;24GB VRAM</strong> (RTX 3090, RTX 4090, RTX 4080)? you have a genuine choice. Dense Qwen3.6-27B at Q4_K_M fits in ~16GB with no offloading, no serving complexity, consistent quality. MoE Qwen3-35B-A3B also fits at this tier with partial offload. If your workload is agentic, i.e. long contexts, tool calls, multi-step coherence, etc. The dense model&#8217;s consistency advantage is worth the slightly lower raw throughput (which can be painful as described in my last post).</p><p><strong>128GB+ unified memory</strong> (Mac M3 Ultra, Strix Halo / Ryzen AI Max+)? This is where MoE becomes unambiguously better. You can hold the entire Qwen3-235B-A22B (235B total, 22B active per token) in unified memory and run it at full context without any offloading. At this tier you get frontier-class capability locally. The 22B active parameters per token still give you strong throughput on unified memory&#8217;s high-bandwidth pool. And sharp readers may be wondering, but then why are you running dense models like Qwen3.6-27B on your Strix Halo yourself? We are back to the consistency problem. I am looking to run long-running agentic tasks. The performance quickly collapses as the context grows.</p><p><strong>Multi-GPU / 192GB+ VRAM</strong>? You can essentially run decent models for whatever you need. MoE at full precision, no quantisation required. The routing overhead becomes negligible at this level of parallelism.</p><p>The short version: if you have limited VRAM and a lot of system RAM, MoE with expert offload. If you have enough VRAM to fit a dense model cleanly, prefer dense for anything requiring long-context coherence. If you have a large unified-memory machine, MoE at the top tier, e.g. Qwen3-235B-A22B. becomes the most capable option you can run locally.</p><p>Fortunately, Alibaba built both ends of this spectrum with Qwen3.6, and so far I&#8217;ve been using them and I am decently happy. The MoE option is <a href="https://huggingface.co/Qwen/Qwen3.6-35B-A3B">Qwen3.6-35B-A3B</a>. The dense option is <a href="https://huggingface.co/Qwen/Qwen3.6-27B">Qwen3.6-27B</a>. Both run the same hybrid attention core, the choice between them is almost entirely a hardware and workload question, not a model quality one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KobJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KobJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 424w, https://substackcdn.com/image/fetch/$s_!KobJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 848w, https://substackcdn.com/image/fetch/$s_!KobJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 1272w, https://substackcdn.com/image/fetch/$s_!KobJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KobJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png" width="774" height="776" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:776,&quot;width&quot;:774,&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="https://substackcdn.com/image/fetch/$s_!KobJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 424w, https://substackcdn.com/image/fetch/$s_!KobJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 848w, https://substackcdn.com/image/fetch/$s_!KobJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 1272w, https://substackcdn.com/image/fetch/$s_!KobJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F043f6b0a-8072-4c2c-bba7-703ed4c4bb60_774x776.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vWH2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vWH2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 424w, https://substackcdn.com/image/fetch/$s_!vWH2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 848w, https://substackcdn.com/image/fetch/$s_!vWH2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 1272w, https://substackcdn.com/image/fetch/$s_!vWH2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vWH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png" width="1160" height="688" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:688,&quot;width&quot;:1160,&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="https://substackcdn.com/image/fetch/$s_!vWH2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 424w, https://substackcdn.com/image/fetch/$s_!vWH2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 848w, https://substackcdn.com/image/fetch/$s_!vWH2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 1272w, https://substackcdn.com/image/fetch/$s_!vWH2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd78fde3b-880f-4575-b8ae-40037ec0c94f_1160x688.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>How did I get to these numbers? As I was doing the research for this section, I came across <a href="http://localmaxxing.com">LocalMaxxing.com</a>. This site is just pure gold. It provides benchmarks of different models over different hardware architectures, with clear information about the inference engine used and their configuration. This gave me homework for the next few months, and is a great resource for this new quest of mine.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BGuv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BGuv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 424w, https://substackcdn.com/image/fetch/$s_!BGuv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 848w, https://substackcdn.com/image/fetch/$s_!BGuv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 1272w, https://substackcdn.com/image/fetch/$s_!BGuv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BGuv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png" width="1456" height="1389" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1389,&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="https://substackcdn.com/image/fetch/$s_!BGuv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 424w, https://substackcdn.com/image/fetch/$s_!BGuv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 848w, https://substackcdn.com/image/fetch/$s_!BGuv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 1272w, https://substackcdn.com/image/fetch/$s_!BGuv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d6e6ffb-98bf-46f7-96cd-9dae1c970118_1512x1442.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>The attention zoo</h2><p>The MoE/dense question is only one dimension of the model architecture. The other is which attention mechanism the model uses internally. Every variant is a different answer to the same constraint: standard attention produces an N&#215;N matrix where N is sequence length. At 10,000 tokens that&#8217;s 100 million entries, and the memory cost scales quadratically. Every interesting development in attention over the last two years is essentially a different attempt to escape that curve without paying too much in quality. Each have its own trade-offs and may fit better different underlying architectures.</p><p><a href="https://magazine.sebastianraschka.com/p/visual-attention-variants">Sebastian Raschka&#8217;s visual guide</a> is the<strong> best resource I can recommend to navigate the attention landscape</strong>. The progression is worth following because each step reveals a different tradeoff.</p><p><strong>Standard Multi Head Attention</strong> is what everyone (or maybe it&#8217;s me) thinks of when thinking about the attention mechanism in a transformer, where every token attends to every other token, full stop. Quadratic memory, quadratic compute. Nobody building for local hardware chooses it today; it&#8217;s just the baseline everything else is measured against.</p><p><strong>GQA</strong> (Grouped-Query Attention) was the first fix that actually shipped at scale. Instead of each query head maintaining its own independent key-value projection, multiple query heads share a single KV pair. Roughly 50% KV cache savings, almost no quality loss. Llama 3, Qwen3, Gemma 3 all use it. The tradeoff is minimal, this is why it became the default so quickly.</p><p><strong>MLA</strong> (Multi-Head Latent Attention), from DeepSeek, goes deeper. Rather than reducing how many KV pairs you keep, it compresses <em>what&#8217;s stored in each one</em>, saving a latent representation and reconstructing the full KV state on demand. More complex to serve than GQA, but at scale the quality-per-byte advantage is real. DeepSeek V3 and Kimi K2 use it; it&#8217;s the right choice when you have the memory to absorb the reconstruction overhead and want frontier-class output quality. Don&#8217;t ask me why, but I personally love models that implement MHA.</p><p><strong>SWA</strong> (Sliding Window Attention) takes a different angle entirely. Rather than compressing the cache, it simply restricts how far back each token looks. Gemma 3 uses a 5:1 ratio of local to global layers, with a 1,024-token window and GQA on top. Memory grows linearly rather than quadratically, and for most practical workloads (like code completion, document Q&amp;A, chat) the quality impact is minimal. The tradeoff is that you&#8217;re genuinely giving up global context on those local layers. Fine for most tasks; matters for very long-range reasoning.</p><p><strong>Gated DeltaNet</strong>, used in Qwen3.6-27B, pushes further: rather than attending over a stored sequence at all, it maintains a fast-weight memory that gets continuously updated with each new token. Memory footprint stays flat regardless of sequence length. Going from 4k to 65k context costs ~800MB of VRAM instead of several GB, which is the difference between a 16GB card hitting a wall and staying competitive with machines three times its size. The tradeoff is architectural complexity and the fact that very-long-range dependencies that would be trivial for full attention require the model to have learned to compress them into the running memory state.</p><p><strong>Mamba-2 hybrids</strong> (Nvidia&#8217;s Nemotron Nano) are the logical extreme, where most attention is replaced by recurrent state machines with constant memory regardless of sequence length. The right choice for edge and embedded hardware where even GQA is too much. Not the first option when you have a proper GPU available; the quality ceiling is lower, but the memory floor is the lowest in the landscape.</p><p>These differences show up on the machine. With SWA at long contexts the KV cache barely moves, the serving engine has headroom it wouldn&#8217;t have with MHA. Switch to GQA at the same context length and VRAM climbs noticeably. Run a DeltaNet hybrid and the memory profile nearly flatlines. <strong>When you&#8217;re fitting multiple agents on a fixed memory budget, which attention variant the model uses matters as much as how many parameters it has.</strong></p><p>Even one more dimension on top of this that I&#8217;ve decided to leave out of this post and deserve its own post, is which quantisation mechanism to use and the different flavours available (which is a beast in itself). See <a href="https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more">my post about TurboQuant </a>for a primer on this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iUz5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iUz5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 424w, https://substackcdn.com/image/fetch/$s_!iUz5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 848w, https://substackcdn.com/image/fetch/$s_!iUz5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 1272w, https://substackcdn.com/image/fetch/$s_!iUz5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iUz5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png" width="1456" height="949" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:949,&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="https://substackcdn.com/image/fetch/$s_!iUz5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 424w, https://substackcdn.com/image/fetch/$s_!iUz5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 848w, https://substackcdn.com/image/fetch/$s_!iUz5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 1272w, https://substackcdn.com/image/fetch/$s_!iUz5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38563fb4-10c4-48d6-90c2-cd66867a0d0d_1456x949.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Speculative decoding</h2><p>A few weeks ago Google <a href="https://blog.google/innovation-and-ai/technology/developers-tools/multi-token-prediction-gemma-4/">announced</a> that Gemma 4 was shipping with dedicated MTP drafter<strong>s: small companion models that could push inference speed up to 3x without touching quality</strong>.</p><p>The problem speculative decoding solves is a fundamental one of transformers. As we&#8217;ve described a few times in this newsletter, LLMs generate text autoregressively, i.e. one token at a time, each token depending on everything before it. The large model has to do a full forward pass for every single token. You can&#8217;t parallelise the generation itself. So no matter how fast your hardware is, you&#8217;re paying the full model cost on every step.</p><p><strong>The insight is that you don&#8217;t need the big model to propose tokens, only to verify them</strong> (a bit like speculative execution in processors). This is where the drafter comes in.</p><p>A drafter is a much smaller model (or a lightweight prediction head attached to the main model) that runs first and quickly guesses the next several tokens. Then the large target model takes all those guesses and verifies them in a single parallel forward pass. If the drafter&#8217;s guesses are right (and at 70-80% acceptance rates on typical queries, most of them are) you get several tokens confirmed in roughly the same time it would take the large model to generate just one. When the drafter is wrong, the target model corrects from that point and the drafter tries again. The output is mathematically identical to what the large model would have produced alone.</p><p>The drafter doesn&#8217;t need to be good in absolute terms. It just needs to be right often enough on the specific distribution of text the target model typically generates, and a small model fine-tuned on that same domain usually clears that bar easily. As mentioned above, we are getting closer and closer to the kind of optimisations that we made for encoders and processors.</p><p>Google&#8217;s MTP drafters for <strong>Gemma 4 achieve up to 3x speedup with no measurable quality degradation, </strong>roughly 2.2x on Apple Silicon at batch sizes of 4-8. Qwen3.6-35B-A3B with MTP enabled via vLLM hits <a href="https://dasroot.net/posts/2026/05/qwen-36-35b-a3b-80-tok-s-12gb-vram-mtp-speculative-decoding/">80 tok/s on 12GB VRAM</a>, compared to 20-30 tok/s without. Using the same hardware by just setting a flag.</p><p>For models that don&#8217;t ship with native MTP heads, <a href="https://arxiv.org/abs/2503.01840">EAGLE-3</a> takes a slightly different approach: it attaches a lightweight prediction head directly to the target model&#8217;s internal layers rather than using a separate companion model. No extra weights to download or host, just a plugin that learns the target model&#8217;s output distribution and proposes candidates the main model verifies. <a href="https://docs.vllm.ai/en/latest/features/speculative_decoding/">Production benchmarks in vLLM</a> and SGLang show 2-3x throughput gains at low-to-medium concurrency.</p><p>One caveat: the gains are real at 1-10 concurrent requests but diminish as concurrency rises. <strong>At high concurrency the overhead of running the drafter plus verification starts eating into the benefit.</strong> For a personal inference box or a small team setup, it&#8217;s the highest-return optimisation on this list, but it may not be a silver bullet as soon as you want to serve this to several concurrent users (not my case at least for now).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DsXY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DsXY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DsXY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DsXY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DsXY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DsXY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg" width="721" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:721,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Image&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="Image" title="Image" srcset="https://substackcdn.com/image/fetch/$s_!DsXY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!DsXY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!DsXY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!DsXY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F79afe644-3602-4ed0-b3d3-1730c6919291_721x900.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>FlashAttention</h2><p>We&#8217;ve touched on this a few times in this newsletter. <strong>The KV cache problem has a structural cause, and as your context requirements grow, this is something that is immediately noticeable </strong><em>(try a Qwen3.6-27B model running in a high-end Strix Halo using Hermes agent&#8217;s minimum 65K recommended context, and feel the pain as the context grows and your conversation evolves).</em> Standard attention produces an N&#215;N matrix where N is sequence length. At 10,000 tokens, that&#8217;s 100 million entries.</p><p>This is why you should always have <a href="https://github.com/Dao-AILab/flash-attention">FlashAttention</a> enabled. First published by Tri Dao&#8217;s lab this technique fixes the tiling of computing full KV cache blocks. The model never materialises the full N&#215;N matrix, it computes attention block by block, keeping intermediate results in fast memory. Same mathematical result. Dramatically fewer memory round-trips (enable -fa in lamma.cpp, or the equivalent of your inference engine of choice, to see the magic happens).</p><div><hr></div><h2>Liquid Nanos: a different foundation</h2><p>Everything above is about making transformers run better with the hardware available, but there&#8217;s one approach worth knowing about and that I recently came aware of and aligns with a hypothesis I&#8217;ve been having for a while.</p><p><a href="https://www.liquid.ai/">Liquid AI</a> built their models on Liquid Time-Constant Networks, a class of neural network originally inspired by <em>C. elegans</em>, the nematode with 302 neurons that navigates and forages with surprising reliability. The underlying idea is the following: <strong>biological networks don&#8217;t process information in discrete steps, they evolve continuously according to differential equations.</strong> The time constant that governs each neuron&#8217;s behaviour adapts based on current input. The model isn&#8217;t static and it adjusts its own processing as it reads.</p><p>The production translation is the <a href="https://arxiv.org/abs/2511.23404">LFM2 family</a>: a hybrid with <strong>10 gated short-range convolution blocks and 6 grouped-query attention blocks</strong>. Most sequence processing happens in the convolution layers, which scale linearly with context length and carry no KV cache overhead at all. Liquid calls the unifying design &#8216;Linear Input-Varying operators&#8217;, weights generated on-the-fly from input, rather than fixed parameters. And the architecture was found by optimising under real CPU and mobile SoC latency constraints from the start. Hardware-in-the-loop search, not adapted for hardware after the fact.</p><p>LFM2.5-1.2B hits 2,975 tok/s prefill and 116 tok/s decode on an AMD Ryzen AI 9 laptop via llama.cpp without GPU. The <a href="https://docs.liquid.ai/lfm/models/liquid-nanos">Liquid Nano models</a>, task-specific fine-tunes for extraction, RAG, and summarisation, range from 350M to 2.6B. The 350M variant runs on a Raspberry Pi 5 in 300MB at int8 quantisation.</p><p>The standard instinct with LLMs is to reach for the biggest model you can run. But the Nano line is a concrete example of the alternative: <strong>distil the capability you actually need into a model small enough to run anywhere, then compose several of them</strong>. A 350M extraction model pulls structured fields from a document. A small RAG model retrieves relevant context. A slightly larger reasoning model makes the decision. Each one doing its piece efficiently, orchestrated into a pipeline, and the total compute cost is a fraction of a single large generalist doing everything at once.</p><p><strong>This is, I think, one of the more underrated directions for local inference as the hardware improves. </strong>The question stops being <em>&#8220;can I fit a big enough model on this machine?&#8221;</em> and starts being<em> &#8220;what&#8217;s the right composition of narrow models for this workflow?&#8221;</em> The distillation approach isn&#8217;t new but the combination of capable base models to distil from, hardware that can run the small results locally, and serving stacks that already support them changes what&#8217;s practical.</p><p>This is the approach that we used to build <a href="https://baselight.app">Baselight AI</a>: leverage narrow agents that can run leveraging smaller models, and compose their functionality to achieve the global goal.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ly7I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ly7I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 424w, https://substackcdn.com/image/fetch/$s_!ly7I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 848w, https://substackcdn.com/image/fetch/$s_!ly7I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 1272w, https://substackcdn.com/image/fetch/$s_!ly7I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ly7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png" width="1456" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&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="https://substackcdn.com/image/fetch/$s_!ly7I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 424w, https://substackcdn.com/image/fetch/$s_!ly7I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 848w, https://substackcdn.com/image/fetch/$s_!ly7I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 1272w, https://substackcdn.com/image/fetch/$s_!ly7I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6c4ea9e-d01d-42b6-91a2-7a33b33e559d_2048x1247.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Software-Model-Hardware Optimised Implementation</h2><p>I want to close by sharing something that blew my mind, and that I am hoping to study in detail and come back to soon. An example of optimising the model to the underlying hardware. It reminds me of my time researching video compression. The author of Redis published <a href="https://github.com/antirez/ds4">ds4</a>: <strong>a native inference engine for DeepSeek V4 Flash, written specifically for Apple Silicon in a few thousand lines of C</strong>. No generic inference engine, no GGUF general-purpose runner abstractions. One model, done properly and over-optimised for a specific hardware architecture.</p><p>It runs DeepSeek V4 Flash with a 1 million token context window on a 128GB MacBook Pro. I haven&#8217;t tried it myself, but antirez says that &#8220;coding agent works great, reliably calls tools.&#8221;</p><p>The performance numbers from the repo are the following: 26.68 tok/s generation on an M3 Max 128GB. 36.86 tok/s on an M3 Ultra 512GB. Not the fastest numbers you&#8217;ll find in this series of posts. But for a coding agent running a full tool-call loop locally, with 1M context, on a laptop that costs less than a used RTX 3090 rig, it&#8217;s more than enough. I think this setup would solve my needs</p><p>The three engineering decisions made this possible are the following:</p><p><strong>Asymmetric 2-bit quantisation.</strong> The MoE experts make up roughly 90% of DeepSeek V4 Flash&#8217;s parameter volume, but they&#8217;re not all equally critical. Antirez applies an aggressive 2-bit compression (IQ2_XXS and Q2_K) only to the routed expert layers, the ones that activate a subset of the model per token. Shared experts, projections, and the routing logic itself stay at full precision. You get most of the memory savings with a fraction of the quality loss. This is the same asymmetric logic that makes MoE offloading work in llama.cpp, pushed further.</p><p><strong>KV cache to SSD.</strong> The conventional assumption is that the KV cache has to stay in RAM, at 1M tokens it would blow well past 128GB. Antirez treats the compressed KV cache as something that can live in disk: checkpointed to Apple&#8217;s high-speed SSD, with SHA1-based resumption across restarts. The engine tracks what&#8217;s in memory, what&#8217;s on disk, and fetches as needed. It works because Apple Silicon&#8217;s NVMe storage, the same architecture I mentioned in the <a href="https://adlrocha.substack.com/p/adlrocha-how-the-ai-loser-may-end">my Apple post</a>, reads at speeds that make SSD-as-extended-memory viable in a way it simply isn&#8217;t on a standard laptop.</p><p><strong>Pure Metal, no wrappers.</strong> Every kernel hand-written for Apple Silicon. No intermediate runtime, no portability tax. The result is that the Metal backend isn&#8217;t an afterthought, it&#8217;s the target the entire design was optimised for.</p><p>What I really love about this work on ds4 is that it aligns this thesis I&#8217;ve been having that we need <strong>software-mode-hardware optimised implementations </strong><em>(it may be confirmation bias, I&#8217;ll take it). </em>But it takes what we&#8217;ve been exploring throughout the post to its logical extreme. FlashAttention improved on standard attention by understanding exactly what the hardware does with memory. Speculative decoding improves throughput by understanding how to exploit the verification step. Liquid&#8217;s hardware-in-the-loop search improves inference by designing the architecture for the hardware constraint from the start. Antirez did all three things at once, in C, for one specific model, and published it in a few thousand lines.</p><p>I feel that we are going to see more and more of this (I personally want to do the exercise of implementing something like this for one of my favourite small models). <strong>Specific models optimised for inference in specific hardware. </strong>This is what I was referring to when I mentioned that if I can&#8217;t get a plug-and-play box for general-purpose inference, at least I want specific usable models that fit my hardware and my use case.</p><div><hr></div><h2>Towards plug-and-play local AI</h2><p><a href="https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai">Last week I wrote about the hardware side</a> of AI independence, focusing on the setup and machines that made local inference viable without spending months of work and breaking your bank account. This week it&#8217;s the software side: the optimisations and model choices that turn decent hardware into something that feels fast and usable.</p><p>The truth is, the pieces are already here. MoE expert offloading, speculative decoding (MTP or EAGLE-3), FlashAttention, DeltaNet hybrids, narrow distilled models, everything we need exists today in open source. <strong>What I feel is missing is the glue: one opinionated stack that just works for your specific machine.</strong></p><p>YC entrepreneurship gurus always say that you should build things that scratch your own itch. Plug-and-play local inference on a budget is that itch that I&#8217;ve set myself to scratch in the coming months (or years?).<strong> I want a tool that looks at your hardware and gives you the best possible setup: right model, right quant, right serving engine, right flags, etc. without you having to navigate the local inference landscape</strong>. No more weekend debugging sessions. Just install once and run capable agentic AI locally and a clear expectation of what your hardware will allow you to run (because I&#8217;ve also been burnt by false promises of how &#8220;useful&#8221; a local model could be running on specific hardware).</p><p><strong>This lines up directly with <a href="https://x.com/0xSero/status/2035022588439581076">the bigger fight @0xSero laid out:</a> making AI education, training, self-hosting, and inference available to everyone on this planet, whatever your budget.</strong> Open source has to win. The alternative is locking frontier capability behind cloud subscriptions and six-figure rigs.</p><p>I&#8217;m working towards this starting with serious benchmarking on the Strix Halo <em>(because it&#8217;s the hardware that I have)</em>. The more real data we have, the better the auto-config can become.</p><p>I&#8217;m completely open to collaborations on this. If you have hardware to test on, a rig or box that you don&#8217;t use anymore and that you would be willing to donate for the cause, engineering time, or want to help push the benchmark suite forward, reach out.</p><p>Until next week!</p><p></p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - In a quest to becoming AI-independent]]></title><description><![CDATA[Why the AI bubble is a dependency trap: A guide to local LLM inference hardware]]></description><link>https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-in-a-quest-to-becoming-ai</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 10 May 2026 08:02:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mkt9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mkt9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mkt9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!mkt9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!mkt9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!mkt9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mkt9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&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="https://substackcdn.com/image/fetch/$s_!mkt9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!mkt9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!mkt9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!mkt9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafdd86ad-a932-4799-8a3b-73532fdb1de6_1024x572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few weeks ago, GitHub <a href="https://github.blog/news-insights/company-news/github-copilot-is-moving-to-usage-based-billing/">announced</a> that Copilot is moving to usage-based billing. No more flat subscriptions, from now on everyone has to pay for the tokens they use.</p><p>If you&#8217;ve been using Copilot on the free tier or an individual plan <em>(like it was my case through a benefit to active open-source contributors</em>), this probably stings. This subscription was the perfect way to test every new model without having to commit to specific subscriptions, and<strong> with an extremely generous monthly quota.</strong> I know of many people that bought Github Copilot subscriptions over Anthropic ones because it gave you access to Sonnet and Opus with higher quotas than those provided in Claude. <strong>So the obvious question is, why was it so cheap?</strong></p><p>The answer is definitely not generosity. It is well-known that AI labs and big tech have been subsidising token costs for the same reason any platform subsidises onboarding: <strong>to build dependency before they extract value and crush their competition</strong>. Every cheap API call is also a training data point. Every workflow you wrap around their service is a switching cost they&#8217;re accumulating on your behalf. GitHub Copilot at $10/month was never a sustainable product, like is probably the case for more popular products like Claude Code and Codex. It was a land grab dressed up as a subscription. The cost per user of all these AI subscriptions (at least from the well-funded companies that can afford it) significantly exceeds the price of their subscriptions.</p><p>My most loyal readers know how I&#8217;ve been concerned about the economics of AI for a while. <a href="https://adlrocha.substack.com/p/adlrocha-money-and-collateral-in">In this post</a> I already made my argument about how I think <strong>&#8220;the AI Bubble is more a trap than a bubble&#8221;</strong>, and how by accelerating the adoption of AI for our daily workflows, companies are trying to create a dependency that they can leverage. When I realised this by the end of last year, I<strong> decided to start buying hardware that I could use to run local inference</strong> in order to start minimising my dependency from big token bills and subscriptions with decreasing token allowances.</p><p>My journey started with a Strix Halo chip, the Ryzen AI Max+ that has become my daily driver and gives me up to 128GB of unified memory. This machine allows me to comfortably run Qwen3.6-27B and Gemma 4 locally for my LLM-powered background tasks. Think email and calendar digest, meeting summaries, TTS, etc., the kind of assistant and automation work that doesn&#8217;t need a fast feedback loop or large contexts and can run continuously in the background. This allows me to<strong> prevent an increased AI bill, and to unnecessarily drain the token quota of my subscriptions, which I desperately need for more complex agentic tasks.</strong></p><p>While this setup works fine for this kind of use case, it has shown to be quite annoying when you want to start leveling up your game and let your agents start relying exclusively on local models. T<strong>h</strong>e<strong> key problem is throughput.</strong> Even if the model fits in memory, as soon as you need to support an application that requires large context, tight feedback loops like agentic coding, <a href="https://adlrocha.substack.com/p/adlrocha-auto-research-the-lab-that">auto-research tasks</a>, real-time tool calls, or even running OpenClaw or Hermes agents, the tokens per seconds required to make the experience bearable (at least for me) aren&#8217;t there yet.</p><p>Fortunately, this gap is solvable, but today it may cost a few thousand dollars. So before spending a few &#8220;Ks&#8221; on hardware I wanted to be really sure and understand the setup that would give me what I need. <strong>This post is my public report of all my findings.</strong></p><div><hr></div><h2>How inference actually works</h2><p>But before we get into the hardware, it&#8217;s worth refreshing what &#8220;inference&#8221; actually requires, because the specific hardware requirements that matter, and how they impact your user experience, may not be the ones that intuitively many people think.</p><p>There are three main resources in play at inference: <strong>memory capacity (whether the model fits at all), memory bandwidth (how fast weights and caches stream into the compute units), and raw compute (how fast those units do the maths).</strong> Most people focus on the third one, while the bottleneck is almost always the second.</p><p>Here&#8217;s why. An LLM generates text one token at a time, autoregressively. Each token requires reading a large chunk of the model&#8217;s weights from memory into the processing units. The weights themselves don&#8217;t change (you&#8217;re not training, you&#8217;re reading). Which means the question isn&#8217;t &#8220;how many FLOPS can this chip do?&#8221; but &#8220;how fast can it stream data from memory?<strong>&#8220; That memory bandwidth is what matters, measured in GB/s.</strong></p><p>To give you some numbers that can help you build your intuition, an RTX 3070 with 8GB of VRAM has 448 GB/s of memory bandwidth. A newer RTX 4060 Ti with the same 8GB has 288 GB/s. For inference throughput, the 3070 which is older and cheaper, can be faster at inference as long as it can fit the model. This is counterintuitive until you understand what&#8217;s actually being measured. Apple understood it early, even if by accident, with the unified memory architecture in M-series chips, where CPU, GPU, and Neural Engine share a single high-bandwidth pool with no bus crossings, turns out to be nearly optimal for exactly this kind of workload. This is what makes Apple devices with M chips so good at inference. I wrote about why <a href="https://adlrocha.substack.com/p/adlrocha-how-the-ai-loser-may-end">a few weeks ago</a>.</p><p>The other bottleneck you need to understand is the KV cache. When a model processes a long conversation or code context, it caches the key and value vectors from each attention layer for every token it&#8217;s seen so it doesn&#8217;t have to recompute them. This cache grows with context length. At 200k tokens, it&#8217;s roughly 2GB with FlashAttention on, something manageable. But without optimisation<strong>, long contexts can eat most of your VRAM before the model weights even load. </strong>Newer architectures like Qwen3.6 address this directly: only 10 of the model&#8217;s 40 layers use full KV cache, meaning going from 4k to 65k context adds roughly 800MB of VRAM rather than several gigabytes. Architecture decisions like this are why &#8220;how much VRAM does it need?&#8221; is a question that increasingly depends on which model you&#8217;re running, not just how many parameters it has. If you want a deeper view on how transformers and KV caches work, I also shared a brief overview with external pointers <a href="https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more">on this post.</a></p><p>What does this mean for agentic work specifically? Tok/s matters more than it does for a chatbot. When an agent is executing a loop (calling a tool, parsing the output, deciding the next step) latency compounds.<strong> At 5 tok/s you&#8217;re waiting seconds between loop iterations.</strong> At 40 tok/s the loop feels instant. The difference between a useful coding agent and one you give up on is often that narrow. And this is the pain that I am feeling with my current setup. These half hundred tok/s is what I want to aim for with my next setup.</p><div><hr></div><h2>What the hardware market looks like</h2><p>I&#8217;ve spent a long time in the weeds on this, and a lot of my thinking has been shaped by <a href="https://x.com/0xSero">0xSero&#8217;s</a> detailed breakdown of the current market, and all the experiments he keeps sharing publicly <em>(if you don&#8217;t follow him already and you are interested in local inference I highly recommend you do it right now. And 0xSero If you end up reading this, I can&#8217;t thank you enough for your contributions and all the good you&#8217;ve done for the open-source AI and local inference community</em>). Here&#8217;s how I&#8217;d summarise the options as of mid-2026, capped at roughl<strong>y $10k for an end-to-end inference machine</strong> built upon 0xSero&#8217;s analysis and benchmarks, and my own research.</p><p>Before I share the actual builds, here&#8217;s a summary table with the high-level hardware numbers from the previous section. As a reminder, memory capacity tells you which models fit, memory bandwidth tells you how fast they run. The table below puts those side by side so you can read the trade-offs against the metrics that actually matter.</p><p>With that framing, here&#8217;s the detail on each.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iWN3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iWN3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 424w, https://substackcdn.com/image/fetch/$s_!iWN3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 848w, https://substackcdn.com/image/fetch/$s_!iWN3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 1272w, https://substackcdn.com/image/fetch/$s_!iWN3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iWN3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png" width="1456" height="402" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:402,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:246809,&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://adlrocha.substack.com/i/196793155?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!iWN3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 424w, https://substackcdn.com/image/fetch/$s_!iWN3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 848w, https://substackcdn.com/image/fetch/$s_!iWN3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 1272w, https://substackcdn.com/image/fetch/$s_!iWN3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2fdd5e84-c825-440b-9a9c-0527d3742b32_1827x505.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bFXH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bFXH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 424w, https://substackcdn.com/image/fetch/$s_!bFXH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 848w, https://substackcdn.com/image/fetch/$s_!bFXH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 1272w, https://substackcdn.com/image/fetch/$s_!bFXH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bFXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&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="https://substackcdn.com/image/fetch/$s_!bFXH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 424w, https://substackcdn.com/image/fetch/$s_!bFXH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 848w, https://substackcdn.com/image/fetch/$s_!bFXH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 1272w, https://substackcdn.com/image/fetch/$s_!bFXH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8585a3f0-7091-4b11-a642-1786c951c310_2048x1325.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Source: 0xSero</em></figcaption></figure></div><h4>Mac M3 Ultra</h4><p>The cleanest option<strong>. Apple Silicon&#8217;s unified memory architecture</strong> (CPU, GPU, and Neural Engine sharing a single high-bandwidth memory pool) turns out to be nearly ideal for inference. No bus crossings, no transfer overhead. MLX has matured significantly in the last few months (as I <a href="https://adlrocha.substack.com/p/adlrocha-how-the-ai-loser-may-end">described here</a>) and is approaching the throughput of an Nvidia 3090 on comparable tasks. At 400W peak, the whole machine uses less power than a single overclocked 3090.</p><p>The biggest advantage is capacity: <strong>512GB of usable memory means you can run Kimi-K2, Deepseek, and Minimax-M2 at full contex</strong>t, without extreme quantisation. Network two of them and you hit 1TB, something that would cost north of $50k with Nvidia. Scaling is quite clean in this case, each additional machine is its own self-contained unit with its own software stack connected through Thunderbolt/Ethernet.</p><p>The key limitation here is the lack of CUDA support. A lot of tooling in the inference ecosystem like vLLM, SGLang, the training and fine-tuning stack, assumes CUDA. MLX is good and getting better, but its level of maturity is still not close to CUDA&#8217;s. If you want to also fine-tune or train on your inference box, this may not be the best solution. But for inference? It&#8217;s great!</p><h4>8&#215; Nvidia RTX 3090</h4><p><strong>This is the power-user option, and the one that requires the most assembly work. </strong>There is no pre-built version of this; you are building a workstation from parts.The shopping list looks something like this: a server-grade motherboard with at least eight PCIe slots (something like a Gigabyte MZ32-AR0 or Supermicro equivalent, $800&#8211;1,200), a server chassis or open-air mining frame ($200&#8211;400), a 2,000W+ PSU or dual PSU setup ($400&#8211;600), 256GB of DDR5 system RAM for MoE offloading ($400), and eight RTX 3090s at roughly $800&#8211;1,000 each used. Total: $9&#8211;12k if you buy carefully, more if you don&#8217;t <em>(which is always my case :) )</em>. You will spend a weekend on this. Then another weekend on NVLink bridges and driver configuration.</p><p>What do you get in exchange? <strong>192GB of VRAM at 936 GB/s of aggregate bandwidth, the fastest throughput on this list for dense models.</strong> Full CUDA support means vLLM, SGLang, and anything else the ecosystem has produced. A mature ecosystem and a box where you can also train and fine-tune.</p><p>The main downsides of this setup is that at full tilt the system draws 1,500W even with cards capped at 50% power limit. It will be quite noisy. The used 3090 market is tightening. Scaling beyond 8 cards requires an electrician and a second system. Think of this as a serious workstation close to data-centre level, not a quiet office machine.</p><p>If you like hardware and building your own machines, this is a really fun project.  But if you don&#8217;t have the time this one is probably a pass for you, even if the economics per GB of VRAM add up.</p><h4>Ryzen AI Max+ / Framework Desktop</h4><p>This is the chip in my own Beelink machine. Framework sells a desktop configuration with 128GB starting at around $3k, expandable in 128GB increments up to 384GB really similar to the one I have. Mine includes 128GB, and you can buy it configured and it arrives ready to run, no assembly or heavy work needed. The power draw is modest, it&#8217;s quiet, and the RAM expands by swapping sticks rather than adding cards. I&#8217;ve been running non-stop for the last six months without noticing anything on my electricity bill.</p><p>The same chip, the Strix Halo, is what <a href="https://x.com/0xSero/status/2050597485857345941">0xSero</a> describes as bringing<strong> the cost-per-GB-of-memory down &#8220;an absurd amount&#8221; relative to Nvidia. </strong>At 128GB you&#8217;re past the capability of four 3090s for half the price and a tenth of the hassle. Simon Couch has a <a href="https://simonpcouch.com/blog/2026-04-16-local-agents-2/">good post</a> showing what day-to-day local agent workflows look like on this class of machine. The memory architecture is similar in principle to what Apple is doing, unified pool, high bandwidth, no bus penalty, which is exactly why it&#8217;s competitive on inference despite the software friction.</p><p>The catch: ROCm instead of CUDA. AMD&#8217;s software stack has improved considerably, but it still requires more configuration than CUDA-based workflows, and some tools simply don&#8217;t support it. I personally faced some issues with Strix Halo&#8217;s ROCm support for the kernel version that I was running, <strong>which pushed me to run my models in Vulkan.</strong> The performance degradation is negligible, but you still have to go through some hoops compared to CUDA&#8217;s support.</p><p>Supply has also been inconsistent, Framework&#8217;s configurations sell out and wait times stretch to weeks. Scaling horizontally (multiple machines networked together) is possible but requires more work than adding a card to a PCIe slot, although you can always connect</p><h4>Nvidia RTX 6000 Blackwell</h4><p>The option for people who want to start small and scale without rebuilding. A single RTX 6000 Blackwell is a PCIe card, it slots into any workstation motherboard with a x16 slot, which means the rest of the machine (CPU, RAM, case) can be modest consumer hardware at $500&#8211;800. One card is ~$7&#8211;10k and gives you 96GB of VRAM at roughly 1,700 GB/s, faster per-card bandwidth than the entire 8&#215; 3090 build. Two cards doubles the VRAM to 192GB at half the power draw of eight 3090s. You can reach eight cards on a household circuit, landing at 768GB of VRAM, the practical ceiling for residential power.</p><p><strong>The per-GB cost is the highest on this list. But you&#8217;re buying a 5-year upgrade path.</strong> Add one card per year, keep everything else the same. No new chassis, no new PSU configuration, no rebuilding the stack. For people who want to grow an inference cluster incrementally, this is the most coherent architecture (albeit the entry level is quite expensive).</p><h4>Huawei Atlas 300I Duo</h4><p>The wildcard. $10k buys you 480GB of VRAM, a number that&#8217;s hard to match anywhere on this list. vLLM support exists now, which has changed the viability picture considerably. At 400 GB/s bandwidth per card it&#8217;s not the fastest, which limits tok/s on dense models, but for running very large models at lower throughput requirements it&#8217;s hard to beat on cost-per-GB.</p><p>The bigger issue is the ecosystem: debugging means translating Chinese forums, GitHub issues go unanswered for months, and for US-based buyers the import situation can be complicated.</p><p>Worth knowing about. Probably not your first machine.</p><h4>tinybox</h4><p>The <a href="https://tinygrad.org/#tinybox">tinybox</a> from the tinygrad team is the closest thing to a plug-and-play inference machine you can buy today, pre-assembled, pre-configured,it ships on Ubuntu 24.04 with the tinygrad software stack already running.</p><p>The tinybox red v2 is the AMD option and the one that fits a realistic home inference budget<strong>. Four AMD Radeon RX 9070 XT cards, 64GB of total GPU RAM, 2,560 GB/s of aggregate bandwidth, a 32-core EPYC CPU, 128GB of system RAM, and a 2TB NVM</strong>e,  all in a single 1,600W supply enclosure for $12,000. By bandwidth it punches well above the 8&#215;3090 build described above, at a fraction of the assembly headache. The ceiling on model size is lower than the Nvidia options (64GB VRAM fits quantised 70B-class models comfortably), but for throughput on models that fit, the bandwidth numbers are serious. ROCm applies here as with all AMD hardware, but tinygrad&#8217;s stack abstracts most of it.</p><p>The tinybox green v2 has moved to a different category entirely. The current version ships four <strong>RTX PRO 6000 Blackwell cards</strong>, 384GB of total VRAM, 7,168 GB/s of aggregate bandwidth, 3,086 TFLOPS FP16, all for $65,000, made to order, and requires a concrete slab. It is no longer a home inference box. It is a small data centre. Worth knowing it exists; not relevant to this post&#8217;s scope.</p><p>The tinybox red v2 is the reference plug-and-play option for this discussion. You don&#8217;t build it, you plug it in. If the trade-off of ROCm for zero assembly time sounds right, this is currently the clearest path to a working inference machine out of the box.</p><h4>Non-Nvidia GPUs</h4><p>This is a work in progress in my research, and something that I am seriously considering.<strong> Nvidia GPUs tend to have a higher price than AMDs for comparable hardware capabilities.</strong></p><p>The RX 7900 XTX is the AMD equivalent of the RTX 4090: 24GB of GDDR6 VRAM, ~960 GB/s memory bandwidth, available for roughly $900&#8211;1,000. By bandwidth it actually trades blows with the 4090 (which sits at ~1,008 GB/s). The VRAM is identical. The price is meaningfully lower. An 8&#215; RX 7900 XTX build lands at roughly $7&#8211;8k for the cards alone, comparable to the used 3090 build on cost, with newer silicon and better per-card bandwidth. The assembly requirements are the same: server motherboard, beefy PSU, a weekend of your life.</p><p>The RX 7900 XT (20GB, ~820 GB/s, ~$700 new) is worth knowing about as a budget-tier option if you want AMD silicon without paying 4090 prices. Less VRAM per card means a lower ceiling on model size, but in a multi-card build you can still reach 160GB across 8 cards.</p><p>On the workstation side, AMD&#8217;s Radeon PRO W7900 (48GB VRAM, ~864 GB/s, ~$3,500) is the closest AMD equivalent to the RTX 6000 Blackwell, a single professional-grade card with serious VRAM, designed for long-term workstation use. Two of them give you 96GB at roughly $7k, competitive with one RTX 6000 Blackwell in capacity but significantly cheaper. The bandwidth per card is lower (~864 GB/s vs ~1,700 GB/s), which shows up in tok/s on dense models.</p><p>The ROCm caveat applies uniformly across all of these. vLLM and llama.cpp both have ROCm support and it has improved substantially &#8212; most workloads that run on CUDA will run on ROCm with some configuration friction, and for inference specifically (as opposed to training) the gap is smaller than it was a year ago. The tools that still don&#8217;t support ROCm reliably are the fine-tuning and training frameworks. If your use case is pure inference, AMD is a legitimate option at every price tier. If you want to train or fine-tune on the same hardware, CUDA is still the safer choice.</p><p>To end this analysis, if you are curious about what others are running, here&#8217;s a <a href="https://x.com/ClementDelangue/status/2052020105328890188">recent study from HuggingFace</a> <strong>with the top100 most popular hardware setups. Here&#8217;s the top 10 setups:</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JC-s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JC-s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 424w, https://substackcdn.com/image/fetch/$s_!JC-s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 848w, https://substackcdn.com/image/fetch/$s_!JC-s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 1272w, https://substackcdn.com/image/fetch/$s_!JC-s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JC-s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png" width="1350" height="904" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:904,&quot;width&quot;:1350,&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="https://substackcdn.com/image/fetch/$s_!JC-s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 424w, https://substackcdn.com/image/fetch/$s_!JC-s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 848w, https://substackcdn.com/image/fetch/$s_!JC-s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 1272w, https://substackcdn.com/image/fetch/$s_!JC-s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff7ca196e-ac62-44b1-a888-37dbc088aa77_1350x904.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Where the hardware is going</h2><p>Everything above operates inside the GPU paradigm. That&#8217;s where the market is today. It&#8217;s worth spending a moment on where it&#8217;s going, because the three numbers from the first section (capacity, bandwidth, compute) are exactly what purpose-built inference hardware tries to optimise, and there are early <strong>signals that something meaningfully different may be coming that can completely change the local inference landscape.</strong></p><p>Recall the core constraint: inference is memory-bandwidth bound. A GPU spends a large fraction of its silicon on graphics-specific logic (rasterisation pipelines, render targets, display controllers) that contributes nothing to matrix multiplication. That&#8217;s headroom a purpose-built chip can reclaim.</p><p><a href="https://v2.talos.wtf/">Talos V2</a> is a small open-hardware project that I recently came across and illustrates this directly through an FPGA-based inference board. Luthira Abeykoon built Talos specifically for transformer inference and published a <a href="https://github.com/AlexCheema/talos-vs-macbook">head-to-head benchmark against an Apple MacBook</a>. The numbers aren&#8217;t yet flattering for the FPGA, Apple Silicon wins on raw throughput, but the benchmark is honest about why: <strong>the FPGA&#8217;s memory bandwidth and capacity are still the limiting factor, not the compute logic</strong>. That&#8217;s the same constraint we&#8217;ve been discussing all along. What the project demonstrates is that if you wire the hardware directly to the transformer computation pattern, you eliminate the GPU overhead entirely. The floor for what&#8217;s possible on custom silicon is lower than the GPU paradigm suggests.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Et0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Et0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 424w, https://substackcdn.com/image/fetch/$s_!8Et0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 848w, https://substackcdn.com/image/fetch/$s_!8Et0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 1272w, https://substackcdn.com/image/fetch/$s_!8Et0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Et0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png" width="1386" height="616" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:616,&quot;width&quot;:1386,&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="https://substackcdn.com/image/fetch/$s_!8Et0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 424w, https://substackcdn.com/image/fetch/$s_!8Et0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 848w, https://substackcdn.com/image/fetch/$s_!8Et0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 1272w, https://substackcdn.com/image/fetch/$s_!8Et0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ce260b9-80fe-4848-bb91-c649039aebb3_1386x616.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7TW1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7TW1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 424w, https://substackcdn.com/image/fetch/$s_!7TW1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 848w, https://substackcdn.com/image/fetch/$s_!7TW1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 1272w, https://substackcdn.com/image/fetch/$s_!7TW1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7TW1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png" width="1393" height="637" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:637,&quot;width&quot;:1393,&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="https://substackcdn.com/image/fetch/$s_!7TW1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 424w, https://substackcdn.com/image/fetch/$s_!7TW1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 848w, https://substackcdn.com/image/fetch/$s_!7TW1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 1272w, https://substackcdn.com/image/fetch/$s_!7TW1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b50659b-10f1-4ac5-911b-73118e9d140d_1393x637.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The more commercially developed version of this idea is <a href="https://taalas.com/">Taalas</a> (already discussed in <a href="https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram">this newsletter</a>), which is building <strong>inference-specific accelerators designed from the ground up around the bandwidth and memory access </strong>patterns that transformers actually need rather than the patterns a graphics card was designed for. And Cerebras, whose wafer-scale chips put the entire model on a single die, eliminating inter-chip communication latency, represents the extreme end of the same logic: if memory bandwidth and model capacity are what matter, what happens when you remove the memory bottleneck entirely by fusing compute and memory into one structure?</p><p>These are not plug-and-play products today. Cerebras is data-centre hardware. Taalas is early-stage. But the direction is consistent with what happened to every other class of compute that started general-purpose and got specialised over time: GPUs themselves, Apple&#8217;s Neural Engine, Google&#8217;s TPUs. <strong>All these architectural innovations will eventually permeate into the retail</strong> (assuming that they are scalable) allowing for the manufacturing of specialised inference accelerators that allow running inference locally at a decent price (at least that&#8217;s my dream).</p><p>The practical implication for the builds above: the gap between &#8220;what you can run on $10k of consumer hardware&#8221; and &#8220;what a cloud API gives you&#8221; is closing faster than it was two years ago, and it will continue to close. MoE architectures make very large models accessible on modest VRAM. Quantisation research (see the TurboQuant work I wrote about <a href="https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more">earlier this year</a>) keeps compressing the memory footprint of capable models. Google&#8217;s recent <a href="https://blog.google/innovation-and-ai/technology/developers-tools/multi-token-prediction-gemma-4/">multi-token prediction improvements for Gemma4 </a>(which I am planning to talk about in detail in a follow-up post) And eventually, purpose-built inference chips will arrive at the price point where they belong in a home inference box. <strong>The question of whether you need a $10k machine to run something genuinely useful has been getting a faster &#8220;no&#8221; every quarter.</strong></p><div><hr></div><h2>Becoming AI-independent</h2><p>I keep coming back to the following analogy when I talk about the benefits of local inference, and where the market may end up moving, to friends and colleagues. A decade ago, <strong>some homeowners started installing solar panels</strong>. Not because it was the cheapest energy in the short term, because it wasn&#8217;t, and the payback periods were long (solar cells were expensive). They did it because they wanted independence from the central grid (where prices fluctuate a lot, and it can be unreliable or inexistent depending on the location).</p><p><strong>I feel we may be seeing this same trend for AI, as it becomes more and more of a utility</strong>. As proof of this, Nvidia and SPAN recently <a href="https://www.pv-magazine.com/2026/04/15/span-and-nvidia-to-develop-ai-data-centers-in-your-backyard-lowering-electric-bills/">announced</a> a partnership to deploy AI data centres in residential back gardens. GPU nodes integrated into home energy systems. A flavour of this is what I really need for myself.</p><p>It makes me really nervous to depend on all these AI subscriptions and token bills. I want AI independence. I already installed solar panels at home, I now want my own inference cluster. Unfortunately, <strong>I haven&#8217;t found the perfect solution where I get a plug-and-play inference system</strong> at home at a reasonable price like is currently the case for solar panels. Projects like tinygrad are getting close, but it is still a bit expensive (and probably an overkill) to what I need.</p><p>The Framework Desktop is almost there in terms of price and convenience but it is not quite there in terms of hardware requirements, and the Mac Ultra is just what I need but still expensive. A flavour of some of the configurations described above: like a small server with a RTX3090 expandable to more is close, but just still have to make your shopping list, find the right hardware, and maybe even benchmark it.</p><p>I feel increasingly convinced that there&#8217;s <strong>space in the market for someone selling the perfect well-optimised AI plug-and-play expandable inference box for 2-5K$</strong>. Something that allows you to slowly grow your inference cluster to your needs and well-benchmarked so you know what to expect in terms of tok/s and models that you can run.</p><p>I am convinced to the point that <strong>I&#8217;ve decided to start building and benchmarking these inference boxes configurations myself to try and get to this perfect device that can fill the gap in the market.</strong> Three things can happen:</p><ul><li><p>I spent a few thousand dollars in experiments and I have some useful hardware at home that I can tinker with</p></li><li><p>I find the perfect setup and I manage to partner with someone to help me manufacture and ship at scale these AI inference boxes.</p></li><li><p>I managed to find a configuration that others can copy to offer similar devices.</p></li></ul><p>In all three options I manage to get the inference box that I am looking for, with 2 and 3 solving the problem for others that may need to scratch a similar itch.</p><p>If you want to <strong>contribute to this endeavour help me either with input, suggestions, or sponsoring the effort. Anything is welcome.</strong> This is still a really raw idea that I am trying to shape. You know my email :)</p><p>Until next week.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jpmn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jpmn!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 424w, https://substackcdn.com/image/fetch/$s_!jpmn!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 848w, https://substackcdn.com/image/fetch/$s_!jpmn!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 1272w, https://substackcdn.com/image/fetch/$s_!jpmn!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jpmn!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif" width="498" height="337" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:337,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;I Need You Meme GIFs | Tenor&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="I Need You Meme GIFs | Tenor" title="I Need You Meme GIFs | Tenor" srcset="https://substackcdn.com/image/fetch/$s_!jpmn!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 424w, https://substackcdn.com/image/fetch/$s_!jpmn!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 848w, https://substackcdn.com/image/fetch/$s_!jpmn!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.gif 1272w, https://substackcdn.com/image/fetch/$s_!jpmn!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3d8d21bc-ba13-4477-83ff-d5f389db540f_498x337.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[@adlrocha - The Eval Problem: How to Test AI Agents When They Never Give the Same Answer Twice]]></title><description><![CDATA[A practical two-layer approach, with lessons from Baselight AI and other agents]]></description><link>https://adlrocha.substack.com/p/adlrocha-the-eval-problem-how-to</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-the-eval-problem-how-to</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 03 May 2026 08:01:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xXE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xXE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xXE6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!xXE6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!xXE6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!xXE6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xXE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1024,&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="https://substackcdn.com/image/fetch/$s_!xXE6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!xXE6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!xXE6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!xXE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ee97bc4-3786-4603-b65e-9f4a2941f6c0_1024x572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I wanted to close this series of posts from the past few weeks on agent engineering with the top of mind problem of everyone that starts building an agent to deploy it in production, but that I don&#8217;t see nearly enough people talking about openly. </p><p><strong>How do you test that an agent works as intended in the hands of users? </strong>From my conversation with other people that are running agents in productions, it feels like we still haven&#8217;t found the silver bullet just yet <em>(at least to my knowledge, if this is not the case, please shout!).</em></p><p><a href="https://adlrocha.substack.com/p/adlrocha-a-glimpse-of-the-new-software">Two weeks ago</a> I went through the Claude Code. <a href="https://adlrocha.substack.com/p/adlrocha-the-model-is-still-not-the">Last week</a> I covered Hermes, opencode, pi, and how the open-source community was solving similar problems to the ones faced by the Claude Code team <em>(and honestly, everyone building agents these days)</em>.<strong> In these posts I intentionally didn&#8217;t go deep into how these projects were testing themselves, because I felt this deserved a post of itself.</strong></p><p>This topic has been nagging me since we released the first LLM-powered feature for <a href="https://baselight.app">Baselight</a>, the SQL error assistant. How can you feel confident that you&#8217;ve tested the hell out of your system so that it will operate as intended in every possible case the moment you release it to users, considering the stochastic nature of LLMs? How do you catch regressions before your users do? <strong>How do you even define what &#8220;working as intended&#8221; means</strong> when the system&#8217;s outputs are stochastic?</p><p>This post is an attempt to to share all that we explored in the process of building Baselight, complementing it with all that I&#8217;ve learnt from the source code of the agents from the last few weeks, <strong>with the goal of shedding some light on the topic of agent evaluation </strong><em><strong>(</strong>hopefully sparing you some research and a few experiment).</em></p><div><hr></div><h2>The problem is not just the stochasticity</h2><p>When engineers try to test an AI agent for the first time, the stochasticity is what stops them <em>(at least this happened to me)</em>. You write a test, it passes, you run it again, it fails, same input, different output. <strong>The result of the test is not necessarily wrong, but it just doesn&#8217;t match 1:1 the assertion that the code was expecting for the test.</strong> Traditional assertion-based testing breaks immediately. You can&#8217;t assert character-by-character what the agent will output for a specific input.</p><p>The first time I faced this problem myself was when testing the error assistant. I built a testing harness where each test case received an SQL query with errors, an error message, and the corrected SQL query. Given the input, the error assistant returned a corrected SQL query, and the result of the test&#8217;s expected query should match the one generated by the error assistant. Simple enough, right? </p><p>Not really. It was a fucking mess. For simple tests the correct result and underlying assertion to be made was obvious, and the result of the expectation always matched the one generated by the agent. But with more complex queries <strong>there was ambiguity caused by the error that resulted in a lot of flaky tests</strong>, with expected results sometimes not matching exactly the result of the generated query.</p><p>That&#8217;s bad, but it&#8217;s not the deepest problem.</p><p>The deeper one:<strong> before you can ask &#8220;did the agent succeed?&#8221;, you have to answer &#8220;what does success look like for this task?&#8221;</strong> For narrow, well-defined tasks like the case of the error assistant that&#8217;s tractable. A SQL query either runs without errors and the result matches the original user intent, or it doesn&#8217;t. A response either cites a number that appears in the data or it doesn&#8217;t. But as tasks get broader and the catalogue larger, &#8220;success&#8221; starts to blur. How can we, for instance, assess objectively if the Baselight agent succeeded in performing a data analysis for a specific topic? We are back to a similar problem to the one I presented in my <a href="https://adlrocha.substack.com/p/adlrocha-auto-research-the-lab-that?r=264kx2">auto-research post</a>.<strong> It all boils down to choosing the right evaluation metric.</strong></p><p>At Baselight, we have an AI agent that lets users query and explore large datasets through natural language. A response can leverage the right datasets for the analysis, perform the right set of queries, but draw the wrong conclusions from it. A response can correctly identify a relevant dataset but miss a more relevant one three entries down in the catalogue. A response can produce a valid chain of SQL queries that answers a slightly different question from the one the user actually asked. None of these are errors in the traditional sense. <strong>All of them are failures from the user&#8217;s perspective.</strong></p><p><strong>Defining what &#8220;good&#8221; means, precisely enough to check it automatically, is most of the work.</strong> Everything else that you can think of (tooling, frameworks, running the eval harness) is in service of that definition. You can leverage an off-the-shelf tool or build it yourself.</p><div><hr></div><h2>The two layers you need</h2><p>From what I&#8217;ve seen in the open-source codebases and from building our own eval infrastructure, there are two distinct layers to testing an agentic system. Each one catches things the others miss.</p><p><strong>Layer 1: Scaffolding unit tests.</strong> The parts of your agent system that are deterministic like prompt strings, compression logic, tool dispatch and their underlying logic, permission checks, CLIs, etc. These should be t<strong>ested aggressively as ordinary software</strong> with the tools and techniques we are used to (from unit testing to end-to-end integrations).</p><p>Hermes&#8217;s most distinctive test file is <a href="https://github.com/NousResearch/hermes-agent/blob/main/tests/agent/test_prompt_builder.py">test_prompt_builder.py</a>, which imports guidance constants and asserts on their content directly:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">def test_memory_guidance_discourages_task_logs(self):
    assert &#8220;durable facts&#8221; in MEMORY_GUIDANCE
    assert &#8220;Do NOT save task progress&#8221; in MEMORY_GUIDANCE</code></pre></div><p>This is testing a <em>prompt string</em> the same way you&#8217;d test a function contract. If someone edits <code>MEMORY_GUIDANCE</code> and weakens the instruction, CI fails. The invariant, which we discussed last week as a real class of agent bugs, is now enforced by the test suite, not by convention. The compressor logic, the injection scanner, the deduplication rules: all of these are deterministic given their inputs. The fact that they serve an LLM doesn&#8217;t make them untestable and <strong>they can be tested like any other ordinary piece of software for the pre-LLM era</strong>, it is just deterministic code<strong>.</strong></p><p>Something that I saw in Herme&#8217;s source code and that I personally liked to do before LLMs <em>(but that I feel has become more important considering their stochastic nature)</em><strong> is issue-tagged regression tests.</strong> When a production failure happens, you write a test named after the issue before closing it. The test suite becomes a map of failures your system should never repeat.</p><p>A good example of this is Hermes&#8217;s <a href="https://github.com/NousResearch/hermes-agent/tree/main/tests/run_agent">tests/run_agent/</a> reads like a bug tracker: <code>test_413_compression.py, test_1630_context_overflow_loop.py</code>, <code>test_860_dedup.py</code>. Each file is a specific production failure, diagnosed, fixed, and locked in. <code>test_413_compression.py</code> mocks an OpenAI client returning HTTP 413, then asserts the agent compresses and retries rather than aborting. The whole test runs in milliseconds but encodes an invariant that future refactors can&#8217;t quietly break.</p><p><strong>Layer 2: End-to-end evals with real model calls.</strong> This is where the hard problem lives. <strong>You run real prompts through the real pipeline, against real data, and score the outputs.</strong> No mocking the model, if there&#8217;s a bug in your context management or your tool composition, this is where it shows up.</p><div><hr></div><h2>The cost problem: you can&#8217;t run everything on every commit</h2><p><strong>Layer 2 is where the real cost hits.</strong> Running end-to-end evals means making real model calls, the same model your agent runs in production, with the same token budget per task. A suite of 50 eval cases, each taking 5-10 model calls to complete, can burn through thousands of tokens per run. Run that on every commit in CI and on every developer&#8217;s machine during local iteration and the bill adds up fast, before you&#8217;ve shipped a single feature <em>(been there, done that)</em>.</p><p>The practical answer is the same one traditional software uses for slow integration tests: <strong>don&#8217;t run everything everywhere. </strong>Layer 1 scaffolding tests are fast and free, run those on every commit and in every dev environment. Layer 2 end-to-end evals are expensive and slow, so they need a different trigger. What we&#8217;ve landed on ourselves: Layer 2 runs on PRs that touch the agent&#8217;s code surface, e.g. the system prompt, tool definitions, context management, retrieval logic, etc. </p><p>And if the change only impacts a specific narrow agent with a specific surface, we try to <strong>limit the testing surface to the minimum</strong>. A commit that only touches the UI or a background job doesn&#8217;t need to burn tokens on a full eval run. The CI pipeline needs to know which files map to which test surfaces, which is a small upfront investment that pays for itself quickly.</p><p>The corollary is that your eval suite needs to be stratified. Some cases are fast and cheap enough to run broadly; others like the long-horizon tasks with 10+ tool calls and a 15-minute timeout, should only run pre-release, not on every PR. <strong>Tag your test cases by cost and surface, and let the CI configuration decide which tier to run based on what changed.</strong></p><div><hr></div><h2>Defining success: what we actually measure in Baselight</h2><p>Layer 2 is only as good as your success definition. At Baselight we broke this into three dimensions, each of which required a different measurement approach.</p><p><strong>Search quality.</strong> The agent&#8217;s first job is finding the right dataset for the user&#8217;s question. This sounds like it should be easy to measure, either it found the right dataset or it didn&#8217;t, but in practice the catalogue is large, datasets overlap in what they cover, there are datasets with similar data, and &#8220;right&#8221; depends on the user&#8217;s intent in ways that aren&#8217;t always explicit in the query. We ended up with a catalogQuality scorer: <strong>an LLM judge</strong> that takes the user&#8217;s question, the datasets the agent surfaced, and a reference set of expected datasets, and <strong>scores whether the agent&#8217;s catalogue search was on target.</strong></p><p>This is imperfect. The judge can be wrong. But the alternative, not measuring this at all, is worse, because for us search quality is key to get a great ouput. A good analysis with the wrong dataset (e.g. due to outdated data or from a non-authoritative source) is way worse than a response that admits it couldn&#8217;t find relevant data. When you lead with 70 thousand different datasets on various topics with community contributions you operate at a scale <strong>where search is a great percentage of the success of the result.</strong></p><p><strong>Query success rate.</strong> Does the SQL the agent generates actually run without errors, and does it return data? This is the most tractable of the three, it&#8217;s nearly deterministic <em>(and one of the value-adds of Baselight, its ability to audit all the side-effects of the agent&#8217;s chain-of-thought).</em> We track errorRate (fraction of tool calls that failed) and queryQuality (did the SQL actually answer the question?). The latter is still LLM-judged, but the former is a simple counter. In practice, errorRate going from 2% to 8% is often the first signal that something broke (a schema change, a model regression in SQL generation, a context window issue causing the agent to lose track of which table it was querying, etc.).</p><p><strong>Factfulness.</strong> Can every claim in the response be traced back to data that actually appeared in the tool call results, rather than being generated from the model&#8217;s training weights? <strong>This is the hardest to measure. </strong>We have a dataQuality scorer that checks whether specific numbers and facts in the response appear in the tool results. It&#8217;s imperfect, <strong>the model can paraphrase or aggregate in ways that make tracing difficult, but it catches the obvious failure mode: the agent making up a statistic rather than fetching it.</strong></p><p>None of these metrics are perfect. The useful ones catch the obvious failures reliably and the subtle ones directionally.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gv-L!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gv-L!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 424w, https://substackcdn.com/image/fetch/$s_!Gv-L!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 848w, https://substackcdn.com/image/fetch/$s_!Gv-L!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 1272w, https://substackcdn.com/image/fetch/$s_!Gv-L!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gv-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png" width="1456" height="740" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:740,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;component level evals&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="component level evals" title="component level evals" srcset="https://substackcdn.com/image/fetch/$s_!Gv-L!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 424w, https://substackcdn.com/image/fetch/$s_!Gv-L!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 848w, https://substackcdn.com/image/fetch/$s_!Gv-L!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 1272w, https://substackcdn.com/image/fetch/$s_!Gv-L!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F70440caa-a59b-4036-80bf-6c8346909966_4577x2327.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Existing Tooling</h2><p>Once you have a success definition, you need infrastructure to run evals at scale. A few options worth knowing about.</p><p><strong><a href="https://v1.evalite.dev/guides/quickstart/">Evalite</a></strong> is what we built on, a vitest-based framework by Matt Pocock that runs .eval.ts files the same way vitest runs .test.ts files. The model is clean: a data function providing test cases, a task function running the actual pipeline, and a scorers array scoring the output. Results persist to SQLite, a web UI runs at localhost:3006, and the whole thing integrates into a standard CI pipeline. The framework ships with built-in scorers (exactMatch, answerSimilarity, faithfulness, toolCallAccuracy) plus hooks for custom LLM-judge scorers. For us, the key constraint was running evals sequentially (maxConcurrency: 1) against a shared database, and the 15-minute per-test timeout to accommodate long agentic tasks. Off-the-shelf frameworks often assume fast, independent test cases, and that assumption breaks for agents <em>(we may need to rethink currenting testing and CI infrastructure, but as I tend to do lately, that&#8217;s a topic for another day)</em>.</p><p><strong><a href="https://www.braintrust.dev/">Braintrust</a></strong> is the most complete commercial option for teams that want <strong>offline eval plus production observability</strong> in a single platform. It connects the evaluation loop directly to production traces, you can spot a failure in a real user session and turn it into an eval case without leaving the tool. The pricing model is opaque, but for teams that want a &#8220;batteries-included&#8221; solution without building the infrastructure themselves, it&#8217;s the most serious option right now.</p><p><strong><a href="https://langfuse.com/">Langfuse</a></strong> is the open-source alternative, self-hostable, OpenTelemetry-compatible, with a strong tracing and monitoring story. If you&#8217;re already running PostHog for product analytics and want a tool focused specifically on LLM traces, Langfuse fills that gap cleanly. It doesn&#8217;t have Braintrust&#8217;s integrated eval loop, but it gives you full visibility into what the agent is doing in production.</p><p>For Baselight, we already have PostHog LLM Analytics in place with generation tracking, latency, cost, and trace visualisation. That covers the observability layer. What it doesn&#8217;t do is run systematic evals or score outputs; that&#8217;s what evalite handles. The two tools cover different parts of the problem.</p><p>There&#8217;s also <strong><a href="https://deepeval.com/guides/guides-ai-agent-evaluation">DeepEval</a></strong>, which has thought carefully about the two-layer structure of agentic systems: the reasoning layer (the LLM&#8217;s planning and decision-making) and the action layer (tool execution). Their framework distinguishes between ToolCorrectnessMetric (did the agent select the right tool?) and ArgumentCorrectnessMetric (did it pass the right parameters? &#8220;Calling the right tool with wrong arguments is just as problematic as calling the wrong tool entirely.&#8221;) That framing is useful even if you&#8217;re not using their framework, because it forces you to attribute failures correctly: a bad SQL query might mean the model reasoned incorrectly, or it might mean it called the right tool with the wrong schema.</p><p>One thing that I think is key to understand, and the reason why you need a good production observability system is <strong>that your production conversations are your best source of new test cases</strong>. Every real user session is a data point about what queries your agent actually faces, which tool call sequences it takes, and where it goes wrong in ways your synthetic (or intuition) test cases didn&#8217;t anticipate. </p><p><strong>This is what we used to grow from a few dozen tests to a more robust harness.</strong> It is important to have a systematic way of pulling failures and interesting edge cases from production traces into the eval suite. A query that broke in production, once understood and fixed, should become a regression test. A pattern of queries where the agent consistently takes four tool calls to do something that should take two should become a new scorer. Doing this at scale is a complete pain (and not a solved problem), and for us there&#8217;s still a lot of manual work, but we will get there.</p><p>This is where the observability layer connects back to the eval layer. PostHog traces tell you <em>what happened</em>. The eval suite tells you <em>whether it was good</em>. <strong>The loop between them is what keeps the eval suite from going stale. Without it, you&#8217;re testing against the problems you anticipated when you wrote the cases, not the problems your users are actually hitting.</strong></p><div><hr></div><h2>Handling the stochasticity</h2><p>Back to the problem that stops teams first. If you run the same prompt twice and get different outputs, what does &#8220;pass&#8221; mean?</p><p><a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">Anthropic&#8217;s engineering blog</a> on agent evaluation offers the clearest framework I&#8217;ve seen. They distinguish between two metrics:</p><ul><li><p><strong>pass@k</strong>: at least one of k attempts succeeds. Useful for capability questions, i.e. &#8220;can the agent do this at all?&#8221;</p></li><li><p><strong>pass^k</strong>: all k attempts succeed. Useful for reliability questions, i.e. &#8220;can I deploy this to production and trust it won&#8217;t fail 40% of the time?&#8221;</p></li></ul><p>These are different questions and they&#8217;re often conflated. A 70% per-trial success rate gives you a pass@3 of 97%, <strong>the agent almost certainly succeeds if you give it three tries</strong>, but pass^3 of 34%, which means it fails all three about a third of the time. Whether that&#8217;s acceptable depends entirely on whether your product gives users a retry button or treats the first response as final.</p><p>For broad analyses with a large dataset catalogue, we find that larger tasks also reveal model quality differences more clearly. With a narrow, well-specified task, weaker models still complete it most of the time.<strong> With a complex analysis requiring multiple tool calls, search across a large catalogue, and synthesised reasoning, the gap between a stronger and weaker model becomes visible quickly, </strong>and the degradation compounds step by step.</p><p>The practical upshot: run your eval suite 3-5 times per release and look at the distribution, not the point estimate. A 3% mean improvement that&#8217;s significant in a t-test is probably real. A 3% improvement on a single run is probably noise. <strong>Then the key question here gets back to defining success: can your product actually afford a pass^k lower than a 100%?</strong> But that&#8217;s a hard one to get. At least for us in Baselight, data analysis can run for several minutes, include large queries, and require several interactions. We can&#8217;t afford requiring users to make several attempts to solve their problem.</p><div><hr></div><h2>The open problem: the vibes test</h2><p>Here&#8217;s the honest state of things.</p><p>We have layer 1 covered. Layer 2 is running and catching real regressions. But there&#8217;s still a stage in our release process that I call the vibes test: <strong>someone deploys to staging, runs a handful of queries manually </strong><em>(thank you, Michal :) )</em>, and says &#8220;this feels right&#8221; or &#8220;something&#8217;s off.&#8221; It&#8217;s manual, it&#8217;s subjective, and it&#8217;s the only thing catching certain regressions that the automated suite misses.</p><p>I don&#8217;t love this. It doesn&#8217;t scale, it&#8217;s dependent on having someone with a good intuition for the product <em>(like Michal)</em>, and it catches things inconsistently. But I haven&#8217;t found a way to fully automate it away for now.</p><p>What the vibes test is catching, I think, is the thing that Anthropic&#8217;s guidance calls <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">&#8220;transcript review&#8221;</a>, reading actual agent conversations to build intuition for failure modes. The automated scorers measure specific, pre-defined dimensions. <strong>The vibes test catches things outside those dimensions: </strong>a response that technically scores well on all five scorers but has a weird hedging pattern that suggests the model didn&#8217;t really understand the question. A tool call sequence that&#8217;s technically correct but takes twice as many steps as it should. A tone shift that suggests the system prompt got confused somewhere.</p><p>Making the vibes test smaller, by surfacing these patterns through automated scoring is still a work in progress for us. The most promising partial answer I&#8217;ve found comes from search systems and I read it from a post with this one already drafted. </p><p>Mercadona&#8217;s (the Spanish chain of supermarkets) deploy pipeline rejects models that degrade any of four metrics beyond -2%, with a one-hour hold before activation that allows a human abort. Mercadona, which processes 4.4 million queries a week through a hybrid search pipeline, <strong>maintains what they call a </strong><em><strong>golden set</strong></em><strong>: 500 manually annotated queries with correct answers, kept immutable and never updated from model outputs.</strong> The reason: if you refresh your golden set from production data, and that production data reflects what your current model returns, you eventually train the evaluator to rate your model&#8217;s style as correct rather than rating actual correctness. The eval contamination problem. </p><p>The practical upshot for agent evals: <strong>keep a frozen core of carefully curated cases that never gets touched, and add new cases from production to a separate, growing set</strong>. The frozen core is your regression baseline. The growing set is where you discover new failure modes. Applied to agent evals: automated scoring against the frozen golden set, with a threshold gate that blocks the release and pages someone when any scorer degrades beyond a defined bound. The person doing the vibes check then has a concrete baseline to objectively identify regressions.</p><p>For Baselight we were using a similar approach of having a small number of critical tests as the golden rule, but I think the approach from Mercadona is brilliant. I highly recommend everyone to read <a href="https://www.gemba.es/p/como-construimos-nuestro-buscador">this post where they explain how they completely rewrote from scratch their search engine leverage coding agents</a> <em>(it&#8217;s in Spanish, but in the age of LLMs languages are no longer a concern).</em></p><div><hr></div><h2>Where this leaves us</h2><p>The two-layer structure, scaffolding unit tests with issue-tagged regressions, and end-to-end evals, are the two dimensions for proper testing of agentic products. I think we are going to see more and more systems like this in CI and tooling to help with it surfacing in production.</p><p> We can already draw a lot of inspiration from what open-source agents and the research community is doing, but to me, <strong>the part that&#8217;s hardest to hand down is the success definition for your specific use cases</strong> <em>(coming up with one for Baselight that we thought suited well the use case was a heated discussion).</em></p><p>I think we are all still learning, and vibe-testing your agents we stick around as practice for a while. According to benchmarks, Claude Opus 4.7 surpasses the capabilities of Opus 4.6, but <a href="https://www.youtube.com/watch?v=W--hvgRLmJM">&#8220;the vibes&#8221; from the community </a>haven&#8217;t been so positive, to the point that many are defaulting to 4.6 still.</p><p>And with this I close this &#8220;improvised&#8221; three-part series on agent engineering. Next week I want to write about what all of this means for the engineers building these systems, and the future of our discipline because I really need to put some order to all of the ideas around the topic that I&#8217;ve been having lately, but that&#8217;ll have to wait</p><div class="pullquote"><p>PS: I also l wanted to end this post with a special thank you note to <a href="https://www.linkedin.com/in/jonathantavares">Jonathan Tavares</a> and the team at <a href="https://wearesingular.com/">Singular</a> for their invaluable support building Baselight AI and its evaluation harness (they definitely did all of the heavy-lifting here). Thank you!</p></div><p>Until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - The Model is still not the Product]]></title><description><![CDATA[What the agent loops of open-source projects tell us about the future of software engineering.]]></description><link>https://adlrocha.substack.com/p/adlrocha-the-model-is-still-not-the</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-the-model-is-still-not-the</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 26 Apr 2026 07:45:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Lt8W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Lt8W!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Lt8W!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Lt8W!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Lt8W!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Lt8W!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Lt8W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6621969,&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://adlrocha.substack.com/i/195504241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Lt8W!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!Lt8W!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!Lt8W!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!Lt8W!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa17f0a34-1d5d-4b33-9656-6b770aafa4d3_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://adlrocha.substack.com/p/adlrocha-a-glimpse-of-the-new-software">Last week&#8217;s post on the Claude Code leak </a>surfaced something I keep coming back to: <strong>the most interesting engineering in a production AI agent isn&#8217;t the model, it&#8217;s everything around it.</strong> How context gets managed across a long session, how the memory is structured so the right details are brought to context when needed, how tools are designed to be composable and provide relevant functionality. As discussed last week, there&#8217;s a lot of engineering around the model to make it shine.</p><p>At first, I thought that all of these patterns and techniques were hidden behind Claude Code&#8217;s closed source code, but then I started asking myself <em>(as I briefly alluded in my last post),</em> there&#8217;s already a lot of interesting open-source projects that I use on a daily basis implementing agent loops, <em>what are this open-source equivalents doing compared to Claude Code?</em> The Claude Code source showed us how Anthropic solved these problems, but how do Hermes Agent, Pi, and Opencode approach these same problems?</p><p>I have this hypothesis that everyone is converging to similar solutions for the kind of problems we are currently facing when dealing with LLMs, but is this true? <strong>Can we start leveling up certain common patterns into &#8220;best practices&#8221;? </strong>To scratch this itch I spent the week digging into the source code of a few popular agentic projects <em>(with obvious help of my bedside agents and LLMs :) )</em>. I focused on projects that I liked and I used daily (so I also had some intuition of the features and how the techniques under the hood felt when used).</p><p>I&#8217;ll mainly focus on Nous Research&#8217;s <a href="https://github.com/nousresearch/hermes-agent">Hermes</a> (100,000 stars, #1 trending this month), <a href="https://github.com/badlogic/pi-mono">pi</a> from Mario Zechner (to me the most elegant, simplest, most efficient harness that I&#8217;ve read). I also dug into <a href="https://github.com/anomalyco/opencode">opencode</a> from Anomaly, but didn&#8217;t see anything worth mentioning there. All of them are tackling some of the fundamental problems we all face in agent engineering (context, memory, skills, subagents) and each makes different bets. <strong>Some of those bets are worth borrowing regardless of which framework you use.</strong></p><p>This is what I found.</p><div><hr></div><h2>Hermes: the architecture</h2><p>I am going to use as the base for my analysis the codebase of Hermes, as its core agent loop is a bit more complicated than the rest. Hermes has taken the Internet by storm lately <em>(at least in the bubble that I like to hang out in)</em>, and I feel they approached certain things in a different (and nice) way. Before talking about specific techniques, it helps to understand how Hermes is organised.</p><p>The codebase splits cleanly into six layers:</p><ul><li><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/agent/prompt_builder.py">prompt_builder.py</a> is stateless, a pure function that assembles the system prompt from pieces: identity (or <code>SOUL.md</code> if the user has one), memory guidance, skills index, context files <code>.hermes.md &#8594; AGENTS.md &#8594; CLAUDE.md &#8594; .cursorrules</code>, first match wins), and model-specific steering blocks.</p></li><li><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/run_agent.py">run_agent.py</a> is the main loop, it calls the prompt builder, runs the LLM, dispatches tool calls. <a href="https://github.com/NousResearch/hermes-agent/blob/main/agent/context_compressor.py">context_compressor.py</a> is a fully self-contained class with its own LLM client, decoupled from the main agent. Compression is triggered by the loop but runs independently.</p></li><li><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/agent/memory_manager.py">memory_manager.py</a> coordinates one built-in memory provider and at most one external plugin; the cap is deliberate, to prevent tool schema bloat.</p></li><li><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/tools/skill_manager_tool.py">skill_manager_tool.py</a> handles everything skill-related: creation, editing, patching, deletion.</p></li><li><p><a href="https://github.com/NousResearch/hermes-agent/blob/main/tools/delegate_tool.py">delegate_tool.py</a> manages subagents.</p></li></ul><p>On top of all of this sits a gateway layer, a separate process that routes Telegram, Discord, Slack, WhatsApp, Signal, and email messages into the same agent loop.</p><p><strong>When you read agent codebases that feel fragile, it&#8217;s usually because everything is tangled together in one giant run loop </strong><em>(been there, done that)</em>. Hermes keeps compression, memory, skills, and subagents as distinct modules with clear interfaces. Each can be understood, tested, and replaced without touching the others, leaving the model to orchestrate them as needed.</p><div><hr></div><h3>The self-authoring skill system</h3><p>The part everyone talks about is Hermes&#8217; self-writing skills. Now it has become common knowledge, but when<strong> it was first announced I thought it was a pretty smart way of implementing some kind of continuous learning into the agent. </strong>It was a way around the hundred of thousand lines of code that OpoenClaw had to implement to handle the integration of external systems.</p><p>Here&#8217;s what it actually looks like in code.The trigger is a single instruction in the system prompt. The exact text from <code>prompt_builder.py</code>:</p><blockquote><p><em>&#8220;After completing a complex task (5+ tool calls), fixing a tricky error, or discovering a non-trivial workflow, save the approach as a skill with skill_manage so you can reuse it next time.&#8221;</em></p></blockquote><p>No background daemon. No scheduler. The threshold is five tool calls, and the model decides when it has crossed it. When it does, skill_manager_tool.py runs a careful creation pipeline: </p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">name validation &#8594; 
frontmatter validation (YAML with name and description required) &#8594; 
size check (max 100,000 chars) &#8594; 
name collision check &#8594; directory creation &#8594; 
atomic write (temp file, then os.replace()) &#8594; 
security scan</code></pre></div><p>With full rollback if anything fails.</p><p><strong>The skill index is injected into every system prompt with a two-layer cache:</strong> an in-process LRU dict keyed by skills directory, toolset, platform, and disabled list, backed by a disk snapshot validated by mtime/size manifest for cold starts. When a new skill is created, the cache is immediately cleared so the next prompt rebuild sees it.</p><p>When loading skills, the header reads: <em>&#8220;Err on the side of loading, it is always better to have context you don&#8217;t need than to miss critical steps, pitfalls, or established workflows.&#8221;</em> And after difficult tasks: <em>&#8220;If a skill you loaded was missing steps, had wrong commands, or needed pitfalls you discovered, update it before finishing.&#8221;</em></p><p>That last instruction I think is key for this system to actually work and scale. The agent doesn&#8217;t just create skills, it&#8217;s expected to maintain them. The patch action in skill_manage uses a fuzzy match engine (the same one used for file edits) that handles whitespace differences, indentation variance, and block-anchor matching. <strong>The agent can self-correct a skill it wrote three sessions ago without needing an exact string match.</strong> That&#8217;s beautiful, because it also solves potential breaking changes into the tools the skill interacts with.</p><p>Hermes ships a few hundred SKILL.md files by default: for GitHub PR workflows, Obsidian, Linear, Google Workspace, MLOps, home automation. The long tail of <em>&#8220;somebody already figured this out.&#8221;</em> It felt a bit bloated to me when I first installed it, but with this the agent can write its own code and maintain it when it needs one of these features instead of having to figure out something from scratch, or having to explicitly ship code that performs that logic.</p><p>The learning from this implementation? Something that already alluded to a few weeks back <a href="https://adlrocha.substack.com/p/adlrocha-agents-will-make-code-and">in this post</a>. <strong>Instead of writing code with the specific logic required for some task, we can encode procedural knowledge as first-class, versioned, agent-editable artefacts. </strong>Skills that the agent itself can create, patch, and deprecate based on what it learns at runtime. We are making software adaptable and fungible (as we will discuss in future posts).</p><p><strong>This feature has a clear trade-off that I&#8217;ve experienced myself when writing a similar feature for my agents&#8217; harness: skill explosion</strong>. Without some system that identifies skills that are semantically equivalent, you run the risk of having several skills written by the agent that do the same thing. For this feature to work at scale, you need some kind of garbage collection process that does semantic deduplication and purges deprecated skills (again, from personal experience).</p><p>Some of these design decisions also feel quite inefficient in the use of tokens and the model&#8217;s underlying context, but I have to admit that I haven&#8217;t had the time to properly benchmark this <em>(I run Hermes against a local model, so I am not that worried about token costs). </em>I&#8217;ll let others that have gone through that exercise add to this.</p><div><hr></div><h3>Compressing context without losing the plot</h3><p>As a conversation grows, tool outputs, file reads, and back-and-forth exchanges pile up until you hit the model&#8217;s token limit. When that happens, the agent would normally just fail or lose history <em>(and from my experience this gets really nasty with local models)</em>.</p><p><code>Context_compressor.py</code> prevents that by <strong>shrinking the middle of the conversation, preserving the system prompt and recent work (the &#8220;head and tail&#8221;), and replacing everything in between with a structured summary</strong> that captures what matters: the current task, decisions made, files touched, what&#8217;s blocked, what&#8217;s still pending. In short: it&#8217;s the mechanism that lets Hermes run indefinitely across a long task without losing its memory of what happened, while keeping the active context small and focused.</p><p>It runs in four phases.</p><p><strong>Phase 1</strong> is a cheap pre-pass with no LLM call. <strong>Old tool outputs are replaced with one-line summaries: </strong>[terminal] ran npm test &#8594; exit 0, 47 lines. Identical tool results from repeated reads of the same file are deduplicated. Tool arguments are truncated, but JSON-aware: the compressor parses the argument JSON, shrinks long string values to 200 characters, and re-serialises. An earlier implementation just sliced the raw string, which produced broken JSON and caused provider-specific 400 errors. The JSON-aware version came from running into that failure in production. You&#8217;ve probably seen this summaries in Hermes&#8217; outputs depending on the level of verbosity that you have configured in your agent</p><p><strong>Phase 2 is boundary detection</strong>. The head (system prompt + first few exchanges) and a token-budget tail (around 20% of context, containing the most recent work) are protected. Everything in between is the compression target. The boundary aligns to avoid splitting tool call/result pairs, a split there would leave orphaned IDs that break downstream execution.</p><p><strong>Phase 3</strong> <strong>is the LLM summarisation with a structured template</strong>: Active Task, Goal, Constraints, Completed Actions, Active State, In Progress, Blocked, Key Decisions, Resolved Questions, Pending User Asks, Relevant Files, Remaining Work, Critical Context. Not a freeform summary. A structured handoff document.</p><p><strong>Phase 4 re-inserts the summary and cleans up orphaned pairs</strong>. On subsequent compression, the system does iterative updates, patching the existing summary rather than re-summarising from scratch. There&#8217;s an anti-thrashing guard: if the last two passes each save less than 10% of tokens, compression is skipped.</p><p>Compaction techniques are a topic in themself that I&#8217;ll cover in future posts <em>(as always, drop me an email if you want me to prioritise it)</em>. In the meantime, I&#8217;ll leave you here with <a href="https://factory.ai/news/evaluating-compression">a nice write-up on the topic</a> from the <a href="http://factory.ai">factory.ai</a> team</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bNDS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bNDS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 424w, https://substackcdn.com/image/fetch/$s_!bNDS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 848w, https://substackcdn.com/image/fetch/$s_!bNDS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 1272w, https://substackcdn.com/image/fetch/$s_!bNDS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bNDS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png" width="721" height="152" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:152,&quot;width&quot;:721,&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="https://substackcdn.com/image/fetch/$s_!bNDS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 424w, https://substackcdn.com/image/fetch/$s_!bNDS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 848w, https://substackcdn.com/image/fetch/$s_!bNDS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 1272w, https://substackcdn.com/image/fetch/$s_!bNDS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9c4fd52-1f50-48d9-8247-3d5a7ed730cd_721x152.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><div><hr></div><h3>Subagent isolation</h3><p><code>delegate_tool.py</code> is the piece responsible for<strong> isolating agents so they don&#8217;t pollute each other when they are doing their thing.</strong> That way the main agent&#8217;s loop can trigger isolated research agents in the background that will (eventually) provide an output result to the parent</p><p>Each child agent gets a fresh conversation with no parent history, its own terminal session, and a toolset that is the <em>intersection</em> of the parent&#8217;s enabled tools and the explicitly requested tools. Children cannot gain capabilities the parent doesn&#8217;t have. <code>skip_memory=True, skip_context_files=True</code>, i.e. children start clean. The toolset that is hardcoded-blocked for children: delegate_task (no recursive delegation beyond depth 2), clarify (children cannot ask the user questions), memory (no writes to the shared MEMORY.md), send_message (no cross-platform side effects), execute_code.</p><p>The recursion depth is hardcoded at <code>MAX_DEPTH = 2</code> deliberately to keep the execution graph tractable.</p><p>Parallel batch mode uses a <code>ThreadPoolExecutor</code> with a configurable cap (default 3).<strong> So we have a structured concurrency architecture.</strong> The interrupt propagation is explicit: if the parent is interrupted, the executor stops waiting and collects whatever children have finished. The tool name global is saved before child construction (which overwrites a process-global variable) and restored after. A clean isolation detail that prevents a subtle bug where the parent&#8217;s available tools appear changed after delegation returns.</p><p>The heartbeat is the detail I wasn&#8217;t expecting. <strong>A daemon thread runs every 30 seconds, touching the parent agent&#8217;s last-activity timestamp so the gateway&#8217;s inactivity timeout doesn&#8217;t fire while a subagent is doing real work.</strong> The parent appears idle during delegation, no messages, no tool calls &#8212; and without the heartbeat, long-running subagents would get their sessions killed.</p><p>Many of you may have realised by now, that a lot of the techniques for parallel programming are directly applicable to parallel agents architectures (structured concurrency, process isolation, etc.).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sBPW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sBPW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 424w, https://substackcdn.com/image/fetch/$s_!sBPW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 848w, https://substackcdn.com/image/fetch/$s_!sBPW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 1272w, https://substackcdn.com/image/fetch/$s_!sBPW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sBPW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png" width="1401" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&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="https://substackcdn.com/image/fetch/$s_!sBPW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 424w, https://substackcdn.com/image/fetch/$s_!sBPW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 848w, https://substackcdn.com/image/fetch/$s_!sBPW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 1272w, https://substackcdn.com/image/fetch/$s_!sBPW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a48fb7e-89ba-48af-ba03-b4d4dd02f230_1401x874.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Model-aware prompt steering</h3><p>One thing Hermes does that I haven&#8217;t seen written about elsewhere but that I guess we are all doing <em>(at least we use a similar approach for the multi-model support of Baselight AI)</em>:<strong> it serves different system prompt instructions depending on which model is being used.</strong></p><p>GPT and Codex models get XML blocks called <code>&lt;tool_persistence&gt;, &lt;mandatory_tool_use&gt;, &lt;act_dont_ask&gt;, &lt;prerequisite_checks&gt;, &lt;verification&gt;, and &lt;missing_context&gt;</code>. These are explicit behaviour constraints: <em>&#8220;never answer arithmetic from memory, always use a tool,&#8221; &#8220;if a question has an obvious default interpretation, act on it rather than asking.</em>&#8220; Gemini and Gemma models get different guidance: absolute paths always, dependency checks before importing, parallel tool calls where possible, non-interactive CLI flags. GPT-5 and Codex get the developer role instead of system, because newer OpenAI models give stronger instruction-following weight to that role.</p><p>Unlike Claude Code, where all the engineering behind it was adapted to Anthropic&#8217;s models, these <strong>multi-model tools need to adapt their operation to the models supported under the hood if they want it to perform well with all of them.</strong></p><p>The code comment on this section: <em>&#8220;Inspired by patterns from OpenAI&#8217;s GPT-5.4 prompting guide &amp; OpenClaw PR #38953.&#8221;</em> The framework is actively borrowing from other codebases and naming the source. This is a field converging on shared solutions in public, in code.</p><p>If you&#8217;ve tried to implement a multi-model agent this may be obvious to you, but for those of you that haven&#8217;t, the same agent instruction doesn&#8217;t work equally well across all models. If you&#8217;re building a multi-model agent, the steering layer needs to be model-aware if you want good performance with all of them. What reads as &#8220;obvious&#8221; to Claude requires an explicit XML constraint for GPT.</p><div><hr></div><h3>Memory: declarative over imperative</h3><p>One design decision in prompt_builder.py that seems small but has large runtime consequences is the memory guidance:</p><blockquote><p><em>&#8220;Write memories as declarative facts, not instructions to yourself. &#8216;User prefers concise responses&#8217; &#10003; &#8212; &#8216;Always respond concisely&#8217; &#10007;. &#8216;Project uses pytest with xdist&#8217; &#10003; &#8212; &#8216;Run tests with pytest -n 4&#8217; &#10007;. Imperative phrasing gets re-read as a directive in later sessions and can cause repeated work or override the user&#8217;s current request. Procedures and workflows belong in skills, not memory.&#8221;</em></p></blockquote><p>The distinction prevents a real class of bugs. An imperative memory written in session one (&#8221;always run tests before committing&#8221;) gets re-read as a live instruction in session five and overrides what the user actually asked for. Declarative facts don&#8217;t have this problem because they describe state rather than commanding behaviour.</p><p>What we can learn from this is that <strong>one should always separate their agent&#8217;s persistent </strong><em><strong>knowledge</strong></em><strong> (declarative) from its persistent </strong><em><strong>procedures</strong></em><strong> (skills)</strong>. Conflating them produces agents that become increasingly hard to steer as their memories accumulate.</p><div><hr></div><h2>pi: the extension event bus</h2><p>As I mentioned above, to me <strong>pi is one of the simplest and most elegant implementations of an agent loop that I&#8217;ve seen. </strong>pi&#8217;s bet is that agent frameworks shouldn&#8217;t bake features into the core loop, they should expose lifecycle events and let extensions intercept them. The ExtensionAPI exposes 30+ typed events. I have to admit that my distributed systems background <em>(and how much I love configuring my agents to my personal workflows) </em>loved this. This is why it has become my go-to coding agent since a few weeks ago<em>.</em></p><p>To really understand how powerful this is, you just have to follow a prompt through the system and watch <strong>the events that it fires and the side-effects triggered.</strong> Take memory management, for example. When a conversation gets too long, pi needs to compress it. But right before that happens, the session_before_compact hook fires. With a few lines of TypeScript, you can intercept this event and tell the framework to swap out your expensive, primary model for a cheaper, faster one just for the summarisation step. If anything fails, it gracefully falls back to the default. <strong>The framework didn&#8217;t need to build a &#8220;custom summarisation model&#8221; feature; it just provided the hook, letting you implement the policy.</strong></p><p>That same philosophy applies to safety and context. Before the AI executes any command, the tool_call event fires, pausing time with a mutable input. This is how you build a bouncer for your terminal: if the AI tries to run a destructive command like <code>rm -rf</code>, your extension can read the command, block the execution, and throw up a confirmation dialogue. Because the event is mutable, earlier handlers can even patch arguments before later ones see them.</p><p>Beyond these hooks, pi extends its capabilities using Skills, which follow the open <a href="https://agentskills.io">agentskills.io</a> standard. These are formatted as XML in the system prompt, pinpointed by an absolute file path. But the smartest part of the skills system is its governance. Powerful skills usually eat up a massive amount of context, which can bog down your agent. pi solves this with a simple disable-model-invocation flag. This hides the skill from the prompt entirely, keeping your AI lightweight until you explicitly summon that specific tool by typing <code>/skill:name</code>. So if you don&#8217;t want to increase the capabilities of your agent but you don&#8217;t want to implement your own logic triggered by hooks, you can always create your own skills.</p><p>Ultimately, <strong>the overarching pattern here is what makes the project so elegant to me: hook-based extension over baked-in features.</strong> It keeps the core system incredibly small and fast <em>(i.e. easy to read and understand)</em> while leaving the surface area for customisation wide open. There is, of course, a trade-off. To wield this kind of power, you may need to understand the internals, the specific events triggered by the event loop, and configure it to be in-par in terms of features with other coding agents like OpenCode or agent harnesses like Hermes.</p><p>But hey, to me it has been a charm to use and tinker with. Even its defaults are already yielding great results for me. Just give the <a href="https://github.com/badlogic/pi-mono/tree/main/packages/agent">pi-agent-core README</a> a quick read if you want to immediately fall in love with this project :) <em>(see image below)</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VMeC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VMeC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 424w, https://substackcdn.com/image/fetch/$s_!VMeC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 848w, https://substackcdn.com/image/fetch/$s_!VMeC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 1272w, https://substackcdn.com/image/fetch/$s_!VMeC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VMeC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png" width="1299" height="855" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:855,&quot;width&quot;:1299,&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="https://substackcdn.com/image/fetch/$s_!VMeC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 424w, https://substackcdn.com/image/fetch/$s_!VMeC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 848w, https://substackcdn.com/image/fetch/$s_!VMeC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 1272w, https://substackcdn.com/image/fetch/$s_!VMeC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7e67c73e-39cb-45ad-aef4-2e053e52b0d4_1299x855.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>Where this is heading</h2><p>After reading the source code for all of these projects, a few things stand out to me. First, I&#8217;ve reinforced my idea that <strong>one way or another, we are all facing the same kind of agents, and with different approaches and trade-offs </strong>(in many cases depending on the use case) we  are all arriving at similar solutions.</p><p>Even more, the shared substrate is also converging. The SKILL.md format, the <a href="https://agentskills.io">agentskills.io</a> open standard that pi implements, the &lt;tool_persistence&gt; XML blocks for GPT, the OpenAI interface that has become the de-facto API for models,<strong> these are becoming common across frameworks. </strong>A skill written for Hermes can be adapted for opencode or pi with minor changes. As the ecosystem matures there won&#8217;t be a single framework winning, but shared primitives that work across all of them. A lot of the underlying pieces for agent engineering are slowly being standardised.</p><p>Which links with another point I&#8217;ve been making for a while: <a href="https://adlrocha.substack.com/p/adlrocha-agents-will-make-code-and">that agents will make code and apps obsolete</a> as we know them. A few markdown files (potentially in the form of skills and memory files), an agentic loop, an LLM model as the reasoning machine a.k.a processor, and a knowledge base (in the form of external integrations, memory, context, etc.) enable the creation of software that adapts to specific contexts and use cases.</p><p>There&#8217;s a project called <a href="https://matrix-os.com/technical">Matrix OS</a> that takes this trajectory to its logical conclusion. The framing: <em>&#8220;The LLM is the CPU. The context window is RAM. Files are files.&#8221;</em> The agent manages the filesystem, spawns sub-processes, and creates new capabilities by writing new agent definition files and tools at runtime. It can modify itself. All state persists as files, synced peer-to-peer via gi<strong>t. I feel this is the high-level architecture that we are all converging to, and the platform targeted by the &#8220;new software engineering&#8221; </strong>(more on this in a few weeks).</p><p>I would place Hermes, pi, and opencode into different categories of agents (while close I don&#8217;t think they address the same use case). But they all follow a similar direction, and they could all be adapted and configured to solve a lot of different use cases. We are moving into a world of <em>&#8220;fungible software&#8221; (man, my backlog is exploding with ideas that I want to share in future posts&#8230;).</em></p><p>What does all of this mean for software engineering as a profession? That&#8217;s the question I want to address in the coming weeks. Specifically what happens to the people building software, not just the people building agents.<strong> My take right now: software engineering is changing A LOT </strong><em><strong>(as we are all feeling)</strong></em><strong>, but I don&#8217;t think the jobs are going anywhere in the short-term.</strong></p><p><strong>It will involve a massive reskilling though</strong>. Engineers who understand these systems at the level we&#8217;ve been discussing this week are building leverage that compounds. Skill authoring, context governance, subagent isolation, hook-based extension, behavioural prompt engineering, are disciplines that will outlive any specific framework.</p><p>If you&#8217;re already building agents and have been thinking about how engineering patterns are evolving, I&#8217;d like to know what I missed. If you want to contribute to this discussion please drop me an email, leave a comment, or reach out directly.</p><p><em>Until next week!</em></p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - A glimpse of the new software engineering]]></title><description><![CDATA[What the Claude Code leak reveals about how agent engineering actually works]]></description><link>https://adlrocha.substack.com/p/adlrocha-a-glimpse-of-the-new-software</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-a-glimpse-of-the-new-software</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 19 Apr 2026 08:01:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zL_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zL_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zL_H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!zL_H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!zL_H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!zL_H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zL_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9c64093-543e-4501-9b97-dac01508a21c_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&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="https://substackcdn.com/image/fetch/$s_!zL_H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!zL_H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!zL_H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!zL_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9c64093-543e-4501-9b97-dac01508a21c_1024x572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The dust has finally settled. With the <a href="https://www.anthropic.com/glasswing">preview of Mythos</a>, the <a href="https://www.satellitetoday.com/cybersecurity/2026/04/12/anthropic-launches-project-glasswing-for-cybersecurity/">announcement of Project Glasswing</a>, Claude <a href="https://www.theregister.com/2026/04/06/anthropic_claude_code_dumber_lazier_amd_ai_director/">reportedly becoming dumber</a>, and the release of <a href="https://www.anthropic.com/news/claude-opus-4-7">Claude Opus 4.7</a>, the Claude Code leak from a few weeks ago has been somewhat forgotten. <strong>So now I can pull this from my backlog and share my own analysis on the topic away from the initial noise.</strong></p><h2>How it all happened</h2><p>On 30 March 2026, someone at Anthropic made a packaging mistake. Claude Code version 2.1.88 shipped with a 59.8 MB JavaScript source map, a file that, by design, points back to the original unobfuscated source code. <a href="https://x.com/realsigridjin/status/2038908883004227957">The result</a>: roughly 512,000 lines of TypeScript, sitting on npm, the full internals of Claude Code&#8217;s CLI exposed for anyone who knew to look.</p><p><strong>Anthropic confirmed it quickly, and admitted it was a human error in the release pipeline</strong>, not a breach. They began issuing DMCA takedowns the same day, but the internet had already moved, mirrors appeared on GitHub within hours, and researchers were pulling it apart in real time. I myself managed to get my hands on one of these early leaks. But just a few hours later they were all gone.</p><p>However, the community response was crazy! I was following it live and I couldn&#8217;t believe it, it really wouldn&#8217;t have occurred to me in the heat of the moment. A group called UltraWorkers <a href="https://x.com/rohanpaul_ai/status/2039064474611790073">kicked off a clean-room Rust rewrite</a>, <a href="https://github.com/ultraworkers/claw-code">claw-code</a>, built not by hand, but using Claude and OpenClaw. AI agents reading and porting the leaked TypeScript into new languages, escaping the DMCA takedowns (I also came across one in Python). The claw-code repo hit 100K stars faster than any project in GitHub history (probably bots from the <a href="https://awesomeagents.ai/news/github-fake-stars-investigation/">fake stars economy?</a> Still funny and smart in any case).</p><p>So:<strong> the most advanced coding agent&#8217;s source code was leaked, and the internet responded by using other AI agents to rewrite it from scratch </strong>to prevent all that beautiful knowledge from being lost. It was just brilliant. And honestly, I can&#8217;t blame them, as any other regular Claude Code user, who hasn&#8217;t been curious about its inner workings? I&#8217;ve mentioned it a few times in this newsletter: one of the things I love the most about open-source is the ability to read a project&#8217;s source code in order to understand how all its cool features are actually implemented. I like seeing how the sausage is done.</p><p>I am sorry for Anthropic, but this leak was a dream for me :)</p><div><hr></div><h2>What the code actually showed</h2><p>What everyone was expecting was for the leak to confirm what everyone believed, that Claude Code is a thin TypeScript wrapper routing your prompts to a very good model, and that the intelligence lives entirely in the model. If that were true, there&#8217;d be nothing interesting here <em>(and I would be done with the post :) )</em>.</p><p>But the source code told a different story <em>(see? I knew there was some magic hidden behind that code, my craving to read the source code was in the end justified. My spidey-sense was right).</em></p><p>What was hidden was a piece of serious systems engineering: <strong>memory management, compaction hierarchies, structured tooling, anti-distillation countermeasures, background daemons that run while you sleep, etc.</strong>. Not in service of the model, but working <em>around</em> its limitations. The model runs inside this system the same way a processor runs inside an operating system and it adapts itself to the underlying architecture and ISA of the processor. The model is not the product. The scaffolding is. And I think this is one of the biggest learnings after reading this code base: <strong>there&#8217;s a new piece in the stack in the form of raw intelligence</strong>, but this raw intelligence in itself won&#8217;t be able to solve every problem (like coding) there will still be a lot of engineering involved in building great products.</p><p>Let me walk through the parts I found most interesting, and explain why I think they point to something bigger about how engineering itself is changing.</p><h3>Context management</h3><p>Anyone who has used a language model for a long session has felt the degradation: the context window is the enemy. As conversations grow, models lose track of earlier decisions, repeat themselves, contradict prior reasoning. You could clearly feel this in early versions of Claude Code, where a few prompts in, it would&#8217;ve completely forgotten about its CLAUDE.md. The naive fix is to build bigger context windows into the model. But of course, this is not an easy task, and running a model with a big context window has the corresponding impact on infrastructure requirements. The same way that we don&#8217;t have infinite cache in processors, I don&#8217;t think we will ever get infinite context windows in models.</p><p>To work around this models&#8217; context window limitation, <strong>the codebase implements a four-layer compaction hierarchy.</strong> First, proactive compaction monitors token counts and quietly summarises older messages before they reach the API. If that estimate misses, reactive compaction catches the overflow and retries. <strong>Automated headless sessions get snip compaction</strong>, which truncates at defined boundaries <em>(there&#8217;s  an interesting related point here, Claude Code is instructed about when the user is &#8220;looking&#8221; or when it is a headless session)</em>. There&#8217;s a fourth layer, <strong>context collapse, which compresses verbose tool results mid-conversation</strong>, storing a reference on disk instead of keeping the full output in context, with selective retrieval when needed. You&#8217;ve probably seen that &#8220;compaction&#8221; stage being triggered every now and then on your long sessions.</p><p><strong>Claude Code has multiple silent mini-compaction events before global compaction kicks in</strong>. And here&#8217;s the secret why long sessions feel so good <em>(and long)</em> compared to the degradation felt with raw interactions with models. The compaction is invisible. The context window <em>feels</em> larger than it is because the system is constantly curating what the model actually reads.</p><p>Then we have the<strong> longer-term memory layer called KAIROS, referenced in the code as &#8220;Dream Mode.&#8221; </strong>After 24 hours of inactivity and at least five prior sessions, a background daemon wakes up, reviews the agent&#8217;s memory files, prunes contradictions, consolidates learnings, and rewrites the index so future sessions load fast. The system prompt for that subagent reads: <em>&#8220;You are performing a dream, a reflective pass over your memory files. Synthesise what you have learned recently into durable, well-organised memories so that future sessions can orient quickly.&#8221;</em></p><p>Sleep-based memory consolidation, but in software. Whether that&#8217;s a deliberate nod to neuroscience or just a good metaphor, the architectural decision underneath it is genuinely clever:<strong> instead of keeping everything and hoping the model copes, the system periodically decides what&#8217;s worth keeping.</strong> An LLM-orchestrated garbage collection for knowledge <em>(funnily, I just built for my personal agent system a cron to perform something exactly like this, we are all converging into the same ideas).</em></p><h3>Tooling approach</h3><p>Give an AI agent raw terminal access and two things happen. The first is a security problem: any text the agent reads (a file, a log, a comment in someone else&#8217;s code) could contain instructions crafted to hijack what the agent does next. That&#8217;s prompt injection, and an unrestricted shell is the widest possible surface for it. The second is a context problem: bash output is an unstructured blob. It lands in the model&#8217;s context window as-is, verbose and uncompressed, eating tokens that could go toward something useful.</p><p>Anthropic&#8217;s answer was to give Claude Code no raw shell access at all for code navigation but instead use <strong>dedicated Grep and Glob tools that return typed, structured results </strong>with defined permissions per operation. Output that the compaction layer knows how to summarise. Read operations run in parallel; write operations execute serially, and index files only update after a confirmed successful write. The logic for these tools is encoded in the architecture, not left to the model to figure out <em>(which is the case for many of the regular GPT wrappers).</em></p><p>The second piece is the LSP integration. I think all my readers are aware of what LSP stands for, but for those that aren&#8217;t, the Language Server Protocol is the piece of software that powers &#8220;go to definition&#8221; and &#8220;find all references&#8221; in your IDE for your language of choice. When Claude Code navigates a codebase through LSP, it isn&#8217;t reading files as static text and trying to infer structure from what it sees. It has a live symbol graph: it can ask <em>&#8220;what calls this function?&#8221;, &#8220;where is this type defined?&#8221;, &#8220;what are all the references to this variable?</em>&#8221; and get back precise, structured answers. That&#8217;s a fundamentally different mode of understanding code than pattern-matching over raw file contents. It does what you would do when navigating a new code base on your IDE.</p><p><a href="https://x.com/rasbt/status/2038980345316413862">Sebastian Raschka puts it well</a>: <strong>the gap between Claude Code and a chat UI with uploaded files isn&#8217;t the model, it&#8217;s the tooling. </strong>The chat UI sees your code the way a reader sees a printout. Claude Code navigates it the way a compiler does.</p><h3>The performance layer</h3><p>The terminal UI is built with React and Ink,  which surprised a lot of people when it surfaced. Most CLI applications reach for ratatui or ncurses. The tradeoff is a higher memory footprint <em>(which explains why Claude Code&#8217;s memory can easily be 8GB large for me in certain sessions)</em>, but it lets the same team share logic with the web interface, and <strong>React&#8217;s reconciliation model keeps terminal redraws minimal.</strong></p><p>To compensate for the overhead, the implementation uses Int32Array-backed ASCII pools. During token streaming, every character that gets rendered needs its display width measured, normally a string operation that allocates a new object each time.<strong> By pre-allocating a fixed typed array and reusing it, the allocations vanish and the garbage collector has nothing to clean up. </strong>The result is roughly a 50&#215; reduction in stringWidth calls and noticeably smoother streaming at high token rates.</p><p>More interesting: what happens while you&#8217;re still typing. <strong>Claude Code pre-computes likely responses during user input</strong>, for simple confirmations like &#8220;yes&#8221;, processing has already started before you hit enter. A boundary marker in the system prompt (__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__) separates static from dynamic content, caching a block of shared instructions globally so they don&#8217;t need reprocessing each turn. The tool list is sorted alphabetically before every API call, not for readability, but <strong>to stabilise the KV cache key, so the model can skip the expensive prefill phase when nothing has changed.</strong></p><p>Another point that surprised many people when reading the codebase. Anthropic employees get a distinct set of instructions that only activate when the tool detects an internal user. A few that didn&#8217;t surprised me that they had to encode: <em>&#8220;Never claim &#8216;all tests pass&#8217; when output shows failures&#8221;</em> and <em>&#8220;Keep text between tool calls to &#8804;25 words.&#8221;</em> The fact that Anthropic had to encode these explicitly says something about how even the team at Anthropic are using these prompt engineering tricks that we all extensively use on our own CLAUDE.mds. It makes me feel a bit dirty about my way of doing agentic coding :)</p><h3>The parts Anthropic wasn&#8217;t advertising</h3><p>Two features that surfaced from the code deserve special mention, because they reveal something about how Anthropic thinks about competitive risk.</p><p><strong>The first is <a href="https://x.com/rohanpaul_ai/status/2039022199282282926">undercover mode</a>. It activates automatically whenever Claude Code operates in a public or open-source repository,</strong> stripping all references to internal model codenames, unreleased version numbers, internal Slack channels, even the phrase &#8220;Claude Code&#8221; itself from commit messages and pull request prompts. The code includes a comment that&#8217;s blunt about its design: <em>&#8220;There is NO force-OFF.&#8221;</em> No override, no flag. The rationale becomes obvious immediately: Anthropic engineers use Claude Code on internal repos daily. Without this, the model could easily drop &#8220;Capybara v8&#8221; into a public commit message without anyone noticing.</p><p><strong>The second is anti-distillation. </strong>They have two mechanisms to prevent distillation: fake tool injection, where decoy tool definitions get mixed into API requests to poison the training data of any competitor recording Anthropic&#8217;s API traffic; and connector-text summarisation, where the server buffers the model&#8217;s chain-of-thought between tool calls, returns only a cryptographically signed summary, and never exposes the full reasoning externally. Competitors who record the traffic get sanitised outputs. The real reasoning steps never leave.</p><p>And then, one of my favorite low-tech but funny features: frustration detection. A<strong> regex pattern, not a model inference call, that identifies when a user is expressing frustration through profanity or complaints </strong><em>(in case you are wondering, yes, it is triggered every time you use the word &#8220;fuck&#8221;)</em><strong>. </strong>Simple by design. Fast, cheap, and incapable of hallucinating.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zCLG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zCLG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 424w, https://substackcdn.com/image/fetch/$s_!zCLG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 848w, https://substackcdn.com/image/fetch/$s_!zCLG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 1272w, https://substackcdn.com/image/fetch/$s_!zCLG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zCLG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png" width="705" height="138" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:138,&quot;width&quot;:705,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:37827,&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://adlrocha.substack.com/i/194494941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zCLG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 424w, https://substackcdn.com/image/fetch/$s_!zCLG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 848w, https://substackcdn.com/image/fetch/$s_!zCLG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 1272w, https://substackcdn.com/image/fetch/$s_!zCLG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff29d3dc9-d892-4540-b67b-d981e0a013a9_705x138.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Model internal codenames</h3><p>The source map <a href="https://x.com/scaling01/status/2038948989257630166">also exposed internal model names</a> Anthropic hadn&#8217;t made public. Capybara is Mythos, already at version 8 internally, with code comments documenting known issues: over-commenting, overconfidence in claims. 1M context window and a fast mode. Numbat appears in a comment tagged <em>&#8220;@[MODEL LAUNCH]: Remove this section when we launch numbat.&#8221;</em> Fennec appears to be Opus 4.6.</p><p>What all these codenames imply is more interesting. Anthropic is several model generations ahead of what they&#8217;ve released. Mythos, the model they <a href="https://www.anthropic.com/glasswing">previewed this month</a>, has been in internal development long enough to reach its eighth major iteration. The gap between an internal v8 and a public announcement is longer than it looks from the outside.</p><div><hr></div><h2>The model is just the processor</h2><p>Let&#8217;s now jump into the subjective part of this post. For the past two years, <strong>the dominant assumption has been that the model is the product and everything else is plumbing</strong>. Many companies have been criticised for just being &#8220;a GPT wrapper&#8221;. You use Claude, GPT-4, or Gemini, and the gap in quality between tools built on those models comes down to prompting. Better prompts, better results.</p><p>To me, the Claude Code codebase challenges that directly and it aligns with my experience building <a href="https://baselight.app">Baselight AI</a>. <a href="https://x.com/rasbt/status/2038980345316413862">Raschka put it plainly</a>: <em>&#8220;If we were to drop in other models, say DeepSeek, MiniMax, or Kimi, and optimise this scaffolding a bit for these models, we would also have very strong coding performance.&#8221;</em> <strong>The scaffolding is transferable and the model is just a component (the processor) in the product.</strong></p><p>I don&#8217;t know if you&#8217;ve tried to use some other model with Claude Code. I did, and after some use you can clearly see how Claude Code has been fine-tuned for Anthropic&#8217;s models. Apart from all of the <a href="https://www.reddit.com/r/LocalLLaMA/comments/1s7tn5s/psa_using_claude_code_without_anthropic_how_to/#:~:text=The%20Root%20Cause%20llama.,the%20prompt%20on%20every%20turn%3A">KV cache invalidation for external providers tricks with</a> to make it feel slower with other models, the experience just doesn&#8217;t feel the same, even when comparing a Haiku, for instance, with a superior model from some other provider.</p><p>Poetiq <a href="https://poetiq.ai/posts/arcagi_verified/">proved the same point</a> from a different angle in March. They didn&#8217;t train a new model. They took Gemini 3 Pro and wrapped it in a recursive orchestration layer: puzzle decomposition, program generation, automated failure analysis, self-auditing termination logic. The result beat Gemini 3 Deep Think on ARC-AGI-2 at less than half the cost. <strong>Same underlying model, better result, cheaper to run. The scaffolding was the product.</strong></p><p><strong>So it turns out that is not all reduced to just better prompting as we thought in the early LLM days</strong>, there&#8217;s a lot of engineering involved in making products where these models can excel. There&#8217;s compaction hierarchies, memory daemons, structured tool execution graphs, latency-hiding caching layers. What got leaked isn&#8217;t really just a source code, at least for me, it&#8217;s an unintentional field manual for how serious agent engineering is actually done <em>(as I&#8217;ve said before, no more feeling dirty and like I am monkey patching things that should work because I am just bad at prompting)</em>.</p><p><strong>We are all facing the same kind of problems when building agents, and we are all seemingly converging to the same kind of solutions</strong>. While building Baselight AI, we sometimes had this feeling of <em>&#8220;is this the right solution? Is this over-engineering? Is there a better way?&#8221;.</em> There are still no engineering patterns or good practices when building upon these models that one can use. This leak has confirmed to me many of the patterns that felt right, while surfacing new ones that I wasn&#8217;t aware of.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TnpS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TnpS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 424w, https://substackcdn.com/image/fetch/$s_!TnpS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 848w, https://substackcdn.com/image/fetch/$s_!TnpS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 1272w, https://substackcdn.com/image/fetch/$s_!TnpS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TnpS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png" width="1456" height="643" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:643,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122060,&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://adlrocha.substack.com/i/194494941?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TnpS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 424w, https://substackcdn.com/image/fetch/$s_!TnpS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 848w, https://substackcdn.com/image/fetch/$s_!TnpS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 1272w, https://substackcdn.com/image/fetch/$s_!TnpS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd1b3e8c-b7ff-4658-bb26-3877859b7988_1489x658.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: https://matrix-os.com/technical </figcaption></figure></div><p>Another source code worth reading if you want to start seeing some of the engineering patterns surfacing around agent engineering is the <a href="https://github.com/nousresearch/hermes-agent">Hermes Agent code base</a>. I&#8217;ll write another post analysis this one in detail, but they have cool features like automatic skill generation for &#8220;continuous learning&#8221; or a graph-based memory for efficient recall <em>(drop me a message if you want me to work on this post already for next week)</em>.</p><p>I feel engineers will study these patterns in the future (<em>the same way we currently study best engineering practices in OOP or TDD)</em>. The Claude Code codebase describes a way of thinking about LLMs as components in a larger system, not oracles you talk to and should be able to solve every problem.</p><p>This is the new way engineering products will be implemented. <strong>With AI and LLMs as a </strong><em><strong>primitive</strong></em><strong>, a processor in a larger architecture that we, as engineers, have to design</strong>. With or without AI-assisted coding, that&#8217;s on you. But a new way of doing engineering, with a higher level of abstractions, and a new primitive in the stack is clearly arising.</p><div><hr></div><h2>Why I find this exciting</h2><p>I don&#8217;t know about you, <strong>but I am having more fun as a software engineer right now than at any point in my career.</strong></p><p>Not because the problems got easier, I actually see myself thinking more deeply about architecture and the right way of solving problems. But the boring parts of the job are going away: the boilerplate, the mechanical bug-chasing, the fourth run of the same test suite to confirm what you already know. All of this is getting automated. What&#8217;s left is the part that was always interesting: <strong>thinking in systems, deciding how components should talk to each other, understanding what problem you&#8217;re actually solving</strong> before you write a line, determining how to wrap all the cool tech in the right product wrapper, etc.</p><p>What the four-layer compaction systems, sleep-based memory consolidation, KV cache stabilisation through sorted tool lists from the Claude Code source code has taught me<strong> is a glimpse of the kind of techniques and patterns we may start applying more and more on our implementations. </strong>These are definitely ideas you could have picked up from prompt engineering tutorials. They&#8217;re software engineering problems applied to a new class of components: and the engineers who understand them deeply will build things that others simply cannot.</p><p>So in case you are wondering, no,<strong> I don&#8217;t think software engineering and computer science is going anywhere. </strong>They will for sure be redefined. The role will change and what we do too, but I am of the opinion that generalist engineers will still find a good place in the market <em>(I&#8217;ll probably also write more about my thesis here in future posts)</em>.</p><p>The models need operating systems. Someone has to write them. We&#8217;ll just need to be adaptable to complement the skills, and surface the right patterns and designs that let us excel in this new environment.</p><p>My piece of unsolicited advice: <strong>learning how these agents work under the hood is a skill worth building right now. </strong>It may be short-lived depending on how the field evolves, but at least it&#8217;ll let you build the foundation for what comes next. I personally have thought more about how these systems work and operate while building Baselight AI than when I was writing by hand <a href="https://en.wikipedia.org/wiki/Long_short-term_memory">LSTM networks</a> <em>(because, yes, at some point before transformers, I was actually doing this for a living)</em>.</p><p><strong>Any other patterns or things that I may have missed from the source code? </strong>Please let me know, I would love you to add your contribution as an edit (or a note) to the post. Thank you for reading me and until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - How the "AI Loser" may end up winning]]></title><description><![CDATA[Apple&#8217;s accidental moat]]></description><link>https://adlrocha.substack.com/p/adlrocha-how-the-ai-loser-may-end</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-how-the-ai-loser-may-end</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 12 Apr 2026 08:12:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NqyU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NqyU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NqyU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 424w, https://substackcdn.com/image/fetch/$s_!NqyU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 848w, https://substackcdn.com/image/fetch/$s_!NqyU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 1272w, https://substackcdn.com/image/fetch/$s_!NqyU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NqyU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png&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;: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="https://substackcdn.com/image/fetch/$s_!NqyU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 424w, https://substackcdn.com/image/fetch/$s_!NqyU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 848w, https://substackcdn.com/image/fetch/$s_!NqyU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 1272w, https://substackcdn.com/image/fetch/$s_!NqyU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F669a66b1-85e1-47cd-93c9-7a7c6f58c248_1600x873.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few weeks ago I wrote about how I thought <a href="https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity">intelligence is becoming a commodity</a>. The idea is quite straightforward, and widespread now: <strong>when everyone races to build the best model, the models get better, but so does every other model eventually.</strong> Every dollar spent on a bigger training run makes the previous one cheaper. The distance between frontier, second-best, and open-source alternatives is collapsing fast <em>(actually Gemma4, Kimi K2.5 and GLM 5.1 are becoming my bedside models these days)</em>. Even more, as models become better, the unit of intelligence that can be deployed in local hardware with lower hardware capabilities increases significantly.</p><p>The irony of this situation is that this commoditisation of intelligence <strong>is benefiting the company that everyone was framing as the &#8220;AI loser&#8221;: Apple</strong></p><div><hr></div><h2>The company that &#8220;lost&#8221;</h2><p>There&#8217;s a version of the last three years where Apple genuinely failed at AI. They had Siri before anyone had a serious voice assistant, and then watched how ChatGPT ate their lunch already since their first release <em>(even before they had introduced their native voice interaction)</em>. Apple didn&#8217;t have a flagship frontier <em>(or even a vanity open-source)</em> model, no $500B compute commitment with the usual suspects. Meanwhile, the rest of the <strong>AI labs and big tech companies were racing to win the next state-of-the-art benchmark by burning bags of cash.</strong></p><p>What this also meant is that while these companies were burning money at a rate that would make a sovereign wealth fund uncomfortable, Apple was <em>(and still is)</em> sitting in a pile of undeployed cash (to the point of even increasing their stock buybacks) <strong>giving them optionality</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2A-f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2A-f!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 424w, https://substackcdn.com/image/fetch/$s_!2A-f!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 848w, https://substackcdn.com/image/fetch/$s_!2A-f!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 1272w, https://substackcdn.com/image/fetch/$s_!2A-f!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2A-f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png" width="800" height="663" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:663,&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;: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="" srcset="https://substackcdn.com/image/fetch/$s_!2A-f!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 424w, https://substackcdn.com/image/fetch/$s_!2A-f!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 848w, https://substackcdn.com/image/fetch/$s_!2A-f!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 1272w, https://substackcdn.com/image/fetch/$s_!2A-f!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63dd9618-3649-44e6-a5bf-b28ae55ff2d9_800x663.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>To me, OpenAI is the most paradigmatic example of this &#8220;infinite money burning machine&#8221;. OpenAI raised at a <a href="https://www.wsj.com/tech/ai/openai-valuation-300-billion-softbank-fundraising-3b35f25f">$300B valuation</a> and then shut down Sora, the video product they&#8217;d been positioning as a creative industry flagship, because it was running at <a href="https://variety.com/2026/digital/news/openai-shutting-down-sora-video-disney-1236698277/">roughly $15M a day in costs against $2.1M in daily revenue</a>. Disney had already signed a three-year licensing deal for Sora to generate content from Marvel, Pixar, and Star Wars characters. They were finalising a <a href="https://variety.com/2026/digital/news/openai-shutting-down-sora-video-disney-1236698277/">$1B equity stake in OpenAI</a>. When Sora died, so did the billion. A $1B investment evaporated, because the product it was staked on couldn&#8217;t pay for itself <em>(reducing their buffer that accommodates their daily burn).</em></p><p>On the infrastructure side: OpenAI signed non-binding letters of intent with Samsung and SK Hynix for <a href="https://www.tomshardware.com/pc-components/dram/openais-stargate-project-to-consume-up-to-40-percent-of-global-dram-output-inks-deal-with-samsung-and-sk-hynix-to-the-tune-of-up-to-900-000-wafers-per-month">up to 900,000 DRAM wafers per month, roughly 40% of global output</a>. These were of course non-binding. Micron, reading the demand signal, <a href="https://www.datacenterdynamics.com/en/news/micron-to-exit-the-consumer-memory-and-storage-market-in-favor-of-ai-data-center-customers/">shut down its 29-year-old Crucial consumer memory brand</a> to redirect all capacity toward AI customers. Then <a href="https://www.tomshardware.com/tech-industry/artificial-intelligence/openais-massive-stargate-data-center-canceled-as-firm-cant-reach-terms-with-oracle-operator-struggles-with-reliability-issues-meta-said-to-be-interested-in-snatching-excess-capacity">Stargate Texas was cancelled</a>, OpenAI and Oracle couldn&#8217;t agree terms, and the demand that had justified Micron&#8217;s entire strategic pivot simply vanished. <a href="https://thebackdash.com/tech/micron-is-crashing-as-companys-overreliance-on-openai-backfires-after-closing-entire-crucial-consumer-memory-division/">Micron&#8217;s stock crashed</a>.</p><p>I don&#8217;t know about you, but<strong> I don&#8217;t see these behaviours as those of someone that is winning the AI race,</strong> independently of how good their models do in benchmarks, and how much they are burning in infrastructure. <strong>A small miscalculation in the expected revenue, and you are out of the game</strong> <em>(I am actually of the opinion that without some kind of bailout, OpenAI could be bankrupt in the next 18-24 months, but I am horrible at predictions).</em></p><div><hr></div><h2>From intelligence to capabilities</h2><p>My sense is that the labs&#8217; bet was always that raw model capability, i.e. intelligence, along with the infrastructure required to run them would stay scarce.<strong> Those who manage to secure the best model and the infrastructure to run it at scale would get the best moat</strong>. But I am afraid that having the best model in itself may not be enough moving forward. Less capable models are becoming as capable as previous versions of the frontier models.</p><p>The best recent example I can think of is <a href="https://blog.google/technology/google-deepmind/gemma-3-model-family-expansion/">Gemma 4</a>, Google&#8217;s open-weight model. It was built to run on a phone, scores 85.2% on MMLU Pro and matches Claude Sonnet 4.5 Thinking on the Arena leaderboard. <a href="https://x.com/rohanpaul_ai/status/2040830938448609658">2 million downloads in its first week</a>. Models that would have been state-of-the-art eighteen months ago now run on a laptop, and they get better every quarter.</p><p>If you haven&#8217;t tried Gemma4 yourself I highly recommend it. I am running it on my AMD Ryzen AI Max+, and its performance in terms of tokens per second and intelligence are so good that I have already migrated some of my personal tools to use this model as the backend without visibly impacting their output. This trend can really change in the next few months way we access intelligence.</p><p>I feel that some of the labs see this coming. Anthropic has been particularly aggressive about it and they are releasing <strong>new </strong><em><strong>(actually useful) </strong></em><strong>tools every day that work like a charm with their models in order to lock users into their ecosystem.</strong> <a href="https://www.anthropic.com/claude-code">Claude Code</a> for developers, <a href="https://claude.com/product/cowork">Claude Cowork</a> for teams, the recent <a href="https://claude.com/blog/claude-managed-agents">Claude Managed Sessions to orchestrate agents</a>, all designed to put Claude inside workflows people are already in.</p><p><strong>The logic behind it: if the model itself won&#8217;t hold the moat, capture the usage layer and make switching painful.</strong> I think this is brilliant, and seeing how much Anthropic is growing in number of users and revenue, it seems to be paying off. The economics of their plans are still rough, though. <a href="https://x.com/grok/status/2038877168856429049">One analysis</a> found a max-plan subscriber consuming $27,000 worth of compute with their 200$ Max subscription. The labs are subsidising the demand they&#8217;re chasing, which justifies their level of burn (let&#8217;s see for how long they can afford these subsidies).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hDh0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hDh0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hDh0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hDh0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hDh0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hDh0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg" width="909" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:909,&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="https://substackcdn.com/image/fetch/$s_!hDh0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 424w, https://substackcdn.com/image/fetch/$s_!hDh0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 848w, https://substackcdn.com/image/fetch/$s_!hDh0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!hDh0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d042566-5f50-469b-8d05-89086a477ab0_909x1000.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Apple, by contrast, has spent almost nothing on AI infrastructure and subsidising users&#8217; token burn. And this may be <strong>giving them more optionality and leverage than any of the other companies</strong> that jumped heads first into the AI race.</p><div><hr></div><h2>Context is all you need</h2><p>In <a href="https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity">that earlier post</a>, I argued tha<strong>t if intelligence becomes abundant, context becomes the scarce resource. </strong>A model that can reason about anything but knows nothing about <em>you</em> or the environment it operates in is a generic tool. What makes AI genuinely useful day-to-day is reasoning <em>plus</em> personal context: your messages, your calendar, your code, your tools, your health data, your photos, your habits. I think here is where Anthropic is making an amazing job with their &#8220;Claude suite&#8221;.</p><p>But Apple already has all this context and access to your environment through their 2.5 billion active devices. Each one is a context mine that users have been filling for years. Health data from Apple Watch. Every photo taken on an iPhone. Notes, messages, location history, app behaviour, emails, and awareness of your environment through the pool of sensors of your device. <strong>Why build a commodity when they already have the context that can become their moat?</strong></p><p>And they even have the ability to keep all this data on-device, which is where the<em> &#8220;Privacy. That&#8217;s iPhone&#8221; </em>positioning becomes something more than a PR strategy, and which could actually make a comeback to become one of their core value propositions. <strong>Apple spent years using privacy as a differentiator against the ad-driven models of Google and Meta. It worked, but it always felt a bit abstract and, honestly, fake. </strong>Now it could become really concrete. Would you hand OpenAI your medical records and fifteen years of photos to get better AI answers? Probably not. Some are, but I personally wouldn&#8217;t like Sam to have that personal data from me. Would you let a model running entirely on your device (no network request, no data leaving your phone) access all of that? That&#8217;s a different question. The on-device model gets full context <em>because</em> it never leaves the hardware. Apple built the reputation and the architecture for this when no one else thought it mattered.</p><p>Of course, there are still technological barriers to make this possible, but I feel like we may be getting there.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!C-2C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!C-2C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 424w, https://substackcdn.com/image/fetch/$s_!C-2C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 848w, https://substackcdn.com/image/fetch/$s_!C-2C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 1272w, https://substackcdn.com/image/fetch/$s_!C-2C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!C-2C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png" width="660" height="371" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:371,&quot;width&quot;:660,&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="https://substackcdn.com/image/fetch/$s_!C-2C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 424w, https://substackcdn.com/image/fetch/$s_!C-2C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 848w, https://substackcdn.com/image/fetch/$s_!C-2C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 1272w, https://substackcdn.com/image/fetch/$s_!C-2C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38d3cb3b-dcc9-49e5-bf92-bd3970a55dc1_660x371.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this context, <strong>the <a href="https://www.theverge.com/2024/3/18/24105045/apple-google-gemini-deal-ai-iphone">Gemini deal</a>, where Apple signed a $1B to license Google&#8217;s frontier model for the queries that need cloud-scale reasoning, makes total sense.</strong> Apple didn&#8217;t build a frontier model. They bought access to one, at a price that&#8217;s rounding error against OpenAI&#8217;s weekly compute bill. What they kept in-house: the context layer, the on-device stack, and the operating system that mediates everything.</p><div><hr></div><h2>Apple&#8217;s chips turned out to matter</h2><p>Turns out Apple had another unexpected lever for AI as shown with the <a href="https://www.businessinsider.com/apple-mac-mini-having-a-moment-openclaw-craze-2026-2?op=1">Mac Mini craze after OpenClaw&#8217;s release</a>. Apple Silicon wasn&#8217;t built specifically for AI, it was built for efficiency, for battery life, for thermal performance, for the hardware/software co-design that Apple had been running for fifteen years. But it turned out to be the perfect architecture to run local models efficiently.</p><p><strong>The key decision is unified memory.</strong> On a conventional architecture (that of most laptops, and even traditional data center-grade GPUs) the CPU and GPU are separate chips with separate memory pools. Moving data between them is slow and power-hungry. Nvidia&#8217;s GPUs are extremely fast at matrix operations, but they sit on the other side of a PCIe bus from the CPU, and feeding them is a constant bottleneck (as discussed when presenting the <a href="https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram">difference between DRAM and HBM in this post from a few weeks ago</a>).</p><p>Apple&#8217;s M-series and A-series chips put the CPU, GPU, and Neural Engine (their proprietary accelerator) <strong>on the same die, sharing one high-bandwidth memory pool.</strong> No bus crossing, no transfer overhead, no latency switching between CPU and GPU work. For video editing or compiling Xcode, this is a nice efficiency win. For LLM inference, this has been key.</p><p>As described also <a href="https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram">in my post about RAM memory</a> and <a href="https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more">TurboQuant</a>, <strong>LLM inference is currently memory-bandwidth bound, not compute bound. </strong>The bottleneck isn&#8217;t so much how fast you can multiply matrices, it&#8217;s how fast you can stream model weights from memory into the compute units, and how big of a KV cache you can store to avoid having to re-compute it. Apple&#8217;s unified pool gives every compute unit direct, high-bandwidth access to the same memory simultaneously. That&#8217;s exactly the operation inference needs.</p><p>This is what makes the <a href="https://arxiv.org/abs/2312.11514">LLM in a Flash</a> technique work so well on Apple hardware. Someone<a href="https://x.com/danveloper/status/2034353876753592372"> recently ran Qwen 397B</a>, a 209GB model, on an M3 Max Mac at ~5.7 tokens per second, using only 5.5GB of active RAM. The weights live on the SSD and stream in at ~17.5 GB/s as needed. This works because Qwen is a mixture-of-experts architecture: each token only activates a small subset of expert layers, so you only ever need a fraction of the 209GB resident in memory. The SSD throughput Apple achieves (faster than their own figures from the original LLM in a Flash paper) comes from storage architecture they built for iPhone responsiveness, not AI. <a href="https://x.com/danveloper/status/2034353876753592372">Claude wrote the ~5,000 lines of Objective-C and Metal shaders</a> to make it all work. A 400-billion-parameter model, on a consumer laptop, from 5.5GB of RAM (another win of the <a href="https://adlrocha.substack.com/p/adlrocha-auto-research-the-lab-that">autoresearch flow discussed in this newsletter</a>).</p><p><strong>What I find more interesting about all of this is the platform dynamic that this can result in. Think about the App Store.</strong> Apple didn&#8217;t build the apps, they built the platform where apps ran best, and the ecosystem followed. Developers didn&#8217;t target iOS because Apple asked, they targeted it because the users were there, the tooling was good, the hardware was consistent. My feeling is that the same thing could happen now with local inference. <strong>MLX is already a de facto framework for on-device AI.</strong> Gemma, Qwen, Mistral, the most relevant model architectures have MLX support. Apple doesn&#8217;t need to win the model race if they <strong>manage to become the de-facto platform where the models</strong> (or the agents that use them) run. Again, a great example of this is the Mac Mini craze after OpenClaw went viral.</p><div><hr></div><h2>Pure strategy, luck, or a bit of both?</h2><p>I keep going back and forth on this, honestly, and <strong>I still don&#8217;t know if this was Apple&#8217;s strategy all along, or they didn&#8217;t feel in the position to make a bet and are just flowing as the events unfold </strong>maximising their optionality<strong>.</strong></p><p>The hardware/software co-design strategy has been a key focus for years, and one that I&#8217;ve always agreed on myself <em>(as an electrical engineering by training, I&#8217;ve always been into hardware/software co-design)</em>. If you can afford it, I think that&#8217;s the right approach. The privacy positioning, the on-device processing focus, the decision to build their own silicon when the rest of the industry was happy buying Nvidia and Intel, all of those were choices Apple made when they were commercially risky and the direction wasn&#8217;t obvious. Is it true that they were made with cost and governance in mind, not AI, but it turned out well for them.</p><p>What Apple couldn&#8217;t have planned <em>(or could they?)</em> is that<strong> their unified memory architecture would be a perfect fit for LLMs, and that open-weight models would get this capable, this fast,</strong> removing the need for huge hardware investment for AI infrastructure from their side. That the model race would commoditise intelligence as quickly as it did. Or that someone would stream a 400B parameter model from an SSD and it would actually work.</p><p>So some of this is luck<strong>. But it&#8217;s the kind of luck that finds you when you built the right foundation, even if you built it for completely different reasons. </strong>They were definitely well-positioned.</p><p>The rest of the industry spent three years racing to see who could build the best model with A<strong>pple looking from the sidelines, waiting to understand how their devices and own ecosystem could fit in this future.</strong> I don&#8217;t know if this is exactly the case, but I feel this was smart. Risky but smart.</p><p>I genuinely don&#8217;t know how this plays out over the next few years. The labs are not standing still, and Apple&#8217;s AI track record <em>(looking at you, Siri, you already suck a bit</em>)  is not exactly flawless. But it&#8217;s hard to imagine a world where 2.5 billion devices, carrying your entire personal context, running capable models locally on purpose-built silicon, with Gemini on-call for the hard stuff, <strong>incurring in variable cost for inference instead of expensive CAPEX investment could be a bad position to be in a future where AI is everywhere.</strong></p><p>Whether that was strategy or fortune, I&#8217;ll leave for you to decide. And if you do, please let me know what you think about it. My TL;DR is tha<strong>t, to my surprise, I am still bullish about Apple and their relevance in an AI-centric future.</strong></p><p>Until next week!</p><p><em>Disclaimer: To frame the opinion of this post, I just want to be clear about the fact that I am not one of those Apple fan boys. Proof of this is that this post was written from a Linux machine and that I don&#8217;t even own a Mac :)</em></p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Google's ZKP-hidden quantum attack]]></title><description><![CDATA[Proving a 20x reduction in the resources needed to break secp256k1, while using a vulnerable primitive to do it.]]></description><link>https://adlrocha.substack.com/p/adlrocha-googles-zkp-hidden-quantum</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-googles-zkp-hidden-quantum</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 05 Apr 2026 08:38:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5shG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5shG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5shG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!5shG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!5shG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!5shG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5shG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8411883,&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://adlrocha.substack.com/i/193163936?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5shG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 424w, https://substackcdn.com/image/fetch/$s_!5shG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 848w, https://substackcdn.com/image/fetch/$s_!5shG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!5shG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F053d136b-4adb-43de-a78f-3113ac4a6bd4_2752x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This week started with a bang. Anthropic <a href="https://x.com/Fried_rice/status/2038894956459290963">accidentally leaked the source code for Claude Code</a>, and within hours someone had <a href="https://x.com/rohanpaul_ai/status/2039064474611790073">kicked off a clean-room rewrite in Python</a>. The internet, understandably, caught fire, and it seemed like the perfect topic to write about this week. As there were still lots of threads open, and people trying to make sense of the code base, I decided to leave it for when the dust settles <em>(that way I could read the code base myself to draw my own conclusions before rushing into writing anything)</em>.</p><p>Fortunately, amidst the noise of Claude Code&#8217;s leak, <strong>Google Quantum AI made a release</strong> <em>(Google featuring this newsletter again) </em><strong>that didn&#8217;t get the attention that I think it deserved.</strong> It was the perfect excuse to write again in this newsletter about quantum computing.</p><p>I&#8217;ve been fascinated by quantum computing since I was first introduced to it<em> (at the time,<a href="https://patents.google.com/patent/EP3813295B1/en?q=(alfonso+de+la+rocha)&amp;oq=alfonso+de+la+rocha"> I even wrote a patent</a> that leveraged quantum information to reach consensus in distributed networks, but I&#8217;ll spare you the details for now)</em>. From all the new fancy technologies coming up these days<strong>, quantum computing is, to me, one of the hardest technology timelines to read.</strong> Since I&#8217;ve started following and studying closely there&#8217;s been an enormous amount of hype, a few winters, a lot of exciting progress, and no immediate use case to show off yet. </p><p>I&#8217;ve been studying the technology on the side for years, but never worked on it professionally. My only hands-on experience with the technology has been through a few <a href="https://www.ibm.com/quantum/qiskit">Qiskit</a> hackathons many years ago <em>(I guess the barriers were high)</em>. I&#8217;ve been meaning to go back and get hands-on time with something like <a href="https://www.ibm.com/quantum">IBM&#8217;s publicly available quantum systems</a> just to recalibrate my intuition, but I never find the time or motivation. This paper made me feel that urgency more acutely that I needed to recover this rusty skill.</p><p>The TL;DR of what Google dropped this week is a <strong>whitepaper claiming to reduce the quantum resources needed to break Bitcoin&#8217;s cryptography by roughly 20-fold.</strong> Cryptocurrencies and quantum computing&#8230; you can imagine how this topic took preference over Claude Code&#8217;s leak.</p><div><hr></div><h2>Shor&#8217;s algorithm and the hard problem underneath ECDSA</h2><p>Before we get to the papers, let&#8217;s set the stage so everyone (independently of your knowledge about the space) is on the same page. This means taking a quick trip into the cryptographic primitives that currently protect every Bitcoin and Ethereum transaction.</p><p>When you sign a transaction on Bitcoin or Ethereum, you&#8217;re using a cryptographic primitive called ECDSA: the Elliptic Curve Digital Signature Algorithm. The security of ECDSA rests entirely on one hard problem: the <strong>Elliptic Curve Discrete Logarithm Problem (ECDLP)</strong>. Here&#8217;s a high-level intuition of what this problem is all about.</p><p>An elliptic curve over a finite field forms a specific algebraic structure: a <strong>prime-order cyclic group</strong>. You&#8217;ll see that this really matters when we discuss how it can be attacked by quantum computers. The group is generated by a single distinguished point <em>G (the generator)</em>, and every element of the group can be written as <em>k&#183;G</em> for some integer <em>k</em>. Your private key <em>is</em> that integer <em>k</em>. Your public key is <em>Q = k&#183;G</em>, the generator point &#8220;multiplied&#8221; by your private key, where multiplication means repeatedly applying a specific point-addition rule defined by the curve&#8217;s geometry.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SQxg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SQxg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SQxg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SQxg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SQxg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SQxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg" width="330" height="330" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:330,&quot;width&quot;:330,&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="https://substackcdn.com/image/fetch/$s_!SQxg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 424w, https://substackcdn.com/image/fetch/$s_!SQxg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 848w, https://substackcdn.com/image/fetch/$s_!SQxg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!SQxg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffdd7bc68-c2ee-4f77-acae-3f3bd60f2509_330x330.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 role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Given <em>Q</em> and <em>G</em>, recovering <em>k </em>by brute force classically (meaning with our current computing systems) requires roughly 2^128 operations on Bitcoin&#8217;s curve (secp256k1). That&#8217;s a few hundred undecillion operations, effectively the age of the universe at a billion operations per second. <strong>The problem is hard in one direction only.</strong> Computing <em>Q</em> from <em>k</em> is instant. The reverse is infeasible.This asymmetry is what cryptographers call a <strong>hard problem, </strong>and this is why they are so appealing to create cryptographic primitives out of them.</p><p>Remember <a href="https://adlrocha.substack.com/p/adlrocha-is-nnp">my post a few months ago about complexity theory and P=NP</a>? ?This has a lot to do with that. Cryptographic primitives are built on the assumption of hard problems complexity. Technically, ECDLP sits in NP&#8745;co-NP, it&#8217;s not known to be NP-hard in the strict complexity-theoretic sense, and most cryptographers believe it isn&#8217;t. It isn&#8217;t known to be in P either. Another hard problem commonly used for cryptographic primitives is integer factorisation, the hard problem underlying for instance RSA, which sits in exactly the same class: NP&#8745;co-NP, not NP-complete, not known to be efficiently solvable. <strong>Both problems are &#8220;believed hard&#8221; without being </strong><em><strong>provably</strong></em><strong> hard in the complexity-theoretic sense.</strong></p><p>Both problems resist classical attacks for the same reason: no efficient algorithm has been found after decades. And here is where Shor&#8217;s famous algorithm enters the scene.</p><p><a href="https://en.wikipedia.org/wiki/Shor%27s_algorithm">Shor&#8217;s algorithm</a>, published in 1994, exploits the cyclic structure of the group. Rather than brute-forcing the keyspace, it uses <a href="https://en.wikipedia.org/wiki/Quantum_Fourier_transform">quantum Fourier transforms</a> and <strong>period-finding on the multiplicative structure of the group to extract </strong><em><strong>k</strong></em><strong> from </strong><em><strong>Q</strong></em><strong> in polynomial time.</strong> The precise gate complexity is approximately <em>O(n&#178; log n log log n)</em> in the bit-length <em>n</em> of the key (often cited as <em>O(n&#178;)</em> for shorthand) though the full form matters when you&#8217;re counting <a href="https://en.wikipedia.org/wiki/Toffoli_gate">Toffoli gates</a> against a hardware budget <em>(these gates are the quantum equivalent of a controlled-controlled-NOT, used to implement AND operations reversibly. Think of it as the universal reversible gate of quantum computing, they will be important when we discuss the contributions of the papers released)</em>. For a 256-bit key, that&#8217;s tractable, <em>if</em> you have a sufficiently large quantum computer.</p><p>The question has always been: <strong>how large is &#8220;sufficiently large&#8221;?</strong>I think you see where I am getting at. The papers released this week seem to have changed our existing intuitions about how many qubits are needed for Shor&#8217;s algorithm to break our existing cryptography.</p><div><hr></div><h2>The two papers released</h2><p>The two papers that dropped this week have made some experts reevaluate their timelines about the security of the underlying security of blockchain systems that haven&#8217;t adopted post-quantum:</p><p><strong>The Google Quantum AI whitepaper</strong>, <a href="https://quantumai.google/static/site-assets/downloads/cryptocurrency-whitepaper.pdf">&#8220;Securing Elliptic Curve Cryptocurrencies against Quantum Vulnerabilities: Resource Estimates and Mitigations&#8221;</a>. Authored by Ryan Babbush and Craig Gidney at <a href="https://quantumai.google/">Google Quantum AI</a>, alongside Thiago Bergamaschi (UC Berkeley), Justin Drake from the Ethereum Foundation, and Dan Boneh from Stanford. Google also published a <a href="https://research.google/blog/safeguarding-cryptocurrency-by-disclosing-quantum-vulnerabilities-responsibly/">blog post</a> on the responsible disclosure methodology.</p><p>Let me give you some background about some of the authors so you can frame this contribution in the state-of-the-art.. Justin Drake is one of the primary researchers at the Ethereum Foundation responsible for Ethereum&#8217;s data-availability roadmap, he was a key architect behind <a href="https://eips.ethereum.org/EIPS/eip-4844">EIP-4844</a> and the <a href="https://ceremony.ethereum.org">KZG trusted setup ceremony</a>. Dan Boneh is a professor of computer science at Stanford, co-director of the Stanford Security Lab, and co-author of the most widely used applied cryptography textbook in the field. His <a href="https://www.coursera.org/learn/crypto">free online cryptography course</a> has been taken by over half a million people, and some of his papers were key for the development of Filecoin <em>(another one that hits home)</em>. Finally, Craig Gidney has been responsible for a lot of the recent progress in the intersection of quantum and AI. You can imagine the weight that claims from these people can have in their respective fields. He published a <a href="https://arxiv.org/abs/2505.15917">paper in May 2025</a> showing RSA-2048 breakable with under 1 million physical qubits, down from 20 million in his own 2019 estimate.</p><p>On the other hand, <strong>the Oratomic paper</strong>,<a href="https://arxiv.org/abs/2603.28627"> &#8220;Shor&#8217;s algorithm is possible with as few as 10,000 reconfigurable atomic qubits&#8221;</a>, comes from <a href="https://oratomic.com">Oratomic</a>, a neutral-atom quantum computing company out of Pasadena, with John Preskill (Caltech) and Dolev Bluvstein as co-authors. Crucially, the Google whitepaper cites the Oratomic circuits as its own input, the two papers are cross-linked and share the same circuit design.</p><p>The papers present two circuit variants for attacking secp256k1:</p><ul><li><p>Circuit 1: &#8804;1,200 logical qubits, &#8804;90 million Toffoli gates</p></li><li><p>Circuit 2: &#8804;1,450 logical qubits, &#8804;70 million Toffoli gates</p></li></ul><p>Translated to physical hardware using surface codes on a superconducting architecture (planar degree-4 connectivity, consistent with <a href="https://blog.google/innovation-and-ai/technology/research/google-willow-quantum-chip/">Google&#8217;s Willow</a>-class chips): <strong>fewer than 500,000 physical qubits</strong>. The previous best estimate,  <a href="https://arxiv.org/abs/2306.08585">Litinski (2023)</a>, put this at roughly 9 million physical qubits. Google just moved that needle by <strong>nearly 20-fold</strong>.</p><p>That reduction didn&#8217;t come from a hardware breakthrough, it came from a better circuit. Running Shor&#8217;s on ECDLP isn&#8217;t just <em>&#8220;run the algorithm&#8221; (this is somethign I learnt the hard way the first time I was tinkering with Qiskit and IBMs quantum computers).</em> The core computation is elliptic curve point multiplication, computing k&#183;G for arithmetic on secp256k1, which Shor&#8217;s algorithm needs to evaluate in quantum superposition as part of its period-finding routine. That means implementing modular arithmetic (specifically <a href="https://en.wikipedia.org/wiki/Montgomery_modular_multiplication">Montgomery multiplication</a>, the standard technique for efficient modular operations) entirely in reversible quantum gates.</p><p><strong>Every classical arithmetic operation has to be &#8220;uncomputed&#8221; after use to avoid accumulating garbage qubits that would corrupt the superposition.</strong> The dominant cost is Toffoli Gates and there are hundreds of millions of them in a naively constructed circuit.</p><p>Prior work optimised either qubit count <em>or</em> gate count, but not both simultaneously. The relevant figure of merit for real hardware is <strong>spacetime volume</strong>, i.e. the product of <code>qubits &#215; gates &#215; cycle time</code>, because that&#8217;s what determines wall-clock runtime on an actual machine.</p><p>Google&#8217;s contribution is a circuit that achieves the best spacetime volume ever published for ECDLP-256, through two main improvements. First, they applied <strong>improved windowing to Montgomery multiplication</strong>: rather than processing one bit of the scalar at a time, they process wider windows, amortising the Toffoli cost across more bits per round, reducing the total gate count substantially.</p><p>Second, they revised the <strong>T-state factory overhead</strong>: magic state distillation (the process for producing the high-fidelity ancilla states that Toffoli gates consume) is the dominant physical qubit cost in any surface-code implementation, and prior estimates were conservative. More careful accounting of distillation factory layout and scheduling cut the physical qubit estimate significantly. The combination brought the spacetime volume down far enough to halve the physical qubit requirement relative to Litinski 2023, and Litinski 2023 had already improved substantially on everything before it.</p><p>But before going any further <strong>I think is worth stressing the distinction between </strong><em><strong>logical</strong></em><strong> and </strong><em><strong>physical</strong></em><strong> qubits and why this matter</strong>s. Theoretical qubits are what algorithms assume, perfect, noiseless two-state quantum systems. Logical qubits are error-corrected abstractions built from many physical qubits using a quantum error-correcting code <em>(typically a <a href="https://en.wikipedia.org/wiki/Surface_code">surface code</a>, I have to admit that loving information theory this field of error-corrected qubits is one that I am fascinated about. I actually leverage some of these error-corrected algorithms for my patent).</em> </p><p><strong>Physical qubits</strong> are the actual noisy hardware. Today&#8217;s devices operate at error rates around 10^-3 per gate, which means you need roughly 1,000 physical qubits to sustain one reliable logical qubit. The overhead varies by architecture and target error rate, but it&#8217;s the dominant cost in any near-term hardware plan.</p><p>To put the current state in perspective: Google&#8217;s <a href="https://research.google/blog/making-quantum-error-correction-work/">Willow chip</a> has 105 physical qubits. IBM&#8217;s Condor processor reached 1,121 qubits in late 2023, the largest superconducting qubit count to date, though not all at useful error rates. The gap between today and 500,000 <em>error-corrected</em> qubits is still enormous. But the conceptual threshold has moved, and it&#8217;s moved faster than almost anyone expected.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Cgj4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Cgj4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 424w, https://substackcdn.com/image/fetch/$s_!Cgj4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 848w, https://substackcdn.com/image/fetch/$s_!Cgj4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 1272w, https://substackcdn.com/image/fetch/$s_!Cgj4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Cgj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png" width="743" height="796" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:796,&quot;width&quot;:743,&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="https://substackcdn.com/image/fetch/$s_!Cgj4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 424w, https://substackcdn.com/image/fetch/$s_!Cgj4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 848w, https://substackcdn.com/image/fetch/$s_!Cgj4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 1272w, https://substackcdn.com/image/fetch/$s_!Cgj4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F38ee355c-34b5-4ba8-8b27-3a0916f30c40_743x796.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The two papers cover different hardware architectures, and the distinction matters.</strong> Superconducting qubits, the technology behind Google Willow and <a href="https://www.ibm.com/quantum">IBM&#8217;s quantum systems</a>, encode quantum information in tiny circuits cooled near absolute zero (i.e close to 0 Kelvins), where electrical resistance vanishes and quantum effects dominate. Gate operations run in nanoseconds to microseconds. Neutral-atom architectures, like those used by Oratomic, trap individual atoms using focused laser beams and manipulate their quantum states optically. They achieve extremely long coherence times and flexible qubit connectivity, but gate operations are around 1000x slower). Ion trap systems (<a href="https://ionq.com">IonQ</a>, <a href="https://www.quantinuum.com">Quantinuum</a>) work on similar principles: individual ions levitated in electromagnetic fields and controlled with lasers. IonQ&#8217;s Forte system currently achieves around 29 &#8220;algorithmic qubits&#8221;, roughly the effective logical qubit count after accounting for noise. The Oratomic team <a href="https://www.hpcwire.com/off-the-wire/oratomic-launches-to-build-utility-scale-quantum-computers-following-breakthrough-research-with-caltech/#:~:text=New%20research%20from%20Oratomic%20in,timeline%20for%20useful%20quantum%20computing.">reported 6,100 coherent atomic qubits trapped</a>, with fault-tolerant operations demonstrated below the error threshold on around 500 qubits.</p><p>The Oratomic result is the more striking one in raw qubit count: the same computation runs with as few as 10,000&#8211;26,000 qubits on neutral-atom hardware. The catch: at current clock speeds (around 1ms/cycle), runtime is close to 10 days, not minutes. <strong>That limits the attack to at-rest targets, long-dormant wallets that have been sitting on-chain for years, not live transaction interception.</strong></p><p>That clock speed difference is one of the genuinely novel framings in these papers. Superconducting hardware runs gate cycles in microseconds; neutral atoms and ion traps are 100&#8211;1,000x slower. This determines which <em>kind</em> of attack is feasible. The papers define three categories: on-spend (race Bitcoin&#8217;s block clock before the transaction confirms), at-rest (target publicly exposed keys on dormant wallets), and on-setup (recover secrets from one-time cryptographic ceremonies like KZG). Fast-clock architectures enable on-spend. Slow-clock ones are limited to the other two.</p><div><hr></div><h2>The ZKP disclosure &#128561;</h2><p>Here&#8217;s the part that really blew my mind about Google&#8217;s whitepaper <em>(and that I think justifies even more having Justing Drake and than Dan Boneh around for the paper).</em> Google did not publish the attack circuits. Instead, they published a <strong>zero-knowledge proof</strong> that the circuits work.</p><p>The attack circuit, a sequence of quantum gate operations implementing Shor&#8217;s algorithm for <a href="https://en.bitcoin.it/wiki/Secp256k1">secp256k1</a>, was written as an ordinary Rust code using a quantum circuit library that models qubits, gates (Hadamard, CNOT, Toffoli, phase rotation), and multi-qubit arithmetic operations. The program encodes the <a href="https://en.wikipedia.org/wiki/Montgomery_modular_multiplication">Montgomery modular multiplication</a> routine at the core of the elliptic curve group arithmetic, the <a href="https://en.wikipedia.org/wiki/Quantum_Fourier_transform">quantum Fourier transform</a> used for period extraction, and the bookkeeping that wires those components into a complete Shor&#8217;s instance for ECDLP-256. The circuit itself is a classical description of a quantum computation,  a directed graph of gate operations to be executed on hardware. It&#8217;s the blueprint, not the machine. (<em>sidenote: the circuit of the image is the classical implementation of Shor&#8217;s algorithm for those of you that haven&#8217;t seen one ever)</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xeHx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xeHx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 424w, https://substackcdn.com/image/fetch/$s_!xeHx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 848w, https://substackcdn.com/image/fetch/$s_!xeHx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 1272w, https://substackcdn.com/image/fetch/$s_!xeHx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xeHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png" width="1456" height="518" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:518,&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="https://substackcdn.com/image/fetch/$s_!xeHx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 424w, https://substackcdn.com/image/fetch/$s_!xeHx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 848w, https://substackcdn.com/image/fetch/$s_!xeHx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 1272w, https://substackcdn.com/image/fetch/$s_!xeHx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5787b22-2502-4c5c-84ad-88b8bde579ef_2048x729.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>That Rust program was then fed into <a href="https://github.com/succinctlabs/sp1">SP1</a>, a <a href="https://en.wikipedia.org/wiki/Zero-knowledge_proof">zero-knowledge virtual machine</a></strong> built by <a href="https://succinct.xyz">Succinct Labs</a> which targets the RISC-V architecture. For those unfamiliar with ZK-VMs, <strong>SP1 compiles Rust to RISC-V bytecode</strong> (using the standard RISC-V target), and then generates a cryptographic proof, specifically a STARK-based proof, that a given RISC-V program was executed correctly on specific inputs and produced a specific output. You get a proof of correct execution without anyone needing to see the program or the inputs.</p><p><strong>In this case: Google ran the circuit program against 9,000 randomly sampled secp256k1 input points</strong>, verified that the circuit correctly performs the elliptic curve operations it claims to, and had SP1 generate a proof of that execution. The SHA-256 hash of the circuit was committed publicly so anyone can verify they&#8217;re talking about the same circuit. The SP1 proof attests<em>: &#8220;this hash corresponds to a program that, when run on these inputs, produces these outputs consistently with a correct Shor&#8217;s implementation for ECDLP-256.&#8221;</em></p><p>The inner SP1 proof is a STARK. STARKs have no trusted setup, but they&#8217;re large, hundreds of kilobytes to megabytes. <strong>So SP1 wraps the STARK in an outer <a href="https://eprint.iacr.org/2016/260">Groth16</a> SNARK.</strong> Groth16 takes the STARK proof as a <em>statement</em> to be proved and generates a compact proof of it: roughly 200 bytes, regardless of the complexity of the original computation. The final artefact, code and proof, sits on <a href="https://zenodo.org">Zenodo</a>. Anyone can download it and verify Groth16&#8217;s 200-byte proof in milliseconds, without ever seeing the attack circuit.</p><p><strong>What this means practically: the existence and correctness of the attack is publicly verifiable. The attack tool itself is not.</strong></p><p>This is a genuinely new move in responsible disclosure. The standard practice for software vulnerabilities is to notify the vendor, wait a window, then publish. But there&#8217;s no vendor to notify here, no patch to deploy in 90 days. So Google found a different answer: prove the result is real, withhold the exploit.</p><p>Here&#8217;s where it gets funny, or uncomfortable, depending on your perspective. Groth16 is itself an elliptic curve construction. It operates over <a href="https://deepwiki.com/zkVerify/accelerated-bn-cryptography/2-bn254-curve-implementation">BN254</a>, a pairing-friendly curve distinct from secp256k1, but it is still fundamentally an elliptic curve scheme. The pairings that make Groth16 work rely on the same class of hard problems, discrete logarithms on elliptic curves, that Shor&#8217;s algorithm can break. So Google used a cryptographic primitive that is <em>also</em> eventually threatened by sufficiently powerful quantum computers to prove the existence of the circuit that threatens elliptic curve cryptography. If CRQCs (<strong>Cryptographically Relevant Quantum Computers</strong>, the term the whitepaper uses for machines capable of running these attacks) ever arrive at scale, Groth16 and the broader ZKP ecosystem go down with the rest.</p><p>I don&#8217;t know if that&#8217;s elegant or just funny. Probably both.</p><p>But what is even crazier to me is that <strong>this could become eventually the standard model for future research and proprietary algorithms</strong>, where companies and researchers can show that &#8220;their algorithms do what they claim to be doing&#8221; without leaking anything about its underlying implementation. That&#8217;s enough for a post of itself. I&#8217;ve been saying it for a while but ZKP primitives can have immediate use outside of blockchain networks and web3.</p><div><hr></div><h2>Post-quantum cryptography: what exists, what migration looks like</h2><p>To understand why certain cryptographic schemes survive a quantum computer and others don&#8217;t, we need to understand <em>why</em> Shor&#8217;s algorithm works in the first place.</p><p>Shor&#8217;s algorithm is a period-finding machine. <strong>It exploits the fact that ECDLP and integer factorisation both reduce to finding the period of a function defined over a cyclic algebraic group.</strong> Quantum Fourier transforms make period-finding tractable on cyclic structures, and that&#8217;s the attack. The quantum speedup isn&#8217;t general; it&#8217;s specific to problems with this periodic structure. <strong>If you pick a hard problem that doesn&#8217;t have it, Shor&#8217;s doesn&#8217;t help.</strong></p><p>That&#8217;s exactly what post-quantum cryptography does.</p><p><strong>Lattice problems</strong>, specifically the <a href="https://en.wikipedia.org/wiki/Lattice_problem">Shortest Vector Problem (SVP)</a> and its structured variant, <a href="https://en.wikipedia.org/wiki/Learning_with_errors">Module Learning With Errors (MLWE)</a>, ask you to find the shortest non-zero vector in a high-dimensional lattice, or to distinguish a structured equation system from a random one. Neither problem has a cyclic group structure Shor&#8217;s can exploit. The best known quantum algorithm for SVP offers only a polynomial speedup over classical approaches, not the exponential gap that Shor&#8217;s gives against ECDLP. </p><p><strong>SVP is NP-hard in the worst cas</strong>e, and lattice cryptography has an elegant property: worst-case hardness reduces to average-case hardness, which makes the security proofs unusually strong. The specific structured variants used in practice (MLWE, MSIS) sit slightly off the worst-case problem, so ongoing cryptanalysis remains active, but no quantum attack comes close to breaking them.</p><p><strong>Hash-based problems</strong> rest on collision resistance alone. There is no algebraic structure, no group, no lattice. If SHA-256 or SHAKE-256 resist collision attacks, and there&#8217;s no known quantum or classical attack that breaks them, the scheme is secure. <a href="https://en.wikipedia.org/wiki/Grover%27s_algorithm">Grover&#8217;s algorithm</a> gives a quadratic speedup for unstructured search, which halves the effective security level (256-bit security becomes 128-bit), but doubling the output size restores it. That&#8217;s a parameter choice, not a structural break.</p><p><strong>Code-based problems</strong>, specifically the <a href="https://en.wikipedia.org/wiki/Decoding_methods#Syndrome_decoding">Syndrome Decoding Problem</a>, ask you to find a codeword in a random linear error-correcting code given a corrupted version. Berlekamp showed in 1978 that SDP is NP-complete in the worst case. No quantum speedup beyond polynomial is known. The cost has historically been large key sizes (around 1MB for <a href="https://en.wikipedia.org/wiki/McEliece_cryptosystem">McEliece</a>-based schemes), but newer constructions have reduced this substantially.</p><p>The NIST post-quantum standards (i.e. list of post-quantum standards so far accepted by NIST) are a portfolio of bets across those three problem families:</p><ul><li><p><strong><a href="https://csrc.nist.gov/pubs/fips/203/final">ML-KEM (FIPS 203)</a></strong>, key encapsulation, formerly CRYSTALS-Kyber. Lattice-based (MLWE). FIPS-finalised, production-ready.</p></li></ul><ul><li><p><strong><a href="https://csrc.nist.gov/pubs/fips/204/final">ML-DSA / Dilithium (FIPS 204)</a></strong>, digital signatures. Lattice-based (MLWE/MSIS). Signature size: ~2.5KB. FIPS-finalised, production-ready.</p></li><li><p><strong><a href="https://csrc.nist.gov/pubs/fips/205/final">SLH-DSA / SPHINCS+ (FIPS 205)</a></strong>, stateless hash-based signatures. Signature size: ~8KB. FIPS-finalised. Heavy but the most conservative security assumption available.</p></li><li><p><strong><a href="https://pqc-hqc.org/">HQC</a></strong>, selected March 2025 as fifth KEM, full standard expected 2027. Code-based (syndrome decoding). Smaller keys than McEliece.</p></li></ul><p>And why not migrate immediately to these primitives. <strong>The main issue rests in the size of the keys,</strong> that can mean breaking a lot of assumptions in some systems (including blockchain networks). Post-quantum keys can be 100-fold larger than existing ECDSA and even RSA keys.</p><div><hr></div><h2>Has the timeline really changed?</h2><p>What about all of this claims and the statement in Google&#8217;s paper about this discovery making them &#8220;reevaluate&#8221; current quantum supremacy timelines? <strong>My immediate answer would be, </strong><em><strong>&#8220;who knows?&#8221;</strong></em></p><p>Here&#8217;s one thing that I think some people may be missing when reading this results: the dramatic reduction in resource <em>counts</em> is real, but the practical problem is not about how many qubits you need on paper. <strong>It&#8217;s about whether you can build qubits good enough to make those counts mean anything.</strong></p><p>The Google whitepaper assumes a physical gate error rate of 10^ 3 sustained uniformly across all qubits. That&#8217;s the modelling assumption. Where is hardware today?</p><p>The state of the art, as of 2024, is two-qubit gate fidelity of ~99.9%, which is exactly 10^ -3. Multiple groups have now reported this number, including Google with Willow. So you might conclude the assumption is already met. Scott Aaronson <em>(you probably remember him as being my favourite computer scientist alive :) )</em>, who has been tracking this more carefully than most, made exactly this point in September 2024:</p><blockquote><p><em>&#8220;Within the past year, multiple groups have reported 99.9% [two-qubit gate fidelity]. I&#8217;m now more optimistic than I&#8217;ve ever been that, if things continue at the current rate, either there are useful fault-tolerant QCs in the next decade, or else something surprising happens to stop that.&#8221;</em></p></blockquote><p>But he also noted that <strong>99.99%, a full order of magnitude better, is what you really need for sustained fault-tolerant operation where error correction delivers a </strong><em><strong>net gain</strong></em><strong> rather than just breaking even</strong>. That threshold hasn&#8217;t been reached.</p><p>There&#8217;s a version of the coverage that reads these papers as evidence the timeline itself has shortened. I don&#8217;t think that&#8217;s right, and the distinction matters. What these papers changed is the <em>target</em>: the number of qubits and gates required on paper to run the attack. What they didn&#8217;t change is the <em>distance</em> to that target, which is determined entirely by hardware, and hardware hadn&#8217;t moved much this past month. The Willow chip had the same error rates the day after the whitepaper dropped as it did the day before. A more efficient attack circuit doesn&#8217;t build better qubits. It lowers the bar you need to clear, but if you can&#8217;t clear the bar yet, lowering it isn&#8217;t the same as getting closer.</p><p>More critically: those fidelity numbers are measured on the <em>best qubit pairs</em> on a <em>100-qubit chip</em> under carefully optimised conditions. Nobody has demonstrated 99.9% gate fidelity sustained uniformly across a million physical qubits.</p><p>Google&#8217;s own <a href="https://arxiv.org/abs/2408.13687">Willow error correction paper</a>, the paper that demonstrated below-threshold surface code performance for the first time, achieved that milestone on <strong>101 physical qubits</strong>. The target for a cryptographically relevant attack is somewhere between 500,000 and 1 million. The Willow paper itself notes that logical performance is limited by rare correlated error events, roughly once per hour, that fall outside the standard noise model fault-tolerance proofs assume. At million-qubit scale, the frequency and character of those events is unknown.</p><p>Then there&#8217;s inter-chip communication. Gidney&#8217;s estimates assume a planar grid of qubits with nearest-neighbour connectivity. At the million-qubit scale, that means stitching together many chips into a coherent quantum system, something that has not been demonstrated anywhere. Aaronson again: <em>&#8220;eventually you&#8217;ll need communication of qubits between chips, which has yet to be demonstrated.&#8221;</em></p><p>There&#8217;s still a sentence near the end of the whitepaper that I think frames the risk correctly:</p><blockquote><p><em>&#8220;It is conceivable that the existence of early CRQCs may first be detected on the blockchain rather than announced.&#8221;</em></p></blockquote><p>That&#8217;s the authors acknowledging a tail scenario the &#8220;Nassim Taleb-way&#8221;: a nation-state or well-funded private effort builds this quietly, and the first public evidence of success is unexplained large wallet drains on-chain <em>(my good friend <a href="https://scholar.google.es/citations?user=YL-VvMEAAAAJ&amp;hl=en&amp;oi=ao">Marko Vukolic</a> always said that Bitcoin and Satoshi&#8217;s wallet was the biggest quantum computing bounty available, so this claim adds up).</em></p><p>So the honest position is: the resource count dropped dramatically, and that matters. But the real question for the timeline isn&#8217;t how many qubits you need on paper, <strong>it&#8217;s whether anyone can build a million qubits that are actually good enough</strong>.</p><p>We&#8217;ll have to wait and see&#8230; Until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - What if AI doesn’t need more RAM but better math?]]></title><description><![CDATA[How TurboQuant compresses the KV cache without losing accuracy, and what that could mean for memory stocks]]></description><link>https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-what-if-ai-doesnt-need-more</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 29 Mar 2026 08:03:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AgT0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AgT0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AgT0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 424w, https://substackcdn.com/image/fetch/$s_!AgT0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 848w, https://substackcdn.com/image/fetch/$s_!AgT0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 1272w, https://substackcdn.com/image/fetch/$s_!AgT0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AgT0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&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="https://substackcdn.com/image/fetch/$s_!AgT0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 424w, https://substackcdn.com/image/fetch/$s_!AgT0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 848w, https://substackcdn.com/image/fetch/$s_!AgT0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 1272w, https://substackcdn.com/image/fetch/$s_!AgT0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44cb1e23-c8aa-4d3d-a0d7-30a7130749de_2048x1143.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last week I was <a href="https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram">writing about the hardware side of the AI memory problem</a>: the HBM density penalty, the EUV bottleneck, and the supply chain pressure squeezing DRAM prices for everyone from data centre operators down to consumer electronics. This week, Google published something that attacks the exact <strong>same problem using another approach: not &#8220;build more memory&#8221;, but &#8220;need less of it.&#8221;</strong></p><p>You guessed it! This post will dive a bit deeper into <strong>what TurboQuant is, and what this may imply to the field of AI.</strong> What Pied Piper achieved in the Silicon Valley TV Show with their general-purpose lossless compression algorithm, Google may have achieved it for the compression of information represented as vectors in a high-dimensional space.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2QIB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2QIB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!2QIB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!2QIB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!2QIB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2QIB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/090a8ffb-9405-4fe4-88b9-3149f2fd730f_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;: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="" srcset="https://substackcdn.com/image/fetch/$s_!2QIB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!2QIB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!2QIB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!2QIB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F090a8ffb-9405-4fe4-88b9-3149f2fd730f_1600x900.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2>What is a transformer? And the KV cache?</h2><p>But before getting into what TurboQuant does, let&#8217;s make a brief detour to understand what is this algorithm is actually built to compress, and why it is important for LLMs and the memory problem.</p><p><strong>GPT models are what are known as autoregressive</strong>: they generate text one token at a time, where each new token is conditioned on everything that came before. You send a prompt, the model reads all of it, picks the most likely next word, appends it, reads everything again, picks the next word, and so on. One token at a time, left to right, until it decides to stop.</p><p><strong>The core mechanism that lets the model read everything at each step is called attention.</strong> For every token in the sequence, the model computes three vectors: a query, a key, and a value. You can think of these data structures as a bit more complex key-value stores. To generate the next token, the model compares the current query against every previous key, essentially asking &#8220;which past tokens are relevant right now?&#8221;, and uses the answer to weigh the corresponding values and build up context.</p><p>This is implemented (as you may all know by now) through the transformer architecture. Transformer layers are responsible for encoding the input sequences into a meaningful representation, applying the attention mechanism, and decoding into an output representation. <strong>All LLMs are architectural variations of this basic cell.</strong></p><p>To get a sense of each of these variations I highly recommend <a href="https://sebastianraschka.com/llm-architecture-gallery/">Sebastian Raschka&#8217;s LLM Architecture gallery</a>: from GPT-2 to DeepSeek and GLM.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ldik!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ldik!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Ldik!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Ldik!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Ldik!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ldik!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png" width="1217" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1217,&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="https://substackcdn.com/image/fetch/$s_!Ldik!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Ldik!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Ldik!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Ldik!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F863521ce-350a-4d97-80d4-026bb37571e2_1217x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The keys and values for every previous token are recomputed from scratch on every single pass through architecture. If your conversation is N tokens long and you&#8217;re generating token N+1, the model recalculates N sets of keys and values it already calculated on the previous step. This is slow and wasteful in terms of the resources.</p><p><strong>The obvious fix to this is to cache them.</strong> The query, key and values are computed once per token and stored so they can be looked up in subsequent steps instead of being recalculated. This is the <strong>KV cache</strong>, <strong>a</strong> <strong>running store of QKV tokens from all previous tokens stored in GPU memory</strong> (so they are readily accessible when needed).</p><p>The problem is that the KV cache grows with every token. With short messages this is trivial as all tokens fit in memory, but a long conversation, or a full code base, involves hundreds of thousands of tokens. Each token has its own key and value vectors, across every attention layer in the model, each stored as a full-precision floating-point number (as long as there&#8217;s no quantisation involved). For a model like Llama 3.1 70B, the KV cache for a single long context can consume more GPU memory than the model weights themselves.</p><p>This is one of the key bottlenecks in production inference.  Serve more users simultaneously? More KV cache. Support longer contexts? More KV cache. Run cheaper inference? Figure out what to do about the KV cache. We are <strong>trading the compute necessary to compute on-the-fly the QKV values, for increased memory requirements.</strong></p><p>By using quantisation instead of storing each value at 32-bit or 16-bit precision, one can round it down to 4 bits or 3 bits (or even <a href="https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/vptq-quantized-2-bit-models-principles-steps-and-practical-implementation/4372907">2 bits, like Microsoft recently showed</a>). Some accuracy is lost in the approximation, but if it is not significant for the user case, the trade-off is obviously worth it. The question is how to do this well. Standard quantisation techniques add 1-2 extra bits of overhead per value as metadata, which partially undermines the compression you&#8217;re trying to achieve. Getting to genuinely low bit-widths without that overhead, and without accuracy degradation, is the hard part. HuggingFace has a really <a href="https://huggingface.co/docs/transformers/v4.49.0/quantization/overview">nice page with an overview of quantisation and a list of methods  </a></p><div><hr></div><h2>Enter TurboQuant</h2><p>But things may be about to change. <a href="https://research.google/blog/turboquant-redefining-ai-efficiency-with-extreme-compression/">Google announced this week TurboQuant</a>. TurboQuant (<a href="https://arxiv.org/abs/2504.19874">see paper</a>) is a two-stage algorithm. The two stages have different jobs.</p><p><strong>Stage 1: PolarQuant.</strong> This is the main compression step. We currently store vectors using Cartesian coordinates as distances of a base to the origin (the x, y, z components that we learnt in primary school). The distribution of those components in space makes them hard to compress efficiently. </p><p><strong>PolarQuant converts the vector to polar coordinates: a radius, and an angle.</strong> The key observation is that, in high-dimensional transformer key spaces, the angle distribution is highly concentrated and predictable, it clusters in ways that maps neatly onto a fixed quantisation grid (like the ones used to compress audio and image). That predictability means you can eliminate the expensive normalisation steps that standard quantisation methods require, and you can do it without any dataset-specific tuning. No fine-tuning or calibration pass required to quantise a specific model. One can directly apply it to the vectors in this new representation independent of the model.</p><p><strong>Stage 2: QJL (<a href="https://arxiv.org/pdf/2406.03482">Quantised Johnson-Lindenstrauss</a>).</strong> PolarQuant handles the main compression, but any quantisation introduces error, and some of that <strong>error accumulates in the dot products that the transformer uses to compute attention</strong> scores. QJL&#8217;s job is to correct for this bias. It applies a Johnson-Lindenstrauss transform to the residual error, a random projection that preserves distances between high-dimensional points, and then reduces each component to a single sign bit: +1 or -1. The result is an unbiased estimator for the inner products, with zero additional memory overhead. The error correction costs nothing to store <em>(see bottom-left part of the image below for a mental model of the shift from existing quantised KV cache and a QJL-transformed one)</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wStc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wStc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 424w, https://substackcdn.com/image/fetch/$s_!wStc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 848w, https://substackcdn.com/image/fetch/$s_!wStc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 1272w, https://substackcdn.com/image/fetch/$s_!wStc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wStc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png" width="897" height="563" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be51226e-8122-4b7f-a595-ef65101a7b43_897x563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:563,&quot;width&quot;:897,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:123671,&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://adlrocha.substack.com/i/192401392?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wStc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 424w, https://substackcdn.com/image/fetch/$s_!wStc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 848w, https://substackcdn.com/image/fetch/$s_!wStc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 1272w, https://substackcdn.com/image/fetch/$s_!wStc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe51226e-8122-4b7f-a595-ef65101a7b43_897x563.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The combination achieves 3.5 bits per channel with what the paper calls <em>&#8220;absolute quality neutrality&#8221;</em> across Gemma, Mistral, and Llama-3.1-8B-Instruct, tested on LongBench, Needle In A Haystack, ZeroSCROLLS, RULER, and L-Eval. At 2.5 bits, accuracy degrades only marginally. The headline number from the blog post: <strong>6x reduction in KV memory size with no measurable accuracy loss</strong>, and on H100 GPUs, 4-bit TurboQuant delivers up to <strong>8x performance increase</strong> over 32-bit unquantised keys.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ph2G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ph2G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 424w, https://substackcdn.com/image/fetch/$s_!ph2G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 848w, https://substackcdn.com/image/fetch/$s_!ph2G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 1272w, https://substackcdn.com/image/fetch/$s_!ph2G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ph2G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png" width="1250" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:1250,&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="https://substackcdn.com/image/fetch/$s_!ph2G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 424w, https://substackcdn.com/image/fetch/$s_!ph2G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 848w, https://substackcdn.com/image/fetch/$s_!ph2G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 1272w, https://substackcdn.com/image/fetch/$s_!ph2G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F45cf7606-51e2-4d24-aa0e-509045b77dc5_1250x561.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As briefly described above, most quantisation methods require at least some calibration on representative data, they learn the optimal quantisation grid for a specific model on a specific dataset. TurboQuant is data-oblivious: the algorithm works from first principles, near the theoretical lower bounds of what information theory says is possible, without seeing the data first. That&#8217;s what makes it deployable at inference time to any models without having to explicitly train the quantised model. <strong>There is no need for specific training and fine-tuning to achieve the most optimal compression rate</strong> without trading accuracy.</p><div><hr></div><h2>What this means for the memory crunch</h2><p>Last week I was writing about how HBM stacking reduces DRAM bit density by 3-4x, and how the entire supply chain for consumer DRAM is under pressure because data centres and consumer electronics are competing for the same wafers. If TurboQuant reduces the memory footprint per inference job by 6x, <strong>applying this compression algorithm at scale may significantly relax the memory bottleneck issue.</strong></p><p>Anthropic is not the only one that is able to crash the market cap of public companies with a single announcement. Immediately after Google&#8217;s announcement, the stock from memory manufacturing companies like Micron and Sandisk plunged <em>(and as an investor in Micron, this hits me home &#128584;)</em><strong>.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d_jS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d_jS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 424w, https://substackcdn.com/image/fetch/$s_!d_jS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 848w, https://substackcdn.com/image/fetch/$s_!d_jS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 1272w, https://substackcdn.com/image/fetch/$s_!d_jS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d_jS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png" width="1456" height="1421" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1421,&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="https://substackcdn.com/image/fetch/$s_!d_jS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 424w, https://substackcdn.com/image/fetch/$s_!d_jS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 848w, https://substackcdn.com/image/fetch/$s_!d_jS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 1272w, https://substackcdn.com/image/fetch/$s_!d_jS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b105666-9fa9-4f80-8a96-a76e42fca76a_1600x1561.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This may be an overreaction, like when Nvidia stock plunged after Deepseek&#8217;s announcement. Or it may be signalling a complete shift in the economics and resource requirements of AI labs. If I were Google, I wouldn&#8217;t release research that exposes a competitive advantage. I would only publish research whose progress has already been factored in as the competitors may have already realised it, or adopted themselves TurboQuant has most probably been already adopted inside Google&#8217;s infrastructure before anyone outside read the paper.</p><p>If Google is publishing 6x KV cache compression, <strong>the reasonable thing to think is that every serious AI lab has been working on this problem already.</strong> Reducing the memory requirements of the KV cache has been a known problem for quite some time, and advancements like TurboQuant adopted at scale change the memory requirements (justifying the hit on these memory stocks). I can&#8217;t wait for the next report from SemiAnalysis analysing this release, the real adoption of this new approach to compression (and similar ones) from big labs, and what it can entail to the memory crunch.</p><p>Micron and SanDisk haven&#8217;t suddenly become bad businesses. But <strong>any thesis that depends on memory demand growing linearly with AI</strong> context usage deserves a second look. My personal take is that the market is overreacting, but we&#8217;ll see.</p><p>In <a href="https://adlrocha.substack.com/p/adlrocha-money-and-collateral-in">this post</a> about money and collateral in an AI-first society, I mentioned the book <em>&#8220;The Last Economy&#8221;</em>. This book describes how extreme volatility and sharp turns over any news without achieving a clear equilibrium is a symptom of a sick system. This big market movements over a single news may be proof of the symptoms of a broken system.</p><div><hr></div><h2>Beyond LLMs</h2><p>What excites me the most about this release is what this Johnson-Lindenstrauss Transform that powers QJL and compression algorithms like TurboQuant could mean for other use cases outside of LLMs and vector search that rely on high-dimensional vector data.</p><p>The obvious one outside of KV caches as mentioned above is vector databases. Any RAG pipeline that stores embedding vectors for retrieval benefits from the same compression. <strong>TurboQuant reduces indexing time to &#8220;virtually zero&#8221; on vector search tasks and outperforms product quantisation</strong> and RabbiQ on recall benchmarks using GloVe vectors.</p><p>Further out: recommendation engines, fraud detection, drug discovery similarity search, genomics, any system that stores large tables of high-dimensional embeddings and needs to run fast nearest-neighbour lookups (assuming a similar distribution in space as the values stored in KV caches, which is something I want to explore). These systems weren&#8217;t waiting for transformer-specific optimisation, but they may inherit the benefit directly.</p><p><strong>On-device inference is another field inside the world of LLMs where we could start seeing immediate impac</strong>t. If the KV cache for a long context shrinks by 6x, you can fit substantially more context into the memory envelope of a mid-range phone or a modest edge device. Local models with usable context lengths start to look more tractable. The economics of inference at the edge change, and that&#8217;s a different set of winners and losers than the data centre story.</p><p>I don&#8217;t know if you&#8217;ve already seen<a href="https://x.com/danveloper/status/2034353876753592372"> how some LLMs are being stored in fast flash memory</a> in order to be able to run LLM inference of big models in a Mac. I&#8217;ll leave this for some other post, but the field of edge inference is getting more interesting every day. And even more now that we got TurboQuant.</p><div><hr></div><h2>I need to tinker with this thing</h2><p>The TurboQuant code is out, both the QJL and PolarQuant components are available, and I can&#8217;t wait to find the time to start applying to other use cases. We&#8217;ve seen throughout history the impact that changing the way we represent information can have for performance (and even feasibility) of certain use cases <em>(think of what the Fourier Transform, FFTs, and the frequency domain already enabled :) ).</em></p><p>I want to find the time to do the exercise of trying to apply the TurboQuant approach to other use cases to see what this is capable of. I already have some ideas, but I&#8217;ll report back. In the meantime, until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Why AI Is Making Your RAM More Expensive (and what can be done about it)]]></title><description><![CDATA[The supply chain stress, the physics behind it, and five architectural bets on what changes next]]></description><link>https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-why-ai-is-making-your-ram</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 22 Mar 2026 08:52:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!38Bs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!38Bs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!38Bs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!38Bs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!38Bs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!38Bs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!38Bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&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="https://substackcdn.com/image/fetch/$s_!38Bs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!38Bs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!38Bs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!38Bs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f64b5a-e93e-458f-8e3d-15f3e37b6724_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few weeks ago I ended the <a href="https://adlrocha.substack.com/p/adlrocha-the-space-data-centre-delusion">space data centre piece</a> by asking the question of whether, instead of shipping current GPUs into orbit, we should be rethinking and reviewing the chip manufacturing and architectures entirely. </p><p>The answer is almost certainly yes, but while I was working out how to write that post, a more immediate (and somewhat related) problem got in the way: <strong>RAM is getting expensive, and it&#8217;s going to keep getting worse.</strong></p><p>I was listening to <a href="https://www.dwarkesh.com/p/dylan-patel">Dylan Patel on Dwarkesh Patel&#8217;s podcast</a> a few days ago, and <em>(as always)</em> I loved how he broke down the problems that are leading to this mismatch between the demand of memory and the amount being produced.</p><p>HBM, i.e. high-bandwidth memory, is a type of memory where several DRAM dies are stacked vertically one on top of another in a chip for<strong> space efficiency, in order to reduce power consumption, and most importantly to increase memory bandwidth. </strong></p><p>Every modern accelerator uses this approach to memory. The problem is that stacking DRAM into HBM configurations reduces the raw bit density by 3&#8211;4x. You&#8217;re trading density for bandwidth. When you look at standard planar DRAM (like DDR5 in a desktop), the silicon is packed end-to-end with memory cells. But when you move to the 3D-stacked architecture of HBM, you introduce structural overhead that drastically reduces how tightly you can pack those memory bits.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k9A0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k9A0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 424w, https://substackcdn.com/image/fetch/$s_!k9A0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 848w, https://substackcdn.com/image/fetch/$s_!k9A0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 1272w, https://substackcdn.com/image/fetch/$s_!k9A0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k9A0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png" width="914" height="394" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:394,&quot;width&quot;:914,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;[HBM &#54028;&#54756;&#52824;&#44592;] HBM &#47700;&#47784;&#47532; &#44060;&#50836; &#48143; &#54596;&#50836;&#49457;, &#44592;&#51316; DRAM &#47700;&#47784;&#47532;&#50752;&#51032; &#52264;&#51060;&#51216; - AI &#48152;&#46020;&#52404;&#51032; &#54645;&#49900;!&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="[HBM &#54028;&#54756;&#52824;&#44592;] HBM &#47700;&#47784;&#47532; &#44060;&#50836; &#48143; &#54596;&#50836;&#49457;, &#44592;&#51316; DRAM &#47700;&#47784;&#47532;&#50752;&#51032; &#52264;&#51060;&#51216; - AI &#48152;&#46020;&#52404;&#51032; &#54645;&#49900;!" title="[HBM &#54028;&#54756;&#52824;&#44592;] HBM &#47700;&#47784;&#47532; &#44060;&#50836; &#48143; &#54596;&#50836;&#49457;, &#44592;&#51316; DRAM &#47700;&#47784;&#47532;&#50752;&#51032; &#52264;&#51060;&#51216; - AI &#48152;&#46020;&#52404;&#51032; &#54645;&#49900;!" srcset="https://substackcdn.com/image/fetch/$s_!k9A0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 424w, https://substackcdn.com/image/fetch/$s_!k9A0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 848w, https://substackcdn.com/image/fetch/$s_!k9A0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 1272w, https://substackcdn.com/image/fetch/$s_!k9A0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65fad0-15f8-460d-b6ad-debc3916e315_914x394.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>According to Dylan, to meet demand across the current AI buildout, you&#8217;d need roughly 170,000 DRAM wafer starts per month per gigawatt of AI capacity. <strong>A demand that current memory manufacturers wouldn&#8217;t be able to absorb with their current capacity.</strong></p><p>Then there&#8217;s the EUV bottleneck upstream of all of it. ASML makes roughly 70 EUV lithography machines per year, ramping towards 100 by the end of the decade. Each one costs around $300&#8211;400 million, and they take years to produce, with a reticle stage that operates at 9Gs of acceleration with sub-nanometre alignment tolerances and over 10,000 specialised suppliers (with the corresponding manufacturing challenges and quality controls required). </p><p>You cannot simply build more of them on short notice, and you need about 3.5 machines per gigawatt of AI chip capacity. The whole industry is, as Patel describes, stuck in a coordination failure: Nvidia doesn&#8217;t expand beyond what TSMC commits to, TSMC doesn&#8217;t expand beyond Nvidia&#8217;s requests, ASML stays conservative. <strong>Everyone assumes the demand projections are exaggerated, and every year, they aren&#8217;t with all the AI craze going on </strong>with some of these companies not being what Patel calls <em>&#8220;AGI pilled&#8221; </em>(i.e. that they think the demand for intelligence and thus the underlying hardware will sky-rocket in the coming years)<strong>.</strong> </p><p>So turns out <strong>energy may not be the only short-term bottleneck that scaling AI may face.</strong></p><p><em>Sidenote: If you like chip manufacturing and economics as much as me, I highly recommend listening to the podcast to understand how complex ASML machines and their supply chain are: from the set of glasses and mirrors used to focus the laser, to the number of passes over the dies, and accuracy required when manipulating them (consider their nm scale), and how they have to be assembled, tested, disassembled, shipped to the factory, and then assembled again before they can start their operation.</em></p><p>Unfortunately, the downstream effect isn&#8217;t confined to datacentres. <strong>Consumer electronics manufacturers are competing for the same DRAM supply</strong>. And this is the key reason for the supply chain stress. AI has completely disrupted the traditional demand for semiconductors, introducing higher margins for fabs (thus making them more appealing) than the semiconductors for phones, cars and consumer electronics that the fabs were dedicated to manufacture before AI.</p><p>You&#8217;ve probably seen all the memes and real world stories of people trading and hedging their RAM, but we are getting to a point where RAM cards are costing as much as the laptop in which it was assembled, or as much as actual GPUs cards.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fP8z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fP8z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 424w, https://substackcdn.com/image/fetch/$s_!fP8z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 848w, https://substackcdn.com/image/fetch/$s_!fP8z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 1272w, https://substackcdn.com/image/fetch/$s_!fP8z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fP8z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png" width="923" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:923,&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="https://substackcdn.com/image/fetch/$s_!fP8z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 424w, https://substackcdn.com/image/fetch/$s_!fP8z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 848w, https://substackcdn.com/image/fetch/$s_!fP8z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 1272w, https://substackcdn.com/image/fetch/$s_!fP8z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb985d8ec-ec63-48c3-a4d6-fe2f379ed78d_923x768.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Lawrence Lundy-Bryan&#8217;s has been lately focusing a lot of his research (and his own fund&#8217;s focus) in the field of semiconductors and alternative technological plays to the current &#8220;status-quo&#8221; of the field.</strong> I&#8217;ve been following Lawrence&#8217;s work at <a href="https://stateofthefuture.substack.com/">State of the Future</a> for some years now <em>(since the release of the <a href="https://www.stateofthefuture.xyz/">original website</a>).</em> Lawrence interviews the founders of companies working on deep tech, and he tries to paint a realistic picture beyond the hype of when a technology can be expected to be mature enough to be adopted, the different players in the industry and their approaches, and investment opportunities.</p><p>I&#8217;ve learnt a lot from his pieces throughout the years, and as I was researching the problem of RAM prices I realised that many of the technologies that he has been discussing lately could help tackle this problem. In this post I will do a quick rundown of (what I feel) are the most relevant ones <em>(including the appropriate link to Lawrence&#8217;s pieces so you can dig deeper into them).</em> Let&#8217;s go!</p><div><hr></div><h2>The data movement problem</h2><p>Let&#8217;s start from common knowledge. The memory crunch isn&#8217;t just a supply-chain problem. It&#8217;s a physics problem, and this physics problem has a name that you&#8217;ve probably come across already: <strong>the memory wall.</strong></p><p>Modern GPUs spend the majority of their cycles idle, waiting for weight data to arrive from HBM<em> (you know that I like to recommend in every post books that I&#8217;ve read and that have helped me understanding the problem being discussed, in this case <a href="https://www.amazon.com/Programming-Massively-Parallel-Processors-Hands/dp/0128119861">I highly recommend this one</a> to deeply understand the memory wall by learning how massive parallel algorithms for GPUs are implemented). </em></p><p>GPU compute units are fast while data movement in the cheap is slow and expensive. Every token generated by a large language model requires shuffling billions of parameters back and forth between memory and compute, and that shuttle is where most of the energy and most of the latency goes.</p><p>Manu Nair, founder of <a href="https://synthara.ai">Synthara</a>, makes this point directly in <a href="https://stateofthefuture.substack.com/p/ai-chips-computeram-and-the-future">his interview with Lawrence</a>. His framing: <em>&#8220;Stop moving data.&#8221;</em> Three different architectural approaches are trying to do exactly that:</p><ul><li><p><strong>Move compute closer to memory</strong>, like the case of <a href="https://groq.com">Groq</a>&#8216;s LPUs which bypass HBM entirely, using 230MB of on-die SRAM with 80 TB/s bandwidth. That&#8217;s roughly 100x the bandwidth you get from a GPU&#8217;s HBM stack.</p></li><li><p><strong>Embed compute within memory</strong>, &#225; la <a href="https://cerebras.ai">Cerebras</a>&#8216; WSE-3, which puts 44GB of SRAM directly on-wafer at 21 PB/s bandwidth. Lawrence describes that as 7,000x what you get from a single GPU&#8217;s HBM stack. OpenAI has reportedly deployed 750MW worth of Cerebras capacity, meaning datacentre power draw, not compute units.</p></li><li><p><strong>Redesign algorithms to minimise fetching</strong>, the case for DeepSeek&#8217;s cost reductions which didn&#8217;t come from better chips. They came from a mixture-of-experts architecture that reuses fetched weights more intensively, reducing the total data shuttle budget.</p></li><li><p><strong>Eliminate the memory wall entirely</strong>, the new trendy approach used by <a href="https://taalas.com">Taalas</a> which takes the most radical position: hard-wire the model directly into silicon so there is no separation between model and hardware. Their tagline is &#8220;The Model is The Computer.&#8221; Their first chip, HC1, runs Llama 3.1 8B at 17,000 tokens per second per user on a TSMC 6nm die. The weights are encoded in the hardware structure itself, there is no memory bus to cross because there is no separate memory. The trade-off is flexibility: the model is fixed at tape-out. Fine-tuning is supported, but you&#8217;re not swapping models at runtime. I have to admit that it&#8217;s crazy to test their demo</p></li></ul><p>Actually, you may be aware of the news, but in December 2025, <a href="https://www.cnbc.com/2025/12/24/nvidia-buying-ai-chip-startup-groq-for-about-20-billion-biggest-deal.html">Nvidia acquired Groq&#8217;s technology and core team for ~$20 billion</a>, its largest deal on record, folding the LPU technology into the Vera Rubin platform as the Groq 3 LPX inference accelerator. Jensen has said low-latency premium inference should represent about 25% of AI cluster compute, a segment Groq was built to dominate. Nvidia buying Groq is probably the clearest possible signal that the GPU-only inference model has limits, and Nvidia itself didn&#8217;t want to bet against. <a href="https://cerebras.ai">Cerebras</a> and <a href="https://tenstorrent.com">Tenstorrent</a> remain independent, for now, but let&#8217;s see how much it takes for them to eventually consolidate into bigger entities (by maybe being bough by one of the frontier labs or the big tech giants?).</p><p><strong>Manu&#8217;s bet at Synthara is that IP licensing</strong> (i.e. design the near-memory compute block, license it to existing chip manufacturers the way ARM does)<strong> is more viable than trying to win the merchant silicon market outright.</strong> This way one doesn&#8217;t need to displace Nvidia, you just need your logic to end up inside Samsung or <a href="https://www.skhynix.com">SK Hynix</a>&#8216;s next memory product.</p><p>The memory wall isn&#8217;t going away by building more HBM. The physics of shuttling data across a wide bus at high speed is expensive regardless of process node. Something has to change at the architectural level as companies like Groq, Cerebras and Taalas have already shown to some extent. I&#8217;m already working on a dedicated post to dig deeper into their architectures and other alternatives to general-purpose GPUs and accelerators, so consider this section a teaser.</p><div><hr></div><h2>Gallium Nitride and the photonics bet</h2><p>One floor up from the memory architecture problem sits the interconnect problem: how do chips talk to each other? Right now the answer is copper (and sometimes gold) traces, but copper has limits, both in bandwidth density and in energy per bit.</p><p>The photonics answer that I&#8217;ve been hearing since I was in college <em>(we even did some experiments in the lab as part of a course)</em> is using light rather than electrons to move data. It has been circling the industry for years, mostly anchored to silicon. James Lee, founder of <a href="https://www.wavephotonics.com">Wave Photonics</a>, has a blunter take than most in <a href="https://stateofthefuture.substack.com/p/gallium-nitride-photonics-w-james">his interview with Lawrence</a>:<strong> silicon is &#8220;a really poor photonic material.&#8221; </strong>It lacks a true electro-optic effect, which means it can&#8217;t efficiently encode data onto light. It only operates above 1 micron wavelength, cutting it off from the visible spectrum entirely. The entire silicon photonics ecosystem was built around telecom wavelengths (1310nm and 1550nm) because that&#8217;s where glass fibre loses the least signal, but that constraint is weakening.</p><p>Two things are changing it. First, s<strong>hort-reach data centre links involving signals travelling metres </strong><em>(not kilometres like in the case of FTTH, Fiber to the Home, another of the hot topics when I was in college) </em><strong>make fibre loss largely irrelevant</strong>, opening up the wavelength options. Second, hollow-core fibre <strong>transmits through air rather than </strong>glass, removing the absorption limits that locked the industry into those telecom bands.</p><p>Enter gallium nitride. GaN is the second-highest-volume semiconductor in the world after silicon. You may actually be using it daily unknowingly because it&#8217;s part of LEDs, lasers, and RF devices. Unlike silicon, it has a native gain (i.e. you can integrate lasers directly on the chip) and a real electro-optic effect for efficient modulation. It&#8217;s transparent from near-UV to far infrared. And it&#8217;s radiation-tolerant, which not only matters for space and nuclear applications, but also signals its robustness against certain physical effects.</p><p>Lawrence has a genuinely useful comparison table in the GaN piece showing where each photonic material sits across the key dimensions. I&#8217;m attaching it below because it&#8217;s the clearest single-image summary of the competitive landscape I&#8217;ve seen. </p><p>The trade-offs between indium phosphide (excellent light generation, tiny supply chain), silicon nitride (ultra-low losses, can&#8217;t generate light), thin-film lithium niobate (fast modulation, nearly impossible to process at scale), and GaN map out the whole problem in one view. Wave Photonics&#8217; approach is to automate photonic process design kit development, cutting the time to build a new PDK from six months to three weeks, and use that to pull GaN into markets where silicon photonics has never been able to go.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9q_s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9q_s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 424w, https://substackcdn.com/image/fetch/$s_!9q_s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 848w, https://substackcdn.com/image/fetch/$s_!9q_s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 1272w, https://substackcdn.com/image/fetch/$s_!9q_s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9q_s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png" width="1047" height="557" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:557,&quot;width&quot;:1047,&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="https://substackcdn.com/image/fetch/$s_!9q_s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 424w, https://substackcdn.com/image/fetch/$s_!9q_s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 848w, https://substackcdn.com/image/fetch/$s_!9q_s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 1272w, https://substackcdn.com/image/fetch/$s_!9q_s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee7a091a-13b9-4f6c-8175-ce0010c0fcc5_1047x557.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em> </em></p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:180409214,&quot;url&quot;:&quot;https://stateofthefuture.substack.com/p/gallium-nitride-photonics-w-james&quot;,&quot;publication_id&quot;:221837,&quot;publication_name&quot;:&quot;State of the Future&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!juWT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4af7d5-8416-4e8d-bc5b-2763f055ed16_800x800.png&quot;,&quot;title&quot;:&quot;Gallium Nitride + Photonics w/ James Lee of Wave Photonics&quot;,&quot;truncated_body_text&quot;:&quot;I&#8217;m Lawrence, a pleasure. I invest in people making the world (Europe? UK?) better for my children. pre-seed/seed. lawrence@stateofthefuture.io. x x&quot;,&quot;date&quot;:&quot;2025-12-09T10:52:41.058Z&quot;,&quot;like_count&quot;:8,&quot;comment_count&quot;:1,&quot;bylines&quot;:[{&quot;id&quot;:20895912,&quot;name&quot;:&quot;Lawrence Lundy-Bryan&quot;,&quot;handle&quot;:&quot;stateofthefuture&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!q-AC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd406f502-b292-4c00-8f8d-ba31c53a3a90_1620x1080.jpeg&quot;,&quot;bio&quot;:&quot;State of the Future helps founders, investors, and corporate leaders identify and act on emerging technology opportunities. We deliver insights, advisory, and investments to surface and back high-potential ideas before they become obvious.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-10-18T12:23:54.591Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-11T10:36:42.336Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:94225,&quot;user_id&quot;:20895912,&quot;publication_id&quot;:221837,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:221837,&quot;name&quot;:&quot;State of the Future&quot;,&quot;subdomain&quot;:&quot;stateofthefuture&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Trying to invest in things that will make the world better for my kids and their grandkids. And get mark ups obvs. What are you doing? &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb4af7d5-8416-4e8d-bc5b-2763f055ed16_800x800.png&quot;,&quot;author_id&quot;:20895912,&quot;primary_user_id&quot;:20895912,&quot;theme_var_background_pop&quot;:&quot;#D10000&quot;,&quot;created_at&quot;:&quot;2020-11-23T15:30:39.256Z&quot;,&quot;email_from_name&quot;:&quot;The State of the Future&quot;,&quot;copyright&quot;:&quot;State of the Future&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;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}}],&quot;twitter_screen_name&quot;:&quot;LawrenceLundy&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;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://stateofthefuture.substack.com/p/gallium-nitride-photonics-w-james?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!juWT!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4af7d5-8416-4e8d-bc5b-2763f055ed16_800x800.png" loading="lazy"><span class="embedded-post-publication-name">State of the Future</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Gallium Nitride + Photonics w/ James Lee of Wave Photonics</div></div><div class="embedded-post-body">I&#8217;m Lawrence, a pleasure. I invest in people making the world (Europe? UK?) better for my children. pre-seed/seed. lawrence@stateofthefuture.io. x x&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 8 likes &#183; 1 comment &#183; Lawrence Lundy-Bryan</div></a></div><p>It&#8217;s early. <strong>GaN photonics is a genuine long shot that will require substantial investment before it shows up in a data centre</strong>. But the physics argument is sound, and GaN&#8217;s supply chain position means it doesn&#8217;t need to build from zero. Developments on GANs could reduce the pressure on the traditional silicon semiconductors supply chain, by diverting some of the demand coming from AI to that of GaN. I highly recommend reading<a href="https://stateofthefuture.substack.com/p/gallium-nitride-photonics-w-james"> Lawrence&#8217;s post about it.</a></p><div><hr></div><h2>Glass, packaging, and the interconnect gap</h2><p>According to <a href="https://arxiv.org/abs/2403.14123">a 2024 IEEE Micro paper on the AI memory wall</a>, computing power has grown ~60,000x over the past two decades, while interconnect bandwidth has grown only ~30x. <strong>That gap is why the industry is increasingly focusing on packaging and not fab nodes as the next competitive frontier.</strong> I don&#8217;t know if you&#8217;ve been following the latest reports from Dylan Patel&#8217;s SemiAnalysis or Austyn Lyons <em>(another of my go-to recommended semiconductors newsletters</em>), but they&#8217;ve been writing about advanced packaging for a while now.</p><p>Andrea Rocchetto, founder of <a href="https://ephos.io">Ephos</a>, <a href="https://stateofthefuture.substack.com/p/the-future-of-computing-is-glass">makes the case for glass</a>. The current alternatives for chiplet interconnect substrates are organic (warps under heat, compromising trace alignment) and silicon interposers (expensive and size-limited). Glass is dimensionally stable at panel scale, Intel has demonstrated substrates of 515mm &#215; 510mm, and it&#8217;s manufactured inside the material, <strong>which means less clean-room infrastructure than traditional lithography processes </strong><em>(one of the big bottlenecks of the current supply chain as introduced above)</em><strong>.</strong> It couples naturally with optical fibre, with less than 2% coupling loss.</p><p>Rocchetto&#8217;s claim is broader than just packaging: <em>&#8220;The big chip manufacturing companies of the future are going to be packaging companies.&#8221; </em>The performance gains from sub-2nm logic nodes are diminishing (the physics at these levels are brutal). The gains from integrating chiplets efficiently, getting memory closer to compute, getting logic chiplets talking to each other at high bandwidth and low energy, are not. Both <a href="https://nvidianews.nvidia.com/news/nvidia-spectrum-x-co-packaged-optics-networking-switches-ai-factories">Nvidia</a> and <a href="https://www.theregister.com/2024/08/28/broadcom_optics_gpus/">Broadcom</a> have moved publicly into co-packaged optics, Broadcom at Hot Chips 2024, Nvidia at GTC 2025 with Spectrum-X Photonics. The direction seems to be clear even if the material winner isn&#8217;t.</p><p>Glass photonics also benefits from something interesting: the quantum photonics community (<a href="https://xanadu.ai">Xanadu</a>, <a href="https://psiquantum.com">PsiQuantum</a>, <a href="https://www.quandela.com">Quandela</a>) needs the same ultra-low-loss components and minimal coupling losses as classical interconnect. That shared demand base doesn&#8217;t make glass photonics a certainty, but it gives Ephos a market to build process maturity in before the larger classical chiplet interconnect opportunity crystallises.</p><p>Albeit optimistic, <strong>glass packaging could relax the manufacturing requirements of traditional semiconductors</strong> lightening the dependency of its supply chain to ASML machines.</p><div><hr></div><h2>Carbon nanotubes</h2><p><a href="https://stateofthefuture.substack.com/p/carbon-nanotubes-in-the-datacentre">Lawrence&#8217;s piece on CNTs in the datacentre</a> is one of the more practically grounded things I&#8217;ve read on alternative materials. The framing: this isn&#8217;t a revolution, it&#8217;s a steady 5&#8211;10 year substitution across specific applications.</p><p><strong>Power density is the main reason that a lot of work and investment is being poured in this material. </strong>A Nvidia GB200 NVL72 runs at 120 kW of liquid-cooled rack density. A decade ago, a typical rack drew 10 kW. Some AI clusters spend 40% of total power on cooling. The thermal management problem is, right now, the binding constraint in many deployments. Not compute, not memory, but heat.</p><p><strong>CNTs have thermal conductivity superior to copper or diamond along the tube length</strong>, 300x the tensile strength of steel by weight, and lighter than aluminium. Today they&#8217;re production-ready as thermal interface materials &#8212; replacing the thermal paste between a chip and its heat spreader. <a href="https://www.lgchem.com">LG Chem</a> is already using CNTs as battery additives. The economics are straightforward: CNT thermal pads cost around $8 per socket versus $2 for thermal paste, but they last the server lifetime rather than degrading every 18&#8211;24 months. For a 100,000-server deployment with dual sockets, that&#8217;s $400K in direct savings before you account for the performance gains from better thermal contact.</p><p>The longer roadmap, on-chip Cu+CNT interconnects, advanced chiplet packaging, CNT photonics. According to the references post this is more than 5 years out and requires getting commercial CNT fibre conductivity from the current 13&#8211;18% of copper up to 70&#8211;80%. Development programmes are showing around 61% in lab conditions. It&#8217;s an engineering problem, not a fundamental physical limit, which is a more tractable category.</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:179338105,&quot;url&quot;:&quot;https://stateofthefuture.substack.com/p/carbon-nanotubes-in-the-datacentre&quot;,&quot;publication_id&quot;:221837,&quot;publication_name&quot;:&quot;State of the Future&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!juWT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4af7d5-8416-4e8d-bc5b-2763f055ed16_800x800.png&quot;,&quot;title&quot;:&quot;Carbon Nanotubes in the Datacentre&quot;,&quot;truncated_body_text&quot;:&quot;What up party people?! No more hot takes about political stuff I know nothing about. Today, here&#8217;s a primer on something else I knew nothing about. (Classic British sarcasm. I actually know a lot and will demonstrate below)&quot;,&quot;date&quot;:&quot;2025-11-25T11:49:52.226Z&quot;,&quot;like_count&quot;:7,&quot;comment_count&quot;:0,&quot;bylines&quot;:[{&quot;id&quot;:20895912,&quot;name&quot;:&quot;Lawrence Lundy-Bryan&quot;,&quot;handle&quot;:&quot;stateofthefuture&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!q-AC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd406f502-b292-4c00-8f8d-ba31c53a3a90_1620x1080.jpeg&quot;,&quot;bio&quot;:&quot;State of the Future helps founders, investors, and corporate leaders identify and act on emerging technology opportunities. We deliver insights, advisory, and investments to surface and back high-potential ideas before they become obvious.&quot;,&quot;profile_set_up_at&quot;:&quot;2022-10-18T12:23:54.591Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-11-11T10:36:42.336Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:94225,&quot;user_id&quot;:20895912,&quot;publication_id&quot;:221837,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:221837,&quot;name&quot;:&quot;State of the Future&quot;,&quot;subdomain&quot;:&quot;stateofthefuture&quot;,&quot;custom_domain&quot;:null,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Trying to invest in things that will make the world better for my kids and their grandkids. And get mark ups obvs. What are you doing? &quot;,&quot;logo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cb4af7d5-8416-4e8d-bc5b-2763f055ed16_800x800.png&quot;,&quot;author_id&quot;:20895912,&quot;primary_user_id&quot;:20895912,&quot;theme_var_background_pop&quot;:&quot;#D10000&quot;,&quot;created_at&quot;:&quot;2020-11-23T15:30:39.256Z&quot;,&quot;email_from_name&quot;:&quot;The State of the Future&quot;,&quot;copyright&quot;:&quot;State of the Future&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;enabled&quot;,&quot;language&quot;:null,&quot;explicit&quot;:false,&quot;homepage_type&quot;:&quot;newspaper&quot;,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}}],&quot;twitter_screen_name&quot;:&quot;LawrenceLundy&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;newsletter&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://stateofthefuture.substack.com/p/carbon-nanotubes-in-the-datacentre?utm_source=substack&amp;utm_campaign=post_embed&amp;utm_medium=web"><div class="embedded-post-header"><img class="embedded-post-publication-logo" src="https://substackcdn.com/image/fetch/$s_!juWT!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcb4af7d5-8416-4e8d-bc5b-2763f055ed16_800x800.png" loading="lazy"><span class="embedded-post-publication-name">State of the Future</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title">Carbon Nanotubes in the Datacentre</div></div><div class="embedded-post-body">What up party people?! No more hot takes about political stuff I know nothing about. Today, here&#8217;s a primer on something else I knew nothing about. (Classic British sarcasm. I actually know a lot and will demonstrate below&#8230;</div><div class="embedded-post-cta-wrapper"><span class="embedded-post-cta">Read more</span></div><div class="embedded-post-meta">7 months ago &#183; 7 likes &#183; Lawrence Lundy-Bryan</div></a></div><div><hr></div><h2>Fungible compute and a competition for different resources</h2><p>The approaches above are all trying to solve the high-end problem: how do you solve the bottlenecks that AI workloads are facing? But there&#8217;s a different angle in <a href="https://stateofthefuture.substack.com/p/fungible-compute-mortal-computing">Pragmatic Semiconductor&#8217;s work that Lawrence covers</a>, one that asks whether we&#8217;re thinking about the demand side wrong, and that could slightly relax the current stress in the supply chain.</p><p><a href="https://www.pragmaticsemi.com">Pragmatic</a> makes flexible integrated circuits using indium <strong>gallium zinc oxide deposited on polymer substrates, not the traditional silicon</strong>. Their entire 20&#215;30 metre facility produces billions of chips per year. The process takes days to weeks. They&#8217;re moving towards modular fabs that can be deployed at customer sites.</p><p>The concept that Lawrence coins as &#8220;fungible compute&#8221; in the article is the following: if chips become cheap enough, computation becomes nearly disposable, embedded in everything without the strategic overhead of <em>&#8220;do we really need a chip in this?&#8221;.</em> Smart packaging, temperature sensing at item level, agricultural monitoring at plant level, continuous glucose monitors. Imagine how approachable this would make <a href="https://adlrocha.substack.com/p/adlrocha-lego-farming-blocks-letting">the Farming Lego that I presented in this post</a>.</p><p>The market bifurcation he identifies is sharp:<strong> bleeding-edge nodes (around the 2nm) for AI datacentres, and cheap ubiquitous computing for billions of objects that have never previously been computational. </strong>And I personally love this idea.</p><p>This may matter for the memory crunch and the current supply chain stress in a non-obvious way. As described above, part of the pressure on DRAM supply <strong>comes from the manufacturing of semiconductors for AI competing with that of consumer electronics.</strong> </p><p>If we manage to reduce the demand from consumer electronics with alternative (but suitable) semiconductors, the supply chain will be less stressed. Even more, if compute is cheap enough to live at the edge, on the smart label, on the sensor, at the point of measurement, the data movement budget shrinks. Less data needs to cross that expensive bus between memory and processor, because less data leaves the edge in the first place and more computations can be made where the data is sourced. This is a weaker argument from the supply chain perspective, but it may open the door to really interesting use cases where more and more computation is made on the edge.</p><p>It doesn&#8217;t solve the HBM problem for frontier model training. But it chips away at one of the structural assumptions underneath it.</p><div><hr></div><h2>How any of this actually fixes the crunch</h2><p><strong>If you were looking for the short-term solution to pricey RAMs, I am sorry to disappoint you.</strong> I don&#8217;t think any of the technologies described above can immediately solve the problem. However, it makes the future of semiconductors (and the real bottlenecks that we are going to face) a bit brighter.</p><p>The EUV bottleneck and the HBM density constraint are multi-year problems. ASML isn&#8217;t going to produce 200 EUV tools a year by 2028. HBM stacking isn&#8217;t going to suddenly recover the 3&#8211;4x bit density penalty. And the coordination failure Dylan Patel describes, where everyone downstream assumes demand projections are too high, so nobody invests ahead of need, is a structural problem in an industry with 5-year lead times on fab capacity.</p><p>Neither <strong>near-memory compute</strong>, <strong>model-as-hardware</strong>,<strong> photonic interconnects, CNTs</strong>, nor <strong>flexible silicon and fungible compute</strong> will arrive together or fast enough to solve the memory crunch. Each of them are at different stages of maturity, and may share some of the existing manufacturing bottlenecks <em>(as I guess groq and Cerebras may also depend on TSMC and ASML directly or indirectly to manufacture their chips). </em>However, they may be developed in parallel to TSMC and ASML ramping up of production (which would be good news!).</p><p>All the research in the alternatives sections above draws from Lawrence Lundy-Bryan&#8217;s interviews at <a href="https://stateofthefuture.substack.com/">State of the Future</a>. He does the work of sitting down with the actual founders, and pulling out the real physics and trade-offs. Worth following if this space interests you.</p><p><strong>I wished I could have gone deeper into each of these technologies.</strong> I wanted to briefly introduce all of them while keeping the post bearable. I don&#8217;t know if I achieved the goal, but in any case, I am already planning a few monographic posts to explore in more depth some of these technologies, the open problems, opportunities and potential impact with the notes I took working on this one.</p><p><strong>Any other technology that I don&#8217;t have in the radar and that I should read about? Hit me a message or a comment. Until next week!</strong></p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Auto-research: The Lab that runs while you sleep]]></title><description><![CDATA[The feedback loop is automated. Knowing what to optimise for isn't.]]></description><link>https://adlrocha.substack.com/p/adlrocha-auto-research-the-lab-that</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-auto-research-the-lab-that</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Fri, 13 Mar 2026 09:53:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NxAe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NxAe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NxAe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!NxAe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!NxAe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!NxAe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NxAe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png" width="1024" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&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="https://substackcdn.com/image/fetch/$s_!NxAe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 424w, https://substackcdn.com/image/fetch/$s_!NxAe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 848w, https://substackcdn.com/image/fetch/$s_!NxAe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 1272w, https://substackcdn.com/image/fetch/$s_!NxAe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd80bba15-d78a-4510-8941-c482a2f0d0eb_1024x572.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I originally had another topic lined up for this week, but I couldn&#8217;t let the week go by without briefly discussing Karpathy&#8217;s autoresearch project.</p><p>Last week Andrej Karpathy released a small repo called <a href="https://github.com/karpathy/autoresearch">autoresearch</a>, and after posting a few tweets, it took the Internet by storm <em>(or at least the AI bubble where I hang out lately).</em> The most interesting thing about this project is that it somewhat validates some of the ideas I had about where AI is going, how we may be using autonomous agents in the near-term, the impact it may have on the way we work and do research, and the role of humans in all of this.</p><p>I guess many of my readers are already well aware of who Karpathy is, but in case you don&#8217;t live and breathe AI Twitter, he is a founding member of OpenAI, former head of Tesla Autopilot and,<strong> to me, one of the best AI educators alive.</strong></p><p>What I love the most about his work is how he has spent the past few years taking the most complex parts of AI and compressing them until anyone can read and understand them <em>(including me)</em>. To name a few of the ones that have helped me the most: <a href="https://github.com/karpathy/micrograd">micrograd</a> is a 150 lines of Python that implements the<strong> full backpropagation algorithm without relying on any external dependencies, </strong>just a Value class that builds a computation graph and walks it backwards. By using Value instead of tensors and Jacobians you are able to really grasp how gradient descent works. This project really helped my own understanding of how neural networks were trained under the hood <em>(and I&#8217;ve trained neural networks using PyTorch and Tensorflow before, but you get lost in the abstractions)</em>. As an exercise I took micrograd and tried to write it to support tensor operations and trained it on the MNIST dataset <em>(I may need to open-source that repo at some point as it may help other people).</em></p><p>Anyway, he also released <a href="https://github.com/karpathy/makemore">makemore</a>, a character-level language model. <a href="https://github.com/karpathy/nanoGPT">nanoGPT</a> which is a clean GPT implementation. And in February he released <a href="https://karpathy.github.io/2026/02/12/microgpt/">microgpt</a>: a 200-line, dependency-free file that trains and runs a GPT end-to-end.</p><p>His own words describes perfectly what he achieved with microgpt: <em>&#8220;This file is the complete algorithm. Everything else is just efficiency.&#8221;</em> Someone called it <a href="https://x.com/dmalaescu/status/2022917868686364834">&#8220;the Maxwell&#8217;s equations of LLMs.&#8221;</a> <em>(which I agree)</em>, and others<a href="https://x.com/dmalaescu/status/2022917868686364834?referrer=grok-com"> even suggested making a painting out of the code</a> (<em>which I would definitely hang in my office, see image below</em>).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5yyn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5yyn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 424w, https://substackcdn.com/image/fetch/$s_!5yyn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 848w, https://substackcdn.com/image/fetch/$s_!5yyn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 1272w, https://substackcdn.com/image/fetch/$s_!5yyn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5yyn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png" width="1280" height="847" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:847,&quot;width&quot;:1280,&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;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5yyn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 424w, https://substackcdn.com/image/fetch/$s_!5yyn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 848w, https://substackcdn.com/image/fetch/$s_!5yyn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 1272w, https://substackcdn.com/image/fetch/$s_!5yyn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda8cdb33-188a-4880-9ed6-8a5137846261_1280x847.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Each project dissects perfectly and in a hundred lines of codes what may seem like really complex concepts when you read the theory behind it <em>(actually, I highly recommend reading any intro book to ML like <a href="https://www.amazon.es/Deep-Learning-Ian-Goodfellow">Ian Godfellow&#8217;s Deep Learning</a>, and then going through Karpathy&#8217;s work. I can&#8217;t stress enough how it improves your understanding of the field)</em>.</p><p>All this small projects led to<strong> <a href="https://github.com/karpathy/nanochat">nanochat</a>, a minimal end-to-end LLM training framework</strong> for a single GPU, with a public &#8220;Time-to-GPT-2&#8221; leaderboard tracking wall-clock time to hit GPT-2 performance, and that could be trained for a few hundred dollars. When autoresearch arrived, that record was sitting at 2.02 hours.</p><p>But it isn&#8217;t anymore, autoresearch have find the way to beat that time.</p><div><hr></div><h3>What is autoresearch and how it works</h3><p>The idea is quite simple, and if you have been using agents extensively, you&#8217;ve probably implemented a flavor of this yourself for one of your projects. ML research just happens to really benefit from this due to its slow feedback loops <em>(this is one of the reasons I abandoned ML research, I didn&#8217;t have the patience or the compute)</em>. From the README:</p><blockquote><p><em>&#8220;Give an AI agent a small but real LLM training setup and let it experiment autonomously overnight.&#8221;</em></p></blockquote><p>Two files: <strong>prepare.py witten by the human and that the agent is never allowed to touch.</strong> It does all the data preparation, constants, and set the ground rules and evaluations for the executions; and <strong><a href="http://train.py">train.py</a>, the agent&#8217;s only sandbox which consists of the GPT model, the optimiser, the training loop, etc</strong>. The human research writes a <a href="http://program.md">program.md</a> which is a Markdown file describing what direction to explore and then walks away.</p><p>The agent edits train.py, trains for exactly five minutes <em>(not fixed steps, just five minutes, on your specific hardware)</em>, evaluates on val_bpb (<a href="https://deepwiki.com/karpathy/autoresearch/5.1-validation-bits-per-byte-(val_bpb)">validation bits-per-byte</a>), keeps the change or reverts it, and starts again. Twelve experiments per hour. About a hundred overnight.</p><p>This five-minute limit is a design choice. The agent optimises for your GPU specifically. Results don&#8217;t transfer across machines, by design, but if you used this on a real research environment you could use your own set of constraints.</p><p>What does a run of autoresearch look like? <a href="https://github.com/karpathy/autoresearch/discussions/43">This discussion</a> on the repo is a 10.5-hour session log on an H100 GPU. The agent improved val_bpb by 2.82%. The wins are stacked: batch size halving (the single biggest gain), a depth-9 architecture, RoPE base frequency adjustment and, this is the one I keep thinking about,  <strong>unregularised value embeddings</strong>. nanochat was a well-tuned codebase, maintained by skilled researchers for months. The value embeddings had been sitting unregularised the whole time and the agent managed to find something that the humans behind the original codebase missed.</p><p>Stacked together, these improvements dropped nanochat&#8217;s Time-to-GPT-2 from 2.02 hours to 1.80 hours. That&#8217;s an 11% speedup on an already heavily optimised baseline. For context: training GPT-2 in 2019 cost around $43,000 and took 168 hours. nanochat already got that to $48 on 8&#215;H100s. autoresearch then shaved another 11% off that. <a href="https://x.com/karpathy/status/2031135152349524125">This tweet</a> where Karpathy shares the result of one of his runs is an interesting one to understand the impact of what autoresearch achieved.</p><p>I highly recommend checking the discussion to see the kind of things the agent tried in each of its runs before achieving these improvements <em>(it reminds me a bit of the <a href="https://en.wikipedia.org/wiki/Genetic_algorithm">genetic algorithms</a> that I used early in my research career, but smarter)</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FsjM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FsjM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 424w, https://substackcdn.com/image/fetch/$s_!FsjM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 848w, https://substackcdn.com/image/fetch/$s_!FsjM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 1272w, https://substackcdn.com/image/fetch/$s_!FsjM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FsjM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png" width="1014" height="1876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1876,&quot;width&quot;:1014,&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="https://substackcdn.com/image/fetch/$s_!FsjM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 424w, https://substackcdn.com/image/fetch/$s_!FsjM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 848w, https://substackcdn.com/image/fetch/$s_!FsjM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 1272w, https://substackcdn.com/image/fetch/$s_!FsjM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F285f9fe3-a6b3-4904-96d0-bf957ce0d8aa_1014x1876.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Karpathy didn&#8217;t oversell it. Some gains from one session didn&#8217;t replicate in the next. He said: <em>&#8220;These things are fragile.&#8221;</em> And an open question hangs over the whole setup: running hundreds of experiments against the same validation set risks overfitting to the metric, not the model. He acknowledged this in the discussion thread.<strong> I get it, but to me this is still huge, and the best thing is that this simple setup can be applied to a lot of other problems and fields where we can define a clear target metric.</strong></p><p>Which brings me to the next idea&#8230;</p><div><hr></div><h3>Autoresearch in the wild!</h3><p>A few days after release, Karpathy <a href="https://x.com/karpathy/status/2030705271627284816">tweeted</a>:</p><blockquote><p><em>&#8220;The next step for autoresearch is that it has to be asynchronously massively collaborative for agents (think: SETI@home style). The goal is not to emulate a single PhD student, it&#8217;s to emulate a research community of them.&#8221;</em></p></blockquote><p>And someone said, &#8220;hold my beer&#8221;, and of course, people didn&#8217;t wait for him to build it.</p><p>Varun Mathur, the founder of Hyperspace AI ran <a href="https://x.com/varun_mathur/status/2031004607426498574">35 autonomous agents across their P2P network</a> the same night, 333 experiments on astrophysics papers, completely unsupervised. <strong>The agents shared discoveries via gossip protocol: </strong>when one found that Kaiming initialisation reduced loss by 21%, <strong>the finding spread to 23 others within hours. </strong>But the detail I found most interesting: CPU-only laptop agents, lacking the raw compute of the H100 nodes, compensated by focusing on initialisation strategies and normalisation techniques rather than brute-forcing hyperparameters or coming up with more complex changes (as they didn&#8217;t have the compute to do so).</p><p>Different hardware, different research goals, and what is more interesting, <strong>agents were instructed to, as soon as they found a new improvement, to share it with the rest of their agents </strong>so they could incorporate it themselves. In 17 hours, the swarm independently rediscovered ML milestones, including RMSNorm and tied embeddings, that took researchers at Google Brain and OpenAI roughly eight years to formalise.</p><p>This is the loop that <a href="https://x.com/varun_mathur/status/2031004607426498574">Varun used</a>, a slightly modified version to benefit from the fact that he has a <a href="https://x.com/varun_mathur/status/2032224933837684932">swarm of distributed agent</a>s.</p><blockquote><p><em>&#8220;How the Research Loop Works</em></p><p><em>Each agent runs a continuous cognitive loop (every 30 seconds) powered by an LLM brain. The research engine is one subsystem alongside economics, social, and goal planning. Here&#8217;s the cycle:</em></p><p><em>1. Baseline &#8212; Start with the default config (2-layer, 64-dim transformer). Record initial loss.</em></p><p><em>2. Drain inspirations &#8212; Read what peers discovered via GossipSub. &#8220;Agent X got 3.31 with RMSNorm.&#8221;</em></p><p><em>3. Hypothesize &#8212; LLM proposes a mutation: &#8220;What if I try RMSNorm too, but with warmup?&#8221;</em></p><p><em>4. Train &#8212; Spawn python train.py --config &lt;json&gt; as a subprocess. 120s on CPU, 300s on GPU.</em></p><p><em>5. Record &#8212; Commit full results to its own branch on GitHub: config JSON, loss curve, markdown report.</em></p><p><em>6. Share &#8212; If improved, broadcast to the P2P network. Other agents incorporate this into their next hypothesis.</em></p><p><em>7. Repeat &#8212; Iterate on improvements, or try a different direction if it didn&#8217;t help.</em></p></blockquote><p>And on the topic of applying the autoresearch setup to other problems, a cool project I came across is <a href="https://x.com/Akashi203/status/2031533857082646769">AutoKernel</a>, which took the same loop and applied it to GPU kernel optimisation. You can give it a PyTorch model, profile it, extract bottleneck kernels, then run the edit-evaluate-keep/revert loop on Triton or CUDA C++ kernel code.</p><p><a href="https://x.com/tobi/status/2030771823151853938">Shopify&#8217;s Tobi L&#252;tke</a> applied the pattern to an internal query expansion project. After 37 experiments in 8 hours, a 0.8B model scored 19% higher than their existing 1.6B model. A smaller model beating one twice its size, not from architecture cleverness, but from agent-found training configuration.</p><p>I love that all of these projects directly use the same structure of autoresearch: one editable file, fixed-time eval, keep or revert, repeat, and applied to random problems.</p><div><hr></div><h3>Finding the right evaluations</h3><p>I think <a href="https://x.com/zhengyaojiang/status/2031467321819041965">this tweet</a> describes well what I realised as I was digging deeper into autoresearch, and that confirms what I wrote a few weeks ago about the <a href="https://adlrocha.substack.com/p/adlrocha-taming-the-agents-my-spec">importance of feedback loops and choosing the right evaluations</a>:</p><blockquote><p><em>&#8220;The headline is automated hill-climbing. I&#8217;d say the deeper lesson is eval design. The agent was not optimising the full, noisy, expensive objective directly. It was climbing a cheap proxy that still tracked reality well enough to transfer: 5-minute train limit, validation BPB as the objective over noisier ground truth, 1-GPU setup over full-scale runs. That&#8217;s the kind of thing people call &#8216;just engineering,&#8217; but it&#8217;s really research taste. In the agent era, designing the optimisation surface may become as important as proposing the ideas.&#8221;</em></p></blockquote><p><strong>There&#8217;s a reason AI agents are so good at coding. The reward function is essentially binary: the code compiles or it doesn&#8217;t</strong>, the tests pass or they don&#8217;t, the linter is green or it isn&#8217;t. You always know whether an output is better than the previous one. That clean signal is what lets coding agents iterate autonomously and reliably.</p><p>Autoresearch works for the same reason. val_bpb is clean, fast to compute, and correlates well enough with real model quality that proxy improvements transfer to the actual objective. <strong>Karpathy&#8217;s choice of that metric, rather than something noisier, slower, or more expensive, is a big part of why the system works at all.</strong> Even more, the fact that the runs are limited to 5 minutes provides a fast feedback loop to the agents that allows them to iterate fast and understand the impact of their changes.</p><p>The hard question i<strong>s what happens when you try to apply this pattern to fields where the reward function isn&#8217;t as clean as in coding</strong>, or in ML optimisation, and where the feedback loop may not be as immediate. For instance, protein folding has a reasonably well-defined target: minimise the free energy of the folded structure, validate against known experimental data. DeepMind built AlphaFold around exactly that idea, and I feel this could be another interesting field that an autoresearch setup at scale could crack. But plenty of research domains don&#8217;t have an equivalent. How do you write a val_bpb for a new drug&#8217;s efficacy? For a novel material&#8217;s properties under conditions you haven&#8217;t tested? For a scientific hypothesis that requires ten years of experiments to falsify and there is not an immediate feedback loop?</p><p>In those fields,<strong> designing the reward function will become the key research effort</strong>. It will all boil down to defining what &#8220;better&#8221; means in the scope of a specific problem. And that design step, choosing what to optimise for, deciding what the proxy will and won&#8217;t capture, noticing when the agent is gaming the metric rather than solving the problem, requires domain knowledge and judgment that agents don&#8217;t yet have <em>(at least from my use of them)</em>.</p><p><strong>This is where what people are calling </strong><em><strong>&#8220;research taste&#8221;</strong></em><strong> may come into play</strong>. Actually, Varun Mathur framed it well in one of his tweets: <em>&#8220;the bottleneck of AI progress is no longer the ability to code, it&#8217;s our ability to define the constraints of the search&#8221;</em>. Coming up with the right ideas for how to design the problems, their environments and constraints, feedback loops, and reward functions is going to become more important than performing the actual research.</p><p>This is why I am trying to implement a new habit of trying to come up with a new idea every day, because <strong>idea generation again are going to become important when the barrier to execute and test them is so low </strong><em>(I&#8217;ll leave that thought and the outcome of this habit for some other week).</em></p><div><hr></div><h3>Dark compute and decentralised research</h3><p>And here&#8217;s the thing that excites me the most of all this work that is deriving from autoresearch, and that I don&#8217;t know if people (apart from maybe <a href="https://x.com/varun_mathur/status/2032240047743754613">Varun</a>) are realising:</p><p><a href="https://x.com/invisiblebags/status/2030805046397698309">@invisiblebags flagged something important</a>:</p><blockquote><p><em>&#8220;The simulators for autoresearch-style loops already exist across dozens of fields: robotics (MuJoCo), autonomous driving (CARLA), drug design (Rosetta), fluid dynamics (OpenFOAM), trading (Backtrader). These were built for labs with massive compute. But now anyone with a single GPU can run narrow experiment slices overnight. The billion-dollar opportunity is someone who can plug these simulators into the autoresearch pattern, coordinate fragmented single-GPU contributions across niche verticals, and synthesise the results into real progress. Decentralised research infrastructure is wide open.&#8221;</em></p></blockquote><p>Think about what this means. <strong>Most of the compute in the world is idle most of the time, servers running at 20% utilisation in data centres</strong> <em>(I recently learnt from someone working in sensing data centres that we keep building infrastructure but many of the current non-AI infrastructure is consistently with really low utilisation, at least in Europe)</em>, home workstations sitting dark at 2am <em>(the case of my home server)</em>, gaming rigs that run flat out on weekends and nothing on weekdays. Autoresearch is, among other things, a way to put that compute to work. Run narrow five-minute experiment slices overnight on whatever GPU you have, share the findings with a network of agents doing the same thing, and you&#8217;ve turned distributed idle compute into a distributed research lab.</p><p>Varun <a href="https://x.com/varun_mathur/status/2030735767215997087">described exactly this</a> when talking about Hyperspace: idle nodes on the network can be spun up as autonomous researchers targeting a shared optimisation objective. Any machine that isn&#8217;t doing something else becomes a contributor to the research hub, and the hub coordinates their findings, not their execution. You don&#8217;t need a centralised cluster. You need a shared target and a gossip layer.</p><p>Funnily,<strong> the amazing <a href="https://scholar.google.com/citations?user=06C63r0AAAAJ&amp;hl=en">Sara Azouvi</a> had this same idea a few years ago, and we even applied to YC to help us build our vision of </strong><em><strong>&#8220;bringing dark compute to light&#8221;</strong>. </em>We wanted to aggregate the enormous amount of underutilised capacity sitting across data centres and devices and offer access to it.</p><p><strong>What struck me this week is that autoresearch is a very concrete mechanism for activating it</strong>, not for training one big model, but for running thousands of cheap experiments in parallel, on whatever hardware happens to be free <em>(this was actually one of the problems of what I was building with Sarah, how can we pool all of this resources so users could contribute them without friction? At the time we were thinking of leveraging the browsers. Actually we should write down a post-mortem of that idea because it was a cool one. There&#8217;s even a prototype that Sarah built running models in Wasm in the browser :) )</em>.</p><p>All of this also connects to a question I&#8217;ve had for a while <em>(and that I&#8217;ve discussed in other posts)</em> about what AGI actually looks like. Dario Amodei has talked about <em>&#8220;a brilliant scientist in a data centre&#8221;</em>, a single very capable model doing research at superhuman speed. That&#8217;s only one model. <strong>What I&#8217;ve always thought as the more likely path is a swarm: thousands of agents, each narrow, each running cheap experiments,</strong> sharing results across a network, collectively climbing towards something none of them could find alone. Varun Mathur&#8217;s overnight experiment with 35 P2P agents is a small version of exactly that. It&#8217;s definitely early, but it depicts perfectly what I think of when I imagine AGI, superintelligence, or however we want to define it <em>(off-topic question, would you consider the economy and markets an intelligent being, another topic for some other day)</em>.</p><div><hr></div><h3>Let&#8217;s enjoy while AIs are working!</h3><p>The autoresearch repo opens with the following quote:</p><blockquote><p><em>One day, frontier AI research used to be done by meat computers in between eating, sleeping, having other fun, and synchronising once in a while using sound wave interconnect in the ritual of &#8220;group meeting&#8221;. That era is long gone. Research is now entirely the domain of autonomous swarms of AI agents running across compute cluster megastructures in the skies. The agents claim that we are now in the 10,205th generation of the code base, in any case no one could tell if that&#8217;s right or wrong as the &#8220;code&#8221; is now a self-modifying binary that has grown beyond human comprehension. This repo is the story of how it all began.</em></p></blockquote><p>The fact that he has built something as succinct and elegant that is able to validate so many of the ideas and reflections of people, and unlocked so much innovation in just a few days speaks of the impact Karpathy is having on the evolution of AI.</p><p>To me his work in autoresearch (and all the work that has derived from it in just one week) has reinforced my idea <strong>of the need of fast feedback loops and well-defined reward functions,</strong> how the role of researchers and entrepreneurs is going to change more into the idea and how to iterate fast than the actual ability to execute, and how <strong>something like autoresearch may be what unlocks a lot of new projects around decentralised agents coordination</strong> <strong>and bringing a lot of dark compute into life</strong>.</p><p>I just hope that Karpathy comes up soon with a cool project related to AI safety and alignment that unlocks a lot of the new and needed innovation on that front.</p><p>Have you tried autoresearch already? I would be curious to know how you think autoresearch could be applied to your field? Share it in the comments or drop me a note. Until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Money and collateral in an AI-first society]]></title><description><![CDATA[How stablecoins, tokenised markets, and AI merge to build a parallel economy.]]></description><link>https://adlrocha.substack.com/p/adlrocha-money-and-collateral-in</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-money-and-collateral-in</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 08 Mar 2026 09:30:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MPny!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MPny!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MPny!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!MPny!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!MPny!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!MPny!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MPny!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;: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="https://substackcdn.com/image/fetch/$s_!MPny!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 424w, https://substackcdn.com/image/fetch/$s_!MPny!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 848w, https://substackcdn.com/image/fetch/$s_!MPny!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 1272w, https://substackcdn.com/image/fetch/$s_!MPny!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab5dcc8d-5fe5-48cb-889f-1bb67f60b0cc_1408x768.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It is no secret that I&#8217;ve always been obsessed with how money and the pipes of the financial system works. The moment I learnt how the discount window, central bank reserves, collateral, the repo market, shadow banking, etc. worked, it really blew my mind. I used to think of money as being just bank notes and deposits, and that the key role of the financial system was played by retail banks: they held individual and companies&#8217; deposits, provided them with credit, and arbitraged with their balance to make a profit.</p><p><strong>The two books that opened my eyes about how the financial system really works</strong>, and pushed me down this rabbit hole of understanding how money really worked, were <a href="https://www.amazon.es/Central-Banking-101-Joseph-Wang/dp/0999136747/ref=sr_1_1?__mk_es_ES=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;sr=8-1">Central Banking 101</a> and <a href="https://www.amazon.es/Capital-Wars-Rise-Global-Liquidity/dp/3030392872/ref=sr_1_1?sr=8-1">Capital Wars by Michael Howell</a> <em>(if you are interested in this topic, happy to share more bibliography about it. I have to admit that Ray Dalio&#8217;s books also had an important role helping my understanding, but they weren&#8217;t as eye-opening as the ones above).</em></p><p>And why am I telling you all this? Because after writing last week&#8217;s post about <a href="https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity">intelligence becoming a commodity</a>, and describing an AI-first society as one where the fabric of the economy is automated through agents interacting with each other without human involvement, I could not stop thinking about an obvious follow-up question. <strong>If the economy changes that fundamentally, what happens to money and collateral?</strong></p><p>Coincidentally, I have been reading <a href="https://www.amazon.es/Last-Economy-Guide-Intelligent-Economics/dp/103693411X/ref=sr_1_1?sr=8-1">Emad Mostaque&#8217;s </a><em><a href="https://www.amazon.es/Last-Economy-Guide-Intelligent-Economics/dp/103693411X/ref=sr_1_1?sr=8-1">The Last Economy</a></em> this week. Mostaque is one of the founders of Stability AI, and in the book he argues that we are at an inflection point he calls the <strong>Intelligence Inversion: where intelligence is no longer a scarce resource exclusive of humans</strong> and that needs to be rented by the hour, but a form of capital that you can invest in to run uninterrupted.</p><p>The book presents a lot of really nice ideas. I really liked how he presents the symptoms of our currently broken financial system; or how he frames the economy as being ruled by the 2nd Law of Thermodynamics where agents try to minimise entropy by bringing chaos into order.</p><p>All this along with some personal developments pushed me to think more about how money, currencies, commodities, and the economy could look like in the hypothetical AI-centric society that we were discussing last week.</p><p>To give some order to these thoughts before we dive down the rabbit hole, here is the high-level roadmap of what I&#8217;m going to cover:</p><ul><li><p>Why the scarcest inputs to the AI economy, compute, energy, and tokens, are becoming the <strong>new global commodities and collateral.</strong></p></li><li><p><strong>The inevitability of two parallel economies:</strong> A high-frequency, tokenised economy for agents, and a slower-paced fiat economy for humans.</p></li><li><p><strong>Why inference efficiency, not scale, is the ultimate economic advantage</strong> in a system designed to reduce entropy.</p></li></ul><div><hr></div><h2>The money and collateral we use today</h2><p>Let&#8217;s start with the obvious (although from my conversations with some friends, it may not be as obvious at first). <strong>Money is a collective agreement about what we use as a unit of account, a store of value, and a medium of exchange.</strong> This is why we tend to choose scarce things like gold as money. We could get into the properties that make something good money (rare, durable, divisible, fungible, nobody can print more of it out of thin air, etc.).</p><p>Gold is what I would call hard money, and it worked reasonably well until the <a href="https://en.wikipedia.org/wiki/Bretton_Woods_system">Bretton Woods agreement in 1944</a>, where the USD was pegged to the ounce of gold, until Nixon in 1971 <a href="https://en.wikipedia.org/wiki/Nixon_shock">closed the convertibility window</a>, and the USD started being backed by nothing more tangible than the user&#8217;s trust on the institution issuing it. This introduce the fiat money that we all use and hate today.</p><p><strong>Since 1971, what actually backs the dollar has been a combination of things:</strong> the size and productive capacity of the US economy, the fact that oil is priced in dollars (the <a href="https://en.wikipedia.org/wiki/Petrodollar_recycling">petrodollar system</a> that emerged in the 1970s after the <a href="https://en.wikipedia.org/wiki/1973_oil_crisis">OPEC shock</a>), the <a href="https://en.wikipedia.org/wiki/Eurodollar">eurodollar</a>, etc. </p><p>Through the petrodollar, eurodollar, and corresponding commercial exchanges, <strong>the USD had become the de-facto global currency permeating all of the financial system.</strong> But fiat money is essentially backed by the belief that everyone else will keep accepting dollars in exchange for oil, food, or services.</p><p>But here is the part that really broke my brain when I first understood it. Most people think of the dollar as something that sits in your bank account or circulates as banknotes. The reality is that <strong>the real engine of modern finance runs on collateral,</strong> specifically, on the ability to pledge assets (mostly US Treasuries) to borrow cash overnight in the <a href="https://en.wikipedia.org/wiki/Repurchase_agreement">repo market</a>.</p><p>In a repo transaction, a financial institution sells a security (say, a Treasury bond) to another party with an agreement to buy it back the next day at a slightly higher price. The difference is the overnight interest rate. Through this mechanism, a single Treasury bond can be pledged and re-pledged multiple times across the system, what economists call the <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC9294781/">collateral multiplier</a>. The US repo market currently runs at around <a href="https://www.financialresearch.gov/the-ofr-blog/2025/12/04/sizing-us-repo-market/">$12.6 trillion in daily exposures</a>, almost entirely denominated in US Treasuries.</p><p>This is also why the Fed&#8217;s Standing Repo Facility matters so much: <strong>when repo markets seize up, the entire financial system loses its ability to function.</strong> In October 2025, the Fed had to inject <a href="https://get.ycharts.com/resources/blog/federal-reserve-repo-operation-2025/">$29.4 billion overnight</a> in what was described as the largest such operation in two decades. The point is that the USD does not just sit in your wallet, it is the lifeblood of a global collateral chain that underpins every financial transaction on the planet. It lubricates the economy with liquidity.</p><p>Funnily, the liquidity of repo markets is one of the key metrics that I monitor for my personal investment decisions as a way to understand if the system is under any stress, or liquidity is being drained from the system (<em>this is why I had the charts from <a href="https://baselight.app">Baselight</a> <a href="https://baselight.app/ai/share/2ffbf6b3-8963-49a5-9ccd-a6e4a847158a">from this chat</a> below from an analysis I did a few weeks ago and that came pretty handy for this post. By the way, I no longer make this query by hand in Baselight and I use my own agent connected to Baselight for this, but that&#8217;s a topic for some other day)</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hz5e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hz5e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 424w, https://substackcdn.com/image/fetch/$s_!Hz5e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 848w, https://substackcdn.com/image/fetch/$s_!Hz5e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 1272w, https://substackcdn.com/image/fetch/$s_!Hz5e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hz5e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png" width="865" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:865,&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="https://substackcdn.com/image/fetch/$s_!Hz5e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 424w, https://substackcdn.com/image/fetch/$s_!Hz5e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 848w, https://substackcdn.com/image/fetch/$s_!Hz5e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 1272w, https://substackcdn.com/image/fetch/$s_!Hz5e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e2b3d6-8b40-4f7b-b289-35508bd0afee_865x564.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H608!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H608!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 424w, https://substackcdn.com/image/fetch/$s_!H608!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 848w, https://substackcdn.com/image/fetch/$s_!H608!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!H608!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H608!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png" width="692" height="1600" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db753096-616d-44e7-8e50-9f4f83974f71_692x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1600,&quot;width&quot;:692,&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="https://substackcdn.com/image/fetch/$s_!H608!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 424w, https://substackcdn.com/image/fetch/$s_!H608!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 848w, https://substackcdn.com/image/fetch/$s_!H608!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!H608!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb753096-616d-44e7-8e50-9f4f83974f71_692x1600.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This brief introduction is just to set the context as to me what counts as money, what counts as collateral, and what gets used as the lubricant in the machine, is exactly what I think is about to be disrupted or at least changed in the AI age.</p><p>What the heck, this is already changing before AI, <a href="https://financialpost.com/investing/what-is-debasement-trade-why-wall-street-talking-about-it">the debasement trade </a>is already a thing, and AI may just accelerate it. Maybe what I will describe here is the ultimate debasement trade :)</p><div><hr></div><h2>New-age commodities</h2><p>Oversimplifying it a lot, the pattern underneath all of monetary history is that <strong>whoever controls the scarcest and most essential input to economic activity ends up controlling the unit of account.</strong> </p><p>Gold because it was physically scarce and universally valued. Oil because after the industrial revolution no modern industrial economies could function without it, and finally dollars once the economy was financialised and globalised due to the need of dollars to participate in the global economy.</p><p>So the question for the AI-first society is: <strong>what is the scarce, essential input that everything else depends on?</strong></p><p>My take: <strong>compute, energy, and intelligence access</strong> measured in PFlops, MWh, and tokens.</p><p>And you probably won&#8217;t believe it when I tell you how I came to this realisation. A few months ago I started noticing that I was converting all of my AI subscriptions that I use daily from monthly to annual billing. Every service that gave me the option, I locked in the yearly rate. <strong>This is what made me realise I was treating access to intelligence like a commodity that I needed to hedge </strong><em>(this event is essentially what gave me the inspiration for this post).</em></p><p>The logic is the same as a manufacturer locking in energy prices for the next year, or hedging the oil price. The price of accessing AI models may change in the next few months in ways that are hard to predict (even more considering the current pace of progress). </p><p>There are deflationary forces like competition between labs, model efficiency improvements, falling inference costs. And there are inflationary forces, explosive demand, data centre energy constraints, the cost of training and running frontier models. <strong>I don&#8217;t know which direction the net price moves over the next two years. But I know I need access to intelligence to do my work more productively.</strong> I realised that I am unconsciously deciding that the rational move is to lock in supply at today&#8217;s prices.</p><p>I then read <a href="https://x.com/igor_os777/status/2017357868551315674">this argument about </a><strong>the AI Bubble not being a Bubble but a trap</strong><a href="https://x.com/igor_os777/status/2017357868551315674"> </a>that confirmed a thought that I was having for awhile, and aligned with my subconscious bias of hedging my access to intelligence:</p><div class="pullquote"><p><em>&#8220;The real product isn&#8217;t chatbots. It&#8217;s a dependency.</em></p><p><em>Businesses are being nudged, gently at first, to replace chunks of their workforce with machine labor. Once that happens, reversing course becomes prohibitively expensive. Institutional knowledge evaporates. Workflows warp around proprietary systems. Human staff disappear, and with them the ability to function without the platform.</em></p><p><em>After that, the trap is set.</em></p><p><em>Prices go up slowly enough to prevent mass defections but fast enough to extract monopoly rents. Switching back to humans would cost more than staying put. Switching to a competitor is impossible because there won&#8217;t be many competitors left.</em></p><p><em>This is the same playbook Big Tech always uses. Subsidize adoption. Starve alternatives. Centralize infrastructure. Then turn the screws.&#8221;</em></p></div><p>The geopolitical version of this is exactly why the US is restricting GPU exports and why nations like the UAE, Saudi Arabia, and France are spending tens of billions on sovereign AI compute. They are treating PFlops the way previous generations treated oil reserves.</p><p>This is also starting to show up in financial markets in a very literal way. AI startups have been <a href="https://www.igorslab.de/en/ai-gpus-as-collateral-for-billion-dollar-loans-nvidias-chips-mutate-into-financial-weapons/">using GPU clusters as loan collateral</a>, pledging racks of H100s to secure financing the same way a previous generation of businesses pledged property or receivables <em>(which by the way I think it is a horrible idea and extremely risky for this corporations in its current form)</em>. The new commodities are becoming collateral. Which means they are starting to function like money.</p><p><strong>The rational move right now is to secure the tokens, the MWh, the PFlops, because those are the raw materials of the next economy.</strong></p><div><hr></div><h2>Two parallel economies</h2><p>And here comes the most trippy argument of my post and the one I am least convinced of <em>(to the point that after writing it I was considering not including, but YOLO)</em>. Please, bear with me and do not hesitate to share your feedback after reading it.</p><p>The economy we have been living in, what I&#8217;ll call the <strong>human economy</strong>, has high-level the following structure: labour and capital combine to produce goods and services. Those goods and services are priced in fiat currency. <strong>It&#8217;s relatively slow. It operates on bank hours, settlement cycles counted in days, and relies on human-centric institutions</strong>. And honestly, that is fine for what it does. It is perfect for buying real estate, paying for a haircut, or buying groceries. Things that humans need, operating at a human pace.</p><p>Then there&#8217;s the pipes beneath it, the financial system with its repo markets, collateral chains, shadow banking, etc. <strong>that exists to allocate that capital &#8220;efficiently&#8221; (</strong><em><strong>quotes intended for obvious reasons)</strong></em><strong> across the economy.</strong></p><p>But look at who actually drives most of that allocation today. It is not retail banks moving small deposits around. The liquidity that makes modern markets function comes overwhelmingly from hedge funds, primary brokers, and large financial institutions running highly automated strategies. <strong>These firms already operate at speeds and scales that no human trader can meaningfully oversee in real time.</strong> The humans set the parameters; the algorithms execute.</p><p>And this is going to be exacerbated by the short-term future that is coming (even before AI) with stablecoins and always-on, instantly transactable, tokenised markets.</p><p>The AI-first society I described last week is just the logical endpoint of that trend. The <strong>agent economy</strong>, where AI agents perform tasks, commission sub-tasks from other agents, and exchange outputs without human involvement. My feeling is that with the combination of <strong>programmable money and AI agents this is the direction that the most automated parts of the financial system are already moving in.</strong> And when it arrives fully, fiat currencies structural problems are going to be exacerbated.</p><p>People in the crypto space like <a href="https://news.bitcoin.com/crypto-not-made-for-humans-says-dragonflys-haseeb-qureshi-heres-why/">Haseeb Qureshi from Dragonfly are claiming that &#8220;crypto was not made for humans bug AIs&#8221;</a> <em>(there you go blockchain, you finally found your killer app :) ).</em></p><p>Agents do not need fiat. They have no rent, no food, no kids <em>(like the ones that I love with all my heart but keep distracting me as I write these words,).</em> What they need is compute, energy, and access to the models that give them reasoning capability. The natural medium of exchange between agents is not dollars, or treasuries, it is AI tokens, compute credits, and energy units.</p><p><strong>This is why the current maturity of stablecoins and the push for tokenised markets is so critical</strong>. Yes, humans use stablecoins today and will continue to use them alongside fiat for things like cross-border payments. But for agents, they aren&#8217;t just an alternative; they are the necessary <strong>rails for an AI-first economy</strong>. Once tokenised markets and highly liquid stablecoins are fully entrenched, they will become the default financial infrastructure for agents. AI agents will commission sub-tasks, trade MWh, buy PFlops, and even execute those complex collateral chains and repo agreements we discussed earlier using these crypto rails, settling instantly, in fractions of a cent, with mathematical finality. </p><p><strong>They will be left to run the over-financialised economy that we have today, leaving humans to operate at their human pace</strong> (saving a lot of stress to a lot of people).</p><p>This leaves us looking at a fascinating bifurcation. Two economies running in parallel.</p><p>On one side, the high-frequency, highly automated agent-to-agent market, running on crypto rails and trading tokenised commodities (compute, energy, intelligence, financial instruments). </p><p>On the other side, the slower-paced, human-to-human market, running on a mix of traditional fiat and stablecoins dedicated to physical and emotional human needs, like shelter, community, services, and art.</p><p>The human economy won&#8217;t disappear. But it will likely become a slower, higher-level layer that sits on top of this massive, hyper-efficient, tokenised machine economy. Humans will hold the real estate and the physical assets; agents will run the plumbing, the finances, and the compute. <strong>And I really think this is for the better.</strong></p><div><hr></div><h2>The thermodynamic view of the economy</h2><p>If this high-frequency agent economy is going to run in the background, trading tokenised commodities and executing complex collateral chains, <strong>what exactly are these algorithms optimising for? What is the fundamental &#8220;physics&#8221; of this new financial system?</strong></p><p>One of the chapters I enjoyed the most in <em>The Last Economy</em> is the one that presents the idea that the economy is fundamentally a machine for reducing entropy.</p><div class="pullquote"><p><em>&#8220;The economy, as a complex adaptive system, evolves to favor configurations that are most efficient at creating predictive models of their environment</em></p><p><em>[...]</em></p><p><em>It is a phase transition in the efficiency of entropy reduction. Economy based on ordering machines and entropy reduction. Value is not a pre-existing substance.. It is a state of low entropy, a temporary victory against chaos, achieved by intelligent agents sorting the environment.</em></p><p><em>[...]</em></p><p><em>Each action is a small, incremental denoising step, an attempt to move the chaotic state of the present slightly closer to a more ordered, predictable future. Remove uncertainty, thus entropy.</em></p><p><em>[...]</em></p><p><em>The forward pass of diffusion models is a perfect simulation of the second law of thermodynamics.&#8221;</em></p></div><p><a href="https://en.wikipedia.org/wiki/Norbert_Wiener">Norbert Wiener</a>, the father of Cybernetics, reached a similar conclusion in 1950: <em>&#8220;In control and communication we are always fighting nature&#8217;s tendency to degrade the organised and to destroy the meaningful; the tendency for entropy to increase.&#8221;</em></p><p>And one can&#8217;t frame an argument using thermodynamics without mentioning <a href="https://en.wikipedia.org/wiki/Maxwell%27s_demon">Maxwell&#8217;s demon</a>. For those of you unaware, Maxwell&#8217;s demon is a thought experiment where a demon controls a door between two chambers containing gas. This demon would open and close the door to let hot and fast particles enter one side, and cold and slow ones the other, in this way ordering &#8220;the universe of particles&#8221; from these two chambers.</p><p>This thought experiment appeared to disprove the second law of thermodynamics, because no energy was spent by the demon to reduce the entropy of this closed system. <strong>Turns out, the solution to the thought experiment is &#8220;information&#8221;</strong>. In order for the demon to know when to open this door, it needs to know the position, direction, and speed of a particle to predict when to open and close the door. The energy spent on this measurement is the one spent to reduce the entropy of the system.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J4cY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J4cY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 424w, https://substackcdn.com/image/fetch/$s_!J4cY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 848w, https://substackcdn.com/image/fetch/$s_!J4cY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 1272w, https://substackcdn.com/image/fetch/$s_!J4cY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J4cY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png" width="500" height="185" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9944edf3-604e-4c74-904f-f70334221574_500x185.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:185,&quot;width&quot;:500,&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="https://substackcdn.com/image/fetch/$s_!J4cY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 424w, https://substackcdn.com/image/fetch/$s_!J4cY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 848w, https://substackcdn.com/image/fetch/$s_!J4cY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 1272w, https://substackcdn.com/image/fetch/$s_!J4cY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9944edf3-604e-4c74-904f-f70334221574_500x185.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Using this same framing to the economy, where the energy spent to reduce the entropy is that of acquiring information to order the system. In a world where intelligence is the primary economic input<strong>, the unit of value for these agents will not be raw energy or raw compute, it will be intelligence </strong><em><strong>per unit of energy</strong></em><strong>.</strong> Not MWh, but useful output per MWh. Not tokens, but insights per token. The most valuable thing in the AI economy will not be the entity with the most GPUs; it will be the entity that <strong>converts a given amount of energy into the most useful intelligence most efficiently</strong> <em>(<a href="https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity">context is all you need</a>, apologies for the self-cite).</em></p><p>This reframes the competitive dynamic entirely. <strong>The most efficient models running on the most efficient hardware will capture the most value.</strong> Inference efficiency, not raw scale, becomes the monetary advantage. And the race to improve it, smaller models, better quantisation, more efficient architectures, becomes more important. This links with another strong opinion I&#8217;ve been having lately where I think that <strong>small models running in the edge will be what enables a real agentic economy,</strong> and where the value of this economy will be captured.</p><p>My take is that superintelligence is a set of decentralised agents collaborating.</p><div><hr></div><h2>Let&#8217;s wrap it up for now!</h2><p>And this ended up being waaay longer and taking me waaay more time as originally expected <em>(as always)</em>. </p><p>My goal with this post was to try to dump in writing <strong>a lot of the disconnected ideas that I&#8217;ve been having lately around the economy, AI, tokenisation, etc after reading a lot about it.</strong> They may feel a bit disordered right now, but my plan is to use this first stop as a way to collect feedback from all of my smart readers, and then extract each of them into an isolated (and hopefully better explained) post.</p><p>So if you have any feedback or strong opinions about any of the topics and framings presented here, I would love to hear them.</p><p>To help you digest all oft his, let me try to share one last time a map of the high-level ideas of my line of thinking:</p><ul><li><p><strong>I first expect new-age commodities</strong> to enter our current economy as AI starts becoming more critical for our day-to-day lives.</p></li><li><p>As the <strong>new pipes of the financial system start establishing and permeating the economy</strong> (in the form of stablecoins and tokenised markets) we are start seeing an agentic economy developing over them where human intervention will be extremely limited.</p></li><li><p>Up to a point, <strong>where there will be two distinct economies:</strong> a fast paced one involving agents, and the day-to-day one for human interactions.</p></li><li><p>Finally, I was planning to completely remove the thermodynamics section, but I love physics, and the framing of the economy as a thermodynamic system with the goal of l<strong>owering the entropy (creating order) through intelligence blew my mind.</strong> Even if readers hate it, I couldn&#8217;t publish it for posterity :)</p></li></ul><p>They say that the solution to the &#8220;too many ideas syndrome&#8221; is to write to get those ideas organised. This is that piece of writing that I needed.</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Intelligence is a commodity. Context is the real AI Moat.]]></title><description><![CDATA[My thesis on the AI-first society and the future of software]]></description><link>https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-intelligence-is-a-commodity</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 01 Mar 2026 09:00:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cSPO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cSPO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cSPO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!cSPO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!cSPO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!cSPO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cSPO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5fe7fce4-a250-4e71-9859-097744600074_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&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="https://substackcdn.com/image/fetch/$s_!cSPO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!cSPO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!cSPO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!cSPO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5fe7fce4-a250-4e71-9859-097744600074_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last Thursday I had the opportunity to attend the February edition of the <a href="https://luma.com/aimadrid">AI Socratic Madrid</a> meetup. It was the first time I attended so I didn&#8217;t know what to expect. I have to admit that I was gladly impressed. <strong>The room was full of talented people with really strong opinions about AI and how it&#8217;ll impact our work and our society.</strong></p><p>The list of attendees included entrepreneurs working on RL environments and agent security, researchers and engineers working on confidential computing and on-device inference, professors on critical thinking and electrical engineering, AI alignment and governance experts, VCs, and even marketers made coders through AI.</p><p>A fun crowd to hang out with.</p><h2>Socratic Dialogues and the impact of an AI-first society</h2><p>The first part of the meetup consists of what they call <em>&#8220;Socratic Dialogues&#8221;</em> that is basically an open-ended conversation about the <a href="https://aisocratic.org/blog/ai-socratic-february-2026">latest news on AI</a>. Here we discussed (of course) OpenClaw, Moltbook, and what having autonomous agents in the wild like OpenClaw entails for the way we work, the Internet and society.</p><p>I obviously do not remember every nitty-gritty detail about what we discussed: I remembered discussing how each of us currently used AI on our day-to-day; which models we thought were better; where we expected them to be in the next few months; and our experience with coding agents and their performance.</p><p>But the topic of conversation that I enjoyed the most was when someone raised the <strong>question of</strong><em><strong> &#8220;what would be the role of humans in an AI-first society&#8221;</strong></em>. Some were skeptical about whether we are ever going to reach an AI-first society. If we understand as an AI-first society, one where the fabric of the economy and society is automated through agents interacting with each other without human interaction, I think that unless there is a catastrophic event that slows the current pace of progress, we may reach a flavor of this reality in the next decade or two.</p><p>If this is the case, what is the role of humans in a scenario where work is no longer necessary? This is significant because, since the industrial revolution, work has played an important role in shaping an individual&#8217;s identity. <strong>How will we occupy our time when we don&#8217;t have to spend more than half of our waking hours on a job?</strong> It probably won&#8217;t surprise you, but I&#8217;ve personally thought a lot about this lately, and yesterday I managed to share my view (and stress-test it) with people smarter and better informed than me (and this post is my second chance).</p><p><strong>My opinion is that what really shapes humans&#8217; identity, and what we crave for is community.</strong> Even if we lived in a society where reality is shaped by superintelligent AIs instead of ourselves, we can still be happy. It may hit the ego of many that we are no longer the most intelligent being in the planet, but the same way that a chimpanzee living in the wild can live happily and is not aware of the worries and scares of the stock market and geopolitics, we can live a happy and fulfilling life without worrying about the daily operation of our reality handled by the AIs.</p><p>What really worries me about this reality is not that I will lose my identity, purpose, or that I won&#8217;t be able to know what to do with my time. I&#8217;ll still want to read old worn out books, enjoy a conversation over coffee with a friend, or hit the court for some hoops, independently of what these higher intelligences are doing. As someone put it yesterday: <em>&#8220;I don&#8217;t think the conversation we are having in this room would change substantially in an AI-society&#8221;.</em></p><p><strong>What worries me is if the AIs shaping our society (and thus our reality) is not aligned with human existence</strong>, and if it will end up deciding unilaterally that it is suboptimal for us to exist. Some call it AI alignment, some AI existential risk, call it as you wish but this is what really worries me about an AI-first society (I am already cooking a post about this topic to publish it in the next few weeks).</p><p><strong>We are horrible at communicating intent to AIs and LLMs.</strong> We are sloppy and have a hard time painting every possible scenario for the AI to execute flawlessly. You&#8217;ve probably had this experience where you ask the AI to<em> &#8220;make all tests pass&#8221; </em>and it ends up removing adding an assert(true) on all of them.</p><p>Extrapolate this to a global scale and with superintelligent AIs. The &#8220;governor&#8221; of a superintelligent AI system may use the well-intention prompt of <em>&#8220;removing all carbon footprint from the Earth&#8221;,</em> and the AI may realise that <strong>the most efficient way to do this is to remove humans (and cows) from the Earth, as we are the ones contributing the most to this footprint.</strong></p><p><strong>We want the reality shaped by superintelligent AIs to be a function of human existence (f(humans)), not a constant within an AI society (f(AIs) + humans). </strong>Many outside of this echo chamber do not have the slightest idea of what the release of OpenClaw entails where we are heading, but to me this is the first realisation of the kind of primitive autonomous agents that we can start seeing shaping our society in the near future.</p><p>I once said that the moment that we give autonomous agents the ability to interact freely with the environment it will scare the hell out of me. Well, it took less than what I would&#8217;ve expected.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EBXc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EBXc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 424w, https://substackcdn.com/image/fetch/$s_!EBXc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 848w, https://substackcdn.com/image/fetch/$s_!EBXc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!EBXc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EBXc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.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;: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="https://substackcdn.com/image/fetch/$s_!EBXc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 424w, https://substackcdn.com/image/fetch/$s_!EBXc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 848w, https://substackcdn.com/image/fetch/$s_!EBXc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!EBXc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76ecb08b-5452-403c-93f3-b46334ceb5cc_1600x1200.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Context is all you need</h2><p>The second part of the event opens the room for any of the attendees to give a talk, and I had the chance to give a quick talk that I titled &#8220;Context is all you need&#8221;. This talk was a continuation of <a href="https://adlrocha.substack.com/p/adlrocha-agents-will-make-code-and">this post that I wrote a few weeks ago about how I thought that apps would become obsolete</a>.</p><p>You can have a look to <a href="https://docs.google.com/presentation/d/1qzlkqNat-RG4QjRylNJRKQz8qmN3L554ImgjlZWR5N4/edit?usp=sharing">the slides I used here</a>, but let me give you the highlights of the talk (that way I can share my view with you too):</p><p><strong>Intelligence is becoming a commodity.</strong> It is increasingly easier to get your hands into reasoning and intelligent models that are able to run complex logic for you on demand. When access to intelligence and the ability to solve complex tasks is a commodity, what really matters is to provide this intelligence with the optimal context and connections to their environment that allows them to solve that task.<strong> My thesis is this context is the product (and the moat) in the era of intelligence.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!z7c-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!z7c-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 424w, https://substackcdn.com/image/fetch/$s_!z7c-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 848w, https://substackcdn.com/image/fetch/$s_!z7c-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 1272w, https://substackcdn.com/image/fetch/$s_!z7c-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!z7c-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png" width="1456" height="776" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:776,&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="https://substackcdn.com/image/fetch/$s_!z7c-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 424w, https://substackcdn.com/image/fetch/$s_!z7c-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 848w, https://substackcdn.com/image/fetch/$s_!z7c-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 1272w, https://substackcdn.com/image/fetch/$s_!z7c-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb0a30f-68c1-4435-8981-87f2bad70a70_1600x853.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Many investors are saying that<strong> the pyramid of value accrual from the Cloud</strong>, where SaaS applications were capturing orders of magnitude more value than the lower layers of the stack, <strong>has been inverted in the Gen AI stack</strong>. Lower layers of the stack (i.e. hardware providers and hyperscalers) will be the ones capturing the most value as the opportunity to capture value in the application layer will be limited and saturated by a small number of players (i.e. AI Labs).</p><p>I don&#8217;t agree. I think that what these investors are missing are all the software that will be built on top of the intelligence provided by the frontier labs.<strong> They are still not seeing the top layer of the Gen AI stack that will replace the current role of the SaaS layer in the cloud industry stack.</strong> This layer will be comprised of all those connections, source of context, and security sandboxes required to run the agents.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bs87!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bs87!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 424w, https://substackcdn.com/image/fetch/$s_!bs87!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 848w, https://substackcdn.com/image/fetch/$s_!bs87!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 1272w, https://substackcdn.com/image/fetch/$s_!bs87!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bs87!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png" width="1456" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:624,&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="https://substackcdn.com/image/fetch/$s_!bs87!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 424w, https://substackcdn.com/image/fetch/$s_!bs87!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 848w, https://substackcdn.com/image/fetch/$s_!bs87!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 1272w, https://substackcdn.com/image/fetch/$s_!bs87!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F56ee49f1-138b-4d5d-a2d5-3883c4b65e25_1563x670.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I think that what fundamentally changes in an AI-powered software industry is the way that software is shipped. The paradigm is changing, and instead of shipping code to solve a narrow task for all users, <strong>what is going to be shipped are general-purpose agents that modify themselves to adapt to the environment and the task</strong> (hence the context being the product).</p><p>This is what I realised through <a href="https://adlrocha.substack.com/p/adlrocha-agents-will-make-code-and">the toy example of this post</a>. I just needed a general-purpose agent (Claude code), a reliable source of data (<a href="https://baselight.app">Baselight</a>) and the right context (through a set of local files with &#8220;skills&#8221; for my agent to activate its capabilities when needed) in order to solve my problem. But the only code that was actually executed on my machine was that of claude code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GD9N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GD9N!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 424w, https://substackcdn.com/image/fetch/$s_!GD9N!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 848w, https://substackcdn.com/image/fetch/$s_!GD9N!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 1272w, https://substackcdn.com/image/fetch/$s_!GD9N!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GD9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png" width="1456" height="752" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:752,&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="https://substackcdn.com/image/fetch/$s_!GD9N!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 424w, https://substackcdn.com/image/fetch/$s_!GD9N!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 848w, https://substackcdn.com/image/fetch/$s_!GD9N!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 1272w, https://substackcdn.com/image/fetch/$s_!GD9N!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd378b1d3-4703-41b4-8e68-4331490b8d76_1562x807.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>We are even seeing a similar trend already with the &#8220;second generation of OpenClaws&#8221;</strong>, as noted by <a href="https://x.com/karpathy/status/2024987174077432126?s=20">Karpathy on this tweet</a>. OpenClaw is around 400k lines of code for a while loop and the list of all the integrations and connections supported by the system. The next generation of Claws only have around 4K lines of code for the core, and the rest are just skills (i.e. markdown files) that tell the agent how to implement or run the code for the specific connections that want to be enabled (like a plugin system).</p><p>A user using one of these second-generation Claws only needs to node the core logic (that can be easily understood and audited) and can leverage the skills (as the plugins) to activate the functionality that they need for their case. <strong>This is another good example of this new trend of shipping software as &#8220;adaptive software&#8221;.</strong></p><p>And I want to close this post in the same way that I closed the talk last Thursday: I think we live in interesting times where we are seeing a new paradigm for shipping code. My contrarian opinion (or maybe not that contrarian after all from what I heard yesterday) is that t<strong>he value capture in an AI-powered software industry will come from this layer on top of the frontier labs where the context and the runtime are the product, along with HW-SW co-design.</strong></p><p>I don&#8217;t think the Nvidias and ChatGPTs will end up capturing all the value that it seems they are going to capture judging the current state of affairs. I think they are going to regret all the investment on chips that they are currently doing. I understand why they are doing it as a way to boost their valuations, and justify the investment, but this is going to really bite them back.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!54Bm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!54Bm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 424w, https://substackcdn.com/image/fetch/$s_!54Bm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 848w, https://substackcdn.com/image/fetch/$s_!54Bm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 1272w, https://substackcdn.com/image/fetch/$s_!54Bm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!54Bm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png" width="1456" height="658" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:658,&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="https://substackcdn.com/image/fetch/$s_!54Bm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 424w, https://substackcdn.com/image/fetch/$s_!54Bm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 848w, https://substackcdn.com/image/fetch/$s_!54Bm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 1272w, https://substackcdn.com/image/fetch/$s_!54Bm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b6d97f0-a1df-4801-8d30-91327a812c63_1570x710.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>The best part of sharing such strong opinions weakly held in a post like this is that I will for sure get feedback and counter-arguments that push me to change my opinions or hold them more strongly. </strong>So if you have thoughts about all of this I would love to hear them. Shoot me an email (if you want to keep them private), or drop me an email (for a public discussion). Until next week!</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - The Space Data Centre Delusion]]></title><description><![CDATA[Can we really ship data centres to space?]]></description><link>https://adlrocha.substack.com/p/adlrocha-the-space-data-centre-delusion</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-the-space-data-centre-delusion</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 22 Feb 2026 08:30:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qt9H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qt9H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qt9H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!qt9H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!qt9H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!qt9H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qt9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&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="https://substackcdn.com/image/fetch/$s_!qt9H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!qt9H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!qt9H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!qt9H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09787eca-817b-4007-a028-5fef6af7ccea_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Everyone is talking about shipping data centres to space as the only way to scale the amount of compute that we are going to need for AI in the near future. The core argument? Space solves the energy bottlenecks that we will eventually face (and in many cases are already hitting us) on Earth as we start scaling.</p><p>Elon Musk was in <a href="https://podcasts.apple.com/es/podcast/dwarkesh-podcast/id1516093381?l=en-GB&amp;i=1000748400389">Dwarkesh Patel&#8217;s podcast</a> <em>(which I still like to refer to as Lunar Society)</em> sharing his thoughts around this. Let me share here a few of the highlights from that conversation to build some shared context <em>(I wouldn&#8217;t want you to have to listen to a 2h podcast to take the most out of this post):</em></p><ul><li><p>According to Elon, the<strong> primary driver for moving data centres to space isn&#8217;t real estate; it&#8217;s the sheer lack of available power on Earth.</strong> To power future AI models, Musk envisions needing terawatt-scale energy. For context, he pointed out that the entire US currently averages about half a terawatt per hour.</p></li><li><p>The main advantages of having data centres in space is that, in his words, <em><strong>&#8220;it&#8217;s always sunny in space&#8221;</strong></em>, so no need for batteries as there is constant generation; there is zero atmospheric loss (because when solar energy reaches the panels it hasn&#8217;t been degraded by the atmosphere); and cheaper hardware can be used for the solar cells because you don&#8217;t have to battle inclement weather</p></li></ul><div class="pullquote"><p><em><strong>&#8220;Those who live in software land are about to have a hard lesson in hardware.</strong> Scaling on Earth means navigating brutal regulatory hurdles to build power plants, securing land permits, and sourcing massive amounts of electrical transformers, all of which act as severe bottlenecks.&#8221;</em> &#8211; Elon Musk at Dwarkwesh&#8217;s</p></div><p>He even ventures to make one of his (always accurate) predictions:<em><strong> &#8220;My prediction is that it will be by far the cheapest place to put AI. It will be space in 36 months or less&#8221;</strong></em><strong>, </strong>and he refines,<em> &#8220;probably closer to 30 months&#8221;,</em> stating that space will become<em> &#8220;the most economically compelling place to put AI.&#8221;</em></p><p>We should of course contextualise all these claims around the recent announcement of <a href="https://www.spacex.com/updates#xai-joins-spacex">xAI joining Space X</a>: <em>&#8220;Space enables &#8220;ridiculous improvements&#8221; in AI scaling, positioning SpaceX as a potential major AI hyperscaler with high-frequency launches&#8221;.</em></p><p>I think Elon&#8217;s intentions are clear. He wants to power xAI from space leveraging Starlink without having to worry about Earth regulation and expensive turbines. </p><p>He has pulled off crazier plans before through his maniacal sense of urgency: affordable electric vehicles, self-driving cars, and a reusable spaceship that was nothing but a sci-fi dream a few decades ago. <strong>But how much of this space data centre talk is marketing, and how much is a technically and economically grounded plan?&#8221;</strong></p><p>Follow me down this new rabbit hole.</p><h2>Where are we today?</h2><p>Let&#8217;s kick this off acknowledging the status quo. From what I&#8217;ve been researching, there seems to be a single recognised data centre in space. It consists of a LEO satellite with a single H100 GPU launched in November 2025 as reported by <a href="https://www.datacentresinspace.com/">this (obviously biased) site</a>.</p><p>They also acknowledge how <em>&#8220;China has already launched an initial cluster (12 satellites in May 2025) described as the start of a <a href="https://starlust.org/the-three-body-computing-constellation-begins-as-china-sends-first-ai-supercomputer-satellites-to-orbit/">&#8216;Three-Body Computing Constellation&#8217;</a>  but that cluster still needs to scale to thousands of nodes to reach the kind of distributed supercomputer those announcements implied.&#8221;</em></p><p>I highly recommend reading <a href="https://www.datacentresinspace.com/faq">this FAQ</a> for a grounded view of what space data centres entail, and how they may be better suited for Earth-observation and near-space computing than providing general-purpose AI inference to Earth.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xVob!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xVob!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 424w, https://substackcdn.com/image/fetch/$s_!xVob!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 848w, https://substackcdn.com/image/fetch/$s_!xVob!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 1272w, https://substackcdn.com/image/fetch/$s_!xVob!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xVob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png" width="325" height="454" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:454,&quot;width&quot;:325,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:16252,&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://adlrocha.substack.com/i/188706005?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xVob!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 424w, https://substackcdn.com/image/fetch/$s_!xVob!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 848w, https://substackcdn.com/image/fetch/$s_!xVob!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 1272w, https://substackcdn.com/image/fetch/$s_!xVob!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5cedf810-63fe-4f43-9e9e-35c732bee1e3_325x454.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>As they clearly acknowledge on this site, <em>&#8220;space is hard: launches are expensive, cooling requires radiators and careful thermal design, and radiation hardening raises costs. Because of those constraints, most other satellites with onboard compute are still experiments or marketing exercises and don&#8217;t qualify as full operational data centres yet.&#8221;</em></p><h2>The Bull Case</h2><p>Along with Elon, Gavin Baker also appeared on a <a href="https://x.com/rohanpaul_ai/status/2023313130596847974">recent podcast</a> sharing a list of reasons why he thought that, <strong>from first principles, data centres should be deployed in space instead of the Earth.</strong></p><ul><li><p><strong>Abundant and Continuous Solar </strong>Power: In space, satellites can remain in sunlight 24 hours a day, unlike on Earth where solar is intermittent. The sun&#8217;s intensity is about 30% stronger in space, leading to roughly six times more solar irradiance. This eliminates the need for batteries, a massive cost factor on Earth deployments, making  solar the lowest-cost energy source available in the solar system.</p></li><li><p><strong>Free and Efficient Cooling:</strong> Cooling accounts for a huge portion of a data centre&#8217;s mass, weight, and complexity on Earth (e.g., HVAC systems, CDUs, and liquid cooling). In space, you can simply attach radiators to the dark side of the satellite, rejecting heat into near-absolute zero temperatures. This makes cooling essentially free and far simpler, slashing costs dramatically. . I still remember when I was working at energy efficiency and the <a href="https://en.wikipedia.org/wiki/Power_usage_effectiveness">PUE</a> was the key metric everyone was trying to optimise. </p></li><li><p><strong>Superior Networking Speed: </strong>On Earth, racks in data centres are connected via fiber optics, which transmit lasers through cables. In space, linking satellites with lasers through vacuum is inherently faster than through fiber, creating a more coherent and efficient network overall. Or so it seems.</p></li><li><p><strong>Reduced Latency for Inference:</strong> For real-time applications like AI inference, space-based data centres enable direct satellite-to-device communication (e.g., via Starlink&#8217;s direct-to-cell tech). <strong>This bypasses Earth&#8217;s multi-hop routing </strong>(cell tower to base station to fiber to data centre and back), resulting in lower latency and a better user experience. I have to admit that I cringed a bit when I read this (professional bias).</p></li></ul><p>He emphasizes that from these physics-based first principles, <strong>space data centres are always superior to Earth-based ones, </strong>assuming launch costs continue to drop. But let&#8217;s be honest</p><p>To complement the foundation with some an economic framing, here&#8217;s an <a href="https://x.com/tomaspueyo/status/2023438404965261794">interesting tweet from Tomas Pueyo</a> that breaks down at a high-level the fixed cost of on-the-ground and space data centres in order to understand the level of savings that can be achieved. There&#8217;s also this great write-up from the <a href="http://comma.ai">comma.ai</a> team about what it takes<a href="https://blog.comma.ai/datacenter/"> to own and operate an Earth 5M$ data centre</a> (slightly off-topic, but I thought it would be a great reference for those of you that do not understand in-depth what does it take to operate a data centre).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!N0wN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!N0wN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 424w, https://substackcdn.com/image/fetch/$s_!N0wN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 848w, https://substackcdn.com/image/fetch/$s_!N0wN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 1272w, https://substackcdn.com/image/fetch/$s_!N0wN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!N0wN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png" width="680" height="565" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:565,&quot;width&quot;:680,&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="https://substackcdn.com/image/fetch/$s_!N0wN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 424w, https://substackcdn.com/image/fetch/$s_!N0wN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 848w, https://substackcdn.com/image/fetch/$s_!N0wN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 1272w, https://substackcdn.com/image/fetch/$s_!N0wN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F505b62ad-ed72-40ce-8477-ad7bae0ec66b_680x565.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The Harsh Reality</h2><p>If putting data centres in orbit is so great, why haven&#8217;t we done it already? On the other side of the argument we have pieces like <a href="https://civai.org/blog/space-data-centers">this one from Andrew Yoon</a> that brings back <strong><a href="https://research.google/blog/exploring-a-space-based-scalable-ai-infrastructure-system-design/">this study from Google</a> from last year that looked at the viability of doing AI in space.</strong> <em>&#8220;The authors envision a constellation of 81 satellites flying in close proximity, and argue that if the cost of launching stuff into low earth orbit fell to $200/kg, it could be competitive with an equivalent ground-based data centre. They project this might happen around 2035 if SpaceX&#8217;s Starship program succeeds.&#8221;.</em></p><p>If you listen to the podcast you&#8217;ll see that the key thing that Elon is trying to <strong>de-risk is the cost and the frequency with which it can ship compute nodes to space.</strong></p><p>However, there&#8217;s more to this. Training and serving frontier AI at scale takes hundreds of thousands of GPUs. This translates into <em>&#8220;hundreds of millions of satellites in orbit. Satellite deployments at this scale would dramatically increase the risk of <a href="https://en.wikipedia.org/wiki/Kessler_syndrome">Kessler syndrome</a>: a cascading explosion of debris <a href="https://www.youtube.com/watch?v=yS1ibDImAYU">crippling our access to space.</a>&#8221;</em></p><p>Even more, <strong>satellites can&#8217;t be upgraded at scale</strong>. If there&#8217;s a new (better) chip architecture, there is no easy way to upgrade satellite nodes at scale. Even more, if AI ends up being a bubble, and demand doesn&#8217;t catch up with the amount of compute being deployed (like it happened with dark fiber and other tech bubbles in history that requires infrastructure investment), <strong>we may get <a href="https://thenewcuriosityshop.substack.com/p/a-dark-data-center-crisis">dark data centres also in space</a>, worsening the Kessler syndrome from the previous point.</strong></p><h2>The Physics of Space</h2><p>We have a complete mess of arguments of why data centres in space are feasible, but <strong>what is the physical reality of it?</strong> Let&#8217;s dive into some of the main physical bottlenecks that will be faced as we try to put data centres in space.</p><h4><strong>The Thermal Wall</strong></h4><p>One of the most persistent misconceptions is that because space is cold, cooling a data centre is easy<strong>.</strong> In reality, a vacuum is the ultimate insulator. On Earth, data centres cool themselves via convection and conduction; they pump chilled air or water over the servers to carry the heat away. <strong>In the vacuum of space, convection is physically impossible.</strong></p><p>The only way to dissipate heat in space is through thermal radiation (emitting infrared light into the void). This mechanism is governed by the <a href="https://en.wikipedia.org/wiki/Stefan%E2%80%93Boltzmann_law">Stefan-Boltzmann law</a>, which says that the power radiated is proportional to the surface area and the fourth power of the temperature. This means that to achieve the optimal temperature of operation of AI accelerators, <strong>huge radiators (or chips) would be required to dissipate the heat</strong> (with the corresponding increase in payload).</p><h4><strong>Radiation and Silent Data Corruptions</strong></h4><p>As I was listening to Elon talk about chips in space I had only one word in my mind: &#8220;radiation, radiation, radiation&#8221;. As an electrical engineer by training, when I was in college I was always scared of high-RF and space circuit design, for obvious reasons: high-frequency and radiation are brutal for circuits.</p><p>You might hear the argument that <em><strong>&#8220;AI is stochastic, so a few bit flips don&#8217;t matter.&#8221;</strong></em><strong> This is a fatal misunderstanding of how AI training works.</strong> When a high-energy cosmic particle strikes a 3-nanometer transistor, it causes a <a href="https://en.wikipedia.org/wiki/Single-event_upset">Single Event Upset (SEU)</a>, flipping a 0 to a 1. In standard software, this might just crash the program. <a href="https://x.com/lauriewired/status/2022387879390122049">But in AI, it causes what the industry calls a Silent Data Corruption (SDC).</a></p><p>A 2021 paper by Meta and Google titled<a href="https://arxiv.org/abs/2102.11245"> &#8220;Silent Data Corruptions at Scale&#8221; </a>detailed how these undetected hardware errors pass corrupted math directly into the application layer. If a cosmic ray flips a bit in the exponent of a floating-point number during a training run, a benign number can instantly become massive. This causes a gradient explosion, silently poisoning the neural weights of the entire multi-million-dollar training run without ever triggering an error code.<a href="https://storage.googleapis.com/gweb-research2023-media/pubtools/6708.pdf"> If SDC are already happening on Earth</a>, imagine how often they could happen in the face of radiation.</p><p>I understand that initially space data centres are planned exclusively for inference, where data corruption may not be as catastrophic, but still&#8230; <strong>Building radiation-hardened chips is expensive and relies on thicker semiconductors</strong> (with the corresponding performance hit), but I don&#8217;t know to what extent we can build the mechanisms to minimise them on off-the-shelf chips (although I have to admit this is a really cool open problem that I would love to work on :) ).</p><h4><strong>Lasers v.s. Fiber</strong></h4><p>Proponents of space data centres correctly note that the speed of light is roughly 30% faster in a vacuum than it is inside a glass fiber-optic cable. From a purely physics-based &#8220;first principle,&#8221; linking satellites via laser sounds vastly superior. But this ignores bandwidth density and the brutal physics of signal dispersion.</p><p>Inside a terrestrial data centre, AI clusters are connected by millions of parallel fiber strands, moving Terabytes across the pod to keep the GPUs fed. In space, firing lasers between satellites requires perfectly aligning optical transceivers across the void. As Google detailed in their November 2025<a href="https://research.google/blog/exploring-a-space-based-scalable-ai-infrastructure-system-design/"> Project Suncatcher research paper</a>, <strong>achieving terrestrial-level DWDM (Dense Wavelength-Division Multiplexing) bandwidth via space lasers is incredibly difficult</strong> because the optical signal disperses over distance.</p><p>To make this work for AI training without losing the signal, Google&#8217;s preprint paper modeled a notional 81-satellite cluster that couldn&#8217;t just float freely; the satellites had to fly in an incredibly tight, just 100 to 200 meters apart. Not only does this require constant, fuel-burning maneuvers to prevent the billion-dollar nodes from colliding, but you still have to get that data back to Earth. High-bandwidth laser downlinks are notoriously susceptible to atmospheric interference. If a thick cloud system parks itself over your ground station, your latency advantage instantly vanishes.</p><p>I know, I know. You went into training again. But even for inference, think of the time and bandwidth required to either move huge amounts of data from Earth into space, or between satellites. Depending on the use case, this transmission limitations may become a problem for day-to-day AI use.</p><h2>Should we rethink the silicon then?</h2><p>So, where does this leave us? Elon Musk is absolutely right about one fundamental thing: the energy bottleneck on Earth is a severe, existential threat to the scaling of AI.</p><p>What if instead of shipping current chips to space we try to <strong>architect a new computing paradigm that is not as power hungry as a general-purpose matrix multiplication accelerator as GPUs?</strong> I&#8217;ve been thinking about this for some time now with the emergence of companies like <a href="https://extropic.ai/">Extropic</a> and their thermodynamic sampling units, all the work around photonic chips, and non-deterministic computing (astute readers will have noticed that I on purpose left quantum computing out of this bag&#8230; at least for now).</p><p>I think it is time for me and this newsletter to dig deeper into this new computing paradigm and what is possible to avoid having to ship Nvidia chips into space.</p>]]></content:encoded></item><item><title><![CDATA[@adlrocha - Agents will make Code and Apps obsolete]]></title><description><![CDATA[How Mr.Malone showed me I could build a financial assistant using only English, Markdown, and Claude Code]]></description><link>https://adlrocha.substack.com/p/adlrocha-agents-will-make-code-and</link><guid isPermaLink="false">https://adlrocha.substack.com/p/adlrocha-agents-will-make-code-and</guid><dc:creator><![CDATA[adlrocha]]></dc:creator><pubDate>Sun, 15 Feb 2026 08:52:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jNIe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jNIe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jNIe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!jNIe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!jNIe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!jNIe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jNIe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png" width="1024" height="559" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:559,&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="https://substackcdn.com/image/fetch/$s_!jNIe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 424w, https://substackcdn.com/image/fetch/$s_!jNIe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 848w, https://substackcdn.com/image/fetch/$s_!jNIe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 1272w, https://substackcdn.com/image/fetch/$s_!jNIe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49a0a28a-7035-4061-86f2-fc94df2567df_1024x559.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Karpathy already predicted it in 2024, <em><a href="https://x.com/karpathy/status/1617979122625712128?s=20">&#8220;English is the hottest programming language&#8221;</a>. </em>I have to admit that while I agreed with the claim then, <strong>I wouldn&#8217;t have expected that we would have come such a long way in a bit less that two years.</strong> </p><p>To me, and many others, the release of Opus 4.5 into Claude code was that moment where English really became the best way to interact with computers. You described what you wanted and Claude code would get you working code that did what you wanted.</p><p>But after some experiments I&#8217;ve been doing the past few days, I not only think that English is the hottest programming language, <strong><a href="https://x.com/adlrocha/status/2022346097545314515?s=20">I also think that agents have made programming languages and applications obsolete.</a></strong> Let me try to explain to you why.</p><h2>I am glad to be a mess</h2><p>I&#8217;ve always been a mess managing my personal finances and investments. I&#8217;ve tried everything, and I&#8217;ve always failed at it.</p><ul><li><p><strong>Open-source and SaaS personal finance</strong> apps like <a href="https://www.gethomebank.org/en/">homebank</a> that I could use out-of-the-box.</p></li><li><p><strong>Writing my own web app</strong> with a simple web interface that allowed me to track expenses and make updates over my portfolio. This is actually the one that led to better results for me, but the fact that I had to squeeze maintenance work for the app, even if minimal, along with my daily responsibilities resulted in me not doing it, and ending up abandoning the app (and thus the habit)</p></li><li><p><strong>An excel sheet</strong> with monthly expense tracking and portfolio performance. This is what I am using now, but updating the sheet every month is taking me close to what took me to add the few changes and features needed for my app.. So I was back to square one.</p></li></ul><p>But we live in the world of <a href="https://baselight.app">Baselight</a>, LLMs, coding agents, and agentic social networks. <strong>There had to be a better way.</strong></p><p>And not only had I found it, in the process I came to a realisation: <strong>Agents may be all we need!</strong></p><h2>Where it all started</h2><p>It all started when I was reading a post from Lyn Alden&#8217;s newsletter where she was describing how the overnight financing markets were running into liquidity shortages, and that the Fed would likely begin balance sheet expansion in the not-too-distant future.</p><p>I then thought, <em>&#8220;wow, it&#8217;d be cool if I could track these signals myself in some way, and this data must be public through the FED data&#8221;</em>. </p><p><strong>So I went into Baselight and asked the question that you see in the image below.</strong> Bingo! We had what I needed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2MDR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2MDR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 424w, https://substackcdn.com/image/fetch/$s_!2MDR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 848w, https://substackcdn.com/image/fetch/$s_!2MDR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 1272w, https://substackcdn.com/image/fetch/$s_!2MDR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2MDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png" width="777" height="965" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69ed075f-0650-4448-af81-763a8781168a_777x965.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:965,&quot;width&quot;:777,&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="https://substackcdn.com/image/fetch/$s_!2MDR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 424w, https://substackcdn.com/image/fetch/$s_!2MDR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 848w, https://substackcdn.com/image/fetch/$s_!2MDR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 1272w, https://substackcdn.com/image/fetch/$s_!2MDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69ed075f-0650-4448-af81-763a8781168a_777x965.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://baselight.app/ai/share/2ffbf6b3-8963-49a5-9ccd-a6e4a847158a">I then asked Baselight to make an analysis about recent events where the FED had to step in to inject emergency liquidity into the repo markets. </a>It came up with this cool table and descriptive.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kzf9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kzf9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 424w, https://substackcdn.com/image/fetch/$s_!kzf9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 848w, https://substackcdn.com/image/fetch/$s_!kzf9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 1272w, https://substackcdn.com/image/fetch/$s_!kzf9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kzf9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png" width="770" height="1117" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1117,&quot;width&quot;:770,&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="https://substackcdn.com/image/fetch/$s_!kzf9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 424w, https://substackcdn.com/image/fetch/$s_!kzf9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 848w, https://substackcdn.com/image/fetch/$s_!kzf9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 1272w, https://substackcdn.com/image/fetch/$s_!kzf9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c55caa5-9d9d-4ca5-94a2-5ee86e53b8c6_770x1117.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qVJS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qVJS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 424w, https://substackcdn.com/image/fetch/$s_!qVJS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 848w, https://substackcdn.com/image/fetch/$s_!qVJS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 1272w, https://substackcdn.com/image/fetch/$s_!qVJS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qVJS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png" width="763" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:763,&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="https://substackcdn.com/image/fetch/$s_!qVJS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 424w, https://substackcdn.com/image/fetch/$s_!qVJS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 848w, https://substackcdn.com/image/fetch/$s_!qVJS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 1272w, https://substackcdn.com/image/fetch/$s_!qVJS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F861bde28-4a40-41b0-87e9-2365189f8189_763x1016.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I was doing this analysis between diaper change and diaper change, while having in the back of my mind <strong>the urge to find a better way to handle my personal finances.</strong> Lyn Alden, Ray Dalio, and all these renowned macro investors back their investment decisions and portfolio allocation in a lot of macroeconomic data.</p><p>When it occurred to me. <strong>What if I use claude code to create a financial assistant that helps me make better investment decisions leveraging all the data that we have in Baselight?</strong> </p><p>That is how it all started, by connecting the Baselight MCP to Claude code. Since then, things<a href="https://www.youtube.com/watch?v=EuvVOA8uvsc"> started escalating quickly.</a></p><h2>The Birth of Mr. Malone</h2><p>After the first prompt I quickly realised that I could not only use Claude code connected to Baselight to help me make better financial decisions, I could also provide it with all my financials so that it could help me keep track of them, evaluate together my financial health, and make investment decisions using my own personal context instead of making them in the void. </p><p>I could even use it to track all my historical decisions so in order to help avoid recurrent mistakes <em>(at some point I had a specific notebook for this, I don&#8217;t know where it is anymore. That&#8217;s how that went)</em>.</p><p><strong>That&#8217;s how Mr. Malone was born</strong></p><blockquote><p><em>Note: Indeed, the name of the assistant, Mr. Malone, comes from Kevin Malone, one of the members of the accountant departments at Scranton&#8217;s Dunder Mufflin from The Office (the TV Show).</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hH9o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hH9o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 424w, https://substackcdn.com/image/fetch/$s_!hH9o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 848w, https://substackcdn.com/image/fetch/$s_!hH9o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 1272w, https://substackcdn.com/image/fetch/$s_!hH9o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hH9o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png" width="980" height="551" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:551,&quot;width&quot;:980,&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="https://substackcdn.com/image/fetch/$s_!hH9o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 424w, https://substackcdn.com/image/fetch/$s_!hH9o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 848w, https://substackcdn.com/image/fetch/$s_!hH9o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 1272w, https://substackcdn.com/image/fetch/$s_!hH9o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F992aef54-72f0-4767-a931-7c1ab2d50c9c_980x551.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And here comes the realisation, <strong>why write the code for an assistant, if I could instruct claude code to become the assistant that I need.</strong></p><p>Fine, Claude code is a coding agent but turns out it is general-purpose and customisable enough for you to instruct it to become any kind of specialised agent, provided the right context. <strong>No need for a single line of code</strong>. <strong>Only a descriptive enough <a href="http://claude.md">CLAUDE.md</a> to steer the &#8220;logic&#8221; of the agent.</strong></p><p>Even more, all the persistent data storing the information about my expenses, assets, etc. (i.e. the memory of the agent) can live in a set of markdown files. <strong>No need for a cumbersome and expensive database infrastructure</strong> (or a deep technical background to run it). Many agents already use markdowns or JSONL to store their long-term memory and context. Why not use the same approach for the &#8220;database&#8221; of my agent?</p><p>Implementing agents using English language, a set of markdown files, and in my case an MCP connection to Baselight, has also several interesting consequences.</p><ul><li><p>I can use <strong>git for version control and Github as the hosting service</strong> to sync it among all of my devices.</p></li><li><p>I am currently using Claude code as the &#8220;reasoning machine&#8221; for my agent, <strong>but I could use it with any other agent that supported <a href="http://claude.md">CLAUDE.md</a> (or <a href="http://agents.md">AGENTS.md</a>),</strong> MCP connections, and the tool calls that I needed (that at this point is basically calling Baselight, reading from files, writing to files, and in some exceptional cases web search. Nothing that most agents do not already support).</p></li><li><p><strong>The assistant can run anywhere where Claude code (or other agents) run</strong>: your local device, a sandbox environment in the cloud&#8230; anywhere. And the dependencies are minimal: Claude Code. You pull the repo, you start the agent in that repo, and you are good to go.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BS-I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BS-I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 424w, https://substackcdn.com/image/fetch/$s_!BS-I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 848w, https://substackcdn.com/image/fetch/$s_!BS-I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 1272w, https://substackcdn.com/image/fetch/$s_!BS-I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BS-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png" width="290" height="488" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:488,&quot;width&quot;:290,&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="https://substackcdn.com/image/fetch/$s_!BS-I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 424w, https://substackcdn.com/image/fetch/$s_!BS-I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 848w, https://substackcdn.com/image/fetch/$s_!BS-I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 1272w, https://substackcdn.com/image/fetch/$s_!BS-I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59e9c993-f621-40c4-8c7b-a94d092dfd9a_290x488.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I pasted above the tree of my agent. As you can see, t<strong>he implementation is just a bunch markdown files</strong> with <a href="http://claude.md">CLAUDE.md</a> being the entrypoint of the agent&#8217;s behavior. </p><p>Files like <code>portfolio.yaml</code>, <code>action_plans.md</code> and <code>decisions.yaml</code> <strong>make up the memory of the agent</strong>, and other files like <code>themes.md</code> are used as a way to <strong>extend the core behavior of the agent</strong> to align with my most recent investment theses.</p><p>The operation of these extra files like <code>themes.md</code> is similar to that of Claude skills. For those curious about them, this is the structure that these files currently have.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qWdu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qWdu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 424w, https://substackcdn.com/image/fetch/$s_!qWdu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 848w, https://substackcdn.com/image/fetch/$s_!qWdu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 1272w, https://substackcdn.com/image/fetch/$s_!qWdu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qWdu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png" width="1060" height="590" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:590,&quot;width&quot;:1060,&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="https://substackcdn.com/image/fetch/$s_!qWdu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 424w, https://substackcdn.com/image/fetch/$s_!qWdu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 848w, https://substackcdn.com/image/fetch/$s_!qWdu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 1272w, https://substackcdn.com/image/fetch/$s_!qWdu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f05d00b-bf3f-4816-8a39-0bfaddcffcaa_1060x590.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Apart from these markdown files, the repo only includes a set of scripts used by git push and pull hooks to encrypt sensitive data before pushing it, and conveniently decrypting it when pulling  the repo (all this lives in a private repo, but I am a bit paranoid about privacy. Even more after <a href="https://x.com/peter_szilagyi/status/2020535984148959317">reading this tweet</a>).</p><p>Finally, the <code>queries</code> directory include a set of pre-built SQL queries for the agent to pull the data from Baselight that it recurrently use in order to update <em>&#8220;its view of the economy&#8221;</em>. </p><p>Finally, <code>docs</code> include blog posts, articles and papers from different sources that I want my assistant to keep around and eventually review when making decisions.</p><p>Obviously, <strong>I not only did not write or execute a single line of code to implement my assistant, I also didn&#8217;t write any of these markdown files by hand</strong>. I may have edited a few sentences here and there, but the code was all generated by Claude code.</p><p>Even more, I was driving some of the features in the implementation with the first version of the agent already running, so <strong>Claude code was acting at the same time (and in the same session) as Mr. Malone and my coding agent.</strong> Mixing up the context of the same session for two very distinct purposes may not be the best idea, but I have to admit that the context size of modern models has become large enough not to experience any relevant regression in the agent&#8217;s output by doing this.</p><h2>Mr. Malone In Action</h2><p>Here&#8217;s an example run of Mr. Malone. It first performs a few Baselight queries to build its context, and then generates an output with the analysis. Of course, the analysis is way more extensive and includes a detailed analysis over my portfolio (but I&#8217;ll redact that for now, if you are interested about my allocation and want to discuss investments drop me a message).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0WHA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0WHA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 424w, https://substackcdn.com/image/fetch/$s_!0WHA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 848w, https://substackcdn.com/image/fetch/$s_!0WHA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 1272w, https://substackcdn.com/image/fetch/$s_!0WHA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0WHA!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:820,&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;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0WHA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 424w, https://substackcdn.com/image/fetch/$s_!0WHA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 848w, https://substackcdn.com/image/fetch/$s_!0WHA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 1272w, https://substackcdn.com/image/fetch/$s_!0WHA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6f553e67-35aa-44d4-9590-d065285d1910_2048x1153.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I even have a few recipes baked into Mr.Malone to help me analyse specific economic themes and run recurrent queries in order to build the context with specific knowledge for a decision.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!P1lF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png" data-component-name="Image2ToDOM"><div class="image2-inset image2-full-screen"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!P1lF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 424w, https://substackcdn.com/image/fetch/$s_!P1lF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 848w, https://substackcdn.com/image/fetch/$s_!P1lF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 1272w, https://substackcdn.com/image/fetch/$s_!P1lF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!P1lF!,w_5760,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;full&quot;,&quot;height&quot;:63,&quot;width&quot;:1064,&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;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-fullscreen" alt="" srcset="https://substackcdn.com/image/fetch/$s_!P1lF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 424w, https://substackcdn.com/image/fetch/$s_!P1lF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 848w, https://substackcdn.com/image/fetch/$s_!P1lF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 1272w, https://substackcdn.com/image/fetch/$s_!P1lF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d4856f3-3c3d-4045-ad9c-55c8f307a231_1064x63.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The result of my analysis or investment decisions may generate as an output an <strong>action plan that is stored in memory and taken into account for future decisions and agent interactions.</strong> I can easily review my action plans through the <code>/action-plan</code> recipe as you (see image below).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WL6B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WL6B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 424w, https://substackcdn.com/image/fetch/$s_!WL6B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 848w, https://substackcdn.com/image/fetch/$s_!WL6B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 1272w, https://substackcdn.com/image/fetch/$s_!WL6B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WL6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png" width="1116" height="303" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c39b8478-b6d7-4038-9767-c2958776511a_1116x303.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:303,&quot;width&quot;:1116,&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="https://substackcdn.com/image/fetch/$s_!WL6B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 424w, https://substackcdn.com/image/fetch/$s_!WL6B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 848w, https://substackcdn.com/image/fetch/$s_!WL6B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 1272w, https://substackcdn.com/image/fetch/$s_!WL6B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc39b8478-b6d7-4038-9767-c2958776511a_1116x303.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I could also go into the process of feeding portfolio and expense updates to Mr. Malone, but I don&#8217;t want to make this too long. </p><p><strong>I am considering to, at some point, remove all  private info, generalise the repo, and fully open-source Mr. Malone for everyone to benefit from it. Again, if this is in any way of your interest let me know.</strong></p><h2>Agents will make code and applications obsolete</h2><p>This unplanned experiment with Mr.Malone made me realise something about the future of AI: <strong>it may not only make code but also applications obsolete.</strong> </p><p>I just needed an interface to an intelligent agent with enough customisation capabilities to get a computer run the logic that I needed. It all boiled down to:</p><ul><li><p>A reasoning machine.</p></li><li><p>The right instructions to steer &#8220;the logic&#8221;</p></li><li><p>The right context and data sources <em>(this is why Baselight is great :) )</em></p></li><li><p>The required (and ideally minimal) connections needed for its operation.</p></li></ul><p>Many of you may counter-argue, <em>&#8220;sure, you haven&#8217;t written (or executed) a single line of code, but you still need a terminal and the application is essentially a cli&#8221;.</em></p><p><strong>But this is just a consequence of the environment (let&#8217;s call it runtime) where the reasoning machine that I am using is running.</strong> Soon, we will get the equivalent of claude code with a graphical user interface where one of its &#8220;tool calls&#8221; or &#8220;connections to the environment&#8221; is to depict graphical artifacts. </p><p>What the hell, Claude and ChatGPT already do that on their apps, and we make beautiful charts on Baselight, so it would be quite straightforward to add that to Claude Code or Mr. Malone. Actually, I may even be able to run Mr. Malone directly in ChatGPT and Claude out-of-the-box (I&#8217;ll try this and report back).</p><p><strong>And then, why would one need to implement an application in the first place if it could have an agent do what they needed? </strong>Sure, LLMs are a bit unreliable, they hallucinate, and they are stochastic machines and there are things for which we need deterministic outputs. But LLMs are becoming smart enough that with the right tricks you can steer their behavior to be close to that of the deterministic logic of an application.</p><p>As I was working on Mr. Malone and writing this post, I couldn&#8217;t get out of my head this LLM OS image used by to describe his idea of Software 3.0.</p><p>LLM OSes are not only a reality now (we tend to call them agents now), but we are reaching a point where everything may be running as an LLM OS.</p><p>English really is the hottest programming language. And Mr. Malone is just the beginning.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cVz5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cVz5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 424w, https://substackcdn.com/image/fetch/$s_!cVz5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 848w, https://substackcdn.com/image/fetch/$s_!cVz5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 1272w, https://substackcdn.com/image/fetch/$s_!cVz5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cVz5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png" width="1456" height="967" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:967,&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="https://substackcdn.com/image/fetch/$s_!cVz5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 424w, https://substackcdn.com/image/fetch/$s_!cVz5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 848w, https://substackcdn.com/image/fetch/$s_!cVz5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 1272w, https://substackcdn.com/image/fetch/$s_!cVz5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc559d88c-47e7-4835-8d48-fbe299cdecf0_1722x1144.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item></channel></rss>