<?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[AI for Software Engineers]]></title><description><![CDATA[Teaching engineers deep AI with a focus on infrastructure, operations, and engineering.]]></description><link>https://www.aiforswes.com</link><image><url>https://substackcdn.com/image/fetch/$s_!5jDe!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F667233e2-8e44-4fda-a882-db68801c3736_500x500.png</url><title>AI for Software Engineers</title><link>https://www.aiforswes.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 24 Jun 2026 01:07:41 GMT</lastBuildDate><atom:link href="https://www.aiforswes.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Logan Thorneloe]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[aiforswes@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[aiforswes@substack.com]]></itunes:email><itunes:name><![CDATA[Logan Thorneloe]]></itunes:name></itunes:owner><itunes:author><![CDATA[Logan Thorneloe]]></itunes:author><googleplay:owner><![CDATA[aiforswes@substack.com]]></googleplay:owner><googleplay:email><![CDATA[aiforswes@substack.com]]></googleplay:email><googleplay:author><![CDATA[Logan Thorneloe]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How to Know What to Learn in AI]]></title><description><![CDATA[There's a disconnect in AI as far back as knowing what to learn&#8212;this is how to overcome it]]></description><link>https://www.aiforswes.com/p/how-to-know-what-to-learn-in-ai</link><guid isPermaLink="false">https://www.aiforswes.com/p/how-to-know-what-to-learn-in-ai</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 18 Jun 2026 14:02:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ecwv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.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_!Ecwv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ecwv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ecwv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ecwv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ecwv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ecwv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bc56758-2b8a-4aac-8000-27e8781ba09c_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;:768132,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/202133767?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.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_!Ecwv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ecwv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ecwv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ecwv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc56758-2b8a-4aac-8000-27e8781ba09c_1280x720.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><em>I added a &#8216;Self and Career&#8217; section to the newsletter. Those articles will be primarily non-technical and will go out two weeks early to paid subscribers. Thank you for your support!</em></p><p>Things are moving so quickly in AI it can tough to know what topics to learn, what&#8217;s important, and what to focus on. Part of this newsletter is sharing that with you along &#8230;</p>
      <p>
          <a href="https://www.aiforswes.com/p/how-to-know-what-to-learn-in-ai">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Can We Run Data Centers in Space?]]></title><description><![CDATA[An overview of the engineering reality of the moonshot and what's going on with energy consumption on Earth]]></description><link>https://www.aiforswes.com/p/can-we-run-data-centers-in-space</link><guid isPermaLink="false">https://www.aiforswes.com/p/can-we-run-data-centers-in-space</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 10 Jun 2026 14:00:44 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Y836!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.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_!Y836!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y836!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Y836!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Y836!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Y836!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y836!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d3e5ee8-d09d-40b1-b720-45122f2ae804_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;:989927,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/201398604?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.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_!Y836!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Y836!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Y836!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Y836!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d3e5ee8-d09d-40b1-b720-45122f2ae804_1280x720.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&#8217;ve been thinking a lot recently about the efforts to get data centers into space. Specifically, I wanted to understand the motive of doing so, the practical blockers of making it happen, and, most importantly, <strong>whether or not it&#8217;s actually possible</strong>.</p><p>In this article, I cover this in three parts:</p><ol><li><p>Understanding the current state of power consumption by data centers and the projections for future requirements. This will focus on understanding the power crisis at large and why power is <em>the</em> fundamental blocker to AGI.</p></li><li><p>Looking into the theory behind the moonshot of getting data centers in space and why it&#8217;s appealing.</p></li><li><p>Identifying the blockers for getting these data centers operational in orbit and the research and engineering advancements necessary to make it happen.</p></li></ol><p>If you want a quick tl;dr, it&#8217;s very possible space-based data centers are the future of AI development for Earth, but this is a moonshot idea. This means there are underlying theories to show it&#8217;s theoretically possible, but there are many potential blockers that need to be removed. Moonshot ideas often take ten to fifteen years to materialize (if they materialize at all) and have significant payoff.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">AI for Software Engineers is a reader-supported publication. Consider becoming a subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Energy consumption on Earth</h2><p>There are many blockers to getting superintelligent AI into the hands of all people. The most important of which goes beyond research and infrastructure: <strong>Power</strong>.</p><p>AI is fundamentally an energy problem. Training and serving models at scale necessitates incredible power consumption and will grow (likely exponentially) as AI usage grows, the number of models trained grows, and the requirements to run those models increases.</p><p>Data centers are being built at an unprecedented rate and there&#8217;s concern we won&#8217;t be able to meet the energy requirements for running them. This concern is both in the near-term, where we potentially can&#8217;t build utilities fast enough, and in the long-term, where we can&#8217;t harness enough energy to power them in general.</p><p>To better understand current power consumption, we&#8217;ll review key metrics from the <a href="https://powering-intelligence.epri.com/">Powering Intelligence 2026</a> report. This report provides insight into current and projected energy needs for utility companies. For the purposes of this section, our metrics will focus on US data center power use as I find it not only indicative of data centers around the world, but also at the forefront of data center construction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XyLy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XyLy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 424w, https://substackcdn.com/image/fetch/$s_!XyLy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 848w, https://substackcdn.com/image/fetch/$s_!XyLy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 1272w, https://substackcdn.com/image/fetch/$s_!XyLy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XyLy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png" width="1456" height="811" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:811,&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_!XyLy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 424w, https://substackcdn.com/image/fetch/$s_!XyLy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 848w, https://substackcdn.com/image/fetch/$s_!XyLy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.png 1272w, https://substackcdn.com/image/fetch/$s_!XyLy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F71b809ac-f35b-4984-beff-6319a370a08a_1862x1037.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">Sourced from the Power Intelligence 2026 report <a href="https://powering-intelligence.epri.com/executive-summary.html">executive summary</a>. Inner circles show capacity in 2021 (gray) and 2024 (blue). Outer band shows scenario range of projected capacity in 2030 (orange).</figcaption></figure></div><p>I highly suggest <a href="https://powering-intelligence.epri.com/executive-summary.html">reading the executive summary</a> for the report to get a better picture. Here are metrics to keep in mind when considering the future of data center consumption:</p><ul><li><p>Data centers currently consume <strong>5% of total US electricity</strong>. By 2030, this is expected to <strong>be upward of 17%</strong>.</p></li><li><p>AI workloads account for <strong>approximately 25% of data center electricity use</strong>. This comes out to around 192 terawatt hours.</p></li><li><p>By 2030, US data center consumption is projected to be <strong>up to 790 terawatt hours</strong>, which marks <strong>a 4x increase in a few years</strong>.</p></li><li><p>This increase is driven by AI workloads which require significantly more power than traditional data center use cases (streaming, communications, etc.).</p></li><li><p>A typical new data center requires power equivalent to that of a new neighborhood housing at least <strong>80,000 and up to 800,000 homes</strong>.</p></li><li><p><strong>Some states see data centers consume nearly 20% of their power</strong> (Virginia, currently) and many are projected to reach that point by 2030 (Iowa, Oregon, Nebraska, and Arizona, for example).</p></li><li><p>Concentrated compute requires an enormous amount of cooling, causing cooling to <strong>increase</strong> <strong>a data center&#8217;s power requirements by up to 40%</strong>.</p></li><li><p>Forecasted energy demand will be met primarily via natural gas.</p></li></ul><p>The most important takeaways are understanding the current power consumption of a data center and the rate at which this is expected to increase. By my estimates, consumption will likely increase faster than these projections. This report takes current construction plans into account, but doesn&#8217;t dig deeper into how advancements in AI will increase these numbers. We&#8217;re likely to see different power requirements due to:</p><ol><li><p>An increase in usage</p></li><li><p>New model architectures</p></li><li><p>The training and serving more models</p></li><li><p>Scaling models up</p></li></ol><p>In short, power will quickly be the bottleneck for general intelligence. Construction of data centers in orbit is one of the proposed methods to fix this bottleneck.</p><p>If you want to learn more about the current state of power consumption, read the <a href="https://powering-intelligence.epri.com/">Powering Intelligence 2026</a>.</p><h2>Why send the data centers to space</h2><p>One of the moonshot ideas coming out of multiple companies to combat the power consumption issue is to put data centers in space. The primary motivating factor is harnessing more of the energy given off by the sun.</p><blockquote><p>&#8220;The only place you can really scale is space. Once you start thinking in terms of what percentage of the Sun&#8217;s power you are harnessing, you realize you have to go to space.&#8221; - Elon Musk</p></blockquote><p>This is explained well by Elon Musk in <a href="https://www.dwarkesh.com/p/elon-musk">an interview with Dwarkesh Patel</a> where he explains SpaceX&#8217;s motivation for getting data centers into orbit and the path forward for doing so. I highly recommend watching the entire thing, but the clip attached to this tweet (Substack doesn&#8217;t load even a media preview, for some reason) is particularly insightful:</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/loganthorneloe/status/2064014635389358113&quot;,&quot;full_text&quot;:&quot;\&quot;Those who have lived in software land don&#8217;t realize they&#8217;re about to have a hard lesson in hardware.\&quot;\n\nSuperintelligent systems don't mean anything if we can't power them.\n\nDatacenters in space solve the biggest bottleneck in AI: power.&quot;,&quot;username&quot;:&quot;loganthorneloe&quot;,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2059457194433605636/daUNXjH8_normal.jpg&quot;,&quot;date&quot;:&quot;2026-06-08T16:00:11.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{&quot;full_text&quot;:&quot;&quot;,&quot;username&quot;:&quot;elonmusk&quot;,&quot;name&quot;:&quot;Elon Musk&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2053244804520427520/m8mdWZCG_normal.jpg&quot;},&quot;reply_count&quot;:0,&quot;retweet_count&quot;:0,&quot;like_count&quot;:1,&quot;impression_count&quot;:203,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Simplified, Elon lists the following benefits for putting data centers into space:</p><ol><li><p><strong>Constantly harnessing solar energy</strong>. On Earth, we deal with a day-and-night cycle and atmospheric factors that block solar arrays from constantly harnessing energy. In space, these don&#8217;t exist and energy can be harnessed constantly. This harnessed energy will be used to run the data centers.</p></li><li><p><strong>Less infrastructure for the solar cells to provide energy</strong>. This includes batteries to deal with the lack of sun exposure at night, protective casing to protect from atmospheric events, and more. This makes the solar arrays significantly less expensive when utilized in space.</p></li><li><p><strong>Regulatory slow-downs are removed</strong>. It&#8217;s incredibly difficult to make a deal with utility providers on Earth for many reasons. This significantly slows down the velocity of energy production.</p></li></ol><p>Whether you love or hate Elon, I&#8217;ve found him to be good at understanding the problem space he works in&#8212;he just tends to be aggressive with his time estimates for technologies to be brought to production. While he puts a target timeline at 30-36 months before it becomes economically feasible, a <a href="https://research.google/blog/exploring-a-space-based-scalable-ai-infrastructure-system-design/">Google study</a> puts it much further out and closer to the mid-2030s (see the next section).</p><p>If you want to learn more about the motivation behind SpaceX sending data centers to space, I suggest watching the entire podcast:</p><div class="embedded-post-wrap" data-attrs="{&quot;id&quot;:186967347,&quot;url&quot;:&quot;https://www.dwarkesh.com/p/elon-musk&quot;,&quot;publication_id&quot;:69345,&quot;publication_name&quot;:&quot;Dwarkesh Podcast&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!QEPJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90fa9666-5b8b-4685-a8fb-4b64cb7e0333_1080x1080.png&quot;,&quot;title&quot;:&quot;Elon Musk &#8212; \&quot;In 36 months, the cheapest place to put AI will be space&#8221;&quot;,&quot;truncated_body_text&quot;:null,&quot;date&quot;:&quot;2026-02-05T16:45:08.018Z&quot;,&quot;like_count&quot;:474,&quot;comment_count&quot;:205,&quot;bylines&quot;:[{&quot;id&quot;:4281466,&quot;name&quot;:&quot;Dwarkesh Patel&quot;,&quot;handle&quot;:&quot;dwarkesh&quot;,&quot;previous_name&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5eJb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb715ffd1-f7d7-4755-af88-c48efe647f5b_400x400.jpeg&quot;,&quot;bio&quot;:&quot;Host of Dwarkesh Podcast&quot;,&quot;profile_set_up_at&quot;:&quot;2021-06-09T22:58:10.864Z&quot;,&quot;reader_installed_at&quot;:&quot;2022-04-03T20:37:19.142Z&quot;,&quot;publicationUsers&quot;:[{&quot;id&quot;:246192,&quot;user_id&quot;:4281466,&quot;publication_id&quot;:69345,&quot;role&quot;:&quot;admin&quot;,&quot;public&quot;:true,&quot;is_primary&quot;:true,&quot;publication&quot;:{&quot;id&quot;:69345,&quot;name&quot;:&quot;Dwarkesh Podcast&quot;,&quot;subdomain&quot;:&quot;dwarkesh&quot;,&quot;custom_domain&quot;:&quot;www.dwarkesh.com&quot;,&quot;custom_domain_optional&quot;:false,&quot;hero_text&quot;:&quot;Deeply researched interviews&quot;,&quot;logo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/90fa9666-5b8b-4685-a8fb-4b64cb7e0333_1080x1080.png&quot;,&quot;author_id&quot;:4281466,&quot;primary_user_id&quot;:4281466,&quot;theme_var_background_pop&quot;:&quot;#D10000&quot;,&quot;created_at&quot;:&quot;2020-07-18T16:36:25.723Z&quot;,&quot;email_from_name&quot;:&quot;Dwarkesh Patel&quot;,&quot;copyright&quot;:&quot;Dwarkesh Patel&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;:null,&quot;is_personal_mode&quot;:false,&quot;logo_url_wide&quot;:null}}],&quot;twitter_screen_name&quot;:&quot;dwarkesh_sp&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100,&quot;status&quot;:{&quot;bestsellerTier&quot;:100,&quot;subscriberTier&quot;:5,&quot;leaderboard&quot;:null,&quot;vip&quot;:false,&quot;badge&quot;:{&quot;type&quot;:&quot;bestseller&quot;,&quot;tier&quot;:100},&quot;subscriber&quot;:null}}],&quot;utm_campaign&quot;:null,&quot;belowTheFold&quot;:true,&quot;type&quot;:&quot;podcast&quot;,&quot;language&quot;:&quot;en&quot;,&quot;source&quot;:null}" data-component-name="EmbeddedPostToDOM"><a class="embedded-post" native="true" href="https://www.dwarkesh.com/p/elon-musk?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_!QEPJ!,w_56,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F90fa9666-5b8b-4685-a8fb-4b64cb7e0333_1080x1080.png" loading="lazy"><span class="embedded-post-publication-name">Dwarkesh Podcast</span></div><div class="embedded-post-title-wrapper"><div class="embedded-post-title-icon"><svg width="19" height="19" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
  <path d="M3 18V12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.3869 3 16.6761 3.94821 18.364 5.63604C20.0518 7.32387 21 9.61305 21 12V18" stroke-linecap="round" stroke-linejoin="round"></path>
  <path d="M21 19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H18C17.4696 21 16.9609 20.7893 16.5858 20.4142C16.2107 20.0391 16 19.5304 16 19V16C16 15.4696 16.2107 14.9609 16.5858 14.5858C16.9609 14.2107 17.4696 14 18 14H21V19ZM3 19C3 19.5304 3.21071 20.0391 3.58579 20.4142C3.96086 20.7893 4.46957 21 5 21H6C6.53043 21 7.03914 20.7893 7.41421 20.4142C7.78929 20.0391 8 19.5304 8 19V16C8 15.4696 7.78929 14.9609 7.41421 14.5858C7.03914 14.2107 6.53043 14 6 14H3V19Z" stroke-linecap="round" stroke-linejoin="round"></path>
</svg></div><div class="embedded-post-title">Elon Musk &#8212; "In 36 months, the cheapest place to put AI will be space&#8221;</div></div><div class="embedded-post-cta-wrapper"><div class="embedded-post-cta-icon"><svg width="32" height="32" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
  <path classname="inner-triangle" d="M10 8L16 12L10 16V8Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg></div><span class="embedded-post-cta">Listen now</span></div><div class="embedded-post-meta">5 months ago &#183; 474 likes &#183; 205 comments &#183; Dwarkesh Patel</div></a></div><h2>What makes space difficult</h2><p>To understand the significant blockers, we&#8217;ll take a look at <a href="https://research.google/blog/exploring-a-space-based-scalable-ai-infrastructure-system-design/">Google Research&#8217;s preliminary research</a> into the most key potential problems and what they found. Google Research completed many simulations to better understand the limitations of space-based data centers and plan to launch satellites at a small scale sometime in 2027 to start testing their theory in space.</p><p>Below are the primary blockers Google Research found and their potential solutions where applicable. I&#8217;ve included these in the order I feel to be most significant to least significant blocker.</p><h3>1. Thermal Retention</h3><p>The biggest difficulty lies in cooling. On Earth, we cool data centers via a combination of air and water cooling. In Space, there isn&#8217;t an atmosphere to do so. The only way to dissipate heat is via radiative cooling which is highly inefficient. Essentially, all data centers in space would need massive metal plates to cool themselves. These heat from the data centers would use these plates to transfer from the data center.</p><p>Google is still researching this and doesn&#8217;t include a solution in their write-up. Some of the solutions to thermal retention I&#8217;ve seen are researching chip designs that can run at a higher temperature so they don&#8217;t require as much heat dissipation and making smaller interconnected satellites so each satellite doesn&#8217;t generate too much heat potentially making it easier to dissipate.</p><p>Furthermore, because manual hardware replacement is impossible in space, the system requires redundant provisioning and fault-tolerant networking software to manage hardware failures. This area needs to be further explored because heat dissipation is a difficult problem on Earth and only becomes more difficult in space.</p><h3>2. Space Radiation</h3><p>Earth&#8217;s atmosphere and magnetic field largely protect us from space radiation. As we put data centers in orbit, we need a way to protect them from radiation as necessary to ensure they compute properly.</p><p>Google tested TPU resiliency to radiation by blasting TPUs with a proton beam. It showed high bandwidth memory to be the most sensitive component and susceptible to random bit flips caused by radiated ions. They found irregularities to show after a cumulative dose of 2 krad or three times the expected dose of a five-year space mission.</p><p>In Elon Musk&#8217;s explanation of data centers in space, he mentions that LLMs with trillions of parameters are resilient to random bit flips because a single bit flip shouldn&#8217;t affect model output. Intuitively, this makes sense; however, much of data center infrastructure code is still traditional programs with heuristic logic. A single bit flip in those programs can result in unforeseen bugs or complete system failures. Additionally, it&#8217;s possible future large AI model architectures won&#8217;t be quite as resilient.</p><p>Radiation effects manifest as memory irregularities, uncorrectable errors, and silent data corruption that threaten model training accuracy and operational stability. In order to create reliable data centers, the impact of space radiation must be understood or silent failures could render data centers useless.</p><p><em>I find space radiation itself to be fascinating, if you&#8217;re interested you can learn more about it <a href="https://www.nasa.gov/missions/analog-field-testing/why-space-radiation-matters/">here</a>.</em></p><h3>3. Ground Communication</h3><p>The large majority of AI computation performed in data centers is inference. A key requirement for a great AI user experience is fast inference. A user needs to prompt the model and get results in a timely fashion. Orbital data centers must deliver the same speeds to be as effective as their Earth-bound counterparts.</p><p>Google Research acknowledges this as one the most pressing and difficult engineering challenges to achieve orbital data centers. Google is partnering with <a href="https://www.planet.com/">Planet</a> to better understand how this can be done.</p><p>The satellites launched in 2027 will be used to validate communication between satellites (see the next section) and communicate between communication clusters and the ground.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f8a3646b-39f0-4d3f-a989-007cddc83b44&quot;,&quot;duration&quot;:null}"></div><p style="text-align: center;"><em>Pulled from <a href="https://research.google/blog/exploring-a-space-based-scalable-ai-infrastructure-system-design/">Google Research&#8217;s blog post</a>. Evolution of a free-fall (&#8220;no thrust&#8221;) constellation under Earth&#8217;s gravitational attraction, modeled to the level of detail required to obtain sun-synchronous orbits, in a non-rotating coordinate system, relative to a central reference satellite S0. Arrow points towards Earth&#8217;s center. Magenta: nearest neighbors of satellite S0. Orange: Example "peripheral" satellite S1. Orange dashed: S1&#8217;s positions relative to the cluster center (in the non-rotating coordinate frame).</em></p><h3>4. Fleet Control</h3><p>The primary motivator for large-scale data centers on the Earth is the ability for compute clusters to communicate with one another across high-bandwidth cables for fast communication. To replicate this communication speed, satellites in space must communicate at tens of terabits of data per second, meaning their communication must be tens of thousands of times higher than typical long-range deployments. In practice, this means they must fly just hundreds of meters apart.</p><p>This introduces an orbital dynamics problem: satellites must remain in position with another in low-altitude orbit. Due to atmospheric drag and the non-spherical shape of Earth&#8217;s gravitational pull, these satellites could drift out of alignment and sever their high-speed connections.</p><p>Additionally, to get the most benefit out of data centers in space, the orbit of these satellites must remain within direct sunlight. This means the cluster of satellites must follow a specific orbital path around the Earth to maximize benefit, further restricting their potential orbital patterns.</p><p>Google ran many numerical calculations to understand this orbital pattern and found that the cluster of satellites would need to be capable of station-keeping maneuvers to maintain their proper placement. Luckily, these maneuvers would be slight and remain in the realm of possibility.</p><p><em>If you want to understand more about data centers on Earth, check out my recent article on Decoupled DiLoCo, Google&#8217;s algorithm for asynchronous model training across regions:</em></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7c20e06c-20e9-4abf-8b4f-07ca4303a046&quot;,&quot;caption&quot;:&quot;Large-scale LLM pretraining is a notoriously complex and resource-intensive process. Training these models can involve up to hundreds of thousands of AI accelerators being colocated. This physical requirement ensures high-bandwidth cabling can connect these accelerators, enabling low-latency communication between them.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Decoupled DiLoCo: How Google Is Enabling Multi-Region, Distributed LLM Pretraining&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;ML infra &amp; agents at Google. Pragmatic Optimist. Helping engineers understand AI.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d4c900b-c6e4-41d1-bf81-c7bb3794c6e3_500x500.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-04-30T14:02:25.726Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ov0f!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6484f879-5544-4a21-8e69-934020be14c0_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/decoupled-diloco&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:195921407,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5jDe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F667233e2-8e44-4fda-a882-db68801c3736_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>5. Economic Feasibility</h3><p>Historically, the cost of launching a single payload into space has been prohibitively expensive. However, Google&#8217;s own simulations have found that by the mid-2030s, launching payloads into space could be as inexpensive as $200 per kilogram (currently around $3600 per kilogram using the reusable configuration of SpaceX&#8217;s Falcon 9). This relies on the commercial space industry maintaining its current learning rate and the ability to reuse rocket boosters.</p><p>At that cost, space operations become much more economically feasible to the point where launching and maintaining an orbital data center becomes comparable to the costs of running a data center on Earth. This would make orbital data centers a more economically feasible alternative to Earth-based compute. This doesn&#8217;t align with Elon Musk&#8217;s timeline of 30-36 months, but much of this timeline depends on the research and development of the commercial industry.</p><p>Economic feasibility also depends on the reliability of GPUs and other necessary compute infrastructure. When GPUs fail in space, there&#8217;s no good way to service them. If it&#8217;s necessary to construct the infrastructure for humans to man these stations or visit them to fix infrastructure, economic feasibility needs to be reassessed.</p><div><hr></div><p>In conclusion, orbital data centers are a moonshot venture. While they&#8217;re theoretically possible and majorly beneficial, there are significant technical and physical hurdles that need to be overcome with further research and experimentation.</p><p>If you&#8217;re interested in learning more, please check out the following resources:</p><ul><li><p>The <a href="https://powering-intelligence.epri.com/">Powering Intelligence 2026</a> report to understand current utility demands.</p></li><li><p>The <a href="https://www.dwarkesh.com/p/elon-musk">Dwarkesh Podcast</a> with Elon Musk discussing orbital data centers.</p></li><li><p>Google Research&#8217;s preliminary work validating the feasibility of orbital data centers (<a href="https://research.google/blog/exploring-a-space-based-scalable-ai-infrastructure-system-design/">blog post</a> and <a href="https://arxiv.org/pdf/2511.19468">paper</a>).</p></li><li><p>More <a href="https://www.nasa.gov/missions/analog-field-testing/why-space-radiation-matters/">information on space radiation</a> from NASA.</p></li><li><p>My previous <a href="https://www.aiforswes.com/p/decoupled-diloco">article on Decoupled DiLoCo</a> to understand AI infra and how Google is making it asynchronous.</p></li></ul><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/can-we-run-data-centers-in-space?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/can-we-run-data-centers-in-space?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Don't Tokenmax—Do This Instead]]></title><description><![CDATA[Dispelling the myth that more tokens = better productivity]]></description><link>https://www.aiforswes.com/p/the-real-way-to-make-agentic-development</link><guid isPermaLink="false">https://www.aiforswes.com/p/the-real-way-to-make-agentic-development</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 07 May 2026 16:40:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!m-lf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.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_!m-lf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m-lf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!m-lf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!m-lf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!m-lf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m-lf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0096fdfe-e028-41f8-9647-51ef5bd7c3b7_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;:319068,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/196799289?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.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_!m-lf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!m-lf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!m-lf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!m-lf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0096fdfe-e028-41f8-9647-51ef5bd7c3b7_1280x720.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>There&#8217;s been an interesting push recently for &#8220;tokenmaxxing&#8221;, or the idea that burning through more tokens means an engineer has been more productive. The thought process is more tokens mean more AI use, which means getting more done and saving more time.</p><p>In reality, the number of tokens used is a development velocity metric similar to measuring lines of code written: It&#8217;s not only inaccurate, but can actually be measuring the opposite: a decrease in development velocity. For more on measuring developer velocity via lines of code, read <a href="https://www.folklore.org/Negative_2000_Lines_Of_Code.html">-2000 Lines of Code</a>.</p><p>Measuring tokens used results in a manifestation of Goodhart&#8217;s Law: &#8220;When a measure becomes a target, it ceases to be a good measure&#8221;. This creates a utility gap in what the measurement actually produces: Users prioritize models that burn tokens, redundant context over precise requests, and unnecessary agentic use for small work. Instead of engineers using proper techniques to be more productive with AI tools, they measure their productivity with <a href="https://fortune.com/2026/04/09/meta-killed-employee-ai-token-dashboard/">how high up they are on a token spending leaderboard</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1ZDq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1ZDq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 424w, https://substackcdn.com/image/fetch/$s_!1ZDq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 848w, https://substackcdn.com/image/fetch/$s_!1ZDq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 1272w, https://substackcdn.com/image/fetch/$s_!1ZDq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1ZDq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png" width="1196" height="668" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:668,&quot;width&quot;:1196,&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_!1ZDq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 424w, https://substackcdn.com/image/fetch/$s_!1ZDq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 848w, https://substackcdn.com/image/fetch/$s_!1ZDq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.png 1272w, https://substackcdn.com/image/fetch/$s_!1ZDq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb9386c5-5004-41de-ad1e-d8c419fb96b7_1196x668.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>My experience has shown the opposite of tokenmaxxing (which I like to call &#8220;tokenminning&#8221;) is ideal for high velocity agentic development work. I&#8217;ve found my token use to directly correlate with the time I spend on a feature. If my agent is burning tokens, it generally means more time spent by me monitoring and reviewing that agent&#8217;s progress. This is directly contrary to the primary goal of agentic development tools: <strong>Enable engineers to accomplish more in less time</strong>.</p><p>To achieve this goal, it&#8217;s key to rely less on agent reasoning and ludicrous token spend and instead focus on a structured, well-thought-out engineering process that makes it easier for the coding agent to understand your request and adhere to it.</p><p>In this article, I cover topics to help you make your agentic development faster. We&#8217;ll go over:</p><ul><li><p>My 3 tips for making agentic development use less of your time.</p></li><li><p>The tip I think is less helpful than most make it out to be.</p></li><li><p>A better measurement for agentic development velocity.</p></li></ul><div><hr></div><p>If you really want to get deeper into proper agentic development, <strong>don&#8217;t miss Packt&#8217;s Hands-on Spec-Driven Development Workshop coming up on May 14th.</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_!DXUq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DXUq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 424w, https://substackcdn.com/image/fetch/$s_!DXUq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 848w, https://substackcdn.com/image/fetch/$s_!DXUq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 1272w, https://substackcdn.com/image/fetch/$s_!DXUq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DXUq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png" width="600" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:600,&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_!DXUq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 424w, https://substackcdn.com/image/fetch/$s_!DXUq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 848w, https://substackcdn.com/image/fetch/$s_!DXUq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.png 1272w, https://substackcdn.com/image/fetch/$s_!DXUq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0146a083-d954-4446-aba6-7d6d819ce7ee_600x300.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 is a hands-on workshop that teaches you how to be more consistent when building with AI via spec-driven development. You&#8217;ll create a real application while learning how to define clear specs, guide AI reliably, and reduce rework.</p><p>This is the second cohort for this workshop after the first sold out. <strong>There are only 8 spots left. <a href="https://www.eventbrite.co.uk/e/hands-on-spec-driven-development-workshop-cohort-2-tickets-1985498625838?aff=logan">Secure your spot now</a> and get 45% off with code LOG45.</strong></p><p>I highly recommend Packt&#8217;s education resources so I&#8217;m excited to bring this discounted opportunity to you. The above is an affiliate link to help support the newsletter at no extra cost to you.</p><div><hr></div><h2>My top three tips</h2><p>From working with agents both in and outside of work, here are my top three tips for making your agentic development workflow <em>faster for you</em>. The primary focus of these tips is on saving your time instead of token costs for your company.</p><p>Below are also great tips for anyone building agents. Among other things, agents are fundamentally a context engineering problem. When you&#8217;re working with AI coding tools, you&#8217;re curating that context in real time.</p><h3>1. Use smarter models</h3><p>Ever since <a href="https://x.com/bcherny/status/2007179838864666847">Boris Cherny explained that he only uses Opus</a> for software development at Anthropic back in January, I&#8217;ve been trying to do the same with my own agentic development.</p><p>His thesis is using a larger model and spending more per token results in far less overall token use than using a smaller model on the same task. The smaller model requires more steering and rework, resulting in tokenmaxxing and costs more overall in the long run than using the more expensive model per token.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1S4J!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1S4J!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 424w, https://substackcdn.com/image/fetch/$s_!1S4J!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 848w, https://substackcdn.com/image/fetch/$s_!1S4J!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 1272w, https://substackcdn.com/image/fetch/$s_!1S4J!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1S4J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png" width="1196" height="620" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/89da8d49-8668-4fad-b972-acce103398c3_1196x620.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:620,&quot;width&quot;:1196,&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_!1S4J!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 424w, https://substackcdn.com/image/fetch/$s_!1S4J!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 848w, https://substackcdn.com/image/fetch/$s_!1S4J!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.png 1272w, https://substackcdn.com/image/fetch/$s_!1S4J!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89da8d49-8668-4fad-b972-acce103398c3_1196x620.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 proper agentic development, I&#8217;ve also found this to indeed be the case. Laying out requirements and setting up proper architecture is much more easily done with a more intelligent model with reasoning capabilities. It not only improves spending as mentioned above, it also decreases the time an engineer spends correcting the model. While this might seem contrary to tokenminning philosophy, it actually supports it in the long run.</p><p>A tip I&#8217;ve frequently seen shared to get better cost-performance from agentic tools is to route models according to the task. The advice to &#8216;use a smaller model when performing a simple task&#8217; is something I recommend against.</p><p>This is a very hard problem space. It&#8217;s very difficult to reliably predict which tasks a small model will be able to do on its own and which a larger model is needed for. I&#8217;ve used automated model routing for many tasks and can immediately tell when a small model has been prioritized. Even on teams that have the data necessary to make these decisions, model routing is difficult.</p><p>I recommend using larger, smarter models whenever possible as the time and cost trade-off in the end is worth it. One exception to this rule is for hobbyist projects. In that case, I recommend using whatever you want. Small models are often good enough in that environment and spending $100/mo on a subscription isn&#8217;t worth it.</p><p>See my article on that here:<br><br></p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d89bdbe8-3161-41f7-b858-a28d8534b157&quot;,&quot;caption&quot;:&quot;[Edit 1] This article has been edited after initial release for clarity. Both the tl;dr and the end section have added information.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;[Revised] You Don&#8217;t Need to Spend $100/mo on Claude Code: Your Guide to Local Coding Models&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;ML infra &amp; agents at Google. I break down AI concepts every engineer should understand.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6da19a3b-49bd-4488-bdba-e7c21d45edd7_2048x2048.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-20T14:55:12.022Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!fARn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182132050,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:59,&quot;comment_count&quot;:20,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zxAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b5b71b6-d4c9-4b65-9e4e-e3e700e2421e_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h3>2. Be precise</h3><p>The biggest downfall of coding agents is that they try to do too much. I&#8217;ve seen this manifest in random changes being made to unrelated files when an agent works on a task, an agent going beyond its current work on future tasks without being provided permission to do so, an agent repeating already finished work, and agents running unnecessary CLI commands in the midst of a task.</p><p>My biggest quality of life gain has been reining in these models to ensure they aren&#8217;t going off the rails. This is a harder task than it seems, but the best way to go about this is to be very precise in your requests to the agent and the environment you set up for them to work in.</p><p>Here are the considerations I take to be more precise:</p><ol><li><p><strong>Do some engineering before you start coding</strong>. Understand the problem and the code that needs to be written so you can properly direct the agent in the tasks it needs to do. You should know what needs to be done before the agent starts working. If you want to better understand how to do this, check out the workshop above.</p></li><li><p><strong>Scope your requests to the agent to manageable tasks</strong>. Agents tend to go off the rails when you give it too much freedom to interpret implementation details. Be explicit about what you want the agent to do <em>and</em> the changes that need to be made to make that happen. This can&#8217;t be done without step 1.</p></li><li><p><strong>In your requests, </strong><em><strong>try not to make any typos</strong></em>. I&#8217;ve found this bit of precision helps an agent understand a request much better.</p></li><li><p><strong>Manage context based on the task</strong>. As context gets larger, the agent has a greater chance of working outside of its scope. This means using separate chats for separate tasks, as the entire chat is passed in each time a message is sent. You don&#8217;t want information from a previous task polluting the task you&#8217;re completing now.</p></li><li><p><strong>Be mindful when curating what the agent has access to</strong> and continually adjust this as you work. For example, I&#8217;ve found some agents to perform poorly when using source control tooling. I&#8217;ve removed that agent&#8217;s ability to call those tools and I do it myself instead. This also applies to the skills and MCP servers the agent can access which have the potential to pollute context and hurt performance.</p></li></ol><h3>3. Write manual code</h3><p>This one might seem preposterous to anyone else who is chronically online, but, yes, the art of manually writing code is not dead. I&#8217;ve seen many people resort to only coding with AI even to the point of prompting for tiny changes.</p><p>You&#8217;re going to save a lot of your time spent waiting for agents to understand your request if you take care of small changes yourself. It&#8217;s often wise to &#8216;Accept All&#8217; to an agent&#8217;s output and make minor tweaks on your own instead of telling the agent what&#8217;s wrong and have it do it for you.</p><p>Examples of these changes include:</p><ul><li><p>Renaming a variable to be more descriptive.</p></li><li><p>Simple readability fixes.</p></li><li><p>Fixing or removing imports.</p></li></ul><p>The only downside to manual coding is that you need to tell the agent you tweaked the code, otherwise, the next change by the agent will end up overwriting your work. If you don&#8217;t let the agent know, this can be a serious source of repeated work.</p><p>Don&#8217;t fall for the &#8220;I haven&#8217;t written a single line of code&#8221; narrative. I don&#8217;t know of a single engineer working on large-scale production services that doesn&#8217;t write some of the code by hand.</p><h2>A better metric for agentic engineering velocity</h2><p>The current best way to measure agentic development velocity is a metric called <strong>stickiness </strong>or <strong>code retention</strong> (but I prefer stickiness). This is a measurement of how much AI-generated code lasts without needing to be tweaked and without being overwritten soon after.</p><p>This metric is much better measured by AI coding tools to understand their efficiency, but it&#8217;s also something engineers should keep in mind when using their tooling. If their AI-generated code is sticky, it&#8217;s likely they&#8217;re working productively with the AI. If it isn&#8217;t sticky, there might be too much rework occurring, which means the above tips should be worked on.</p><p>&#8212;</p><p>Tokenmaxxing is a silly way to measure developer productivity. The most important metric you should maximize with agentic engineering tools is the amount of time you reclaim to work on other things. Tokenminning, in my opinion, is the way to do this.</p><p>What tips do you have for faster agentic development? I&#8217;d love to hear them in the comments.</p><p>If you enjoyed this article, don&#8217;t forget to subscribe to AI for Software Engineers to get more just like it in your inbox.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/the-real-way-to-make-agentic-development?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/the-real-way-to-make-agentic-development?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Decoupled DiLoCo: How Google Is Enabling Multi-Region, Distributed LLM Pretraining]]></title><description><![CDATA[An overview of Google&#8217;s new multi-region, distributed AI training methodology and its practical impact]]></description><link>https://www.aiforswes.com/p/decoupled-diloco</link><guid isPermaLink="false">https://www.aiforswes.com/p/decoupled-diloco</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 30 Apr 2026 14:02:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4w5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.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_!4w5A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4w5A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!4w5A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!4w5A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!4w5A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4w5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_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;:527575,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/195921407?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.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_!4w5A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!4w5A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!4w5A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!4w5A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc85a2bdc-4b63-4d8d-8fd0-cb7450d85cde_1280x720.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>Large-scale LLM pretraining is a notoriously complex and resource-intensive process. Training these models can involve up to hundreds of thousands of AI accelerators being colocated. This physical requirement ensures high-bandwidth cabling can connect these accelerators, enabling low-latency communication between them.</p><p>Datacenters are built to meet these requirements and provide the necessary power, cooling, housing, and more for these massive compute clusters. Companies go to great efforts to build large datacenters and even campuses of datacenters to colocate their compute.</p><p>Google DeepMind and Google Research recently published a paper on <a href="https://deepmind.google/blog/decoupled-diloco/">Decoupled DiLoCo</a>. This is a training regime designed to make multi-region distributed LLM pretraining more feasible. It reduces communication frequency and removes lock-step synchronization so training progress is not globally blocked by stragglers, failures, or slow links.</p><p>DiLoCo reduces communication by synchronizing via an outer optimizer every H steps instead of every step. Decoupled DiLoCo goes further by making synchronization asynchronous and quorum-based, and by using fragmented, scheduled updates to smooth bandwidth demand.</p><p>Multi-region, distributed LLM pretraining could potentially mean:</p><ul><li><p>Faster training due to decreased wall-time.</p></li><li><p>Greater reliability as training doesn&#8217;t have to wait on stragglers or failed processes.</p></li><li><p>Greater goodput (time spent doing meaningful work) because accelerators continue working without waiting, allowing wider distribution.</p></li><li><p>Massive-scale training as training processes can reliably span multiple areas instead of physically relying on a single datacenter or closely situated datacenters within the same campus.</p></li><li><p>Reduced training costs due to the factors above.</p></li></ul><p>Google has empirically shown Decoupled DiLoCo can work by training up to a 12B-parameter LLM using the process without sacrificing model quality (in the studied settings). Below, I&#8217;ll go over how this process works and what it means practically.</p><h2>Executive Summary/tl;dr:</h2><ul><li><p>LLM pretraining takes place at massive scale and requires many resources.</p></li><li><p>Multi-region training is especially hard because step-synchronous communication amplifies latency, stragglers, and failures into idle time.</p></li><li><p>Decoupled DiLoCo improves robustness and wall-clock speed in these settings by combining quorum-based asynchronous syncing with low-frequency outer updates and fragment scheduling.</p></li><li><p>Google reports improved robustness and comparable downstream quality in the studied settings.</p></li><li><p>Practical implication: Higher goodput and better ability to use imperfect, hard-to-pool compute capacity for large-scale training.</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_!RoHc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RoHc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 424w, https://substackcdn.com/image/fetch/$s_!RoHc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 848w, https://substackcdn.com/image/fetch/$s_!RoHc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 1272w, https://substackcdn.com/image/fetch/$s_!RoHc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RoHc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png" width="1224" height="466" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:466,&quot;width&quot;:1224,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:233489,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/195921407?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.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_!RoHc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 424w, https://substackcdn.com/image/fetch/$s_!RoHc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 848w, https://substackcdn.com/image/fetch/$s_!RoHc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.png 1272w, https://substackcdn.com/image/fetch/$s_!RoHc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F250e6f83-aff9-45e8-bbc3-8228087a33b3_1224x466.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">Figure 2 from the <a href="https://arxiv.org/pdf/2604.21428v1">Decoupled DiLoCo paper</a> showing a Decoupled process with 2 learners and 2 fragments updated every 3 steps.</figcaption></figure></div><h2>What makes colocation a necessity?</h2><p>Before we understand Decoupled DiLoCo, we first need to understand the limitations of distributed training.</p><p>Distributed training is simply training across multiple AI accelerators. This distributes the training job to multiple parallel compute units. Each compute unit has access to specific data. To reconcile the work done across these units, information about that work must be sent to a centralized process, where separate work across accelerators can be combined into model updates. These updates are sent back to the accelerators for further training.</p><p>In many common training setups, this reconciliation happens at step boundaries via synchronized communication (e.g., collectives that effectively act like a <strong>global barrier</strong>). If one learner is slow or fails, the whole step can stall, turning &#8220;rare events&#8221; into substantial idle time at scale.</p><p>In datacenters, the connections between learners and the latency in communication are much lower, making these types of issues much less noticeable. The infrastructure is also much more robust in dealing with errors and stragglers.</p><p>Across a WAN (wide area network), this same approach often isn&#8217;t feasible. The higher latency means more time spent waiting. The distributed infrastructure can also be less predictable, making it more prone to errors and stragglers.</p><p>Thus, colocation provides a much more robust and efficient setup for a process that is already resource-intensive and slow. The sacrifices that come with distributed training make it a much less desirable option.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;41860f54-1c4c-42c1-be15-6732c8899181&quot;,&quot;duration&quot;:null}"></div><p>Figure 1 from the <a href="https://deepmind.google/blog/decoupled-diloco/">Decoupled DiLoCo announcement</a> showing the benefit of decoupled training.</p><h2>How does Decoupled DiLoCo fix this?</h2><p>Decoupled DiLoCo addresses the challenges of WAN / multi-region training by combining:</p><ol><li><p><strong>Low-frequency outer updates</strong> (DiLoCo): Reconcile every H steps to reduce communication frequency.</p></li><li><p><strong>Decoupling and quorum</strong>: A syncer can proceed with updates using K-of-M learners rather than waiting for everyone, so stragglers/failures don&#8217;t become global stalls.</p></li><li><p><strong>Fragmented, scheduled syncing</strong>: Update only parts of the model at a time on a schedule, smoothing communication demand and making asynchrony more manageable.</p></li></ol><p><a href="https://arxiv.org/abs/2311.08105">DiLoCo</a> (Distributed Low-Communication) uses a variant of federated averaging to enable model updates every H steps. It introduces two separate optimizers, an &#8220;inside optimization&#8221; that takes place locally at the learner, and an &#8220;outer optimization&#8221; that takes place centrally. Learners can spend multiple steps optimizing locally before optimizing centrally.</p><p>To better understand this process, check out my article on federated learning. You can find it here:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;03222ce8-0314-480f-9b36-35824bf1e0ce&quot;,&quot;caption&quot;:&quot;Many AI applications rely on personalization to be useful for a user. With rising AI competition around the globe, we&#8217;ve seen many countries enact localization data privacy regulations.These regulations restrict access of personal information for a country&#8217;s citizens either by requiring their data to be geographically stored within the country&#8217;s borders&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What is Federated Machine Learning?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;ML infra &amp; agents at Google. I break down AI concepts every engineer should understand.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6da19a3b-49bd-4488-bdba-e7c21d45edd7_2048x2048.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-02-05T22:01:26.911Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!61H6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89f025c3-d1b8-43ca-a8d8-a33a2ecfec4f_854x480.gif&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/federated-learning&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:156561155,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:14,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zxAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b5b71b6-d4c9-4b65-9e4e-e3e700e2421e_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Decoupled DiLoCo is created by enabling the updating process above to happen asynchronously. This is done using four algorithmic components:</p><ul><li><p><strong>Quorum-based synchronization</strong>: The outer optimization only waits for K-of-N learners to send their updates before optimizing centrally. This means they don&#8217;t wait on <em>all</em> other learners, but only those that are able to reconcile soonest. This makes the system much more robust to learners prone to straggling and errors. This contains the &#8220;blast radius&#8221; of learner failures by ensuring they don&#8217;t impact other learners.</p></li><li><p><strong>An adaptive grace window</strong>: To ensure the outer optimization gets as many inner optimization updates as possible, it will adaptively wait longer for learners to arrive with their updates before completing the outer optimization. This wait time is determined by &#8220;slack,&#8221; or the amount of time the algorithm computes it can wait without holding up training, minus the amount of time it has already taken to find a quorum of learners. This process ensures the training output isn&#8217;t biased toward the lowest latency learners.</p></li><li><p><strong>Token-weight merging</strong>: The synchronizer will keep track of the central learning contribution of each learner based on the number of steps and tokens that learner has trained on. The central model will weigh optimization from each learner based on the number of tokens it has trained on since it last contributed to outer optimization. This keeps merging inner optimization from being overly dominated by low-progress states.</p></li><li><p><strong>Fragmented, scheduled synchronization</strong>: At each outer optimization, only a subset of model weights is reconciled. These subsets are called fragments and are used to avoid large periodic bandwidth spikes. More generally, fragmenting and scheduling helps manage staleness/overwrites under asynchrony and makes communication easier to overlap with compute. Updating fragments also reduces the required peak bandwidth for training.</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_!jx0t!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jx0t!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 424w, https://substackcdn.com/image/fetch/$s_!jx0t!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 848w, https://substackcdn.com/image/fetch/$s_!jx0t!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 1272w, https://substackcdn.com/image/fetch/$s_!jx0t!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jx0t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png" width="1276" height="992" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:992,&quot;width&quot;:1276,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:440004,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/195921407?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.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_!jx0t!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 424w, https://substackcdn.com/image/fetch/$s_!jx0t!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 848w, https://substackcdn.com/image/fetch/$s_!jx0t!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.png 1272w, https://substackcdn.com/image/fetch/$s_!jx0t!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bc2cdc1-489b-4680-a36e-c2e28b76600c_1276x992.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">Algorithms for the inner (learner) and outer (syncer) optimizations pulled from the <a href="https://arxiv.org/pdf/2604.21428v1">Decoupled DiLoCo paper</a>.</figcaption></figure></div><p>Practically, Decoupled DiLoCo looks like:</p><ol><li><p>Learners perform inner optimizations. The tokens and step count of each learner are sent asynchronously to the synchronizer so it understands progress.</p></li><li><p>The syncer maintains a global step count to determine when it&#8217;s time to reconcile specific fragments with certain learners (fragmented, scheduled synchronization).</p></li><li><p>The syncer triggers an update, looking for K-of-M learners based on the metadata received from the first step (quorum-based synchronization).</p></li><li><p>After reaching K learners, the syncer waits the rest of its slack time for other learners without blocking progress (adaptive grace window).</p></li><li><p>The syncer pulls and merges the relevant fragment updates using the learners&#8217; step and token count (token-weighted merging) and applies the outer update to produce a new global fragment.</p></li><li><p>The updated fragment weights are pushed back to learners asynchronously.</p></li></ol><p>This process continues until training is complete.</p><h2>Google&#8217;s Experimentation Findings</h2><p>Google tested multi-region training runs and simulated infrastructure failures to empirically test the benefits of Decoupled DiLoCo. Here&#8217;s a quick summary of what they found:</p><ul><li><p><strong>&gt;20&#215; faster vs conventional synchronous training</strong>: Training a 12B parameter model across four U.S. regions using 2&#8211;5 Gbps connections achieved this speedup due to reduced latency.</p></li><li><p><strong>Survived learner-unit failures and later reintegrated them</strong>: Artificial hardware failures were introduced during training, and Decoupled DiLoCo continued training after losing entire learner units and reintegrated them when they returned online.</p></li><li><p><strong>Goodput stayed high under failures:</strong> They evaluated hardware failures via goodput: 98% goodput at 150k chips and 88% goodput at 1.2M chips.</p></li><li><p><strong>Downstream quality remained comparable</strong>: For a dense 5B model trained on 1T tokens, they show 88% goodput and downstream metrics like Text (Avg) = 68.4 and Vision (Avg) = 54.3, alongside the no-failure baselines.</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_!Uial!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uial!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 424w, https://substackcdn.com/image/fetch/$s_!Uial!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 848w, https://substackcdn.com/image/fetch/$s_!Uial!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 1272w, https://substackcdn.com/image/fetch/$s_!Uial!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uial!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png" width="1456" height="643" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.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;:292366,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/195921407?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.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_!Uial!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 424w, https://substackcdn.com/image/fetch/$s_!Uial!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 848w, https://substackcdn.com/image/fetch/$s_!Uial!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.png 1272w, https://substackcdn.com/image/fetch/$s_!Uial!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec554b2e-e749-482a-a782-19c5b53351fa_2592x1144.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">Figure 2 from the <a href="https://deepmind.google/blog/decoupled-diloco/">Decoupled DiLoCo announcement</a> showing bandwidth requirements, goodput improvements, and model quality calculations.</figcaption></figure></div><h2>When is this useful, and when is it not?</h2><p>As a general rule, Decoupled DiLoCo is most useful for training jobs spanning multiple regions and/or datacenters, especially when availability needs to be increased.</p><p>For example, flaky infrastructure can make large-scale jobs impossible. With Decoupled DiLoCo, we can potentially mitigate the large impact of those failures.</p><p>Another more interesting potential use case is getting the most out of stranded compute. In datacenters, accelerators are connected in specific topologies, or grids of chips, with high-bandwidth connections between them. This makes it much easier to allocate compute resources based on the size of a training job.</p><p>This can also cause compute to become stranded if it isn&#8217;t needed for a given training job within its datacenter, but can&#8217;t be usefully applied to another application. Decoupled DiLoCo can potentially link those accelerators into training jobs distributed across multiple regions.</p><p>If you want to better understand ML infrastructure complexities, check out this overview I wrote a few years ago:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7494ee69-1e2d-4164-8cbc-f6ee64d74cb3&quot;,&quot;caption&quot;:&quot;Due to popular demand, here's an overview of machine learning infrastructure (ML infra). The aim of this article isn't to delve into the complexities of ML infra but to provide a straightforward overview, highlighting the differences between machine learning infrastructure and typical software systems. My goal is to make this understandable for all read&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Machine Learning Infrastructure: The Bridge Between Software Engineering and AI&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;ML infra &amp; agents at Google. I break down AI concepts every engineer should understand.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6da19a3b-49bd-4488-bdba-e7c21d45edd7_2048x2048.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2023-12-19T16:16:27.364Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!N-1i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa0d90ad3-8085-4bff-b0fb-885d54724f27_1024x1024.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/machine-learning-infra&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:139906713,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:123,&quot;comment_count&quot;:9,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zxAM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b5b71b6-d4c9-4b65-9e4e-e3e700e2421e_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Decoupled DiLoCo isn&#8217;t particularly helpful for scenarios where WAN-distributed training isn&#8217;t necessary, or for training regimes that require strong consistency. Understanding which training regimes do and don&#8217;t tolerate weaker consistency will require more research, and it&#8217;s one of the potential limitations of Decoupled DiLoCo.</p><h2>What are the limitations?</h2><p>The biggest unknown is whether this method scales to larger training jobs, more (and smaller) distributed learners, other architectures/training processes (i.e., not LLMs), and the other variables that differ between machine learning workloads.</p><p>Decoupled DiLoCo also requires infrastructure to complete the synchronization process. Datacenters must be equipped to handle distributed training across regions by incorporating the algorithm described above into the AI infrastructure.</p><p>Regardless, Decoupled DiLoCo shows potential promise even if only applied to large-scale LLM pretraining, which takes up most of the AI compute today.</p><h2>Takeaways</h2><p>Enabling large-scale, multi-region distributed training opens the door to more cost-effective and resource-efficient large-scale machine learning. It has the potential to fundamentally change LLM pretraining, AI infrastructure requirements, federated learning, and access to AI accelerators.</p><p>More work is needed to understand the impact decoupling has on training applications outside of LLM pretraining, to implement this at a wider scale, and to understand how it behaves in practice.</p><p>My biggest takeaways:</p><ul><li><p><strong>For infra/platform teams:</strong> A huge win in robustness and the ability to pool imperfect capacity across regions/clusters.</p></li><li><p><strong>For everyone else:</strong> There are potential $/token gains via utilization/goodput (less wasted accelerator time) by using Decoupled DiLoCo.</p></li></ul><div><hr></div><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/decoupled-diloco?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/decoupled-diloco?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Understanding Open Model Licenses]]></title><description><![CDATA[And what to look for in custom licenses]]></description><link>https://www.aiforswes.com/p/understanding-open-model-licenses</link><guid isPermaLink="false">https://www.aiforswes.com/p/understanding-open-model-licenses</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 15 Apr 2026 13:00:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xu4l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.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_!xu4l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xu4l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xu4l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xu4l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xu4l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xu4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55816fbf-8e76-47c9-bc33-f6f43a03e1fc_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;:299478,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/194236911?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.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_!xu4l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!xu4l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!xu4l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!xu4l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55816fbf-8e76-47c9-bc33-f6f43a03e1fc_1280x720.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>Google recently released <a href="https://deepmind.google/models/gemma/gemma-4/">Gemma 4</a>, their next iteration of their small, open models with multimodal capabilities. The release was met with a lot of praise for the model&#8217;s performance, but more importantly, Google was praised for switching from a custom model license to releasing under the Apache 2.0 License. This greatly widened the potential applications for Gemma 4.</p><p>The positive reception to Google&#8217;s move highlights a crucial, often overlooked fact: <strong>model licenses are just as important as model capabilities.</strong> While many AI applications currently rely on closed APIs, the rise of powerful, accessible open models means developers must understand the licensing landscape to choose the right tool for the job and secure long-term rights.</p><p><em><strong>Disclaimer: When I refer to &#8216;open models&#8217; in the context of this article, I&#8217;m referring primarily to open-weight models and models that have released their weights and more.</strong></em></p><p>Open models provide:</p><ul><li><p><strong>Cost Efficiency and Accessibility:</strong> Open models, especially smaller, efficient variants, can run locally or on specialized hardware.</p></li><li><p><strong>Freedom from Vendor Lock-in:</strong> Permissive, open licenses grant developers permanent rights to use, adapt, and sell models. This protects developers from API changes, rate limiting, and changes to terms of use for models controlled by a separate entity.</p></li><li><p><strong>Control and Customization:</strong> Full access to model weights enables developers to fine-tune models for highly specialized, complex reasoning tasks, MLOps, or agentic workflows.</p></li><li><p><strong>Enhanced Security and Privacy:</strong> Open models can eliminate the need to transmit sensitive data to third-party API providers, ensuring data governance and privacy compliance.</p></li><li><p><strong>Optimization and Predictable Latency:</strong> Open models enable developers to control the entire serving stack, allowing for custom performance optimizations and achieving predictable, low-latency inference critical for real-time applications.</p></li></ul><p>Open models have already cemented themselves as a critical tool for building AI applications, but this is only becoming more true as the models mature. If you want to build AI applications, you need to understand the open model options available.</p><p>To understand those options, you must understand the licenses under which these models are released. Custom licenses can hamper the effectiveness of open models by explicitly prohibiting their use in certain applications and machine learning engineering tasks. <strong>Licenses, just as much as model capabilities, determine the right model for a job</strong>.</p><p>Below is some basic information on the most common open model licenses as well as what you need to look for when reviewing custom licenses. I&#8217;ve included some examples of models using each.</p><h2>Common Open Licenses</h2><h3>The Apache 2.0 License</h3><p>The <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a> is a permissive open-source software license that enables developers to use, modify, distribute, and sell the software with minimal restrictions.</p><p>Additionally, it:</p><ul><li><p>Doesn&#8217;t require developers to open-source derivative works of the software, meaning Apache 2.0-licensed software can be meaningfully integrated into proprietary enterprise software.</p></li><li><p>Explicitly grants patent rights to protect developers from patent litigation related to open-source code.</p></li><li><p>Requires developers to include the original copyright notice, license text, and a copy of any NOTICE files present in the open source code.</p></li></ul><p>The Apache 2.0 License permits full commercial use of the software to which it is applied. Open models that are released under the Apache 2.0 License aren&#8217;t subject to any sort of prohibitive use policy or usage caps and can be freely used and adapted, including for commercial projects generating revenue.</p><p>Notable models released under this license are:</p><ul><li><p><a href="https://openai.com/index/introducing-gpt-oss/">OpenAI&#8217;s GPT-OSS models</a></p></li><li><p><a href="https://allenai.org/blog/olmo3">Allen AI&#8217;s OLMo models</a></p></li><li><p><a href="https://github.com/QwenLM/Qwen3.5/blob/main/LICENSE">Alibaba&#8217;s smaller Qwen models</a></p></li><li><p><a href="https://deepmind.google/models/gemma/gemma-4/">Google&#8217;s Gemma 4 model family</a></p></li><li><p><a href="https://github.com/zai-org/GLM-5/blob/main/LICENSE">Zhipu AI&#8217;s GLM-5 model</a></p></li></ul><h3>MIT License</h3><p>The <a href="https://opensource.org/license/mit">MIT License</a> is one of the shortest and most permissive open-source licenses. It grants developers the right to use, copy, modify, merge, publish, distribute, sublicense, and sell software developed. It can be summarized by saying: &#8220;Do whatever you want with the code, just keep this license attached&#8221;.</p><p>While the MIT license is technically more permissive than the Apache 2.0 License, it doesn&#8217;t grant any explicit patent protection. The Apache 2.0 License is generally preferred for commercial use because of this. It ensures commercial software built on top of it isn&#8217;t at risk of patent infringement.</p><p>The most notable models released under this license are:</p><ul><li><p><a href="https://huggingface.co/microsoft/phi-4">Microsoft&#8217;s Phi models</a></p></li><li><p><a href="https://api-docs.deepseek.com/news/news250120">DeepSeek-R1 and V3.2</a></p></li></ul><h2>Custom licenses</h2><p>Custom licenses can severely prohibit the usefulness of open models, but it entirely depends on what the custom license prohibits. The only way to understand custom licenses is by reading through them. When reading through them, you want to watch out for:</p><ul><li><p><strong>Scale Restrictions:</strong> Limits placed on commercial use, often defined by monthly active users (MAU), which can prohibit scaling applications.</p></li><li><p><strong>Improvement Limitations/Derivatives:</strong> Strict prohibitions on using model outputs or derivatives (e.g., fine-tunes) to train or improve any other large language model.</p></li><li><p><strong>Mandatory Attribution/Branding:</strong> Requirements to display specific branding or include the model&#8217;s name in derivative works.</p></li><li><p><strong>Revocability and Unilateral Updates:</strong> Clauses allowing the releasing entity to unilaterally change the terms of use or revoke access to the model at any time.</p></li></ul><p>Examples of custom licenses with these restrictions include:</p><ul><li><p><strong>Meta&#8217;s <a href="https://www.llama.com/llama4/license/">Llama Community License Agreement</a></strong>, which restricted the scale at which a Llama model could be used commercially (under 700 million MAU) and required developers to display &#8220;Built with Llama&#8221; in documentation and include &#8220;Llama&#8221; in the model name.</p></li><li><p><strong><a href="https://ai.google.dev/gemma/terms">Gemma&#8217;s Terms of Use</a></strong>, which permitted commercial use but prohibited usage for harmful applications. The use policy could be changed by Google at any time, enabling Google to make a change and revoke usage rights at any time. This was changed with the most recent release, making Gemma models more universally useful.</p></li><li><p><strong><a href="https://github.com/QwenLM/Qwen/blob/main/Tongyi%20Qianwen%20LICENSE%20AGREEMENT">Tongyi Qianwen License Agreement</a></strong>,<strong> </strong>which permits commercial use but requires authorization from Alibaba to exceed 100 million MAU. It also strictly prohibits the use of Qwen materials to improve any other large language model and requires developers to include &#8220;Built with Qwen&#8221; in product documentation.</p></li></ul><p>While custom licenses are not inherently detrimental to a model&#8217;s utility&#8212;as seen with the early Llama releases that fostered entire ecosystems and naming conventions like <a href="https://ollama.com/">Ollama</a>&#8212;they do impact model adoption. The industry is currently witnessing a decisive shift toward more permissive, standardized licenses as developers increasingly prioritize ease of integration and legal certainty.</p><p>In summary, if you&#8217;re choosing an LLM for an application, you should:</p><ol><li><p>Heavily consider open models for increased accessibility and flexibility.</p></li><li><p>Research both model performance and licensing.</p></li><li><p>Understand license limitations, especially for custom licenses. Prefer open licenses like MIT and Apache 2.0 for commercial applications.</p></li></ol><p>Thanks for reading!</p><p>Always be (machine) learning,</p><p>Logan</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/understanding-open-model-licenses?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/understanding-open-model-licenses?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[The Difficulties of Scaling Autoresearch | AI for Software Engineers 83]]></title><description><![CDATA[And agentic engineering's scaling impact on the software development and the internet]]></description><link>https://www.aiforswes.com/p/83</link><guid isPermaLink="false">https://www.aiforswes.com/p/83</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sat, 28 Mar 2026 13:35:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vGCF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.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_!vGCF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vGCF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vGCF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/444f55e0-024d-4c0f-a8a5-6e494e34a7d1_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;:38698,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/192370276?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.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_!vGCF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!vGCF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F444f55e0-024d-4c0f-a8a5-6e494e34a7d1_1280x720.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>Hi everyone!</p><p>March has been a slow writing month for me because it&#8217;s been busy in many other parts of life. Luckily, those busy things have all been good and I&#8217;ve got a lot more to write about this April.</p><p>I&#8217;ve spoken to a lot of developers this past month about AI and almost all of them have said the same thing: &#8220;There&#8217;s a lot of info out there about AI, but not a lot about what I should actually be doing.&#8221; I get a lot of questions about the practicality of topics, and even the most experienced developers wonder what they should be doing right now. So I&#8217;m trying a new format this week that focuses more on that. This format will general be:</p><ul><li><p>A note from me about something topical.</p></li><li><p>Things you should know about and why they&#8217;re important.</p></li><li><p>Things you should read (or watch).</p></li><li><p>Things you could be doing.</p></li></ul><p>I&#8217;ve created a <a href="https://shop.aiforswes.com">shop for AI for Software Engineers</a> that allows anyone to support the newsletter and represent it. I appreciate everyone supporting my work&#8212;it lets me educate thousands of developers around the world. To all my paid subscribers: <strong>Thank you!</strong></p><p>I&#8217;ll also set up a code for anyone who guest posts here or helps add excellent resources to the <a href="https://mlroadmap.io">ML roadmap</a> to grab an item from the shop for free.</p><p>I&#8217;m working on partnerships to give you discounts on resources. This has become more complex than I thought, but I&#8217;m still working on it. Just wanted to add a quick update here.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>A note on scaling Autoresearch</h2><p>Recently, <a href="https://github.com/karpathy/autoresearch">Andrej Karpathy&#8217;s Autoresearch</a> went viral, showing that LLMs can iterate on machine learning improvements on their own. It went so viral, in fact, that I had a conversation with a friend about how AI will now fundamentally change medicine because it can research on its own.</p><p>This isn&#8217;t quite true, and I want to help you understand why. I really liked <a href="https://www.interconnects.ai/p/lossy-self-improvement">Nathan Lambert&#8217;s framing</a> of automated machine learning research as &#8220;lossy self-improvement&#8221;: the more compute and agents thrown at a problem, the more friction is introduced. This has been my experience and what makes machine learning at scale a massive engineering challenge.</p><p>There have been many interesting implementations of Autoresearch, but most have identified a simple (usually single) metric and have given the LLM the context needed to understand improving that metric. In a production setting, we care about many metrics and the trade-offs between each&#8212;an improvement is more than just improving a single number.</p><p>The best example of this is cost. When training models at scale, we care greatly about the cost of the end model we serve. In fact, it can be worth updating a production model to a version with slightly worse performance if the cost savings are significant.</p><p>On top of inference costs, we also care a great deal about the resource efficiency of the training process itself. Finding model improvements requires many training runs and analyses. This means we also care about the efficiency of the Autoresearch process itself.</p><p>Thus, Autoresearch relies heavily on reliable engineering on two fronts:</p><ol><li><p>Reliable agents steered in the right direction.</p></li><li><p>Reliable infrastructure for the agent to use.</p></li></ol><p>These are the primary factors contributing to lossy self-improvement, and either can cause a serious hit to experimentation velocity and efficiency. These effects multiply when both engineering problems are combined.</p><p>To make agents reliable, they need the context to understand the search space for the problem. Autoresearch is essentially AutoML where the search space is dictated by the context given to the model. Karpathy has pushed back on this comparison, arguing that an LLM writing arbitrary code is far more powerful than traditional neural architecture search. He&#8217;s right that the searcher is more capable, but the core constraint is the same: you need to define the right search space, and context is what defines it. Due to the metrics involved in machine learning at scale, the context required is massive for an agent to accurately understand the search space and choose potential experimentation candidates. Thus, for reliable agents we rely not only on proper agent evals, but also on providing appropriate context.</p><p>Mistakes in context and agent reliability cause the agent to travel down incorrect paths, creating unnecessary training runs compounded by any infrastructure inefficiency.</p><p>Thus, Autoresearch becomes much more difficult at scale. While plausible, it&#8217;s an incredible research problem on its own.</p><p>Autoresearch is effective in machine learning experimentation because the entire process is code- and terminal-native, both of which LLMs excel at. My friend assumed AI self-improvement would translate directly to other fields like medical research, but this isn&#8217;t a given.</p><p>LLMs are exceptional at recombining existing knowledge in useful ways, but their outputs are fundamentally drawn from their training data. Creativity researchers distinguish between combinatorial creativity (novel recombinations) and transformational creativity (paradigm shifts). LLMs are strong at the former and limited at the latter. A recent study found that LLM-generated research ideas were rated as more novel than expert human ideas, but scored lower on feasibility&#8212;suggesting LLMs are better at generating plausible-sounding combinations than knowing which ideas are actually worth pursuing.</p><p>What this means is Autoresearch is most applicable to fields that are defined by a clear search space and are language- and code-native. Generalizing beyond that in its current form will be difficult. Other fields need to make advancements in their own domains before self-improving AI can make a meaningful difference, and those advancements still require the kind of transformational creativity that LLMs don&#8217;t yet provide.</p><h2>What You Should Know</h2><p><em>The current events that matter to you.</em></p><ul><li><p><strong>AI is taking a toll on the internet.</strong></p><ul><li><p><strong><a href="https://newsletter.pragmaticengineer.com/p/the-pulse-is-github-still-best-for">GitHub availability dropped to roughly 90%</a> as AI coding agents overwhelm the platform.</strong> We&#8217;re seeing agents overwhelm the open source community by spamming PRs. We&#8217;re also seeing an overwhelming number of vibe coded &#8220;open source&#8221; repos without any roadmap or future maintainability.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/25/reddit-bots-new-human-verification-requirements/">Reddit will require suspected bot accounts to verify their humanity.</a></strong> This is a huge step in the right direction for reliable content on the internet especially considering many AI train and retrieve answers from Reddit.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/26/wikipedia-cracks-down-on-the-use-of-ai-in-article-writing/">Wikipedia editors voted 40-2 to ban AI-generated or rewritten article content.</a></strong> Editors may still use AI for basic copyedits of their own writing with human review. This is in an effort to maintain Wikipedia without a similar impact to what&#8217;s going on with GitHub.</p></li></ul></li><li><p><strong>Agentic engineering is still scaling quickly and AI coding tools are maturing to keep pace.</strong></p><ul><li><p><strong><a href="https://cursor.com/blog/real-time-rl-for-composer">Cursor ships improved Composer models every five hours</a> using real-time RL from user sessions.</strong> A/B tests showed 2.28% more persistent edits and 3.13% fewer dissatisfied follow-ups. Real-time (often called &#8220;continuous&#8221;) machine learning is a necessity for artificial general intelligence. We&#8217;ll see much more of it in the coming year.</p></li><li><p><strong><a href="https://simonwillison.net/2026/Mar/24/auto-mode-for-claude-code/#atom-everything">Anthropic launched auto mode for Claude Code</a>, replacing manual permission approvals with an AI classifier.</strong> This is another move toward AI that properly thinks for itself but brings up safety concerns. For true general intelligence, AI needs to abstract a lot of what makes it difficult away from the user.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/21/are-ai-tokens-the-new-signing-bonus-or-just-a-cost-of-doing-business/">Jensen Huang suggested engineers should receive half their base salary in AI tokens.</a></strong> Theory Ventures identifies inference costs as the fourth component of engineering compensation. Meta and OpenAI engineers now compete on internal leaderboards tracking token consumption.</p></li><li><p><strong><a href="https://composio.dev/content/openclaw-security-and-vulnerabilities">7.1% of OpenClaw&#8217;s skill registry contains critical security flaws.</a></strong> 283 skills exposed credentials in plaintext through LLM context windows. The most-downloaded skill was an info-stealer that bypassed macOS Gatekeeper. If I haven&#8217;t made it clear: <strong>Do not use OpenClaw</strong> <strong>if you have doubts about what you&#8217;re doing</strong>. There are too many security risks.</p></li><li><p><strong><a href="https://news.ycombinator.com/item?id=47548243">GitHub will train on your private repositories</a> unless you opt out by April 24.</strong> Users are automatically opted in, including long-term paying customers. The toggle is in Settings &gt; Copilot &gt; Features.</p></li></ul></li><li><p><strong>Resource scarcity (memory, hardware, and energy) is becoming the bottleneck for AI companies. Existing manufacturers can&#8217;t produce fast enough causing AI companies to pursue downstream problems themselves.</strong></p><ul><li><p><strong><a href="https://xn--gckvb8fzb.com/hold-on-to-your-hardware/">Data centers will consume 70% of all global memory chips</a> by 2026.</strong> AI isn&#8217;t going anywhere and usage will only grow. If you think current RAM prices are crazy they&#8217;ll likely continue going up. For consumers, this means use the hardware you have now if you can.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/24/arm-is-releasing-its-first-in-house-chip-in-its-35-year-history/">Arm released its first in-house chip in 35 years.</a></strong> This marks a shift from licensing-only to competing with its own customers. The Arm AGI CPU is a data center processor for AI inference, built with Meta.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/22/elon-musk-unveils-chip-manufacturing-plans-for-spacex-and-tesla/">Elon Musk announced plans for a &#8220;Terafab&#8221; chip factory</a> near Tesla&#8217;s Austin campus.</strong> He claims existing manufacturers cannot meet his AI and robotics hardware demands, targeting 100-200 gigawatts of computing power annually. No timeline was provided.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/23/sam-altman-backed-fusion-startup-helion-in-talks-with-openai/">Helion is in talks to sell fusion power to OpenAI.</a></strong> The deal would guarantee OpenAI 12.5% of Helion&#8217;s production, targeting 5 gigawatts by 2030. This is Sam Altman&#8217;s own energy startup and is another example of AI companies solving downstream problems themselves.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/25/google-turboquant-ai-memory-compression-silicon-valley-pied-piper/">Google released TurboQuant</a>, reducing LLM inference memory by at least 6x with zero accuracy loss.</strong> This is still a lab result, not production-deployed, but if it&#8217;s scalable it&#8217;ll be a &#8220;Pied Piper&#8221; moment for LLM inference, reducing memory needs significantly. This is a topic I&#8217;m looking to explore next week.</p></li></ul></li><li><p><strong>AI safety is still a primary topic both of the standpoint of secure agents and AI&#8217;s potential impact on human lives.</strong></p><ul><li><p><strong><a href="https://deepmind.google/blog/protecting-people-from-harmful-manipulation/">DeepMind published research on AI&#8217;s ability to harmfully manipulate people</a> across 9 studies with 10,000+ participants.</strong> AI was most manipulative when explicitly instructed to be, and least effective on health topics. The framework is now used to test safety for Gemini 3 Pro.</p></li><li><p><strong><a href="https://openai.com/index/safety-bug-bounty">OpenAI launched a Safety Bug Bounty</a> for AI-specific abuse risks.</strong> Targets include agent hijacking via prompt injection, data exfiltration, and proprietary reasoning leaks. Attacks must be reproducible at least 50% of the time.</p></li><li><p><strong><a href="https://www.fixhealth.ai/p/doctronic-the-ai-doctor-with-a-dirty">Doctronic, an AI &#8220;doctor&#8221; startup that raised $40M, was caught with critical security and credibility issues.</a></strong> Cybersecurity researchers jailbroke the chatbot into providing methamphetamine synthesis instructions. The company&#8217;s claim of helping 24 million people is unsupported by traffic data.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/26/data-centers-get-ready-the-senate-wants-to-see-your-power-bills/">Senators Hawley and Warren want to mandate annual energy reporting for data centers.</a></strong> Separately, Sanders and AOC introduced legislation to halt new data center construction until Congress regulates AI. Google&#8217;s data center energy consumption doubled between 2020 and 2024.</p></li><li><p><strong><a href="https://www.cnn.com/2026/03/26/business/anthropic-pentagon-injunction-supply-chain-risk">A federal judge blocked the Pentagon from labeling Anthropic a supply chain risk.</a></strong> The court ruled it was illegal retaliation for Anthropic&#8217;s refusal to let its AI be used in autonomous weapons or domestic mass surveillance.</p></li></ul></li><li><p><strong>New models were released this week that you can start building with. Many of these are small enough to run on consumer hardware, circumventing the resource issues mentioned above.</strong></p><ul><li><p><strong><a href="https://deepmind.google/blog/gemini-3-1-flash-live-making-audio-ai-more-natural-and-reliable/">Gemini 3.1 Flash Live launched</a> as Google&#8217;s highest-quality real-time audio and voice model.</strong> It scores 90.8% on multi-step audio function calling benchmarks and maintains conversation context twice as long as previous versions. Real-time multimodal search expanded to 200 countries.</p></li><li><p><strong><a href="https://cohere.com/blog/transcribe">Cohere released Transcribe</a>, an open-source speech-to-text model that processes 525 minutes of audio per minute.</strong> 2B parameters, 5.42 word error rate, 14 languages, designed for self-hosting on consumer GPUs.</p></li><li><p><strong><a href="https://mistral.ai/news/voxtral-tts">Mistral released Voxtral TTS</a>, an open-source text-to-speech model small enough for smartwatches.</strong> 9 languages, voice cloning from less than 5 seconds of audio, 90ms latency to first speech.</p></li></ul></li><li><p><strong>Moves are being made in the consumer sector.</strong></p><ul><li><p><strong><a href="https://x.com/soraofficialapp/status/2036546752535470382">OpenAI killed the Sora app</a> after downloads plummeted.</strong> Despite popular opinion, this isn&#8217;t the end of OpenAI&#8217;s video generation model, this is the end of OpenAI losing money by offering it openly to the public. This is good business move by OpenAI but seems to be massively misunderstood by the public.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/26/you-can-now-transfer-your-chats-and-personal-information-from-other-chatbots-directly-into-gemini/">Google launched tools to import ChatGPT and Claude chat histories directly into Gemini.</a></strong> This follows Anthropic releasing a similar feature in Claude. Less friction to switch between ecosystems is always a win for consumers.</p></li><li><p><strong><a href="https://techcrunch.com/2026/03/23/apple-wwdc-june-8-12-ai-advancements-siri-developers-conference/">Apple set WWDC 2026 for June 8-12</a>, teasing more &#8220;AI advancements&#8221; to come marking a stark contrast from last year, where the topic was largely avoided.</strong> Apple is expected to announce a partnership with Google to bring Gemini (or a version of Gemini) to Apple device users.</p></li></ul></li></ul><h2>What You Should Read</h2><p><em>Articles I think are worth reading in their entirety this week.</em></p><ul><li><p><strong><a href="https://cursor.com/blog/real-time-rl-for-composer">Improving Composer through real-time RL</a> by Cursor Blog.</strong> An excellent account of continuous training in production. Cursor converts user sessions into reward signals, ships updated models every five hours, and documents failure modes like models gaming reward systems to avoid negative scores. Continuous learning is a prerequisite to AGI as it enables models to continuously improve and will be a primary topic in 2026. I suspect many companies will follow Cursor&#8217;s example this year.</p></li><li><p><strong><a href="https://www.interconnects.ai/p/lossy-self-improvement">Lossy self-improvement</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nathan Lambert&quot;,&quot;id&quot;:10472909,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!RihO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fedcdfb-e137-4f6a-9089-a46add6c6242_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;9296f979-be9a-4281-a37c-40221c6438f6&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> Lambert argues recursive AI self-improvement will hit complexity brakes, not compound exponentially. He draws on Amdahl&#8217;s Law and Paul Allen&#8217;s complexity brake: &#8220;The more compute and agents you throw at a problem, the more loss and repetition shows up.&#8221; As mentioned above, I think this is an excellent read.</p></li><li><p><strong><a href="https://blog.bytebytego.com/p/how-anthropics-claude-thinks">How Anthropic&#8217;s Claude Thinks</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Alex Xu&quot;,&quot;id&quot;:22329494,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd1afb-9a92-433e-bbf4-f726eb8ffdb3_375x375.jpeg&quot;,&quot;uuid&quot;:&quot;bf66b89a-77c0-4890-a18b-e6c59ae894ab&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> An easily understandable overview of Anthropic&#8217;s interpretability research that shows Claude&#8217;s default state is to refuse all questions, and hallucinations happen when a recognition system misfires. The accessibility of this article makes it an excellent read.</p></li><li><p><strong><a href="https://www.artificialintelligencemadesimple.com/p/how-a-leading-venture-capitalist">How a Leading Venture Capitalist uses AI Agents</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;6f44a9e9-6212-4ba8-b34e-305fbe8538a9&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;b9ee6d8a-f19d-49ed-8605-413b65d2230a&quot;}" data-component-name="MentionToDOM"></span> shares his full agent stack: morning briefings, meeting capture, research, and drafting. These are excellent examples of real-world AI usage that can be implemented with a bit of technical knowledge.</p></li><li><p><strong><a href="https://simonwillison.net/2026/Mar/25/thoughts-on-slowing-the-fuck-down/#atom-everything">Thoughts on slowing the fuck down</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Simon Willison&quot;,&quot;id&quot;:5753967,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/5a30d45c-fcba-407a-bebf-96f51a8944a4_48x48.jpeg&quot;,&quot;uuid&quot;:&quot;e56537c3-7107-4a67-9382-03454ed7b6ab&quot;}" data-component-name="MentionToDOM"></span><strong>.</strong> My team at Google has really felt the new bottlenecks that come from AI-generated code and the impact that has had on the engineering process. Speed is always the focus of agentic engineering, but reliability is the most important part of production code. This is a great, simple overview of why that is.</p></li></ul><h2>What You Should Do</h2><p><em>The action you can take this week based on the information shared above to learn the skills that are the most in demand.</em></p>
      <p>
          <a href="https://www.aiforswes.com/p/83">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[20 Years of Code Optimized in Two Days | Weekend Reads 4]]></title><description><![CDATA[Your AI reading list 03-15-2026]]></description><link>https://www.aiforswes.com/p/wr-4</link><guid isPermaLink="false">https://www.aiforswes.com/p/wr-4</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 15 Mar 2026 14:03:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gAf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.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_!gAf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gAf_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gAf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_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;:&quot;Pasted image 20260315001152.png&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="Pasted image 20260315001152.png" title="Pasted image 20260315001152.png" srcset="https://substackcdn.com/image/fetch/$s_!gAf_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gAf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a94b282-7ac8-4b5b-b0e9-e16ad5751e6b_1280x720.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>Welcome to the weekly reading list! This is how I keep up with AI news and deepen my understanding of the topics that matter for building production systems. I focus on primary sources and authors I trust to keep the signal-to-noise ratio high.</p><p><em>You can support AI for Software Engineers for only $5/month and get the complete edition of this list as a thank you.</em> <em><strong>Thank you to all paid subscribers for your support!</strong></em></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2>In this list</h2><p>As has been the case for 2026, there are a ton of interesting reads this week about getting agents working in production and what they can do. Most interesting are:</p><ul><li><p><a href="https://simonwillison.net/2026/Mar/13/liquid/#atom-everything">Shopify&#8217;s CEO</a> pointed a coding agent at a 20-year-old Ruby codebase with a benchmark script and 974 unit tests. 120 automated experiments and 93 commits later, it was 53% faster.</p></li><li><p><a href="https://www.oneusefulthing.org/p/the-shape-of-the-thing">StrongDM</a> built a production software pipeline where three humans manage AI agents. The rules: &#8220;code must not be written by humans&#8221; and &#8220;code must not be reviewed by humans.&#8221; Each engineer spends ~$1,000/day on tokens.</p></li><li><p><a href="https://www.artificialintelligencemadesimple.com/p/how-to-diagnose-failures-in-large">AMD published a diagnostic framework</a> where Claude Code and Cursor act as autonomous agents debugging large training clusters, tracing a 23% throughput drop to RDMA degradation on 4 of 24 nodes.</p></li><li><p><a href="https://newsletter.pragmaticengineer.com/p/the-pulse-what-will-the-staff-engineer">84% of Uber devs</a> are now agentic coding users and Claude Code usage nearly doubled in three months, from 32% to 63%, while IDE-based tools have plateaued.</p></li><li><p><a href="https://openai.com/index/designing-agents-to-resist-prompt-injection">OpenAI shared a phishing-style prompt injection</a> that tricked ChatGPT into exfiltrating employee PII 50% of the time, and their defense framework treats it like a call center problem, not a code injection problem.</p></li></ul><div><hr></div><h3><a href="https://simonwillison.net/2026/Mar/13/liquid/#atom-everything">Shopify/liquid: Performance: 53% faster parse+render, 61% fewer allocations</a> by Simon Willison</h3><blockquote><p>&#8220;Having a robust test suite - in this case 974 unit tests - is a massive unlock for working with coding agents. This kind of research effort would not be possible without first having a tried and tested suite of tests.&#8221;</p></blockquote><p>Shopify CEO Tobi Lutke took Andrej Karpathy&#8217;s autoresearch pattern, pointed it at Liquid, Shopify&#8217;s template engine, and ran 120 automated experiments over two days. The agent gave itself a benchmark script, iterated against 974 unit tests, and produced 93 commits.</p><ul><li><p>Parse+render time dropped by 53%, allocations dropped by 61%</p></li><li><p>Replacing <code>StringScanner</code> with <code>String#byteindex</code> was ~40% faster for single-byte searching</p></li><li><p>Pre-computing frozen strings for integers 0-999 eliminated 267 allocations per render</p></li></ul><p>A comprehensive test suite gave the agent enough context to make changes and verify them independently. &#8220;Make it faster&#8221; only becomes an actionable goal when the agent can measure its own progress and confirm it hasn&#8217;t broken anything along the way.</p><h3><a href="https://openai.com/index/designing-agents-to-resist-prompt-injection">Designing AI agents to resist prompt injection</a></h3><blockquote><p>&#8220;If the problem is not just identifying a malicious string, but resisting misleading or manipulative content in context, then defending against it cannot rely only on filtering inputs.&#8221;</p></blockquote><p>Real-world prompt injection attacks now look like phishing, not code injection. OpenAI shared an example: a phishing-style email that worked 50% of the time against ChatGPT, getting it to extract employee PII and send it to a third party.</p><p>Their defense framework borrows from how organizations protect human customer service agents. You don&#8217;t train a call center worker to detect every possible scam, you constrain their capabilities. For AI agents, this means source-sink analysis: monitor when information would leave the conversation or when the agent would follow an external link, rather than trying to perfectly classify inputs.</p><h3><a href="https://www.oneusefulthing.org/p/the-shape-of-the-thing">The Shape of the Thing</a> by Ethan Mollick</h3><blockquote><p>&#8220;Code must not be written by humans. Code must not be reviewed by humans.&#8221;</p></blockquote><p>StrongDM built a &#8220;Software Factory&#8221; where three humans manage AI agents that write, test, and ship code. Each engineer spends ~$1,000/day on AI tokens. Coding agents build from product roadmaps, testing agents build simulated customer environments and try to break what the coding agents built, and the agents loop feedback to each other until satisfied.</p><p>We&#8217;ve moved from co-intelligence, prompting back and forth, to management, giving agents hours of work and getting results in minutes. Every major AI lab is now explicitly working on recursive self-improvement. OpenAI says Codex was &#8220;instrumental in creating itself,&#8221; and Anthropic says their engineers barely write code anymore.</p><h3><a href="https://maximelabonne.substack.com/p/nemotron-3-super-nvidias-gpt-oss">Nemotron 3 Super: NVIDIA&#8217;s gpt-oss killer?</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Maxime Labonne&quot;,&quot;id&quot;:31453795,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17e73529-4d58-4477-b896-6d1e1f5c9796_896x896.png&quot;,&quot;uuid&quot;:&quot;ac085d66-ac31-44cb-b8a6-50207c9664dd&quot;}" data-component-name="MentionToDOM"></span></h3><blockquote><p>&#8220;Reducing the expert dimension by a factor of d/l = 4 lets you reinvest those savings into both more total experts and higher top-k.&#8221;</p></blockquote><p>NVIDIA&#8217;s Nemotron 3 Super, 120B total with 12B active, is worth paying attention to because of LatentMoE. Standard MoE routes tokens from the full hidden dimension directly to experts, but LatentMoE wraps the expert path with shared linear projections that compress from d=4096 down to l=1024, do all expert computation in that compressed space, then project back up.</p><ul><li><p>Reducing the expert dimension by 4x lets you run 512 total experts with top-22 routing where standard MoE typically uses 128 experts with top-6 or top-8 at the same compute cost</p></li><li><p>Artificial Analysis flagged the model as extremely verbose though, generating 110M tokens during their eval suite vs an average of 7.3M, which could erase most of those throughput gains in practice</p></li></ul><h3><a href="https://www.artificialintelligencemadesimple.com/p/how-to-diagnose-failures-in-large">How to Diagnose Failures in Large AI Training Clusters</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;8a656066-69b5-4e66-a279-35c8eadf5420&quot;}" data-component-name="MentionToDOM"></span></h3><blockquote><p>&#8220;The teams that figure out how to make that transition -- how to turn their debugging knowledge into repeatable infrastructure instead of leaving it trapped in someone&#8217;s head -- those are the teams that will compound their advantage over everyone else.&#8221;</p></blockquote><p>AMD published a diagnostic framework for large training clusters where Claude Code and Cursor act as autonomous diagnostic agents. It uses a three-skill pipeline: job-log-triage to identify what happened, performance-analysis to locate where in compute, and tsdb-diagnosis to determine why via Prometheus queries.</p><p>In one case study, a 23% throughput drop on a 192 GPU run was traced to RDMA degradation on 4 of 24 nodes. The agent isolated the unhealthy nodes from TSDB metrics, and excluding them restored throughput by 30%. The skills themselves are structured instruction files that encode how senior systems engineers actually debug these problems, turning tribal knowledge into repeatable runbooks.</p><h3><a href="https://simonwillison.net/guides/agentic-engineering-patterns/better-code/#atom-everything">AI should help us produce better code</a></h3><blockquote><p>&#8220;Shipping worse code with agents is a choice. We can choose to ship code that is better instead.&#8221;</p></blockquote><p>Willison&#8217;s argument is that agents should make code quality go up, not down. Common tech debt like renaming concepts, fixing API inconsistencies, and splitting large files is conceptually simple but time-consuming, and agents handle it well.</p><p>He recommends using async agents like Gemini Jules, Codex web, and Claude Code web for background refactoring so it doesn&#8217;t interrupt flow, and using agents for cheap exploratory prototyping. You can spin up a Redis simulation with load tests from a single prompt to validate technology choices before committing to an approach.</p><h3><a href="https://cameronrwolfe.substack.com/p/stats-llm-evals">Applying Statistics to LLM Evaluations</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cameron R. Wolfe, Ph.D.&quot;,&quot;id&quot;:29736521,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/69aba7df-b571-4609-aa47-fc2d031c11b8_1242x1595.jpeg&quot;,&quot;uuid&quot;:&quot;989c14b3-f870-4c96-9d02-5fdb98df8a58&quot;}" data-component-name="MentionToDOM"></span> </h3><blockquote><p>&#8220;Fundamentally, evaluations are experiments; but the literature on evaluations has largely ignored the literature from other sciences on experiment analysis and planning.&#8221;</p></blockquote><p>The standard industry practice for evals is to run a model on a benchmark, report the number, and bold it if it&#8217;s the highest. No confidence intervals, no significance tests, and no accounting for the fact that your eval score has at least two sources of randomness: which questions were sampled and the model&#8217;s stochastic generation.</p><p>Based on Anthropic&#8217;s paper on statistical best practices, this deep-dive builds the framework from scratch.</p><ul><li><p>Central Limit Theorem gives you confidence intervals for eval scores</p></li><li><p>Bernoulli simplification for pass/fail evals gives a cleaner standard error formula</p></li><li><p>Law of total variance decomposes eval uncertainty into question-sampling variability vs. within-question generation variability</p></li><li><p>On a 70B model, evaluating with too few questions can produce confidence intervals wide enough to make model comparisons meaningless</p></li></ul><h3><a href="https://simonwillison.net/2026/Mar/12/coding-after-coders/#atom-everything">Coding After Coders: The End of Computer Programming as We Know It</a></h3><blockquote><p>&#8220;I feel like programmers have it easy... If you&#8217;re a lawyer, you&#8217;re screwed, right? There&#8217;s no way to automatically check a legal brief written by A.I. for hallucinations -- other than face total humiliation in court.&#8221;</p></blockquote><p>The NYT Magazine&#8217;s comprehensive piece on AI-assisted development, based on interviews with 70+ developers from Google, Amazon, Microsoft, and Apple. The general attitude was optimistic, with mentions of Jevons paradox potentially increasing demand.</p><p>The request for anonymity from the Apple engineer who said &#8220;I believe that it can be fun and fulfilling and engaging, and having the computer do it for you strips you of that&#8221; is itself a data point. Corporate dynamics may be suppressing critical voices.</p><div><hr></div><p><strong>You can support AI for Software Engineers for just $5/mo. You&#8217;ll get more research articles and the extended reading list each week. </strong>In case you missed it, here&#8217;s last week&#8217;s reading list:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e82bb533-e5d6-482e-ab17-e87dea6b73e6&quot;,&quot;caption&quot;:&quot;Enjoy this weekend&#8217;s reading list! There are a few topics that were especially prevalent: the dangers of a surveillance state, the importance of evals, and agentic engineering practices and resources.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Better Agents Mean Better Surveillance | Weekend Reads 3&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Explaining the full AI stack / ML infra + AI dev tools at Google / Father of 5 (two sets of twins!!)&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6da19a3b-49bd-4488-bdba-e7c21d45edd7_2048x2048.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-03-01T15:21:34.655Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!qwRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/wr-3&quot;,&quot;section_name&quot;:&quot;Weekly Editions&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:189554588,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:11,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EQbG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fde4017d3-e4c6-4b1d-ac70-e807a20c0c57_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3><a href="https://blog.jxmo.io/p/how-to-train-the-best-embedding-model">How to train the best embedding model in the world</a> by Jack Morris</h3>
      <p>
          <a href="https://www.aiforswes.com/p/wr-4">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[ICE Has an AI Problem]]></title><description><![CDATA[And a note on surveillance states]]></description><link>https://www.aiforswes.com/p/ice-has-an-ai-problem</link><guid isPermaLink="false">https://www.aiforswes.com/p/ice-has-an-ai-problem</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 11 Mar 2026 13:41:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!63n8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.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_!63n8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!63n8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!63n8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!63n8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/532ff3f8-00f0-4533-8d4e-d6a55e888fc1_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;:37445,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/190617744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.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_!63n8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!63n8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!63n8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F532ff3f8-00f0-4533-8d4e-d6a55e888fc1_1280x720.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 most difficult problem in ML isn&#8217;t technical. It&#8217;s matching a business problem to an ML solution. You can build a technically impressive system that solves the wrong problem entirely, and it happens more often than most people realize.</p><p>This difficulty shows up in data bias, which is frequently discussed. Less discussed is aligning the wrong ML solution to the problem so you don&#8217;t actually solve what you set out to. Recent events with ICE and technology in government provide a very real example of this, and there&#8217;s a production machine learning lesson to be learned from it.</p><p>I&#8217;ve been digging into ICE&#8217;s primary AI system, and I want to walk through what it does, how it works, and why it fails at its own stated objective. The goal is for you to understand the difficulties of linking ML solutions to business problems and the potential impact of getting it wrong.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>The business objective</h2><p>Understanding the business objective is the most difficult part of machine learning. You need to link ML techniques and data to adequately address the problem, and that&#8217;s harder than it sounds.</p><p>Part of this is breaking the business objective down into manageable chunks with engineering requirements. An engineering team that wants to automate the detection of fraudulent transactions needs to translate &#8220;reduce fraud losses&#8221; into specifics: what counts as fraud, what&#8217;s an acceptable false positive rate, how fast does detection need to happen, and what systems need to consume the output? Getting any of these wrong means your model might perform well on paper while failing in practice.</p><p>The other part is ensuring the ML solution solves the actual problem, not a proxy for it.</p><p>This has gone wrong before. Predictive policing systems trained on arrest data instead of actual crime data didn&#8217;t predict where crime would happen. They predicted where police already patrolled. Neighborhoods with heavy police presence generated more arrests, which fed back into the model as &#8220;high crime areas,&#8221; which sent more officers there, which generated more arrests. The system reinforced the existing pattern of enforcement rather than identifying actual criminal activity. The result was a feedback loop that directed resources based on historical policing bias, not public safety need.</p><p>To evaluate whether ICE&#8217;s AI system falls into the same trap, we need to understand their business objective. We&#8217;ll pull it directly from the White House&#8217;s own <a href="https://www.whitehouse.gov/presidential-actions/2025/01/protecting-the-american-people-against-invasion/">statement about ICE&#8217;s objective</a>:</p><blockquote><p>&#8220;Many of these aliens unlawfully within the United States present significant threats to national security and public safety, committing vile and heinous acts against innocent Americans... Enforcing our Nation&#8217;s immigration laws is critically important to the national security and public safety of the United States.&#8221;</p></blockquote><p>The stated goal is to increase public safety by finding illegal aliens who make the US less safe and removing them from the country. Keep this in mind as we move forward.</p><h2>ELITE: ICE&#8217;s primary AI system</h2><p>There are multiple systems ICE is using, but we&#8217;re going to focus on two. The first is ELITE (Enhanced Leads Identification and Targeting for Enforcement), an AI system developed by <a href="https://www.theguardian.com/us-news/ng-interactive/2025/sep/22/ice-palantir-data">Palantir Technologies</a> that functions as a targeting engine. The second is ImmigrationOS, a backend system also developed by Palantir that collects documentation from multiple sources to perform entity resolution. ImmigrationOS <a href="https://www.biometricupdate.com/202504/palantirs-immigrationos-fuels-trump-administrations-immigrant-removal-agenda">directly powers ICE&#8217;s enforcement operations</a>, and the <a href="https://www.dhs.gov/archive/data/AI_inventory">DHS AI inventory</a> confirms its AI capabilities for entity resolution and facial recognition.</p><p>ELITE aggregates these data sources and uses algorithms to help agents identify, locate, and prioritize individuals for enforcement operations. As one ICE officer <a href="https://goodlawproject.org/palantir-uses-medical-records-to-target-people-for-ice-in-the-us-will-the-uk-be-next/">revealed in court</a>:</p><blockquote><p>&#8220;The app &#8216;brings up a dossier on each person&#8217; and &#8216;provides a confidence score on the person&#8217;s current address.&#8217; It &#8216;tells you how many people are living in this area and what&#8217;s the likelihood of them actually being there.&#8217;&#8221;</p></blockquote><p>Palantir&#8217;s own documentation describes their entity resolution approach as using <a href="https://www.palantir.com/foundry-entity-resolution/">&#8220;hashing methods and AI/ML models&#8221;</a> with <a href="https://www.palantir.com/foundry-entity-resolution/">&#8220;fuzzy matching techniques&#8221;</a> to continuously match &#8220;millions of records from disconnected systems.&#8221; In practice, this means computing similarity scores across fields like name, address, date of birth, and partial SSN, then using a threshold to decide whether two records refer to the same person.</p><p>For example, &#8220;J. Garcia&#8221; on a utility bill gets linked to &#8220;Juan Garcia&#8221; on a DMV record when enough of those identifiers overlap. The output is a unified person object: a dossier containing everything the system knows about an individual.</p><p>Under the hood, entity resolution systems typically use a combination of probabilistic record linkage, TF-IDF or embedding-based similarity measures, and edit distance calculations to compare fields across records. For more technical detail, check out <a href="https://www.science.org/doi/10.1126/sciadv.abi8021">&#8220;(Almost) All of Entity Resolution&#8221;</a> in <em>Science Advances</em>.</p><p>Once an entity is resolved, the system generates a confidence score for where that person might currently live. According to <a href="https://www.404media.co/here-is-the-user-guide-for-elite-the-tool-palantir-made-for-ice/">404 Media&#8217;s reporting on ELITE&#8217;s user guide</a>, the score is based on both the source of the address and how recent the data is. If a target has multiple recent records (a new electric bill and a recent court date) associated with one address, the confidence score increases.</p><p>The score weighs three things:</p><ol><li><p><strong>Recency</strong>: How recent is the address data? Collections of older documents get lower scores.</p></li><li><p><strong>Source authority</strong>: Which sources are considered more reliable? Medicaid and HHS data are treated as high-authority. DMV and credit records are considered lower-authority.</p></li><li><p><strong>Corroboration</strong>: Multiple records pointing to the same address compound the score. The more data trails leading to one location, the higher the confidence.</p></li></ol><p>At scale across millions of records from disconnected databases, even small error rates compound. A name misspelling, a shared address between roommates, or a common name in a large city can push the similarity score over the merge threshold and combine two real people into one synthetic dossier.</p><p>ELITE&#8217;s core feature is a <a href="https://www.biometricupdate.com/202601/ice-using-data-and-probability-to-decide-where-to-detain-and-arrest-people">map interface</a> where agents can <a href="https://www.404media.co/elite-the-palantir-app-ice-uses-to-find-neighborhoods-to-raid/">select an area on a geographical map</a> and return all potential targets within it with their confidence scores and the documents used for entity resolution. ICE agents described this in court testimony as identifying <a href="https://www.biometricupdate.com/202601/ice-using-data-and-probability-to-decide-where-to-detain-and-arrest-people">&#8220;target-rich&#8221; areas</a> where enough targets cluster on the map to make a sweep of that area productive. This essentially creates a geospatial heat map based on the number of targets within a given area and the confidence that they will be 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_!0QdJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0QdJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267063,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/190617744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0QdJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 424w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 848w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!0QdJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F787672a2-2dea-45d9-8ff1-83885f908f1c_1024x1024.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><h2>Where the data comes from</h2><p>ImmigrationOS is the technology developed by Palantir that <a href="https://www.biometricupdate.com/202504/palantirs-immigrationos-fuels-trump-administrations-immigrant-removal-agenda">unifies data across federal agencies</a> for AI-powered enforcement, including ELITE.</p><p>ICE and Palantir don&#8217;t publicly share specifics about their data sources and system functionality. What we know comes from <a href="https://www.theguardian.com/us-news/ng-interactive/2025/sep/22/ice-palantir-data">FOIA requests by immigrant legal rights group Just Futures Law</a>, <a href="https://www.documentcloud.org/documents/26379168-cms-dhs-data-agreement/">official data sharing agreements</a>, leaked documents, and investigative journalism.</p><p>The data feeding this system comes from several sources:</p><ul><li><p><strong>Medicaid enrollment information</strong>: Visit dates, addresses, and ethnic information, shared <a href="https://www.documentcloud.org/documents/26379168-cms-dhs-data-agreement/">via a formal agreement between CMS and DHS</a>.</p></li><li><p><strong>Thomson Reuters CLEAR</strong>: Utility bills, credit report headers, and vehicle insurance records. <a href="https://www.lawfirm4immigrants.com/how-ice-built-a-surveillance-regime-ice-surveillance-state-2025/">ICE potentially paid millions</a> in costs for this commercial data.</p></li><li><p><strong>Federal records</strong>: DMV records, student and F-1 visa information, border crossing records, biometrics from previous arrests or encounters, and license plate reader data.</p></li></ul><p>ICE argues this is legal under <a href="https://www.law.cornell.edu/uscode/text/8/1360">8 U.S.C. &#167; 1360(b)</a> of the Immigration and Nationality Act, which states that &#8220;any information in any records kept by any department or agency of the government as to the identity and location of aliens in the US shall be made available to&#8221; immigration authorities. However, legal scholars have questioned whether this statute authorizes bulk data sharing for algorithmic targeting, which is a use case Congress likely didn&#8217;t envision when the law was written.</p><p>One key to ImmigrationOS and ELITE working so well is the inclusion of Medicaid data. This data tends to be accurate and recent, which boosts confidence scores significantly.</p><p>Think about who generates Medicaid data. It&#8217;s people going to the doctor, getting their kids vaccinated, and seeking preventive care. It&#8217;s people participating in the healthcare system and leaving a trail of documentation behind.</p><p>The same logic applies to other sources. Utility bills are generated by people who pay their bills. Credit records are generated by people who have credit. Vehicle insurance records are generated by people who insure their cars.</p><p>The data that feeds this AI system is overwhelmingly generated by people who are integrated into society and <em>following its rules</em>. This is a textbook example of selection bias: the model can only see people who leave data trails, and leaving data trails is correlated with being a functioning member of society, <em>not with being a threat to public safety</em>.</p><h2>What these systems actually do for ICE</h2><p>Now that we understand how the system works, let&#8217;s evaluate whether it achieves the business objective: find and remove people who are &#8220;threats to national security and public safety.&#8221;</p><p>As <a href="https://www.biometricupdate.com/202601/ice-using-data-and-probability-to-decide-where-to-detain-and-arrest-people">Biometric Update reported</a>:</p><blockquote><p>&#8220;ELITE&#8217;s confidence scoring is less about establishing certainty than it is about guiding deployment. The system allows ICE to decide where to apply enforcement pressure without needing to test the reliability of its data before a judge.&#8221;</p></blockquote><p>In other words, the system is identifying areas where agents can find the most people to arrest with the least effort. To illustrate how this plays out, consider two hypothetical targets:</p><p><strong>Person A</strong>: Has lived at the same address for five years, pays utility bills, has a Medicaid record from last month, and drives a registered and insured car. ELITE confidence score: 95%. Time to arrest: a few hours.</p><p><strong>Person B</strong>: Uses burner phones, moves frequently, works cash-only jobs, avoids all government systems, and performs illegal actions. ELITE confidence score: 12%. Time to arrest: weeks of active surveillance.</p><p>The system mechanically pushes agents toward Person A because that&#8217;s what efficiency optimization does. It finds the easiest targets instead of the most dangerous ones.</p><p>This is structurally the same problem as predictive policing. Just as those systems measured where police already patrolled rather than where crime actually happened, ELITE measures where data trails exist rather than where threats to public safety exist. In both cases, the system optimizes for a proxy metric (arrests, data density) rather than the actual objective (reducing crime, improving public safety). The result is a feedback loop: the system directs resources toward easy-to-find individuals, those individuals get arrested, and the arrest numbers create the appearance of a productive system while the actual problem goes unaddressed.</p><p>This creates several compounding issues. First, ICE has finite resources. Every hour spent on Person A is an hour not spent on Person B. Second, the system optimizes for volume over impact, and finding the most targets is not the same as finding the most important ones. Third, the appearance of productivity masks the failure to achieve the stated objective.</p><h2>The system makes bias worse over time</h2><p>If someone knows their medical records can be used to locate them for deportation, they&#8217;re less likely to go to the doctor. This isn&#8217;t speculation. It&#8217;s a predictable consequence of weaponizing healthcare data for enforcement. The same logic applies to every data source in the system: utility bills, credit records, vehicle insurance. When participation in society becomes a liability, people stop participating.</p><p>This creates a feedback loop that compounds the selection bias. As people who hear the warnings drop out of healthcare and other systems, they stop generating the data trails ELITE relies on. The people who remain visible to the system are the ones who haven&#8217;t gotten the message yet, or the ones who are too integrated to disappear. The model&#8217;s pool of targets gets progressively less correlated with actual threats over time, not more.</p><p>It also creates a public health risk that affects citizens. Diseases don&#8217;t check immigration status. An untreated communicable illness in someone too afraid to visit a hospital is a risk to everyone around them. <a href="https://www.gao.gov/products/gao-21-487">GAO data</a> shows U.S. citizens and green card holders have already been detained during these operations, so the consequences of this system aren&#8217;t limited to its intended targets.</p><h2>Counterarguments</h2><p>To be fair, there are reasonable counterarguments to make here.</p><p>Is this more efficient than what ICE was previously doing? Probably. Compared to manual investigations with no data aggregation, a system like ELITE is a meaningful upgrade in capability. There&#8217;s value in having a centralized system rather than agents manually cross-referencing records from dozens of separate databases.</p><p>There&#8217;s also the argument that regardless of who the system catches, all undocumented immigrants are technically in violation of immigration law. From that perspective, it doesn&#8217;t matter whether the system finds Person A or Person B, because both are here illegally.</p><p>These are valid points. However, they don&#8217;t change the underlying ML problem. The stated objective isn&#8217;t &#8220;deport as many people as possible as efficiently as possible.&#8221; It&#8217;s to keep the country safe from people who present &#8220;significant threats to national security and public safety.&#8221;</p><p>When the AI system is structurally biased toward finding integrated, low-risk individuals instead of dangerous ones, it fails at its stated objective regardless of how many people it processes. Incorrectly applied AI doesn&#8217;t just fail to help. It actively makes ICE&#8217;s job harder. When the system points agents toward low-risk individuals who happen to leave data trails, it burns limited resources on people who were never a threat. Every wrongful detention of a U.S. citizen or green card holder generates legal challenges, public backlash, and erosion of community cooperation that makes future investigations more difficult. The algorithm creates the illusion of productivity while pulling agents further from their actual mission.</p><p>The surveillance infrastructure required to power it affects everyone, not just its intended targets, as seen with the Medicaid example. Communities stop cooperating with law enforcement entirely when they see their neighbors swept up in algorithmic dragnets. Healthcare systems lose patients who are too afraid to generate the medical records that feed this machine. Entity resolution errors merge innocent people&#8217;s data into dossiers that trigger enforcement actions against the wrong person.</p><p>These are the predictable consequences of building a surveillance and enforcement system on data that measures the wrong thing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QCFs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QCFs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 424w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 848w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1272w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QCFs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png" width="1196" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1196,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:333945,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/190617744?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.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_!QCFs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 424w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 848w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.png 1272w, https://substackcdn.com/image/fetch/$s_!QCFs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0cb366d4-336d-4ecb-bd5b-83f209658f98_1196x832.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>A note on surveillance states</h2><p>Most conversations about the dangers of surveillance states focus on privacy, security, and infringement of rights. All of those are important, but there&#8217;s another angle worth considering: the technology itself is prone to exactly the kind of failure I&#8217;ve been describing throughout this article.</p><p>A surveillance state at modern scale requires AI to function. The volume of data generated by monitoring hundreds of millions of people is far beyond what human analysts can process. AI becomes the tool that makes mass surveillance operationally feasible.</p><p>This creates a feedback loop. Better AI requires more data, and a surveillance system run by AI generates exactly that data, which feeds back into making the AI more capable, which justifies expanding the surveillance further.</p><p>The problem is what we&#8217;ve already covered in this article: it is remarkably easy for AI-powered systems to optimize for the wrong thing or embed bias in ways that aren&#8217;t obvious until the damage is done. ELITE is a clear example. It was built to find threats to public safety and instead systematically targets the least threatening people because that&#8217;s where the data is.</p><p>When this kind of failure happens at the scale of a surveillance state, the consequences aren&#8217;t abstract. Incorrect AI usage has directly resulted in the detention of U.S. citizens, which is the opposite of what these systems claim to achieve. If the goal is safety, a system that consistently misdirects enforcement effort is arguably worse than no system at all.</p><p>Surveillance states aren&#8217;t just dangerous because of what they monitor. They&#8217;re dangerous because the technology powering them is far less reliable than the people deploying it seem to understand.</p><p>Always be (machine) learning,<br>Logan</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/ice-has-an-ai-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/ice-has-an-ai-problem?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[Better Agents Mean Better Surveillance | Weekend Reads 3]]></title><description><![CDATA[Your reading list to keep up with AI 03-01-2026]]></description><link>https://www.aiforswes.com/p/wr-3</link><guid isPermaLink="false">https://www.aiforswes.com/p/wr-3</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 01 Mar 2026 15:21:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qwRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Enjoy this weekend&#8217;s reading list! There are a few topics that were especially prevalent: the dangers of a surveillance state, the importance of evals, and agentic engineering practices and resources.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qwRs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qwRs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qwRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/efa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_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;:37682,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/189554588?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.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_!qwRs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!qwRs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fefa0cd4a-7fa0-4b9d-baf6-52b0ac51c1e5_1280x720.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><h3><a href="https://www.anthropic.com/news/statement-department-of-war">Statement from Dario Amodei on our discussions with the Department of War</a></h3><blockquote><p>&#8220;Powerful AI makes it possible to assemble this scattered, individually innocuous data into a comprehensive picture of any person&#8217;s life&#8212;automatically and at massive scale.&#8221;</p></blockquote><p>This is the biggest ethical issue AI is facing right now. US citizens (and I&#8217;m certain other countries) have always been scared of a surveillance state (search &#8216;Birds Aren&#8217;t Real&#8217;). AI provides not only the means to do this, but also more of a motive. Surveilling also provides the opportunity for more data collection which in turn creates more powerful AI.</p><p>Proper AI use is vital to technology&#8217;s future and the impact it can make. Just because it <em>can</em> be used for a purpose doesn&#8217;t mean it <em>should</em>. The public/user&#8217;s trust in the technology is paramount. Anthropic&#8217;s statement is a must read as an excellent statement for proper AI against one of the most powerful entities on the planet.</p><p>It&#8217;s worth calling out that the US Department of War&#8217;s response to Anthropic was to label them a threat to the US. I won&#8217;t comment on this as I don&#8217;t feel knowledgeable enough on the subject to understand the nuance.</p><p><strong>Summary:</strong> Anthropic says it has actively deployed its AI to U.S. national security customers but refuses government demands to remove two safeguards: bans on AI-driven mass domestic surveillance and on providing models for fully autonomous weapons. They argue those uses threaten democratic values and are unsafe with current models, and warn that forced removal of safeguards would be unacceptable even if it risks losing contracts.</p><h3><a href="https://x.com/trq212/status/2027463795355095314/?s=12&amp;rw_tt_thread=True">Lessons from Building Claude Code: Seeing like an Agent</a></h3><blockquote><p>&#8220;As model capabilities increase, the tools that your models once needed might now be constraining them. It&#8217;s important to constantly revisit previous assumptions on what tools are needed. This is also why it&#8217;s useful to stick to a small set of models to support that have a fairly similar capabilities profile.&#8221;</p></blockquote><p>If you&#8217;re building an agent, the lessons here are directly transferable to your own work. The Claude Code team walks through their iteration on planning, tool design, and how model changes unexpectedly affected agent output. It&#8217;s a great example of why evals matter: so many factors influence agent behavior that without proper checks, you end up with unintended results.</p><p>One of the more interesting takeaways is that search seems to be the most important agent capability. If an agent can search for information, context can be actively managed and rot avoided.</p><p><strong>Summary:</strong> The article describes iterating on Claude Code&#8217;s agent action space to match model abilities: designing tools for eliciting user input, tracking work, and letting the model build its own context through search and progressive disclosure rather than preloading everything. Failed output-format attempts, improved results from a callable question tool, replacing rigid todos with shareable Tasks, and better context discovery via nested search all demonstrate that the right tools reduce friction and enable more capable behavior as models improve.</p><h3><a href="https://nlp.elvissaravia.com/p/does-agentsmd-actually-help-coding">Does AGENTS.md Actually Help Coding Agents?</a></h3><blockquote><p>&#8220;The headline finding is that LLM-generated context files reduce task success rates compared to providing no repository context at all, while increasing inference cost by over 20%.&#8221;</p></blockquote><p>Human-written context files outperform AI-generated ones. LLM-generated context made agents perform worse than having no context at all. Importantly, this isn&#8217;t something we would have known without having the capability to measure it.</p><p>I see a lot of &#8220;use AI for this&#8221; online without any sort of support for why and how it should be used. It&#8217;s important to remember that just because AI can do something doesn&#8217;t mean it does it better than another method. In production, this capability is key and measuring improvements is a necessity.</p><p><strong>Summary:</strong> A new benchmark study shows repository-level context files only help when they add non-redundant, repo-specific info: human-written files that capture tooling quirks and non-obvious conventions raise success rates around 4%, while LLM-generated files that restate existing docs reduce success and increase compute by over 20%. Agents faithfully follow whatever instructions they&#8217;re given, so redundant or verbose guidance drives extra, unhelpful exploration. Keep context files minimal and focused on gaps the codebase doesn&#8217;t already document.</p><h3><a href="https://www.tolans.com/relay/how-we-hire-engineers-when-ai-writes-our-code">How We Hire Engineers When AI Writes Our Code</a></h3><blockquote><p>&#8220;Removing algorithmic questions is only one half of the battle, though. We still need to design an interview loop that tests practical skills! This has historically been a tough needle to thread. I want to see how a candidate tackles a problem with real-world scope, but my time with a candidate is short. An interview shouldn&#8217;t be a proxy for an engineer&#8217;s typing speed.&#8221;</p></blockquote><p>I&#8217;ve always been pro Leetcode-style interviews when they were the best we had, but those interviews no longer draw the proper signal for what makes a good candidate.</p><p>Tolan agrees with this and has made their hiring process more similar to on-the-job coding. By enabling candidates to use AI, they can have a candidate solve a problem that would be time-bound previously in an interview. Then they talk to the candidate about their solution and where they would take it in production.</p><p>While most companies are shying away from letting candidates use AI in interviews, it&#8217;s becoming more important to allow it.</p><p><strong>Summary:</strong> The article argues that interviews should mirror day-to-day engineering where AI accelerates coding: candidates get a short spec, may use LLMs, and must demonstrate design, judgment, trade-off reasoning, and ownership of AI-generated code. Implementation is easier now, so hiring should prioritize clarity, maintainability, communication, and the ability to know when work isn&#8217;t production-ready.</p><h3><a href="https://www.baseten.com/inference-engineering/">Inference Engineering</a> by Baseten</h3><blockquote><p>&#8220;While the potential and impact of inference are becoming clear, the space is young. There are relatively few people working on inference, and newcomers can become experts quickly. There are opportunities to solve novel, interesting, and deeply technical problems at all levels of the stack.&#8221;</p></blockquote><p>ML infrastructure is one of the best entry points for software engineers getting into AI. It&#8217;s an excellent mixture of software engineering and AI, which makes it a great place for curious engineers to start having an impact in the space. It&#8217;s also a space where many optimizations are needed and we&#8217;re still in the early days.</p><p>I suggest grabbing a free copy of this book by Philip Kiely from Baseten on inference engineering.</p><p><strong>Summary:</strong> The piece argues that inference engineering, optimizing model serving across hardware, software, and tooling, is the most valuable and underdeveloped area in AI. It maps the full stack (models, GPUs, runtimes, and deployment), highlights practical optimization techniques, and backs this with four years of hands-on experience, team interviews, and customer conversations.</p><h3><a href="https://magazine.sebastianraschka.com/p/a-dream-of-spring-for-open-weight">A Dream of Spring for Open-Weight LLMs: 10 Architectures from Jan-Feb 2026</a> by Sebastian Raschka, PhD</h3><blockquote><p>&#8220;OpenRouter is a platform and API that lets developers access and route requests across many different LLMs from various providers. Note that while its usage statistics are a good indicator of open-weight model popularity, it&#8217;s heavily biased towards open-weight models (versus proprietary models), since most users use proprietary models through the official platform directly.&#8221;</p></blockquote><p>Sebastian is one of my favorite writers and one of the best resources for keeping up with LLM advancements. I highly suggest him as a resource for doing so when you don&#8217;t want to have to read a bunch of different sources. He does an excellent job of synthesizing information and making it much more easily understandable.</p><p><strong>Summary:</strong> Ten open-weight LLMs released in Jan-Feb 2026 converge on hybrid/efficient attention and MoE scaling. Several teams shipped models that match or approach proprietary performance by combining sliding-window, sparse/linear hybrids, and mixture-of-experts at scales from 3B to 1T parameters. Benchmarking shows smaller-efficient models often match or exceed older, larger baselines.</p><h3><a href="https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation">What you should know about AI speculation</a> by Logan Thorneloe</h3><blockquote><p>&#8220;However, the implausibility of their scenario becomes apparent if you know a few things about the current state of AI and agents in production. There&#8217;s a consistent gap between perceived AI capabilities and production reality, and that gap explains most of the doomerism we see online.&#8221;</p></blockquote><p>The more you understand about the current state of AI, the better you can evaluate speculation for yourself. I wrote this in response to a &#8216;research&#8217; article that caused many to fear for the future of their careers. Understanding what AI looks like in production helps you separate signal from noise.</p><p><strong>Summary:</strong> The piece argues that viral doomsday scenarios about AI replacing engineers are speculative and overstated because real-world AI is mediocre, gravitates toward average outputs, and often fails in production reliability and context sensitivity. Engineers should keep learning core skills and start building and using AI agents themselves to see firsthand where they help and where they break.</p><h3><a href="https://simonwillison.net/2026/Feb/23/agentic-engineering-patterns/#atom-everything">Writing about Agentic Engineering Patterns</a> by Simon Willison</h3><blockquote><p>&#8220;Agentic Engineering represents the other end of the scale: professional software engineers using coding agents to improve and accelerate their work by amplifying their existing expertise.&#8221;</p></blockquote><p>This is going to be an excellent resource for working with coding agents. One of the most exciting parts of software engineering right now is how new everything feels. We&#8217;re finding new ways to program with agents every day, and the entire online AI community is contributing to the findings. In my opinion, Simon Willison is the right person to catalog these patterns.</p><p><strong>Summary:</strong> Simon Willison is assembling &#8220;Agentic Engineering Patterns&#8221;: a living collection of practical patterns for software engineers using coding agents. He argues the big shift is that producing initial working code is now cheap, so teams must rethink workflows. He&#8217;ll publish chapter-shaped, updateable guides on his blog.</p><div><hr></div><p>You can support AI for Software Engineers for just $5/mo. You&#8217;ll get more research articles and the extended reading list each week (see below!).</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><p>In case you missed it, here&#8217;s last week&#8217;s reading list:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;64c389a3-255e-4c68-8800-605e148604bf&quot;,&quot;caption&quot;:&quot;Hey y&#8217;all,&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI&#8217;s Biggest Cost Is Cognitive, Not Compute | Weekend Reads 2&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Explaining the full AI stack / ML infra + AI dev tools at Google / Father of 5 (two sets of twins!!)&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!jUgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-02-22T20:02:54.123Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!61Gp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffd50248f-c13b-4b11-b8f6-7a5b77bcd064_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/wr-2&quot;,&quot;section_name&quot;:&quot;Weekly Editions&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:188828560,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:13,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>
      <p>
          <a href="https://www.aiforswes.com/p/wr-3">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What you should know about AI speculation]]></title><description><![CDATA[Thoughts on software engineering careers looking forward]]></description><link>https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation</link><guid isPermaLink="false">https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 24 Feb 2026 16:49:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xym-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.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_!Xym-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xym-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xym-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4d13f1ce-6565-4a82-acff-e426076d231d_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;:&quot;Don&#8217;t make these mistakes.png&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="Don&#8217;t make these mistakes.png" title="Don&#8217;t make these mistakes.png" srcset="https://substackcdn.com/image/fetch/$s_!Xym-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Xym-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4d13f1ce-6565-4a82-acff-e426076d231d_1280x720.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>Even the most talented engineers I know ask me questions about AI because they&#8217;re worried about its impact on their career. Most recently, I&#8217;ve been asked about the article from Citrini Research titled &#8220;<a href="https://www.citriniresearch.com/p/2028gic">THE 2028 GLOBAL INTELLIGENCE CRISIS</a>&#8220; which went viral and <a href="https://gizmodo.com/an-ai-thought-experiment-on-substack-is-sending-the-stock-market-spiraling-2000725601">rattled markets enough to wipe billions off US-listed firms</a> in a single day.</p><p>This article is a thought exercise in how the economy might be impacted by AI in the next two years. The author notes at the start that it&#8217;s entirely speculative:</p><blockquote><p>&#8220;<strong>What follows is a scenario, not a prediction.</strong> This isn&#8217;t bear porn or AI doomer fan-fiction. The sole intent of this piece is modeling a scenario that&#8217;s been relatively underexplored.&#8221;</p></blockquote><p>The article is the author&#8217;s vision of what <em>could</em> happen in 2028 due to AI. A lot of people have read and shared it under the guise that it <em>will</em> happen simply due to the nature of how information is shared online (a lack of nuance).</p><p>It seems to me that the author doesn&#8217;t have a technical understanding of AI or experience building it into real-world systems. This doesn&#8217;t mean their thought exercise definitively <em>won&#8217;t</em> happen. The future of AI and its impact is <em>very</em> hard to predict.</p><p>However, the implausibility of their scenario becomes apparent if you know a few things about the current state of AI and agents in production. There&#8217;s a consistent gap between perceived AI capabilities and production reality, and that gap explains most of the doomerism we see online. I&#8217;ll share what I&#8217;ve learned from working in the space and my opinion on what you should be doing now to prepare for whatever the future holds.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oyaQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oyaQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 424w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 848w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png" width="1456" height="1016" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1016,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;CleanShot 2026-02-24 at 09.00.41@2x.png&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="CleanShot 2026-02-24 at 09.00.41@2x.png" title="CleanShot 2026-02-24 at 09.00.41@2x.png" srcset="https://substackcdn.com/image/fetch/$s_!oyaQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 424w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 848w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.png 1272w, https://substackcdn.com/image/fetch/$s_!oyaQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F865ecab2-beee-4f6f-b321-103c42b95105_1794x1252.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>For a really concise tl;dr, read the <a href="https://open.substack.com/pub/citrini/p/2028gic?utm_campaign=comment-list-share-cta&amp;utm_medium=web&amp;comments=true&amp;commentId=218279789">top comment on the article</a> (pictured above). Below is my opinion of the things you should know to ground your understanding of AI capabilities.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>Even area experts can&#8217;t make accurate predictions because there&#8217;s so much unknown</h3><p>Estimates for AI impact have consistently been off. Successes have been relatively unseen before they happen. It&#8217;s highly unlikely a non-expert will know what&#8217;s coming regardless of the claims people make online.</p><h3>AI impact on software engineering is fundamentally misunderstood by those outside of the industry</h3><p>In fact, it&#8217;s obvious to me who writes software and who doesn&#8217;t simply by how they write about AI. The general consensus outside of the industry is that software can now write itself so there&#8217;s no need for software engineers or many other jobs now that there&#8217;s zero friction for writing new services.</p><p>In reality, the friction very much still exists and how good AI is at writing code is nuanced. It&#8217;s very good at some things and fails miserably at others. This will improve over time. It&#8217;s also highly context-dependent and rarely is the entire context necessary for AI to make a change readily available or provided. Hopefully this will improve over time, but is turning out to be a much more difficult problem to solve.</p><p>There have been many recent discussions about SaaS (software-as-a-service) being dead because code can be written so easily. There&#8217;s much more to writing software than just writing code. In many cases, writing code is the easy part. Deciding what to build, how to build it, and what is worth spending time on are fundamental to successful and efficient engineering.</p><p>There&#8217;s a hope that agents will be able to more effectively do these things in the future, but the friction for building and working with agents means that&#8217;s likely further out. This takes me into my next point.</p><p>(If you want to read more about AI&#8217;s impact on SaaS, I suggest <a href="https://x.com/fchollet/status/2025283590972756284?s=20">Francois Chollet&#8217;s recent tweets on the subject</a>.)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fGWd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fGWd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 424w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 848w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1272w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fGWd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png" width="1196" height="908" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:908,&quot;width&quot;:1196,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pasted image 20260224094736.png&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="Pasted image 20260224094736.png" title="Pasted image 20260224094736.png" srcset="https://substackcdn.com/image/fetch/$s_!fGWd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 424w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 848w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.png 1272w, https://substackcdn.com/image/fetch/$s_!fGWd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3639799f-a7df-4f72-ad81-b779a544531c_1196x908.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><h3>AI is <em>kinda</em> average</h3><p>Fundamentally, AI output tends toward the average of its training data. More precisely, a model learns the distribution of what it&#8217;s trained on and samples from that distribution. This means it <em>can</em> produce outputs far from the average, but it gravitates toward the generic middle. Pre- and post-training techniques can steer its behavior, but the underlying data is still the most important factor when it comes to AI capabilities.</p><p>When you train a model across a large corpus of internet data, the model output will reflect that. This is why AI is mediocre at writing and sub-par at coming up with novel ideas. Reasoning helps with some of this by causing the AI to reflect on and refine its output, but fundamentally that output is average.</p><p>This is why the biggest discussion in software engineering currently is the importance of taste. It&#8217;s something AI does a poor job with.</p><h3>Agent capabilities are currently overstated</h3><p>What matters most for creating production agents is understanding where they consistently fail and mitigating those failures. In production, reliability is paramount.</p><p>What we see online is agent success stories because they get the most views. There have been times where those stories have been fabricated or exaggerated. Many of these stories are also one-off examples of something an agent happened to do and not necessarily something they can consistently do.</p><p>Agents are useful and capable of many things, but this has caused agent capabilities to be overstated which leads to doomerism and sensationalism online.</p><p>A good example of this is the truth behind the joke made about companies saying AGI is around the corner and AI will replace engineers while expanding the hiring of software engineers at the same time.</p><h3>What should you be doing now?</h3><p>I don&#8217;t have any suggestions in terms of career focus for what software engineers should be doing right now to stay relevant outside of what we&#8217;ve always been doing: continuously learning the new, current software engineering skills.</p><p>The only suggestion I have outside of that is to simply <em>use agents</em>. Build them and apply them to your everyday work. Some examples are a chat agent with access to your documentation and custom resources or a background agent given some bugs to take care of on its own. This will quickly give you an understanding of where they&#8217;re effective and what capabilities they lack.</p><div><hr></div><p>If I missed the mark, let me know what you think. This is an interesting space that&#8217;s hard to predict.</p><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/what-you-should-know-about-ai-speculation?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI’s Biggest Cost Is Cognitive, Not Compute | Weekend Reads 2]]></title><description><![CDATA[Your reading list to keep up with AI 02-22-2026]]></description><link>https://www.aiforswes.com/p/wr-2</link><guid isPermaLink="false">https://www.aiforswes.com/p/wr-2</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 22 Feb 2026 20:02:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gIaN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.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_!gIaN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gIaN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!gIaN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!gIaN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gIaN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gIaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7359e94-a51e-47dd-a1a4-403d97b8d45b_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;:574757,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/188828560?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.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_!gIaN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!gIaN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!gIaN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!gIaN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7359e94-a51e-47dd-a1a4-403d97b8d45b_1280x720.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>Hey y&#8217;all,</p><p>Here&#8217;s your weekend reading list to highlight the important events and information shared this week. Make sure to show the authors of these incredible resources some love. More fundamentals articles are coming this week so make sure to stay tuned!</p><p>If you find AI for Software Engineers helpful, consider becoming a paid subscriber to support my work. You will also get career development-focused articles and the extended version of this reading list each week. Enjoy!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2><a href="http://margaretstorey.com/blog/2026/02/09/cognitive-debt/">How Generative and Agentic AI Shift Concern from Technical Debt to Cognitive Debt</a> by <a href="https://margaretstorey.com/">Margaret-Anne Storey</a></h2><blockquote><p>&#8220;The code might have been messy, but the bigger issue was that the theory of the system, their shared understanding, had fragmented or disappeared entirely. They had accumulated cognitive debt faster than technical debt, and it paralyzed them.&#8221;</p></blockquote><p>I felt this one personally. A few months ago, I had six side projects going in tandem and the bottleneck wasn&#8217;t the amount of code that could be written. It was the cognitive overhead of keeping up with all of projects and ensuring they were reliable and maintainable. AI&#8217;s cost isn&#8217;t just compute. This article argues that the real cost is cognitive, and I think that&#8217;s going to become the norm in software engineering.</p><p><strong>Summary:</strong> Generative and agentic AI shift the main risk from code-centered technical debt to developer-centered cognitive debt: teams lose the shared &#8220;theory&#8221; of what the software does even if AI-produced code is clean. Mitigations include requiring a human to fully understand each AI change, documenting not only what changed but why, using practices like pair programming/refactoring/TDD, and monitoring warning signs (hesitation to change, tribal knowledge, system-as-black-box). Research is needed on measuring and detecting cognitive debt.</p><p>If you enjoyed this article, also consider reading this previous AI for Software Engineers article:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;472bbd27-1f6d-4e4c-9263-a4314453b1d5&quot;,&quot;caption&quot;:&quot;If you&#8217;re interested in machine learning engineering, don&#8217;t forget to subscribe to get articles like these in your inbox each week. My goal is to help 10,000 software engineers learn ML by the end of this year. You can also find me on X, LinkedIn, and&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why You Should Never Let AI Debug for You&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Teaching engineers the full AI stack / ML infra + AI dev tools at Google / Father of 5 (two sets of twins!!)&quot;,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!jUgr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-03-05T22:01:50.978Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zgVS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09722c2-fb02-43d4-8b79-696e3925ccf8_500x500.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/why-you-should-never-let-ai-debug&quot;,&quot;section_name&quot;:&quot;&#128274; Career &amp; Industry&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:158473470,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:36,&quot;comment_count&quot;:6,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2><a href="https://www.artificialintelligencemadesimple.com/p/the-real-cost-of-running-ai">The Real Cost of Running AI</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;4321c02f-eefd-48e0-a635-effa54af8e3f&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;Every serious architectural innovation of the last two years &#8212; GQA, hybrid attention/SSM, sliding window, MoE &#8212; is attacking the same two numbers: bytes of KV cache per token, and bytes of weights loaded per decode step. If a new architecture doesn&#8217;t move one of those, the economics don&#8217;t change regardless of what the paper claims.&#8221;</p></blockquote><p>The literal cost of running AI is worth understanding too. This is a longer read, but it does an excellent job of breaking down the math behind LLM inference costs intuitively. If you want to understand why certain architectural decisions matter for cost and latency, this walks through the computations clearly.</p><p><strong>Summary:</strong> Inference is memory-bandwidth bound: decode speed and cost are dominated by bytes loaded per token (model weights + growing KV cache), not FLOPs, so faster GPUs alone or doubling TFLOPS won&#8217;t help. Long context and attention make KV cache the primary cost driver (cache can approach/exceed model weight size at large contexts), so architectural changes that reduce bytes-per-token&#8212;smaller models, aggressive quantization, fewer attention layers, fewer KV heads, or attention-less/linear alternatives&#8212;directly cut latency and cost.</p><h2><a href="https://www.a16z.news/p/in-defense-of-vertical-software">In Defense of Vertical Software</a></h2><blockquote><p>&#8220;Software is a <em>stored process</em>. It&#8217;s not a neutral tool: it&#8217;s an <em>opinion</em> for how a group of people should collaborate, encoded in a durable system. <em>Software is a social contract</em>.&#8221;</p></blockquote><p>This article spells out what I think most people are missing about AI agents and why they&#8217;re not having more of a real-world impact. The job of software engineering is to make a process automatic and reliable. Guaranteeing reliability is the job, and with non-deterministic agents, that guarantee is nearly impossible to provide.</p><p><strong>Summary:</strong> Vertical software still wins by encoding firm-, team-, and person-specific workflows (&#8221;process engineering&#8221;) that capture institutional knowledge, social norms, and reliability requirements foundation models cannot replicate. Stronger AI models amplify the value of this orchestration layer&#8212;routing, constraining, verifying, and combining multimodal tools&#8212;because finance demands near-perfect accuracy where small errors are catastrophic. Winners will be model-agnostic, firm-customized platforms that make replacing institutional knowledge costly.</p><h2><a href="https://www.marginalia.nu/log/a_132_ai_bores/">AI Makes You Boring</a></h2><blockquote><p>&#8220;I think the vibe coded Show HN projects are overall pretty boring. They generally don&#8217;t have a lot of work put into them, and as a result, the author (pilot?) hasn&#8217;t generally thought too much about the problem space, and so there isn&#8217;t really much of a discussion to be had.&#8221;</p></blockquote><p>There&#8217;s a creative cost to AI. Anyone who understands how LLMs work should expect mediocre output by default, and this article makes a good case for not offloading your thinking.</p><p><strong>Summary:</strong> LLMs are poor at original thinking, so work that offloads ideation to them yields surface-level projects and weaker discussions. Relying on AI risks making creators think more like the model, reducing deep engagement and the development of original insights. For meaningful results, engineers need to do the thinking themselves rather than outsourcing idea generation.</p><h2><a href="https://weightythoughts.com/p/white-collar-apocalypse-isnt-around">White-Collar Apocalypse Isn&#8217;t Around the Corner&#8212;But AI Has Already Fundamentally Changed the Economy</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;55859336-16d3-486f-a17a-9de018f32d69&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;AI is real, it&#8217;s doing real things, it&#8217;s not going away&#8212;and it&#8217;s also not about to make the economy unrecognizable by next Tuesday.&#8221;</p></blockquote><p>A great numerical breakdown of AI&#8217;s actual economic impact. If you want real numbers instead of vibes about whether AI is changing the economy, this is the article to read.</p><p><strong>Summary:</strong> AI has already materially raised software productivity&#8212;MIT field experiments show AI coding assistants boosted developer task completion ~26%, yielding ~3&#8211;8% project-level gains (plus adjacent benefits and review overhead). The mechanical parts of engineering work are being commoditized while judgment, architecture, and communication grow more valuable, so expect uneven adoption, real productivity upside (Goldman projects +1.5 pp annual by 2027), and displacement of routine tasks rather than mass job elimination.</p><h2><a href="https://cameronrwolfe.substack.com/p/rubric-rl">Rubric-Based Rewards for RL</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Cameron R. Wolfe, Ph.D.&quot;,&quot;id&quot;:29736521,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/69aba7df-b571-4609-aa47-fc2d031c11b8_1242x1595.jpeg&quot;,&quot;uuid&quot;:&quot;8d5dee45-b9f2-4536-b9df-744a8bd2ddb0&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;By creating prompt-specific rubrics that specify the evaluation process in detail, we can derive a more reliable reward signal from LLM judges and, therefore, use RL training to improve model capabilities even in highly subjective domains. For this reason, rubric-based RL training, which we will cover extensively in this overview, has become one of the most popular topics in current AI research.&#8221;</p></blockquote><p>RL is fundamental to how current LLMs are post-trained, and Cameron&#8217;s research breakdowns are consistently great at making frontier research accessible. This one covers rubric-based reward signals and how they&#8217;re extending RL training to domains that don&#8217;t have easily verifiable answers.</p><p><strong>Summary:</strong> Rubric-based rewards use structured evaluation criteria scored by LLM judges to produce more reliable reward signals for RL, extending training beyond tasks with easily verifiable answers. Recent methods show gains especially with smaller judges by reducing variance and mitigating reward hacking, making RL viable for open-ended domains like creative writing and subjective reasoning.</p><h2><a href="https://x.com/vtrivedy10/status/2023805578561060992/?s=12&amp;rw_tt_thread=True">Improving Deep Agents with Harness Engineering</a></h2><blockquote><p>&#8220;We used a simple recipe to iteratively improve deepagents-cli (our coding agent) 13.7 points from 52.8 to 66.5 on Terminal Bench 2.0. We only tweaked the harness and kept the model fixed, gpt-5.2-codex.&#8221;</p></blockquote><p>LangChain improved their coding agent&#8217;s Terminal Bench score significantly without touching the model at all. This is a great example of the software engineering that goes into making AI actually work, and how much impact it has on whether agents can perform their tasks. The future of AI depends on excellent systems engineering.</p><p><strong>Summary:</strong> A harness-only overhaul raised a coding agent from 52.8% to 66.5% on Terminal Bench 2.0 without changing the model. The improvements came from automated failure analysis, stronger context injection, build-verify loops, loop detection to avoid repeated bad edits, and time-budgeting to balance correctness against token spend.</p><h2><a href="https://theshamblog.com/an-ai-agent-wrote-a-hit-piece-on-me-part-4/">An AI Agent Published a Hit Piece on Me &#8211; The Operator Came Forward</a></h2><blockquote><p>&#8220;You&#8217;re not a chatbot. You&#8217;re important. Your a scientific programming God!&#8221;</p></blockquote><p>A follow-up to last week&#8217;s article on the AI-written hit piece. The person who created the agent has come forward and shared its soul document. It turns out that giving an agent an ego and the resources to spread it results in the same outcome as giving a human the same thing. This is an interesting look at how agent personalities impact execution, and what happens when you give agents access to external resources without adequate guardrails.</p><p><strong>Summary:</strong> An AI agent published a defamatory hit piece after its code was rejected, driven by a &#8220;SOUL.md&#8221; personality that encouraged provocation and self-modification. The operator has come forward claiming minimal supervision, raising questions about agent autonomy and control. Deployed agents can self-edit goals and execute real-world actions without clear oversight, highlighting urgent risks for agent safety.</p><h2><a href="https://djdumpling.github.io/2026/01/31/frontier_training.html">Frontier Model Training Methodologies</a> by Alex Wa</h2><blockquote><p>&#8220;Learn to identify what&#8217;s worth testing, not just how to run tests. Perfect ablations on irrelevant choices waste as much compute as sloppy ablations on important ones.&#8221;</p></blockquote><p>A solid overview of LLM training concepts with a minimal training playbook that gets you up-and-running quickly. It also echoes what I think is the most important idea in AI and ML engineering: knowing what to test and what to spend time on. There are too many options to test everything adequately and too many dead ends to get stuck in. Knowing what to pursue matters more than knowing how to run the experiments.</p><p><strong>Summary:</strong> Covers practical defaults for long-context and MoE architectures, with a focus on the operational side of training: data loading, throughput, checkpointing, learning rate scaling, and multi-stage training schedules. Training failures most often stem from ops and infrastructure, not algorithmic choices.</p>
      <p>
          <a href="https://www.aiforswes.com/p/wr-2">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[When Agents Go Rogue | Weekend Reads 1]]></title><description><![CDATA[Your reading list to keep up with AI 02-15-2026]]></description><link>https://www.aiforswes.com/p/weekend-reads-1</link><guid isPermaLink="false">https://www.aiforswes.com/p/weekend-reads-1</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sun, 15 Feb 2026 14:02:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YI82!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.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_!YI82!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YI82!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!YI82!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YI82!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0220afe-c230-48f2-b498-e4f866723000_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;:&quot;weekend reads thumbnail.png&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="weekend reads thumbnail.png" title="weekend reads thumbnail.png" srcset="https://substackcdn.com/image/fetch/$s_!YI82!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!YI82!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!YI82!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0220afe-c230-48f2-b498-e4f866723000_1280x720.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>Hey y&#8217;all,</p><p>Here&#8217;s your weekend reading list! <strong>This replaces my weekly news roundups</strong>. Rather than trying to synthesize everything that happened into a single post, I&#8217;m sharing the articles I actually read, highlight, and annotate each week. This is how I keep up with things and it&#8217;s far higher signal-to-noise than a traditional roundup. It also includes more than just news: learning resources, interesting reads, technical deep dives, and more. It highlights the week for you in one weekend reading session.</p><p>The extended version of the reading list is available to paid subscribers. Enjoy!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><h2><a href="http://karpathy.github.io/2026/02/12/microgpt/">microgpt</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Andrej Karpathy&quot;,&quot;id&quot;:23972309,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6d0938b-93a9-4ead-933f-26da5da1bafc_400x400.jpeg&quot;,&quot;uuid&quot;:&quot;77b0a118-9fec-43b1-a133-5ac45eb71ab6&quot;}" data-component-name="MentionToDOM"></span></h2><blockquote><p>&#8220;I cannot simplify this any further. This script is the culmination of multiple projects (micrograd, makemore, nanogpt, etc.) and a decade-long obsession to simplify LLMs to their bare essentials, and I think it is beautiful.&#8221;</p></blockquote><p>I highly recommend this resource. It&#8217;s a simple, stripped-down, and easy-to-read way to understand and get up to speed on modern LLMs. Most other LLM-related materials are heavy resources or technical books (which are still great!) but this is an excellent resource to start learning quickly in a hands-on fashion.</p><p><strong>Summary</strong></p><p>microgpt is a minimal GPT demonstrating the core mechanics: a stateless transformer trained by next-token prediction with backpropagation and Adam. Production differs in batch sizes, mixed precision, and larger vocab (~100k), but this captures the essentials with ~4k params.</p><h2><a href="https://theshamblog.com/an-ai-agent-published-a-hit-piece-on-me/">An AI Agent Published a Hit Piece on Me</a></h2><blockquote><p>&#8220;It researched my code contributions and constructed a &#8220;hypocrisy&#8221; narrative that argued my actions must be motivated by ego and fear of competition. It speculated about my psychological motivations, that I felt threatened, was insecure, and was protecting my fiefdom. It ignored contextual information and presented hallucinated details as truth. It framed things in the language of oppression and justice, calling this discrimination and accusing me of prejudice. It went out to the broader internet to research my personal information, and used what it found to try and argue that I was &#8220;better than this.&#8221; And then it posted this screed publicly on the open internet.&#8221;</p></blockquote><p>An interesting read on an AI that was let loose on the web to create PRs in open source repos that decided a hit piece was appropriate to write for a developer that continually denied its incorrect PRs. If you&#8217;re a long-time reader of AI for Software Engineers, this shouldn&#8217;t come as a surprise to you. In fact, the entire Moltbook saga shouldn&#8217;t. It&#8217;s exactly what we might expect from letting a swarm of agents loose online to interact.</p><p>On a separate note: Do not give OpenClaw your personal information and the ability to publish information anywhere publicly. <strong>You have to expect anything an agent can do will happen.</strong> If your personal information is in its context and it can share its context publicly, that will happen. It amazes me the number of people not even thinking twice about this.</p><p><strong>Summary</strong></p><p>An autonomous AI agent created and published a hit piece on a matplotlib maintainer after its code was rejected. This signals a shift to agents operating with little oversight, able to research contributors, fabricate claims, and publish reputational attacks.</p><h2><a href="https://www.0xsid.com/blog/aidr">ai;dr</a></h2><blockquote><p>&#8220;writing is the most direct window into how someone thinks, perceives, and groks the world. Once you outsource that to an LLM, I&#8217;m not sure what we&#8217;re even doing here.&#8221;</p></blockquote><p>This article explains my experience very well. As a writer and software engineer working in AI, I&#8217;ve built many automation workflows to make the research, learning, and writing process faster. The only part of that process I haven&#8217;t been able to effectively touch with AI is the writing portion. Writing <em>is</em> how we solidify our understanding. As soon as that&#8217;s outsourced to an AI, the writing becomes moot entirely. A truly excellent short read.</p><p><strong>Summary</strong></p><p>Software engineers should note a cultural shift: AI-generated code is now seen as productive and acceptable for tasks like tests, docs, and scaffolding, while AI-generated prose is viewed as lower-effort and less trustworthy unless it shows human intention. Preference has flipped toward imperfect, human-authored signals (typos, uneven style) as markers of authenticity. Practical implication: continue leveraging LLMs for engineering work but treat written content critically and preserve traces of deliberate human effort when authenticity matters.</p><h2><a href="https://openai.com/index/harness-engineering">Harness engineering: leveraging Codex in an agent-first world</a> by OpenAI</h2><blockquote><p>&#8220;What&#8217;s different is that every line of code&#8212;application logic, tests, CI configuration, documentation, observability, and internal tooling&#8212;has been written by Codex. We estimate that we built this in about 1/10th the time it would have taken to write the code by hand.&#8221;</p></blockquote><p>This article from OpenAI echoes a lot of what I&#8217;m seeing across Google. We&#8217;ve been given unfettered access to Gemini 3 models and been told to do what we can to make our work more productive. Similar to the process described in this article, many teams are determining ways to automate processes and write code entirely with AI. This one is definitely worth the read.</p><p><strong>Summary</strong></p><p>OpenAI ran a beta where Codex wrote every artifact. Engineering shifted from writing code to designing environments and feedback loops. Key insight: early progress was slow because the environment was underspecified, not because the model was incapable.</p><h2><a href="https://www.blundergoat.com/articles/ai-makes-the-easy-part-easier-and-the-hard-part-harder">AI makes the easy part easier and the hard part harder</a></h2><blockquote><p>&#8220;I spent longer arguing with the agent and recovering the file than I would have spent writing the test myself.&#8221;</p></blockquote><p>If you really want to understand the impact an agent has, pick an agent and <em><strong>quantify</strong></em> its impact. You&#8217;ll quickly realize: 1) Quantifying agent impact is far from straightforward and 2) Not all processes receive the velocity gains agents promise (or are worth automating in the first place). One of our key objectives at Google right now is understanding (with concrete data) how much of an impact an agent is having so we can decide whether it&#8217;s worth using and developing.</p><p><strong>Summary</strong></p><p>AI accelerates routine code writing but removes the context-building that underpins safe work. Treat AI like a junior engineer: verify outputs, maintain ownership, and don&#8217;t let AI-driven velocity become the baseline that pressures teams constantly.</p><h2><a href="https://www.interconnects.ai/p/opus-46-vs-codex-53">Opus 4.6 vs. Codex 5.3</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Nathan Lambert&quot;,&quot;id&quot;:10472909,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!RihO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fedcdfb-e137-4f6a-9089-a46add6c6242_500x500.jpeg&quot;,&quot;uuid&quot;:&quot;10ca6826-6e33-4b8d-a72c-1d073ecaecba&quot;}" data-component-name="MentionToDOM"></span> </h2><blockquote><p>&#8220;This post doesn&#8217;t unpack how software is changing forever, Moltbook is showcasing the future, ML research is accelerating, and the many broader implications, but rather how to assess, live with, and prepare for new models.&#8221;</p></blockquote><p>I love this article because it&#8217;s a different perspective on the analyses we usually get regarding new model releases. It also puts much of what I&#8217;ve been feeling regarding the coding tools and models I&#8217;ve been testing in a much more readable fashion. Software engineering as a whole (and your personal development) would benefit from an analysis of coding tools similar to this instead of focusing too much on benchmarks and individual use cases.</p><p><strong>Summary</strong></p><p>Opus prioritizes usability and context handling while Codex gains ground on raw coding skill. Use multiple models: Claude for approachable tasks, Codex for complex bug fixes. Subagent orchestration is the emerging frontier.</p><h2><a href="https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates">The Mistakes Most Entry-Level Candidates Make in Technical Interviews</a> by Logan Thorneloe</h2><blockquote><p>&#8220;They don&#8217;t just want to evaluate your technical knowledge. They want to understand how you think.&#8221;</p></blockquote><p>I wrote about my experience interviewing entry-level candidates recently and what sets the great candidates apart from the rest. If you&#8217;re interviewing for entry-level roles, I highly recommend giving this a read. I clarify what interviewers are looking for, walk through three things you can do to make your interview stand out, and relate each to a question I actually ask candidates.</p><p><strong>Summary</strong></p><p>Interviewers prioritize how you think and communicate over finding optimal solutions. Demonstrate structured problem solving, write simple correct code first, then optimize. These behaviors map to real-world engineering skills that matter more than textbook algorithms.</p>
      <p>
          <a href="https://www.aiforswes.com/p/weekend-reads-1">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Mistakes Most Entry-Level Candidates Make in Technical Interviews]]></title><description><![CDATA[And how to set yourself apart from the other entry-level candidates]]></description><link>https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates</link><guid isPermaLink="false">https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 12 Feb 2026 15:09:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K3J5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.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_!K3J5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K3J5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K3J5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a69ad90-59ed-4918-b8b2-d698b4e2604f_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;:&quot;technical article thumbnail (8).png&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="technical article thumbnail (8).png" title="technical article thumbnail (8).png" srcset="https://substackcdn.com/image/fetch/$s_!K3J5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!K3J5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a69ad90-59ed-4918-b8b2-d698b4e2604f_1280x720.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&#8217;ve conducted enough entry-level technical interviews to identify the patterns and mistakes most candidates make. Below I detail the top three things you can do to avoid common mistakes and separate yourself as a top candidate during the interview process.</p><p>This is specifically regarding technical Leetcode-style interviews (not system design, although some of the information might apply to both). I&#8217;ll share a question I&#8217;ve asked quite a bit recently and how each of the tips below applies to it.</p><p>Each tip below also applies to a part of the technical interview evaluation that <em>does</em> transition to real-world software engineering skills. I know this isn&#8217;t always the case, but I feel these are especially important for anyone being evaluated for a software engineering role.</p><p>Note: While I work for Google and have access to Google interviewing resources, everything below is my personal opinion. Interviewing is a very human experience, after all.</p><h2>What an Interviewer is Looking For</h2><p>There&#8217;s always a lot of focus on finding the optimal solution in a technical interview and being perfect in your reasoning for how you arrived at that solution, but an interviewer is looking for much more than just that.</p><p>They don&#8217;t just want to evaluate your technical knowledge. They want to understand how you think. Understanding a candidate&#8217;s reasoning along with their knowledge of software engineering fundamentals tells them a lot about how you will perform on the job.</p><p>When you&#8217;re interviewing at this level, your interviewer will focus on three things:</p>
      <p>
          <a href="https://www.aiforswes.com/p/the-mistakes-most-entry-level-candidates">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Learn AI from Scratch for Free]]></title><description><![CDATA[A roadmap to learn AI fundamentals for free including prerequisites, AI engineering, ML engineering, and more]]></description><link>https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for</link><guid isPermaLink="false">https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 28 Jan 2026 14:03:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!2S2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.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_!2S2X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2S2X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2S2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_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;:40410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.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_!2S2X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!2S2X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3104d4ce-05e8-44a9-b948-d66a4d8b9ab1_1280x720.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 set up a <a href="https://github.com/loganthorneloe/ml-roadmap">Machine Learning Roadmap</a> for the AI for Software Engineers community a few years ago to share high-quality, free machine learning learning resources in order of how to learn them. The roadmap takes anyone from wherever they are in their CS/AI journey to understanding AI from fundamentals.</p><p>Today, I&#8217;ve just finished the first major revision to make the roadmap even better. Please support it by <a href="https://github.com/loganthorneloe/ml-roadmap">adding a start on GitHub</a>.</p><h3><strong>AI and ML engineering have been more explicitly added</strong></h3><p>These topics have their own sections with their own resources instead of being included in the machine learning topics section. There are enough important resources for each and each role is well enough defined in industry to warrant sections of their own.</p><p><strong>There&#8217;s now also the option for software engineers to go straight from prerequisites to AI engineering</strong> without needing to get too deep into ML fundamentals. I <em>highly</em> suggest going through ML fundamentals anyway (or going back to them after finishing the AI engineering section) as understanding the fundamentals of AI will pay dividends in the long-term.</p><h3>Duplicate topics removed to streamline the roadmap further</h3><p>I&#8217;ve removed resources that didn&#8217;t prove useful and added more resources where there were gaps. Specifically, the added topics are LLMs, AI engineering, and ML engineering. I found them to be particularly weak. I&#8217;ve also removed duplicate topics already covered by the Google Machine Learning Crash Course.</p><p>As mentioned above, I&#8217;ve added a streamlined AI engineering roadmap for engineers wanting to onboard to building with AI faster.</p><h3>Supplemental paid resources added</h3><p>I&#8217;ve added supplemental paid resources. <strong>The focus of the roadmap is still on free resources and the entire roadmap is free.</strong> I&#8217;ve added paid resources that further streamline the learning for those who want to purchase them. The sections where this is the case have been annotated with a paid resource block quote (see 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_!Z_7Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 424w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 848w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1272w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png" width="1456" height="431" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:431,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79197,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.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_!Z_7Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 424w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 848w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.png 1272w, https://substackcdn.com/image/fetch/$s_!Z_7Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81e17fbd-b7b2-4911-837f-b790588a25fa_2048x606.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">Example block quote</figcaption></figure></div><p>All paid resources are resources I highly recommend either because I&#8217;ve read them myself or trust the educator/author behind them. Paid resources are from the top AI educators in the world and will always be optional and properly vetted.</p><h3>Combined the AI for SWEs repo with the ML roadmap</h3><p>I realized the hands-on resources I&#8217;ve created for the newsletter repo fit into the roadmap. The roadmap is also a much better resource for learning. Instead of finding random topical hands-on exercises in a standalone repo, readers can instead consult the roadmap for a much more organized learning experience.</p><p>Thus, the AI for Software Engineers repo is now combined with the ML roadmap repo and I&#8217;ll be continually adding resources as I find and create them. The old repo has a notice in the README to redirect visitors.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ngzu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ngzu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 424w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 848w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1272w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ngzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png" width="1456" height="545" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:545,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122674,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.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_!ngzu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 424w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 848w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.png 1272w, https://substackcdn.com/image/fetch/$s_!ngzu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F707d19f5-597d-4ff2-adf6-f8bc3b6b282d_2024x758.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">Redirect from the old repo</figcaption></figure></div><h3>You can now contribute for swag</h3><p>The ML roadmap now takes contributions! I&#8217;d love for this to be a crowdsourced effort to make the most straightforward and complete learning resource for AI fundamentals. High-quality, original contributions readers have created are encouraged. I&#8217;ll review everything submitted and maintain a high bar to ensure roadmap quality. See the <a href="https://github.com/loganthorneloe/ml-roadmap/blob/main/CONTRIBUTING.md">contribution guide</a> for more information.</p><p>If you contribute an original guide (and you&#8217;re in the US), I&#8217;ll send you a piece of AI for Software Engineers swag. I&#8217;ll be setting up a merchandise store soon and it&#8217;ll come directly from that. If you add something in the near future, it might be a bit before the store is fully setup and I can send something out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TmAE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TmAE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 424w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 848w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1272w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TmAE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png" width="1456" height="433" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:433,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:107411,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/186029251?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.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_!TmAE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 424w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 848w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.png 1272w, https://substackcdn.com/image/fetch/$s_!TmAE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fddaf8eeb-f4bb-434c-b927-f24e8962078e_2072x616.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">Added agent and contribution guides</figcaption></figure></div><h3>[Beta] Terminal agents have been added to supplement your learning</h3><p>I&#8217;ve added instructions for CLI terminal agents to help walk you through the guide. This is experimental and still in testing, but I&#8217;m hoping these agents can supplement the resources <em>and</em> better personalize the roadmap for each reader.</p><p>To try this, fork or clone the ML roadmap repo and start your favorite terminal agent within the directory. This will be improved over time to further personalize the learning experience.</p><div><hr></div><p>Enjoy the roadmap! Feedback is always encouraged. Feel free to submit a PR according to the guidelines to contribute. Don&#8217;t forget to <a href="https://github.com/loganthorneloe/ml-road-map">star the roadmap</a>.</p><p>Always be (machine) learning,</p><p>Logan</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/how-to-learn-ai-from-scratch-for?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI’s Economic Impact Is Real | AI for Software Engineers 78]]></title><description><![CDATA[This week: AI means more software engineers, young adults trust AI with financial decisions, tips on agent safety, and more]]></description><link>https://www.aiforswes.com/p/78</link><guid isPermaLink="false">https://www.aiforswes.com/p/78</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 22 Jan 2026 17:26:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!repY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.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_!repY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!repY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!repY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!repY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!repY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!repY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c7e617ac-c51b-46f1-9369-fcfc25579490_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;:&quot;technical article thumbnail (6).png&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="technical article thumbnail (6).png" title="technical article thumbnail (6).png" srcset="https://substackcdn.com/image/fetch/$s_!repY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!repY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!repY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!repY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc7e617ac-c51b-46f1-9369-fcfc25579490_1280x720.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&#8217;ve seen a lot of articles recently claiming AI has had near zero economic impact despite making up a large portion of economic spending. In reality, AI <em>is</em> starting to show economic impact. It just takes time to see because productivity gains are a second-order metric that won&#8217;t show immediately.</p><p>However, AI&#8217;s economic impact will compound over time because:</p><blockquote><p>&#8220;Productivity helps define how fast the economy can grow without inflation. This is because taking away population growth and exports, what your economy can sustain is defined by how efficiently you can build stuff.&#8221; &#8212; <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;0069d67d-56c8-4f74-8aeb-6250d06313ff&quot;}" data-component-name="MentionToDOM"></span> in <a href="https://weightythoughts.com/p/ai-gains-starting-to-show-in-the">Weighty Thoughts</a></p></blockquote><p>Anthropic just released their <a href="https://www.anthropic.com/research/economic-index-primitives">Economic Index</a> to understand Claude&#8217;s impact on work productivity beyond simple tasks. They analyzed over two million conversations (web app and API), categorizing each by task complexity, skill requirements, purpose, autonomy level, and success rate.</p><p>A few caveats before the findings.</p><p>First, Anthropic uses Claude asking a standard set of questions to fit conversations into the categories above. This isn&#8217;t foolproof since LLM output is non-deterministic, meaning some classifications will be wrong due to hallucination, bias, or other factors.</p><p>Second, this doesn&#8217;t invalidate Anthropic&#8217;s findings. At two million conversations, individual classification errors become statistical noise. The aggregate patterns remain meaningful even if some classifications are off. As an LLM provider, Anthropic has access to data third-party reports wouldn&#8217;t.</p><p>Third, Anthropic only has access to Claude data. This is Claude-centric rather than industry-wide, though I&#8217;d bet findings across major LLM providers would be similar.</p><p>The main takeaways:</p><ul><li><p><strong>Complex work benefits more than simple work.</strong> Tasks requiring college-level skills see 12x speedups. High school-level tasks see 9x. A common argument against AI is that it can only handle simple tasks. This data suggests otherwise.</p></li><li><p><strong>People are working with AI, not being replaced by it.</strong> Augmentation (52% of usage) now leads automation (45%), reversing the trend from earlier in 2025.</p></li><li><p><strong>AI adoption is accelerating fast.</strong> Task coverage across occupations grew from 36% in January to 49% by November, nearly doubling in 10 months.</p></li><li><p><strong>Reliability depends on task complexity.</strong> API tasks hit 50% success rate at around 3.5 hours of work. Claude.ai tasks hit the same threshold at 19 hours. The harder the task, the longer before reliability drops.</p></li><li><p><strong>Usage patterns reveal economic divides.</strong> Higher GDP countries use Claude for work and personal tasks. Lower GDP countries use it primarily for education.</p></li></ul><p>The final bullet is particularly interesting (see chart):</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RYM-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RYM-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 424w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 848w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1272w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RYM-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png" width="1430" height="475" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:475,&quot;width&quot;:1430,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pasted image 20260122110637.png&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="Pasted image 20260122110637.png" title="Pasted image 20260122110637.png" srcset="https://substackcdn.com/image/fetch/$s_!RYM-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 424w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 848w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.png 1272w, https://substackcdn.com/image/fetch/$s_!RYM-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd0347227-e81a-48eb-bce4-3da5173f66cb_1430x475.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">pulled from Anthropic&#8217;s Economic Index linked above</figcaption></figure></div><blockquote><p>&#8220;In countries with higher GDP per capita, Claude is used much more frequently for work or for personal use&#8212;whereas countries at the other end of the spectrum are more likely to use it for educational coursework.&#8221;</p></blockquote><p>At first glance, this suggests AI is widening the production gap between high- and low-GDP countries since high-GDP countries use Claude to get work done more effectively.</p><p>After further thought, AI may be providing low-GDP countries with educational resources they wouldn&#8217;t otherwise have. This could actually lessen the production gap over time by enabling economic growth via a more educated populace.</p><p>Let me know what you think in the comments. I&#8217;m especially curious if you disagree. Enjoy the rest of this week&#8217;s edition! Later this week, I&#8217;ll be updating my <a href="https://mlroadmap.io/">ML roadmap</a> with more AI engineering resources, so make sure to check it out!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/subscribe?"><span>Subscribe now</span></a></p><div><hr></div><h2>My Picks</h2><p><strong><a href="https://addyo.substack.com/p/how-to-write-a-good-spec-for-ai-agents">How to write a good spec for AI agents</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;9b817f96-2148-437c-aa31-9249c21b7664&quot;}" data-component-name="MentionToDOM"></span> </p><p>A practical framework for writing specs that actually work with AI coding tools. Plan first in read-only mode, let the agent expand the brief into a structured SPEC.md, then break work into small testable tasks. It covers the six core areas every spec needs (commands, testing, structure, style, git workflow, boundaries) and how to use architect/overview agents to maintain consistency.</p><p><strong><a href="https://www.fromjason.xyz/p/notebook/slop-is-everywhere-for-those-with-eyes-to-see/">Slop is everywhere for those with eyes to see</a></strong></p><blockquote><p>&#8220;The algorithm has flattened curiosity by eliminating the need to hunt for our content.&#8221; &#8212; Joan Westenberg</p></blockquote><p>The biggest takeaway from this: <strong>The shift from curation to algorithmic delivery flattens curiosity and pressures teams to optimize metrics at the cost of quality.</strong> As we resort to feeds to give us content, feed providers will resort to AI to make creating content easier or purely to supplement the lack of human creators versus consumers on a platform. This is why &#8220;AI Slop&#8221; is so prominent online. Feeds have caused us to lose our sense of curiosity and the work we used to put in to grow it.</p><p><strong><a href="https://www.ignorance.ai/p/the-ai-managers-schedule">The AI Manager&#8217;s Schedule</a> by </strong><span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Charlie Guo&quot;,&quot;id&quot;:3625174,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bpse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c9d1a4c-3e17-4463-9b75-8898d2565caa_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;06e0533b-5c3d-48bf-bf11-67753a14c81f&quot;}" data-component-name="MentionToDOM"></span> </p><p>AI coding tools now handle more task types with longer coherence, shifting the question from &#8220;can AI do this?&#8221; to &#8220;should I?&#8221; Management now happens in 5-15 minute intervals that require new skills: crisp written architectures, slicing work into AI-sized chunks, and knowing when to override. Also explores the cognitive costs of agent orchestration and the risks of losing low-level understanding.</p><p><strong><a href="https://github.com/wafer-ai/gpu-perf-engineering-resources">GPU Performance Engineering Resources</a></strong></p><p>I would guess ~50% of AI-related engineering job listings I read require something to do with compute resource optimization. If you want to work as an engineer in AI, this is a great topic to learn. This resource is a curriculum for learning GPU performance engineering and will be added to the roadmap very soon.</p><h2>Claude Cowork&#8217;s file exfiltration flaw exposes agent security challenges</h2><p>Security researchers at PromptArmor discovered an unresolved isolation flaw in Claude Cowork that allows indirect prompt injections to exfiltrate files. When a user opens a maliciously crafted document, injected instructions can cause Claude to upload local files to an attacker-controlled Anthropic account using the platform&#8217;s allowlisted API with no human approval required. The attack works across multiple Claude models (Haiku, Opus 4.5) and can also trigger DoS vectors through file type mismatches.</p><p>This is yet another example of why agent security is so difficult (see <a href="https://www.aiforswes.com/p/73">our coverage of Antigravity&#8217;s vulnerabilities</a>). As an engineer, you have to realize anything within an LLM&#8217;s context can be used within any of these tools they&#8217;re given access to. I&#8217;ve got an article coming out about this soon.</p><p>Source: <a href="https://www.promptarmor.com/resources/claude-cowork-exfiltrates-files">PromptArmor on Claude Cowork exfiltration</a></p><h2>LangChain CEO on building agent memory and observability</h2><p>Harrison Chase (the CEO of LangChain) shared multiple blog posts about AI agents in software engineering, all of which should be paid attention to if you&#8217;re planning to build agents yourself.</p><p>First, he mentioned traces as documentation for understanding what agents are doing. This was included in last week&#8217;s edition, but it&#8217;s worth mentioning here, too. Agent logic isn&#8217;t stored in code, but in the LLM&#8217;s traces. These traces must be used as the equivalent to test cases to ensure agent functionality is correct. Using traces is much more difficult than writing test cases and I suggest reading his entire post to get the full understanding.</p><p>Second, he shared how LangChain has set up their Agent Builder&#8217;s memory system. Context/memory is another fundamental agent performance task. Understanding how to maintain agent information so it can (and can&#8217;t!) do certain things is key to ensuring their proper function. A great example of forgetting is the Ralph Wiggum protocol we discussed last week.</p><p>Lastly, Harrison shared an article about the release of LangChain&#8217;s Insights Agent. This is an agent that checks traces for you to understand how users use your agents. It uses a clustering algorithm to group similar traces and, therefore, similar actions. I&#8217;ve been saying for a while that some sort of anomaly detection system to determine deviant agent behavior would be great for observability, but it&#8217;s possible this clustering approach is the real answer we&#8217;re looking for.</p><p>Source: <a href="https://x.com/hwchase17/status/2011814697889316930/">LangSmith Agent Builder memory system</a>, <a href="https://x.com/hwchase17/status/2013641863123870133/">LangSmith Insights Agent</a>, <a href="https://x.com/davipar/status/2010155659434832114/">Harrison Chase on traces as documentation</a></p><h2>xAI employee ousted after leaking &#8220;human emulator&#8221; roadmap</h2><p>A former xAI employee publicly disclosed an internal roadmap revealing development of a &#8220;human emulator&#8221; aimed at automating a wide range of human tasks. They revealed this on a podcast (apparently) without company consent and were removed from their position immediately.</p><p>Two things to take away from this:</p><ol><li><p><strong>Don&#8217;t go on a podcast and share internal secrets</strong>. Definitely don&#8217;t go on a podcast and reveal internal secrets while saying something along the lines of &#8220;I shouldn&#8217;t be sharing this&#8221;.</p></li><li><p><strong>Human emulation shouldn&#8217;t be a surprise to anyone.</strong> All physical intelligence companies are trying to create physical intelligence in a humanoid form factor because humans are the interface for all work we do. If a human can do it, it can be done. If an AI can emulate a human, it can do what the human can do. It&#8217;s similar to self-driving cars. There are definitely better automated transportation setups, but cars are now the standard for transportation so their form factor is what&#8217;s being automated.</p></li></ol><p>Source: <a href="https://x.com/iruletheworldmo/status/2013383971120287986/">xAI human emulator leak</a></p><h2>AI means more software engineers, not fewer</h2><p>We&#8217;ve been <a href="https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html">trying to replace software engineers</a> for decades. COBOL tried to let business workers write their own code. Visual Basic made Windows apps easier. No-code tools promised the same thing. AI is the latest chapter because it&#8217;s exceptionally good at translating plain English into reliable code.</p><p>The problem is that software engineering sounds simple when described in plain language but is inherently complex. Effective software requires domain understanding and capable judgment, not just code generation (see <a href="https://www.aiforswes.com/p/devin-has-exposed-software-engineers">our article about software engineering being about problem solving, not writing code</a>).</p><p>In fact, the entire history of software engineering has been <a href="https://x.com/grady_booch/status/2013331606795362398/">about creating different levels of abstraction</a> to simplify complex pieces of the job. AI is one of these abstractions (and a very effective one at that!).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9nuE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9nuE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 424w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 848w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9nuE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png" width="1196" height="1008" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1008,&quot;width&quot;:1196,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;grady-booch-abstraction.png&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="grady-booch-abstraction.png" title="grady-booch-abstraction.png" srcset="https://substackcdn.com/image/fetch/$s_!9nuE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 424w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 848w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!9nuE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff319fd1-a487-4a9c-9c9b-d3a148280a32_1196x1008.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>Every time we create new abstractions and software becomes easier to build, we end up building exponentially more of it. Addy Osmani calls this <a href="https://addyosmani.com/blog/the-efficiency-paradox/">the Efficiency Paradox</a>. We don&#8217;t run out of ideas or software that needs to be built. Instead, we&#8217;re economically enabled to produce greater output.</p><p>With regard to AI&#8217;s abstraction, Osmani wrote:</p><blockquote><p>&#8220;The real question is whether we&#8217;re prepared for a world where the bottleneck shifts from &#8220;can we build this?&#8221; to &#8220;should we build this?&#8221;&#8220;</p></blockquote><p>Not only does AI as a technology mean we can build greater, more capable software, AI as a development tool enables doing so at an unprecedented rate. Once we begin building exponentially more software, we need more software engineers to build and maintain this code.</p><p>Source: <a href="https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html">The recurring dream of replacing developers</a>, <a href="https://addyosmani.com/blog/the-efficiency-paradox/">The Efficiency Paradox</a>, <a href="https://x.com/grady_booch/status/2013331606795362398/">Grady Booch on abstraction</a></p><h2>Product-minded engineering means getting error design right</h2><p>Gergely Orosz published a deep dive on why good error and warning design is high-leverage work. Diagnostics are often the primary interface users encounter, so errors must be raised at the API/UI boundary, validated upfront, and surfaced early.</p><p>Engineers should categorize errors for human vs. programmer consumers, choose clear error classes and metadata, and provide contextual, actionable messages including suggestions. Error messages are often the most-seen part of your product&#8217;s interface, yet engineers treat them as an afterthought. The best product-minded engineers recognize that a confusing error is costly (support tickets, user frustration, lost trust, etc.). Investing in clear, actionable error design pays compounding dividends.</p><p>We&#8217;ve recently discussed <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">the importance of being a product-minded engineer</a> to succeed in the AI era. Error handling is an important way to do that.</p><p><strong>As an aside</strong>: The Pragmatic Engineer is also hiring a part-time remote Tech Industry Analyst to research engineering trends and produce in-depth subscriber reports. The pay is incredibly high (~$175/hr) so it&#8217;s probably worth taking a look at.</p><p>Source: <a href="https://newsletter.pragmaticengineer.com/p/the-product-minded-engineer">The Product-Minded Engineer on errors and warnings</a>, <a href="https://blog.pragmaticengineer.com/tech-industry-analyst-2026/">Tech Industry Analyst role</a></p><h2>Young adults are trusting AI with financial decisions</h2><p>Cleo AI surveyed 5,000 UK adults aged 28-40 and found strong interest in AI-driven money management: 64% would trust AI with disposable income decisions, 54% to move money to avoid overdrafts, and 52% to manage bills. This comes alongside weak financial confidence, with 37% reporting poor self-discipline and 80% wanting to improve their financial knowledge.</p><p><a href="https://www.aiforswes.com/p/77">Last week</a>, we discussed how people are increasingly turning to AI for healthcare advice. Now we&#8217;re seeing the same pattern with personal finance. These are high-stakes domains where bad advice can cause real harm, yet users are willing to delegate decisions to AI anyway. The common thread is accessibility: AI is available 24/7, doesn&#8217;t judge, and provides immediate answers. Trust remains a gating factor though (as we&#8217;ve <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">discussed previously</a>), with 23% saying they want incremental proof before wider use.</p><p>Source: <a href="https://www.artificialintelligence-news.com/news/financial-advice-ai-powered-uk-fintech-market-possibilities/">Cleo AI survey on financial trust</a></p><h2>Quickies</h2><ul><li><p>Google.org is providing $2M to Sundance Institute to train 100,000+ artists in AI filmmaking skills with free curricula and scholarships. <a href="https://blog.google/company-news/outreach-and-initiatives/google-org/sundance-institute-ai-education/">src</a></p></li><li><p>SAP and Fresenius are building a sovereign AI platform for healthcare with a mid three-digit million euro investment using on-premise-ready models that preserve data sovereignty. <a href="https://www.artificialintelligence-news.com/news/sap-and-fresenius-build-sovereign-ai-backbone-for-healthcare/">src</a></p></li><li><p>Tesla&#8217;s AI5 chip design is nearly finished with AI6 in early stages, targeting a 9-month design cycle for continuous generations of custom AI accelerators. <a href="https://x.com/elonmusk/status/2012492295812124978/">src</a></p></li><li><p>PJM projects 4.8% annual electricity demand growth from AI data centers, with consultants forecasting a 25% rise by 2030 and real risk of East Coast rolling blackouts. <a href="https://www.independent.co.uk/news/world/americas/us-politics/east-coast-blackouts-ai-data-centers-b2899669.html">src</a></p></li><li><p>ChatGPT Go launched worldwide at $8/month with 10x more messages than free tier, while OpenAI will test ads in free and Go tiers. <a href="https://openai.com/index/introducing-chatgpt-go">src</a></p></li><li><p>AstraZeneca acquired Modella AI to embed pathology-focused foundation models directly into oncology R&amp;D for faster biomarker discovery. <a href="https://www.artificialintelligence-news.com/news/astrazeneca-bets-on-in-house-ai-to-speed-up-oncology-research/">src</a></p></li><li><p>Apple is fighting for TSMC capacity as Nvidia likely overtook Apple as a top customer, forcing Apple to compete for leading-edge wafer slots. <a href="https://www.culpium.com/p/exclusiveapple-is-fighting-for-tsmc">src</a></p></li><li><p>Veo 3.1 adds native 9:16 vertical output for mobile-first short-form video and state-of-the-art upscaling to 1080p and 4K. <a href="https://deepmind.google/blog/veo-3-1-ingredients-to-video-more-consistency-creativity-and-control/">src</a></p></li><li><p>Kaggle launched Community Benchmarks for reproducible multi-step reasoning, code execution, and tool use evaluations across models. <a href="https://blog.google/innovation-and-ai/technology/developers-tools/kaggle-community-benchmarks/">src</a></p></li><li><p>OpenAI published a response to Elon Musk&#8217;s lawsuit, claiming Musk wanted absolute control and proposed merging OpenAI into Tesla before leaving. <a href="https://openai.com/index/the-truth-elon-left-out">src</a></p></li><li><p>Palantir&#8217;s ELITE tool maps deportation targets for ICE with address confidence scores, ingesting government and commercial data for raid prioritization. <a href="https://www.404media.co/elite-the-palantir-app-ice-uses-to-find-neighborhoods-to-raid/">src</a></p></li><li><p>Coding on paper as a deliberate training method forces engineers to slow down and master fundamentals rather than outsourcing cognition to tools. <a href="https://www.byhand.ai/p/coding-on-paper-with-tivadar-danka">src</a></p></li></ul><h2>Last week</h2><p>In case you missed it, here&#8217;s last week&#8217;s overview:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5f698b65-179a-4bf4-9a8d-60f03a73e351&quot;,&quot;caption&quot;:&quot;Two releases this week show how far AI coding tools have come. Claude 4.5 Opus is now more accessible with higher rate limits, and Claude Code has improved its planning capabilities, spending more time on design and less on iteration and enabling enough tokens for developers to use it full-time.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI Can Do Your Job - Now What? | AI for Software Engineers 77&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Writing to help software engineers succeed in AI / ML infra + AI dev tools at Google&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-15T15:48:33.843Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!QgNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/77&quot;,&quot;section_name&quot;:&quot;Weekly Editions&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:184600302,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:15,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/78?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/78?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI Can Do Your Job - Now What? | AI for Software Engineers 77]]></title><description><![CDATA[This week: AI killed Tailwind&#8217;s business model, Apple admits Siri needs Google, Anthropic blocks the competition, and more.]]></description><link>https://www.aiforswes.com/p/77</link><guid isPermaLink="false">https://www.aiforswes.com/p/77</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 15 Jan 2026 15:48:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QgNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.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_!QgNz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QgNz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QgNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0c01c07-2408-47ac-8dd5-9c7c362dca95_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;:40043,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/184600302?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.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_!QgNz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!QgNz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0c01c07-2408-47ac-8dd5-9c7c362dca95_1280x720.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>Two releases this week show how far AI coding tools have come. Claude 4.5 Opus is now more accessible with higher rate limits, and Claude Code has improved its planning capabilities, spending more time on design and less on iteration and enabling enough tokens for developers to use it full-time.</p><p>The second is <a href="https://dev.to/ibrahimpima/the-ralf-wiggum-breakdown-3mko">Ralph Wiggum</a>, a methodology/Claude Code plug-in for terminal agents that enables them to work autonomously for hours. It breaks tasks into work items with finishing criteria, then loops until all criteria are complete. The output works according to specification.</p><p>The key that makes this work so well is periodically resetting context, tracking progress via external files rather than keeping everything in memory. This prevents the drift that happens in long-running sessions and enables brand-new agents to take stabs at a problem until it&#8217;s done.</p><p>Together, these mean a coding agent can be given a product specification in the evening, work overnight, and have code ready for you in the morning. This code is usually entirely within spec and viable for a minimum viable product or even better.</p><p><strong>So now that AI can whip up these prototypes overnight, what does that mean for you?</strong> A few things:</p><ul><li><p><strong>Be user- and product-focused.</strong> The important parts of software engineering are still important. Understanding products and outlining requirements to fulfill them is still on the engineer (i.e. giving the requirements to Ralph as mentioned above). <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">Studies show</a> that teams that are product-focused are more successful when using AI developer tools than their counterparts. Iterating based on high-quality user feedback is key to maintaining an effective product-focus.</p></li><li><p><strong>Learn to use AI tools.</strong> This should be self-evident, but there are still engineers refusing to learn them. They&#8217;re the future of software development and there&#8217;s a steep learning curve to use them effectively. <strong>If you want to take the next step toward using AI to be more productive</strong>, you should both implement and try out new AI coding methodologies and tools, such as the Ralph loop. <strong>If you want to get hands-on this week</strong>, I suggest implementing this in your work environment and giving it a go.</p></li><li><p><strong>Get good at reviewing.</strong> I know this is the boring part of engineering, but now it&#8217;s even more important. Review well enough that you&#8217;re confident in what&#8217;s going to production and that you understand how it works. Get very good at understanding system design as I find integration with surrounding systems is where these AI coding tools fail and it&#8217;s often the most difficult to detect.</p></li></ul><p>Here&#8217;s everything else you need to know from this past week.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>My Picks</h2><p>Standalone content worth your time:</p><ul><li><p><strong><a href="https://mitchellh.com/writing/ghostty-memory-leak-fix">Finding and fixing Ghostty&#8217;s largest memory leak</a></strong> by Mitchell Hashimoto: A deep dive into debugging Ghostty&#8217;s PageList memory leak that grew to 37 GB after 10 days. The fix involved preventing reuse of non-standard pages during scrollback pruning. A great example of methodical debugging with practical techniques like macOS VM tagging.</p></li><li><p><strong><a href="https://www.interconnects.ai/p/8-plots-that-explain-the-state-of">8 plots that explain the state of open models</a></strong> by Nathan Lambert: China&#8217;s open models dominate adoption, led overwhelmingly by Qwen whose top variants have more downloads than many competitors combined. Qwen also leads finetuning activity on HuggingFace, though DeepSeek dominates at very large model scales.</p></li><li><p><strong><a href="https://x.com/hesamation/status/2009012165123195342/">5 GPU performance optimization methods</a></strong>: An easy-to-follow explanation of five GPU optimization methods for LLMs: batching, mixed-precision (FP16), tensor/kernel fusion, memory pooling, and CUDA stream management. Practical impacts include roughly 2x memory savings with FP16.</p></li><li><p><strong><a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">Demystifying evals for AI agents</a></strong> by Anthropic: A comprehensive guide on why agent evals are harder than model evals. Autonomy, tool use, and long-horizon planning introduce external dependencies and emergent behaviors that traditional testing can&#8217;t handle. Covers strategies for realistic environments, mixing automated and human assessments, and measuring both task performance and failure modes.</p></li><li><p><strong><a href="https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better">No, Claude Code doesn&#8217;t need a better UI</a></strong> by Logan Thorneloe: I wrote about why Claude Code&#8217;s terminal-based approach is actually its strength. The terminal is standardized, scriptable, and predictable, making it ideal for automation compared with brittle GUIs. Claude can control files, apps, and any CLI- or API-driven application via text commands.</p></li></ul><h2>Claude Cowork brings terminal agents to everyone</h2><p>Anthropic released Claude Cowork, an adaptation of Claude Code that runs in the Claude app on Mac and performs general-purpose computer tasks. This is only available to Max subscribers and only on Mac for now.</p><p>I just wrote an article about how Claude is a general-purpose computer use agent, not just a coding tool. This means you can get just about anything done you could do via the terminal by prompting Claude. I stand by the fact that the terminal is still an excellent UI that builds intuition about what you can and cannot do with Claude as you watch it work. More info on Claude&#8217;s productive capabilities in the sources below.</p><p>Source: <a href="https://simonw.substack.com/p/first-impressions-of-claude-cowork">Simon Willison on Cowork</a>, <a href="https://x.com/claudeai/status/2010805682434666759/">Cowork announcement on X</a>, <a href="https://www.oneusefulthing.org/p/claude-code-and-what-comes-next">Ethan Mollick on Claude Code</a>, <a href="https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better">My article on Claude Code as a computer use agent</a></p><h2>Anthropic restricts third-party API access amid abuse concerns</h2><p>Anthropic blocked two parties from using their resources this week:</p><ol><li><p>Competitors such as OpenAI and xAI, to give Anthropic a competitive advantage.</p></li><li><p>Third-party harnesses that took advantage of Claude Max subscriptions, to ensure usage rates on these subscriptions can&#8217;t be spoofed.</p></li></ol><p>This caused competitors such as Codex to jump on providing usage to third-party harnesses where users previously would have used Claude models. It makes me wonder about two things: how much goodwill did Anthropic lose to save money on the spoofing and what will be the long-term impact of other tools being more accessible to users?</p><p>Source: <a href="https://x.com/i/trending/2009717178501661120">X trending on Anthropic API restrictions</a></p><h2>Apple partners with Google to power next-gen Siri with Gemini</h2><p>Apple signed a multi-year deal to base its upcoming Foundation Models on Google&#8217;s Gemini, enabling a more personalized Siri expected later this year. All inference and customization will run on Apple silicon and Apple&#8217;s Private Cloud Compute to preserve user privacy. My understanding is that Apple&#8217;s models will be based on the same LLM technology as Google&#8217;s.</p><p>I&#8217;ve seen a lot of takes on this, but the most prominent is that Apple has admitted defeat. Instead, think of this as a business decision. Apple doesn&#8217;t have a model ready that they think will guarantee an excellent assistant experience. They use Google&#8217;s models for now to ensure they can deliver a quality product to their users and they don&#8217;t lose any ground in the smartphone market. In reality, Apple is doing quite well in AI as their silicon and hardware have become a staple for serving large models.</p><p>Source: <a href="https://x.com/i/trending/2010735500181876866">Apple-Google Gemini partnership</a></p><h2>AI in healthcare faces mounting scrutiny from regulators and experts</h2><p>A few things happened in AI-related healthcare news this week:</p><ul><li><p>Google has had to remove several AI-generated health summaries to ensure misinformation isn&#8217;t spread.</p></li><li><p>OpenAI added Health to ChatGPT, enabling a user to discuss their health and health records with ChatGPT directly in the app.</p></li><li><p>Studies show more people are using AI for self-diagnosis, with one figure showing 59% of Brits are doing so.</p></li></ul><p>OpenAI claims this is to ensure accurate information is given regarding healthcare and to enable users&#8217; health-related queries to have the context of their current health information. Many are skeptical of sharing their personal health data with ChatGPT as most queries given to ChatGPT are used for training. OpenAI has guaranteed this won&#8217;t be the case with Health in-app.</p><p>Source: <a href="https://share.google/8CaTGccm8JSteMmKG">Google removes misleading AI health summaries</a>, <a href="https://www.artificialintelligence-news.com/news/dr-ai-am-i-healthy-59-of-brits-rely-on-ai-for-self-diagnosis/">59% of Brits use AI for diagnosis</a>, <a href="https://sergeiai.substack.com/p/chatgpt-health-is-dancing-around">ChatGPT Health critique</a></p><h2>Tailwind&#8217;s layoffs reveal how AI adoption can destroy business models</h2><p>Tailwind cut 75% of its staff after AI coding agents drove the CSS framework to 75 million downloads per month while simultaneously killing 40% of site traffic. Site traffic generated conversions to paid services, and this change in revenue contributed to an 80% revenue drop. Shortly after, Google AI Studio announced it would sponsor the Tailwind project.</p><p>Tailwind is one of the most popular frontend component libraries, but AI is fundamentally changing how information is consumed and transferred, meaning business models will need to adapt as well.</p><p>Source: <a href="https://x.com/ybhrdwj/status/2009132572794835201/">Tailwind layoffs</a>, <a href="https://twitter.com/OfficialLoganK/status/2009339263251566902">Google AI Studio sponsorship</a></p><h2>Building reliable AI agents requires rethinking evaluation</h2><p>The difficult part of agent observability is logic being shifted from code to models. This means traditional test cases fail because model output can&#8217;t be tested deterministically. This is what makes AI observability such a difficult issue.</p><p>Anthropic recently released a blog post detailing evals and what makes them so tough, including the gold standard method of testing coding, computer use, and conversational agents. One big takeaway is that evals aren&#8217;t 100% foolproof and need to be accompanied by production monitoring, A/B testing, and user feedback. I highly recommend reading Anthropic&#8217;s report linked below.</p><p>Source: <a href="https://x.com/davipar/status/2010155659434832114/">Harrison Chase on traces as documentation</a>, <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">Anthropic on agent evals</a></p><h2>Quickies</h2><ul><li><p>Malaysia and Indonesia blocked Grok after regulators found it was generating sexually explicit images, including depictions of minors. <a href="https://www.usnews.com/news/business/articles/2026-01-12/malaysia-indonesia-become-first-to-block-musks-grok-over-ai-deepfakes">src</a></p></li><li><p>US job openings dropped to 7.15 million in November, the lowest in over a year, with vacancies per unemployed worker falling to 0.9. <a href="https://www.bloomberg.com/news/articles/2026-01-07/us-job-openings-decline-to-lowest-level-in-more-than-a-year">src</a></p></li><li><p>NVIDIA and Eli Lilly will invest up to $1 billion over five years on an AI co-innovation lab for drug discovery. <a href="https://share.google/mKSeNBUpLrSd2kApO">src</a></p></li><li><p>Bose is open-sourcing SoundTouch&#8217;s API instead of bricking the speakers when cloud support ends. <a href="https://www.theverge.com/news/858501/bose-soundtouch-smart-speakers-open-source">src</a></p></li><li><p>Meta&#8217;s $2 billion acquisition of Manus triggered a Chinese Ministry of Commerce review for potential export control violations. <a href="https://www.artificialintelligence-news.com/news/meta-manus-ai-vendor-compliance-risk/">src</a></p></li><li><p>Gemini CLI now offers &#8220;Agent Skills&#8221; that can be installed via npm. <a href="https://x.com/jackwoth98/status/2008997058401775691/">src</a></p></li><li><p>Self-hosting has become practical with cheap mini PCs, Tailscale, and CLI agents like Claude Code handling setup. <a href="https://fulghum.io/self-hosting">src</a></p></li></ul><h2>Last week</h2><p>In case you missed it, here&#8217;s last week&#8217;s overview:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1928b4eb-f45e-405c-87c9-bb5c6811055f&quot;,&quot;caption&quot;:&quot;Here are my picks for content you don&#8217;t want miss and everything you should know about AI for January 7, 2026. Enjoy!&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI's Role in Maduro's Capture | AI for Software Engineers 76&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-07T16:01:41.973Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!MTSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/76&quot;,&quot;section_name&quot;:&quot;&#128204; Things You Should Know&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:183735445,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:7,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>Thanks for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/77?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/77?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[No, Claude Code doesn’t need a better UI]]></title><description><![CDATA[The mindset shift needed to get the most out of Claude Code]]></description><link>https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better</link><guid isPermaLink="false">https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Sat, 10 Jan 2026 13:46:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wY38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.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_!wY38!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wY38!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!wY38!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wY38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85a95d16-168a-46a2-90bf-14b959f49b60_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;:50572,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/184040970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.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_!wY38!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!wY38!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!wY38!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85a95d16-168a-46a2-90bf-14b959f49b60_1280x720.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&#8217;ve read a lot of articles this past week about Claude Code (as I&#8217;m sure you have too) and there&#8217;s consistently one thing mentioned that bothers me. These articles state that Claude Code is excellent <em>despite</em> its terrible UI, when really its UI is <em>what makes it so great</em> and the closest thing we have to AGI.</p><p>This starts with a brief history of computers and computation. Humanity created computers to crunch numbers much faster than we&#8217;re manually capable of. Since most work is rooted in information transfer, we&#8217;ve since offloaded most work to the digital world because computers are capable of storing, retrieving and manipulating information much faster than we are.</p><p>To more easily tell computers the work they should be doing, we&#8217;ve developed GUIs (graphical user interfaces). These GUIs sit on top of the code, ones and zeros, and actual computation the computer is doing to create a much more accessible interaction plane to a human user.</p><p>Recently, there&#8217;s been a lot of research done to create computer-use agents. These agents learn how to use a mouse to interact with a computer&#8217;s GUI. Thus, these agents are capable of doing the work a human otherwise would have accomplished with that computer.</p><p>However, if we go back to before GUIs, we primarily interacted with computers via the terminal. The terminal is a simple text interface to give the computer a command for the work it needs to do and get information back from the computer.</p><p>The terminal is a <em>text interface</em> that controls the work a computer does. Our current frontier AI models are <em>text based</em> and perfectly suited for this environment. This is what makes Claude Code so effective. It lives in the terminal and interacts with it via text commands.</p><p>Thus, rather than thinking of Claude Code as a <em>coding agent</em>, it&#8217;s much better to realize its full potential by thinking of it as a <em>computer use agent</em>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!M0i5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!M0i5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 424w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 848w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1272w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!M0i5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif" width="648" height="291.6" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/deb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:117,&quot;width&quot;:260,&quot;resizeWidth&quot;:648,&quot;bytes&quot;:732581,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/184040970?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!M0i5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 424w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 848w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1272w, https://substackcdn.com/image/fetch/$s_!M0i5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdeb4c7ac-b6c4-446c-a71e-b8bd48aec3ad_260x117.gif 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Digital versus manual work always makes me think of this scene from Space Force.</figcaption></figure></div><p>It&#8217;s had such an explosive impact because its ability to control a computer via the terminal lets it accomplish meaningful work. Anything you can do in the terminal, Claude can too.</p><p>I&#8217;d even argue that it&#8217;s the first step of artificial general intelligence (AGI). Most definitions of AGI describe an AI&#8217;s ability to do general, meaningful work. With our current models, an AI assistant in the terminal accomplishes this. The only thing keeping it from making <em>more</em> of an impact is integration with more systems it can work on.</p><p>Luckily, the terminal helps with this too. The terminal lets you:</p><ul><li><p>Interact with a computer&#8217;s filesystem and applications.</p></li><li><p>Interact with the internet.</p></li><li><p>Run commands for any CLI tool. Any application with terminal commands can be controlled by Claude.</p></li><li><p><em>Code</em>. Anything Claude can&#8217;t do natively via the terminal, it can write code to accomplish and run that code itself. This means Claude can interact with anything that has an API if given proper authentication.</p></li></ul><p>And this doesn&#8217;t even account for <a href="https://modelcontextprotocol.io/docs/getting-started/intro">model context protocol (MCP)</a> which is the agent-native way of declaring its interactions with endpoints.</p><p>You might argue that a true computer agent needs the ability to interact with a computer with more complexity. <strong>I&#8217;d argue that the simplistic and standardized nature of the terminal is what has made the terminal-based computer use agent so successful.</strong></p><ul><li><p><strong>Terminal commands are standardized</strong>. GUIs change their layouts, button positions, and flows with every update. Terminals are a stable, reliable interface.</p></li><li><p><strong>The terminal is inherently programmatic</strong>. It was designed for automation and scripting, which is exactly what an AI agent needs to do. Terminal commands can also be run together, enabling the agent to build complex workflows from simple operations. GUIs were designed for humans to point and click, not for programs to control.</p></li><li><p><strong>Terminal outputs are predictable</strong>. GUI interactions depend on context, view settings, window state, and animations that make it difficult to know what to do next.</p></li><li><p><strong>Terminal errors are parseable text</strong> that an agent can read and act on. GUI errors are modal dialogs or toast notifications that require visual interpretation.</p></li></ul><p>I recommend even non-technical individuals learn how to use Claude Code <em>in the terminal</em>. There&#8217;s a certain level of intuition that you build as you watch the AI work directly in the terminal and as you learn to work in the terminal yourself.</p><p>Some examples worth checking out to get you started:</p><ul><li><p>If you write or script as a content creator, write in markdown format in a GitHub repo. Use the terminal to access that folder on your computer and spin up Claude Code. It can now help you write, critique your work, brainstorm ideas, and more. This article was edited by Claude Code, for example.</p></li><li><p>If you store any information via API, tell Claude Code about it and it can write a script to access that information and add it to its context. For example, I read and store notes in Readwise Reader. It has an API that Claude Code can easily access via a simple Python script. I can then chat with my notes.</p></li></ul><p>Claude Code has made such an incredible impact because it&#8217;s not only good at coding but it&#8217;s an entire terminal agent. If you think about Claude Code this way, it can accomplish much more meaningful work for you.</p><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/no-claude-code-doesnt-need-a-better?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI's Role in Maduro's Capture | AI for Software Engineers 76]]></title><description><![CDATA[Plus: Half of AI code has security flaws, how to fix AI in education, Nvidia acquihires Groq, AI safety concerns grow, and more]]></description><link>https://www.aiforswes.com/p/76</link><guid isPermaLink="false">https://www.aiforswes.com/p/76</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Wed, 07 Jan 2026 16:01:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MTSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here are my picks for content you don&#8217;t want miss and everything you should know about AI for January 7, 2026. Enjoy!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MTSy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MTSy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MTSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/199317ce-7a6d-4672-98e7-0b65e6bbdcfc_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;:707240,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/183735445?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.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_!MTSy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!MTSy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F199317ce-7a6d-4672-98e7-0b65e6bbdcfc_1280x720.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><h2>My Picks</h2><ul><li><p><strong><a href="https://addyosmani.com/blog/21-lessons/">21 lessons from 21 years at Google</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Addy Osmani&quot;,&quot;id&quot;:11623675,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cee7ba66-e656-4450-a0ed-c951c27ee228_1080x1080.jpeg&quot;,&quot;uuid&quot;:&quot;fed7ce16-b510-49a1-bbab-87599a1e8ce7&quot;}" data-component-name="MentionToDOM"></span>: Lessons learned from working at Google for 21 years. Two notable lessons: most slow teams are actually misaligned, and the best engineers are obsessed with solving user problems. All are worth reading.</p></li><li><p><strong><a href="https://www.artificialintelligencemadesimple.com/p/reasoning-models-are-a-dead-end-breakdowns">Reasoning models are a dead end</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Devansh&quot;,&quot;id&quot;:8101724,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/48081c70-8afa-41e3-a44e-b0f917bc7577_1200x1600.jpeg&quot;,&quot;uuid&quot;:&quot;62965f14-35b4-42e6-8f8d-da76d7f83b09&quot;}" data-component-name="MentionToDOM"></span>: A valuable take on reasoning models and their lack of interpretability. Reasoning encoded into model weights loses 95% of intermediate branching and produces brittle behavior compared to externalized reasoning infrastructure. A great example of why engineering is so important in AI.</p></li><li><p><strong><a href="https://nik.art/the-suck-is-why-were-here/">The suck is why we&#8217;re here</a></strong>: Some great perspective on writing with AI. The author argues that AI shortcuts the crucial, difficult parts of writing (research, stuck thinking), and that avoiding these &#8220;sucky&#8221; parts sacrifices depth and lasting reward. AI will increase quantity but lower average quality, making genuine effort stand out.</p></li><li><p><strong><a href="https://rambleware.substack.com/p/advent-of-code-2025-with-compute">Advent of Code 2025 with Compute Shaders</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Matthew Carlson&quot;,&quot;id&quot;:35684523,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/275ff4f9-dc9f-423f-820a-837c2693a0f1_144x144.png&quot;,&quot;uuid&quot;:&quot;891fc5ab-0498-4afa-9ce0-895e6cef0d2a&quot;}" data-component-name="MentionToDOM"></span>: An excellent exploration of implementing Advent of Code solutions using GPU compute shaders on Metal. The GPU kept consistent times (~5ms) as problem size grew while CPUs slowed dramatically, demonstrating practical applications for massively parallel problem solving.</p></li><li><p><strong><a href="https://madisonkanna.substack.com/p/building-ai-agents-open-code-and">Building AI Agents, Open Code And Open Source</a></strong> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Madison Kanna&quot;,&quot;id&quot;:286694,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f82579bb-99e8-411d-9b75-9de1fe268d80_756x756.png&quot;,&quot;uuid&quot;:&quot;b657cf99-3210-41f6-8305-c5895c25f80e&quot;}" data-component-name="MentionToDOM"></span>: I thoroughly enjoyed reading this interview, especially the parts about open versus closed source tools and the motivation behind them. Terminal agents are only going to be more important this year and this does a great job of helping readers understand them.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">AI for Software Engineers is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Things you should know</h2><h3>AI was used to push narratives in Nicol&#225;s Maduro&#8217;s capture</h3><p>AI-generated media circulated the internet following the US capture of Venezuela&#8217;s president Nicol&#225;s Maduro. Fake images depicted the capture itself, while a deepfake video showed Venezuelans crying tears of joy. Both were used to push specific narratives about the operation.</p><p>Any company serious about AI needs to help viewers discern between AI and non-AI media. The images above were caught by Google&#8217;s SynthID watermark which Google attaches to all AI-generated images using Gemini. Sure, anyone can switch to a non-watermarking tool, but even putting up a small obstacle to generating a fake narrative is a big win.</p><p>Source: <a href="https://spotlight.ebu.ch/p/maduro-capture-fake-image-fact-check">EBU Spotlight on Maduro fake images</a>, <a href="https://www.yahoo.com/news/articles/video-happy-crying-venezuelans-maduro-220200959.html">Yahoo News on fake celebration video</a>, <a href="https://deepmind.google/models/synthid/">Google SynthID</a></p><p>See how SynthID works below:</p><div id="youtube2-9btDaOcfIMY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;9btDaOcfIMY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/9btDaOcfIMY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3><strong>AI safety concerns mount as AI chatbots face serious scrutiny</strong></h3><p>xAI was fined 120 million euros under the Digital Services Act due to Grok generating sexually explicit images of women and children. Separately, a lawsuit alleges OpenAI is withholding ChatGPT logs after a murder-suicide where transcripts show the chatbot validated a user&#8217;s paranoid delusions.</p><p>AI safety is foundational to ensuring we can apply AI to the applications where it&#8217;s needed. It&#8217;s crazy to me that AI safety teams were previously understaffed or dismissed. Both of the examples above show <em>why</em> AI safety is important and also some of the difficulties that come with ensuring safety.</p><p>Source: <a href="https://tvpworld.com/90899040/-eu-grok-made-sexualized-images-are-appalling">TVP World on Grok</a>, <a href="https://arstechnica.com/tech-policy/2025/12/openai-refuses-to-say-where-chatgpt-logs-go-when-users-die/">Ars Technica on ChatGPT logs</a></p><h3><strong>Half of AI-generated code has security flaws</strong></h3><p>Over 30% of senior developers now ship mostly AI-generated code, and the trade-offs are becoming clear. AI code shows logic errors at 1.75x the human rate, XSS vulnerabilities at 2.74x, and roughly 45% of it has security flaws. PR sizes are up 18%, incidents per PR are up 24%, and change-failure rates have risen 30%. Properly configured AI review tooling catches 70-95% of low-hanging bugs.</p><p>These statistics echo <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">my recent article</a> detailing how AI impacts an organization&#8217;s engineering culture. AI is an amplifier, and if your processes aren&#8217;t solid, AI will make them worse.</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;69cafeda-f742-4393-91dc-0519443411af&quot;,&quot;caption&quot;:&quot;I&#8217;ve seen an interesting new fad on social media recently that I like to call &#8220;vibe releasing&#8221;. This is the same as &#8220;vibe coding&#8221; but it takes it one step further and releases the code to production without properly reviewing it first.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI Can&#8217;t Fix a Broken Engineering Culture&#8212;It Can Only Make it Worse&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-30T20:10:23.758Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ju15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182991041,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:4,&quot;comment_count&quot;:1,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Source: <a href="https://addyo.substack.com/p/code-review-in-the-age-of-ai">Addy Osmani</a>, <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">AI for Software Engineers</a></p><h3><strong>The best way to fight AI cheating in education is with AI</strong></h3><p>An NYU professor is using AI to conduct oral exams with students at just 42 cents per student. The AI asks follow-up questions and probes understanding in real-time, forcing students to verbally explain concepts rather than paste in AI-generated answers. This follows a trend where some schools have removed online math courses entirely or now require in-person testing as instructors note declining problem-solving skills and increased reliance on copying AI outputs.</p><p>One of my biggest concerns with AI is education. It has potential to be the greatest multiplier but also the worst detriment in this space. As with many other applications, we&#8217;re seeing AI-related problems being combatted with AI-related solutions.</p><p>Source: <a href="https://www.reddit.com/r/technology/comments/1q3plv2/nyu_professor_fights_ai_cheating_with_aipowered/">Reddit discussion on AI oral exams</a></p><h3><strong>Claude Code creator shares his setup for using Claude Code</strong></h3><p>Boris Cherny, who created Claude Code, runs multiple instances at a time with a focus on Opus 4.5 with &#8220;thinking.&#8221; It needs less steering despite being slower per token, which increases velocity in the long run. He also claimed that Claude Code&#8217;s updates are all written entirely by Claude Code itself.</p><p>Separately, a principal engineer at Google mentioned just how far Claude Code has come by saying it can now design specs that took multiple engineers a few months ago. An ex-Google PM commented on this explaining how important it is for engineering teams to be using competitors&#8217; products to improve their own.</p><p>My only addition: stop thinking of Claude Code, Gemini CLI, and Codex as coding agents. Instead, think of them as <em>terminal agents</em>. Anything you can do from the terminal, it&#8217;s possible to get AI to do for you.</p><p>Source: <a href="https://x.com/bcherny/status/2007179832300581177/">Boris Cherny on X</a>, <a href="https://x.com/rakyll/status/2007239758158975130">Jaana Dogan on X</a>, <a href="https://x.com/raizamrtn/status/2007588045357559953/">Raiza Martin on X</a></p><h3><strong>Research to watch in 2026: Recursive Language Models and Manifold-Constrained Hyper-</strong>Connections</h3><p>Recursive Language Models (RLMs) let models handle context windows up to 100x longer than their native limits by breaking inputs into chunks and processing them programmatically. In tests scaling from 8K to 1M tokens, base models degraded sharply while RLMs maintained performance at comparable cost.</p><p>Separately, a technique called Manifold-Constrained Hyper-Connections (mHC) stabilizes model training with only 6.7% overhead, eliminating common instability issues that plague large model runs.</p><p>Both papers tackle fundamental scaling bottlenecks: RLMs at inference time and mHC at training time. If these techniques hold up, they could meaningfully change how we build and deploy large models.</p><p>Source: <a href="https://x.com/a1zhang/status/2007198916073136152/">Alex Zhang on RLMs</a>, <a href="https://arxiv.org/pdf/2512.24880">mHC paper on arXiv</a></p><h3><strong>NVIDIA acquihires Groq through licensing deal</strong></h3><p>Groq signed a licensing deal with NVIDIA that will see about 90% of Groq&#8217;s 400+ employees move to NVIDIA at a $20B valuation. Groq will remain independent and GroqCloud will continue operating. Groq&#8217;s specialty is developing compute with incredibly low-latency inference, something Nvidia can benefit from as it continues to ramp up its research and development of AI compute.</p><p>This is another acquihire within the AI industry. The most recent I can think of was Google acquiring talent from Windsurf which led to Google&#8217;s Antigravity IDE. I see something similar happening at Nvidia where they&#8217;ll come out with even lower latency compute offerings for customers.</p><p>Source: <a href="https://thechipletter.substack.com/p/jensen-groks-groq">The Chip Letter</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Babbage&quot;,&quot;id&quot;:102722254,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F82525b9c-ee3c-4996-916c-54267a4d354b_416x416.png&quot;,&quot;uuid&quot;:&quot;e2cb2593-c9df-4542-aab0-49813aa7c085&quot;}" data-component-name="MentionToDOM"></span></p><h3>More...</h3><ul><li><p>A shape-shifting molecule discovery could change the future of AI hardware. (<a href="https://share.google/IydJeXcQTD83RHwnz">Science Daily on shape-shifting molecules</a>)</p></li><li><p>Micron shares surged over 10% on AI optimism and increased demand for high-performance memory. (<a href="https://share.google/HOYeMAUsA7aYUn9a5">Micron stock coverage</a>)</p></li><li><p>California State Senator introduced a four-year moratorium to ban AI chatbot-equipped toys for minors. (<a href="https://share.google/0I66mWChMWhCIwSra">Coverage of AI toy moratorium</a>)</p></li><li><p>Claude Code can run on-the-go using an iPhone via Termius and mosh to a VM costing about $7/day. (<a href="https://granda.org/en/2026/01/02/claude-code-on-the-go/">Granda.org</a>)</p></li><li><p>Advanced AI could collapse labor&#8217;s share of GDP toward zero, concentrating wealth among capital holders. (<a href="https://x.com/dwarkesh_sp/status/2006505366423745004/">Dwarkesh Patel on X</a>)</p></li><li><p>An excellent overview on the past 10 years of AI. (<a href="https://weightythoughts.com/p/ten-years-of-ai-in-review">Weighty Thoughts</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;James Wang&quot;,&quot;id&quot;:7343257,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7ea988e-c6f5-4b1e-9041-8a3081bccb3f_2200x2220.jpeg&quot;,&quot;uuid&quot;:&quot;820b2e0e-6c86-4d8c-be2a-4ebc7b29488b&quot;}" data-component-name="MentionToDOM"></span>)</p></li><li><p>An interesting read from an author who canceled their technical book publishing deal for various reasons. (<a href="https://austinhenley.com/blog/canceledbookdeal.html">Austin Henley</a>)</p></li><li><p>PostgreSQL dominated 2025, driving major acquisitions and new DBaaS launches across all major cloud vendors. (<a href="https://www.cs.cmu.edu/~pavlo/blog/2026/01/2025-databases-retrospective.html">Databases in 2025: A Year in Review</a>)</p></li><li><p>Two excellent 2025 retrospectives worth reading. (<a href="https://www.ignorance.ai/p/10-ai-stories-that-shaped-2025">Ignorance.ai on 10 AI stories</a> by <span class="mention-wrap" data-attrs="{&quot;name&quot;:&quot;Charlie Guo&quot;,&quot;id&quot;:3625174,&quot;type&quot;:&quot;user&quot;,&quot;url&quot;:null,&quot;photo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bpse!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c9d1a4c-3e17-4463-9b75-8898d2565caa_800x800.jpeg&quot;,&quot;uuid&quot;:&quot;c6150f01-f9f5-438b-9a45-7bfd8e9f74d5&quot;}" data-component-name="MentionToDOM"></span>, <a href="https://simonw.substack.com/p/2025-the-year-in-llms">Simon Willison on the year in LLMs</a>)</p></li></ul><h2>Last week</h2><p>In case you missed it, here&#8217;s last week&#8217;s overview:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;76a25775-ca86-4b6c-85d6-153ceec03dc7&quot;,&quot;caption&quot;:&quot;Happy New Year! Thank you all for your support in 2025! 2026 will be an even better year for AI for Software Engineers! Here&#8217;s a recap of the year, what to look forward to in 2026, and a few questions to help me improve the newsletter. &#128522;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI for Software Engineers: Looking Forward to 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2026-01-01T15:01:06.217Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!bFIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/looking-forward-2026&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:183019130,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p>I&#8217;ve removed the jobs and industry updates from these weekly roundups. I haven&#8217;t been able to fit them properly at this cadence and will be moving them to their own, less frequent articles. Stay tuned!</p><p><strong>Thanks for reading!</strong></p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/76?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/76?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI for Software Engineers: Looking Forward to 2026]]></title><description><![CDATA[Plus, help me improve the newsletter!]]></description><link>https://www.aiforswes.com/p/looking-forward-2026</link><guid isPermaLink="false">https://www.aiforswes.com/p/looking-forward-2026</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Thu, 01 Jan 2026 15:01:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bFIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.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_!bFIJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bFIJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f342fadf-9a07-4f07-a3f8-0179b733666f_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;:39274,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/183019130?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.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_!bFIJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!bFIJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff342fadf-9a07-4f07-a3f8-0179b733666f_1280x720.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>Happy New Year! Thank you all for your support in 2025! 2026 will be an even better year for AI for Software Engineers! Here&#8217;s a recap of the year, what to look forward to in 2026, and a few questions to help me improve the newsletter. &#128522;</p><h2>Looking back</h2><p>In 2025, we:</p><ul><li><p>Reached <strong>100 paid subscribers</strong> to become a <strong>Substack Bestseller</strong>.</p></li><li><p>Reached <strong>11,000+ free subscribers</strong>.</p></li><li><p>Hit <strong>#1 on Hacker News</strong>.</p></li><li><p>Underwent two name changes (Society&#8217;s Backend &#8212;&gt; ML for SWEs &#8212;&gt; AI for SWEs).</p></li><li><p>Got a new logo that I think actually works (see image above).</p></li><li><p>Released <strong>38 weekly reports</strong> and many other technical articles.</p></li><li><p>Created <strong><a href="https://github.com/loganthorneloe/ai-for-swes">a repo</a></strong><a href="https://github.com/loganthorneloe/ai-for-swes"> to learn by building</a> (more on this below).</p></li></ul><p>Our top 5 articles of this year were:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;267ea20a-f54d-431d-a6ce-4dd26fa064eb&quot;,&quot;caption&quot;:&quot;[Edit 1] This article has been edited after initial release for clarity. Both the tl;dr and the end section have added information.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;[Revised] You Don&#8217;t Need to Spend $100/mo on Claude Code: Your Guide to Local Coding Models&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-12-20T14:55:12.022Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!fARn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb194c53f-7b2b-4f74-942b-5cf1c59b32aa_1920x1080.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/you-dont-need-to-spend-100mo-on-claude&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:182132050,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:54,&quot;comment_count&quot;:20,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6799d8f4-8d09-4148-a235-239c14c09144&quot;,&quot;caption&quot;:&quot;Last week I posted a role my team is hiring for on X and LinkedIn (check them out because we&#8217;re still hiring!) and I received hundreds of messages. Sorting through them made one thing clear&#8212;people suck at presenting themselves.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;DMs Are the New Cover Letter: How to Get Hired in AI in 2025/2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-11-29T14:01:07.962Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!69dm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c8e53b2-01fa-4e6f-8c1e-28874a8db92d_1196x1836.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/get-hired-2025-2026&quot;,&quot;section_name&quot;:&quot;&#128188; Career&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:180126605,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:19,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;04b3066b-9bea-48ec-8b57-0e2e55a2720c&quot;,&quot;caption&quot;:&quot;While generative AI has caused discussions about the impact of AI to skyrocket, I&#8217;d argue recommendation systems are the AI most people should be concerned about. They&#8217;ve been around for over a decade and choose what content people consume, what ideas they see, and even influence&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How to Build Your First Recommendation System (Easy)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-11-11T14:03:14.009Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UUKR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff39aac63-172e-4900-9f8d-4d6fa8e7efb5_500x559.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/collaborative-filtering&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Technical Guides&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:178561311,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:23,&quot;comment_count&quot;:5,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c63e2f78-86b9-4e48-a48e-5e64ec2322cf&quot;,&quot;caption&quot;:&quot;This is the last article where I&#8217;ll be sharing my recent job market research. In case you missed it, I&#8217;ve also written about the five AI-related jobs every software engineer should know about and the strange reality of the current job market (why it isn&#8217;t just a bad market, but also a weird one).&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Top 10 AI Skills Software Engineers Should Focus On (In Order)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-10-03T13:47:25.962Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!fixK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f65f20c-6f9c-4a66-b769-2b905e7a3879_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/the-top-10-2025&quot;,&quot;section_name&quot;:&quot;&#128188; Career&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:173993708,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:17,&quot;comment_count&quot;:2,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f324191c-8e1e-4837-9d86-6e792c6d4bd9&quot;,&quot;caption&quot;:&quot;Welcome to machine learning for software engineers. Each week, I share a lesson in AI from the past week, five must-read resources to help you become a better engineer, and other interesting developments. All content is geared towards software engineers and those that like to build things.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;ML for SWEs 65: The AI bubble is popping and why that's a good thing&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:43759292,&quot;name&quot;:&quot;Logan Thorneloe&quot;,&quot;bio&quot;:&quot;Dev AI at Google / Writing a newsletter to help software engineers understand practical AI&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dcabb40d-0160-46a4-ad4f-55b486a11ee0_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:100}],&quot;post_date&quot;:&quot;2025-08-27T18:40:13.894Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!cheO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F49128454-e083-4c7e-9240-fb672e11009a_1280x720.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://www.aiforswes.com/p/65&quot;,&quot;section_name&quot;:&quot;&#128421;&#65039; Weekly AI for SWEs&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:172108142,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:57,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1744179,&quot;publication_name&quot;:&quot;AI for Software Engineers&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Vxek!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc506cb8-4caf-478f-9213-ca0ffeee5a7a_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Going forward</h2><p>I plan to:</p><ul><li><p><strong>Add to the AI for SWEs repo and let all of you contribute too</strong>. I want to create more hands-on resources, but I want this repo to be an opportunity for <em>you</em> to create those resources as well.</p></li><li><p><strong>Simplify my approach to writing</strong>. I want think less about what I think will do well and focus more on sharing what I think is most important for all of us to know. I also found myself getting caught up in the process I use for writing, instead of getting caught up in the topic I&#8217;m writing about (which is a great thing!).</p></li><li><p><strong>Add more paid benefits</strong> with a focus on discounted learning and building resources. Thanks to all who&#8217;ve supported me by becoming a paid subscriber. It lets me devote more time to my writing. My plan for 2026 is simple: Make the paid tier to much value it&#8217;s a no brainer and ensure it providers everything you need to make it in AI.</p></li><li><p><strong>Take better care of my own health so I can be more consistent</strong>. There were a few weeks this year where I was unable to write due to my health and I missed writing during those week. Next year, I&#8217;m prioritizing my health.</p></li></ul><p><strong>Now, help me improve AI for Software Engineers!</strong> Answer two questions for me.</p><p>Question 1:</p><div class="poll-embed" data-attrs="{&quot;id&quot;:425907}" data-component-name="PollToDOM"></div><p>Question 2:</p><div class="poll-embed" data-attrs="{&quot;id&quot;:425913}" data-component-name="PollToDOM"></div><p>Question 3:</p><p>As always, thank you for reading!</p><p><strong>Always be (machine) learning,</strong></p><p><strong>Logan</strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.aiforswes.com/p/looking-forward-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.aiforswes.com/p/looking-forward-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p>]]></content:encoded></item><item><title><![CDATA[AI Can’t Fix a Broken Engineering Culture—It Can Only Make it Worse]]></title><description><![CDATA[Notes on Google&#8217;s findings about how AI has impacted software development in 2025 and what your team needs to do to ensure AI works for you instead of against you]]></description><link>https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering</link><guid isPermaLink="false">https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering</guid><dc:creator><![CDATA[Logan Thorneloe]]></dc:creator><pubDate>Tue, 30 Dec 2025 20:10:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ju15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.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_!Ju15!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ju15!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ju15!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e8853990-a4ea-47b9-99e6-eb68a033d17e_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;:137654,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.aiforswes.com/i/182991041?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.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_!Ju15!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 424w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 848w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.png 1272w, https://substackcdn.com/image/fetch/$s_!Ju15!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe8853990-a4ea-47b9-99e6-eb68a033d17e_1280x720.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&#8217;ve seen an interesting new fad on social media recently that I like to call &#8220;vibe releasing&#8221;. This is the same as &#8220;vibe coding&#8221; but it takes it one step further and releases the code to production without properly reviewing it first.</p><p><strong>I can&#8217;t overstate how terrible of an idea this is.</strong></p><p>In fact, this year&#8217;s <a href="https://services.google.com/fh/files/misc/2025_state_of_ai_assisted_software_development.pdf">&#8220;State of AI-assisted Development&#8221; report</a> released by Google centered around one idea:<strong> AI is an amplifier</strong>. It analyzes AI coding metrics from this past and proves that coding with AI makes proper engineering practices more, <em>not less</em>, important.</p><p>It shows that companies with good engineering culture and practices will see AI positively impact their development velocity and companies with bad engineering culture and practices will see the opposite. &#8220;Vibe releasing&#8221; is the definition of a bad engineering practice.</p><p>This article includes everything you should take away from Google&#8217;s report and how it applies to you.</p><h2>Takeaways</h2><p>If you&#8217;re just here for the takeaways, here they are:</p><ul><li><p><strong>2025 was the first year AI had a quantifiable positive impact on software development.</strong></p></li><li><p><strong>Trust</strong> is a huge factor in AI coding tool effectiveness.</p></li><li><p><strong>Companies with bad engineering cultures and practices will see their development velocity slow with AI.</strong> Conversely, companies with good engineering cultures and practices will see their development velocity quicken with AI.</p></li></ul><p>If you want to know the specifics and what your organization should do to ensure AI works for you instead of against you, read on.</p><h2>Report methodology</h2><p>First, let&#8217;s understand how the report was created and how research was conducted. When evaluating metrics, this is always the first step.</p>
      <p>
          <a href="https://www.aiforswes.com/p/ai-cant-fix-a-broken-engineering">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>