<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The MLnotes Newsletter]]></title><description><![CDATA[MLnotes shares bite-sized insights on AI, ML, GenAI, agents, and RAG—from real-world applications to careers and startups—helping cut through the noise of rapid AI progress.]]></description><link>https://mlnotes.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Kq64!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png</url><title>The MLnotes Newsletter</title><link>https://mlnotes.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 05 Apr 2026 20:22:37 GMT</lastBuildDate><atom:link href="https://mlnotes.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[MLnotes]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[mlnotes@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[mlnotes@substack.com]]></itunes:email><itunes:name><![CDATA[Mehdi Allahyari]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mehdi Allahyari]]></itunes:author><googleplay:owner><![CDATA[mlnotes@substack.com]]></googleplay:owner><googleplay:email><![CDATA[mlnotes@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mehdi Allahyari]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Knowledge Graphs Needed an AI Layer. So I Built One]]></title><description><![CDATA[I&#8217;ve been working with semantic web technologies since 2012.]]></description><link>https://mlnotes.substack.com/p/knowledge-graphs-needed-an-ai-layer</link><guid isPermaLink="false">https://mlnotes.substack.com/p/knowledge-graphs-needed-an-ai-layer</guid><dc:creator><![CDATA[Mehdi Allahyari]]></dc:creator><pubDate>Thu, 26 Mar 2026 14:03:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FXts!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg" 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_!FXts!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FXts!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FXts!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FXts!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FXts!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FXts!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:547057,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://mlnotes.substack.com/i/192154633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.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_!FXts!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FXts!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FXts!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FXts!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97a75bee-0f2a-4272-a99a-b8f9862ee41d_1408x768.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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">Credit: Author via Nano Banana</figcaption></figure></div><p>I&#8217;ve been working with semantic web technologies since 2012. RDF, OWL, SPARQL, Protege, Jena, triplestores -- these have been part of my toolkit for over a decade. I&#8217;ve built ontologies for research projects, designed knowledge graphs for NLP pipelines, and written more SPARQL than I&#8217;d care to admit.</p><p>And throughout all of it, one frustration has remained constant: <strong>the gap between what knowledge graphs can do and what people are willing to put up with to use them. </strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mlnotes.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The MLnotes Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>The technology is sound. The W3C stack is well-designed. Ontological reasoning is genuinely powerful. But the barrier to entry has always been too high. You need to understand RDF serialization, SPARQL syntax, OWL semantics, URI design, and named graph management before you can do anything useful. For most teams, the learning curve kills adoption before the value becomes visible.</p><p>LLMs have finally given us the tools to close that gap. So I built KeplAI -- an open-source platform that puts an AI layer on top of the standards-based semantic web stack, making knowledge graphs accessible without sacrificing the rigor that makes them worth using in the first place.</p><div><hr></div><h2>The Semantic Web&#8217;s Adoption Problem</h2><p>If you&#8217;ve worked with knowledge graphs, you know this story. You show someone a beautifully reasoned inference chain -- how <code>(Mehdi, founded, BrandPulse)</code> plus the ontology&#8217;s domain/range constraints automatically infers that Mehdi is a Person and BrandPulse is a Company. They&#8217;re impressed. Then you show them the SPARQL they&#8217;d need to write to query it, and their eyes glaze over.</p><p>The semantic web has always had a marketing problem disguised as a usability problem. The underlying ideas -- triples, ontologies, inference, linked data -- are elegant. But the tooling has historically assumed that everyone using it has a PhD in knowledge representation.</p><p>I don&#8217;t think the answer is to dumb it down. Stripping away the ontology layer to make things &#8220;simpler&#8221; defeats the purpose. Without formal semantics, you just have a labeled property graph -- fine for some use cases, but you lose inference, auto-typing, and schema validation. You lose the reason knowledge graphs are more powerful than a relational database in the first place.</p><p>The answer is to <strong>keep the semantic rigor underneath and put a natural-language interface on top.</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_!wB4x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wB4x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wB4x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wB4x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wB4x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wB4x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:758478,&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://mlnotes.substack.com/i/192154633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.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_!wB4x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!wB4x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!wB4x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!wB4x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c375a22-083e-4d81-8398-c441b41d1668_1408x768.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><figcaption class="image-caption">Credit: Author via Nano Banana</figcaption></figure></div><h2>What Knowledge Graphs Actually Give You</h2><p>For readers who haven&#8217;t worked with these technologies before, let me explain why anyone would bother with all this machinery instead of just using a regular database.</p><p>A knowledge graph stores facts as <strong>triples</strong>: subject, predicate, object.</p><pre><code><code>(Mehdi, founded, BrandPulse)

(BrandPulse, industry, AI)

(Alice, worksAt, BrandPulse)</code></code></pre><p>Each triple is a fact. Together, they form a graph you can traverse. Want to know who works at companies Mehdi founded? Follow the edges. No JOINs, no pre-designed queries, no schema migration when you add a new relationship type.</p><p>But the real power comes from <strong>ontologies</strong> -- formal descriptions of what types of things exist and how they can relate.</p><h3>Why Ontologies Matter</h3><p>An ontology doesn&#8217;t just describe data. It enables reasoning.</p><p>Define this:</p><pre><code><code>Class: Person

Class: Company

Property: founded (domain: Person, range: Company)</code></code></pre><p>Now when someone adds <code>(Mehdi, founded, BrandPulse)</code>, the system <em>automatically infers</em> that Mehdi is a Person and BrandPulse is a Company. This is called auto-typing, and after working with it for over a decade, I can tell you it&#8217;s one of those capabilities that seems minor until you realize how much manual annotation it eliminates at scale.</p><p>Ontologies also give you <strong>constraint validation</strong> (is this triple even valid given the schema?), <strong>cross-domain reasoning</strong> (if a Person can found a Company, and a Company has Employees, what can we infer about the relationship between founders and employees?), and <strong>interoperability</strong> (your ontology and mine can be linked through shared upper ontologies).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iaFF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iaFF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iaFF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iaFF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iaFF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iaFF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:509264,&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://mlnotes.substack.com/i/192154633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.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_!iaFF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iaFF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iaFF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iaFF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e788bd0-300e-445b-a392-7df33870db7c_1408x768.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><figcaption class="image-caption">Credit: Author via Nano Banana</figcaption></figure></div><h3>The Multi-Ontology Problem</h3><p>Real-world knowledge doesn&#8217;t fit into one neat schema. This is something I&#8217;ve dealt with repeatedly across projects. A hospital needs a medical ontology, an organizational one, and a geographic one. A research lab might combine domain-specific ontologies with FOAF, Dublin Core, and Schema.org.</p><p>These ontologies overlap. Both FOAF and Schema.org define &#8220;Person.&#8221; When your data says &#8220;Person,&#8221; which one do you mean? When two ontologies define different properties with the same label, which takes precedence?</p><p>In KeplAI, each imported ontology lives in its own named graph inside Apache Jena Fuseki. URI resolution searches across all loaded ontologies. If there&#8217;s a unique match, it resolves. If two ontologies claim the same label, the system raises a conflict rather than silently picking one. This is the kind of design decision that comes from having been burned by silent ontology collisions more than once.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Ilc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Ilc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5Ilc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5Ilc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5Ilc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Ilc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:649347,&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://mlnotes.substack.com/i/192154633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.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_!5Ilc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5Ilc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5Ilc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5Ilc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F768ac0cb-3df3-4f5d-986e-e2cbc11b3ca5_1408x768.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><figcaption class="image-caption">Credit: Author via Nano Banana</figcaption></figure></div><h2>What LLMs Finally Make Possible</h2><p>I&#8217;ve watched the semantic web community struggle with two problems for years. LLMs don&#8217;t solve them perfectly, but they solve them well enough to fundamentally change the equation.</p><h3>Populating the Graph</h3><p>Knowledge graph construction has always been the bottleneck. I&#8217;ve used every approach:</p><ul><li><p><strong>Manual curation</strong> -- accurate but impossibly slow. I&#8217;ve spent weeks annotating corpora for research projects that produced graphs with a few thousand triples.</p></li><li><p><strong>Rule-based extraction</strong> -- fragile. Change the sentence structure and your regex pipeline breaks.</p></li><li><p><strong>Supervised NER/RE models</strong> -- requires labeled training data, which requires... manual curation. A chicken-and-egg problem.</p></li></ul><p>LLMs break this cycle. Give GPT-4 a paragraph and an ontology schema, and it extracts structured triples that actually conform to the schema:</p><pre><code><code>triples = await kg.extract_and_store(

"Mehdi founded BrandPulse in 2024. The company focuses on AI.",

mode="strict" # Constrained to ontology schema

)</code></code></pre><p>In &#8220;strict&#8221; mode, extraction is constrained to properties defined in your ontology -- the LLM can only produce triples that match your schema. In &#8220;open&#8221; mode, it discovers relationships freely, which is useful for exploratory graph building.</p><p>But extraction alone isn&#8217;t enough. Text says &#8220;M. Allahyari&#8221; and the graph already has &#8220;Mehdi Allahyari&#8221; -- are they the same entity? This <strong>entity disambiguation</strong> problem is something I&#8217;ve worked on extensively. KeplAI uses vector embeddings (OpenAI&#8217;s embedding model + Qdrant vector store) to match extracted entities against existing ones. The user sees candidates ranked by similarity score and can confirm or reject. It&#8217;s not perfect -- &#8220;Apple&#8221; the company vs. &#8220;apple&#8221; the fruit still requires contextual reasoning that embeddings alone can&#8217;t fully capture -- but it handles the 80% case that used to require manual reconciliation.</p><h3>Querying the Graph</h3><p>SPARQL is a powerful query language. I write it fluently after years of practice. But I also know that asking a domain expert to write this is unreasonable:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;sql&quot;,&quot;nodeId&quot;:&quot;5f07f9f7-0bdf-4345-a329-ebadc8ba1f5b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-sql">PREFIX entity: &lt;http://keplai.io/entity/&gt;
PREFIX ontology: &lt;http://keplai.io/ontology/&gt;
SELECT ?company WHERE {
  GRAPH ?g {
    entity:Mehdi ontology:founded ?company .
    ?company ontology:industry "AI" .
  }
}</code></pre></div><p>They want to ask: <em>&#8220;What AI companies did Mehdi found?&#8221;</em></p><p>Translating natural language to SPARQL is where I&#8217;ve spent the most engineering effort in KeplAI, because this is where naive LLM usage falls apart spectacularly.</p><p>The core problem: <strong>LLMs invent predicates.</strong> Ask GPT-4 to generate SPARQL for &#8220;when was Tom Hanks born?&#8221; and it&#8217;ll confidently produce <code>ontology:birthDate</code> -- even when your graph uses <code>ontology:bornOn</code>. The LLM&#8217;s world knowledge overrides the schema context you provided. It&#8217;s the same hallucination problem, just manifesting in a structured output.</p><p>KeplAI&#8217;s NLQ engine addresses this with a multi-stage pipeline:</p><ol><li><p><strong>Relation mapping</strong> -- Before generating SPARQL, an LLM call maps natural-language phrases (&#8221;works at,&#8221; &#8220;born in&#8221;) to actual predicates in your graph. This produces explicit mappings that get injected into the generation prompt.</p></li><li><p><strong>Entity resolution</strong> -- Entity mentions are extracted from the question and resolved against the graph via vector similarity. &#8220;Tom Hanks&#8221; becomes <code>entity:ThomasJeffreyHanks</code> (or whatever your graph uses).</p></li><li><p><strong>Schema-grounded generation</strong> -- The SPARQL generation prompt includes the full property list (with descriptions), the entity mappings, the relation mappings, and explicit instructions to use only listed predicates.</p></li><li><p><strong>Predicate validation</strong> -- After generation, every URI in the output SPARQL is checked against the allowed set. If the LLM invented <code>ontology:birthDate</code> when only <code>ontology:bornOn</code> exists, it&#8217;s flagged.</p></li><li><p><strong>Self-repair</strong> -- Invalid predicates trigger a repair call: &#8220;Your query uses these invalid predicates. Here are the allowed ones. Fix it.&#8221; This catches the 10-15% of queries where the LLM ignores the schema despite explicit instructions.</p></li></ol><p>Is it perfect? No. Complex multi-hop queries still trip up sometimes. But for the vast majority of questions a domain expert would ask, it produces correct SPARQL -- and it shows the generated query alongside the results, so power users can verify and edit.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4RS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4RS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q4RS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q4RS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q4RS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4RS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:706231,&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://mlnotes.substack.com/i/192154633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.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_!q4RS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!q4RS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!q4RS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!q4RS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff354bcc-19da-4b25-bf18-d8ae269f7bfe_1408x768.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><figcaption class="image-caption">Credit: Author via Nano Banana</figcaption></figure></div><h2>Use Cases Where This Actually Matters</h2><h3>Research Knowledge Management</h3><p>This is closest to my own experience. A researcher imports domain ontologies (biomedical, legal, environmental), then feeds papers and documents through the extraction pipeline. The knowledge graph grows semi-automatically. They can ask &#8220;Which genes are associated with both diabetes and cardiovascular disease?&#8221; and get answers grounded in extracted data, with provenance tracking showing which paper each fact came from.</p><h3>Enterprise Knowledge Unification</h3><p>Organizations have knowledge trapped in wikis, Confluence pages, Slack threads, and people&#8217;s heads. A knowledge graph can unify this. Extract triples from documentation, connect them with organizational ontologies, and you have a queryable map of institutional knowledge. When someone leaves the company, their knowledge doesn&#8217;t leave with them.</p><h3>Compliance and Auditing</h3><p>Every triple in KeplAI can carry provenance: source document, extraction timestamp, method (manual vs. AI-extracted). In regulated industries -- healthcare, finance, legal -- being able to trace every fact back to its source isn&#8217;t a nice-to-have. It&#8217;s a requirement.</p><h3>AI-Powered Applications</h3><p>This is where I think the biggest opportunity lies. RAG (Retrieval-Augmented Generation) typically uses vector search over chunks of text. But knowledge graphs offer something vector search can&#8217;t: <strong>structured reasoning</strong>. Instead of retrieving &#8220;similar text,&#8221; you retrieve <em>facts</em> and their <em>logical connections</em>. An LLM grounded in a knowledge graph doesn&#8217;t just find relevant passages -- it follows relationship chains and provides answers with explicit provenance.</p><div><hr></div><h2>Hard-Won Technical Insights</h2><p>A few things I want to share from building this that aren&#8217;t obvious from the outside:</p><p><strong>Named graphs are essential but the ecosystem barely supports them.</strong> Almost every SPARQL tutorial teaches you to query the default graph. In practice, if you&#8217;re managing multiple ontologies with data isolation, everything lives in named graphs. This means every query needs a <code>GRAPH ?g { ... }</code> wrapper. Forget it, and you get zero results with zero helpful error messages. KeplAI auto-injects GRAPH clauses when the LLM forgets them -- a safety net born from painful debugging sessions.</p><p><strong>The LLM-to-SPARQL &#8220;last mile&#8221; is harder than NL-to-SQL.</strong> SQL has a relatively flat structure -- tables, columns, JOINs. SPARQL has PREFIX declarations, URI resolution, named graphs, blank nodes, OPTIONAL patterns, FILTER expressions, and the RDF data model underneath. The LLM needs to get all of this right simultaneously. The relation mapping and predicate validation layers exist because a single wrong URI means the query silently returns nothing.</p><p><strong>Ontologies compound in value over time.</strong> This is something you only appreciate after maintaining a knowledge graph for months or years. Early on, defining an ontology feels like overhead. Six months in, when auto-typing has correctly classified thousands of entities and inference has surfaced relationships you never explicitly stated, the upfront investment pays for itself many times over.</p><p><strong>Entity disambiguation remains the hardest unsolved problem.</strong> After years of working on this, I&#8217;m convinced that pure vector similarity gets you ~80% of the way. The remaining 20% -- contextual ambiguity, cross-language entities, temporal references -- requires hybrid approaches combining embeddings with graph structure and contextual reasoning. This is active work.</p><div><hr></div><h2>The Architecture</h2><p>For those who want to look under the hood:</p><p>KeplAI is SDK-first. The Python SDK (<code>keplai</code>) is the core -- it manages the graph, ontologies, and AI features and can be used standalone. The REST API (FastAPI) and Web UI (React + TypeScript) are layers on top.</p><p>The stack:</p><ul><li><p><strong>Apache Jena Fuseki</strong> -- standards-compliant RDF triplestore with SPARQL endpoint and OWL reasoning. The SDK manages Fuseki&#8217;s Docker lifecycle automatically.</p></li><li><p><strong>OpenAI GPT-4</strong> -- powers extraction, NL-to-SPARQL generation, and result explanation.</p></li><li><p><strong>Qdrant</strong> -- vector similarity search for entity disambiguation.</p></li><li><p><strong>OWL/RDFS reasoning</strong> -- built into the triplestore, so inference happens at the data layer, not the application layer.</p></li></ul><p>The web UI provides a dashboard, triple management with batch operations, an ontology editor with multi-ontology support, a text extraction interface, a natural language query page, and an interactive force-directed graph explorer.</p><p>Open source under Apache 2.0: <a href="https://github.com/mallahyari/keplai">github.com/mallahyari/keplai</a>.</p><div><hr></div><h2>The Bigger Picture</h2><p>I&#8217;ve been in the semantic web world long enough to have seen multiple hype cycles come and go. Linked Data. The original Semantic Web vision. Knowledge graphs in enterprise. Each wave brought real progress but never achieved mainstream adoption.</p><p>This time feels different, and the reason is LLMs.</p><p>The fundamental thesis: <strong>LLMs are great at understanding language but hallucinate facts. Knowledge graphs are great at storing facts but are hard to query naturally.</strong> They&#8217;re complementary in a way that&#8217;s almost too clean.</p><p>LLMs as the <em>interface</em> to structured knowledge -- with the knowledge graph providing ground truth, provenance, and reasoning, and the LLM providing the natural-language bridge -- is, I believe, how the next generation of knowledge-intensive AI applications will be built. Not chatbots that make things up, but systems that reason over verified facts and can show their work.</p><p>KeplAI is my attempt to make that vision practical today. It&#8217;s not finished -- the NLQ pipeline needs more work on complex queries, the disambiguation could be smarter, and there are a dozen features on the roadmap. But it&#8217;s usable now, and the best way to improve it is for people to use it and push against the edges.</p><p>If you&#8217;ve been curious about knowledge graphs but put off by the tooling, or if you&#8217;re a semantic web veteran wondering how LLMs fit into the picture, give it a try.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yOXJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yOXJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yOXJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yOXJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yOXJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yOXJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg" width="1408" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1408,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:876297,&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://mlnotes.substack.com/i/192154633?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.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_!yOXJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!yOXJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!yOXJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!yOXJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fee532710-6f99-467f-b576-6370930513b2_1408x768.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><figcaption class="image-caption">Credit: Author via Nano Banana</figcaption></figure></div><div><hr></div><p><em>KeplAI is open source and available at <a href="https://github.com/mallahyari/keplai">github.com/mallahyari/keplai</a>.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mlnotes.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The MLnotes Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Why I Chose a 4,000-Line AI Assistant Over Ones With 430,000]]></title><description><![CDATA[In a world of bloated AI agents, the best personal assistant might be the one you can actually read.]]></description><link>https://mlnotes.substack.com/p/why-i-chose-a-4000-line-ai-assistant</link><guid isPermaLink="false">https://mlnotes.substack.com/p/why-i-chose-a-4000-line-ai-assistant</guid><dc:creator><![CDATA[Mehdi Allahyari]]></dc:creator><pubDate>Mon, 02 Mar 2026 15:27:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QWkA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif" 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_!QWkA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QWkA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 424w, https://substackcdn.com/image/fetch/$s_!QWkA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 848w, https://substackcdn.com/image/fetch/$s_!QWkA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 1272w, https://substackcdn.com/image/fetch/$s_!QWkA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QWkA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif" width="800" height="524" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:524,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:819780,&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;:true,&quot;internalRedirect&quot;:&quot;https://mlnotes.substack.com/i/189607886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.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_!QWkA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 424w, https://substackcdn.com/image/fetch/$s_!QWkA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 848w, https://substackcdn.com/image/fetch/$s_!QWkA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 1272w, https://substackcdn.com/image/fetch/$s_!QWkA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa29a8451-0196-4e3c-98cf-aecff346b37a_800x524.gif 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>If you&#8217;ve been paying attention to the open-source AI space lately, you&#8217;ve probably noticed the explosion of personal AI assistants. It started with <a href="https://github.com/openclaw/openclaw">OpenClaw</a> &#8212; a powerful, feature-rich agent that took GitHub by storm with 240k+ stars. Then came the inevitable: everyone wanted a lighter version.</p><p>ZeroClaw rewrote it in Rust. PicoClaw rebuilt it in Go for $10 hardware. IronClaw focused on security with WebAssembly sandboxing. NanoClaw stripped it to 500 lines.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mlnotes.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The MLnotes Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I tried several of them. And then I found <strong><a href="https://github.com/HKUDS/nanobot">Nanobot</a></strong> &#8212; a 4,000-line Python alternative &#8212; and stopped looking.</p><p>Here&#8217;s why.</p><h2>The Problem With OpenClaw</h2><p>Don&#8217;t get me wrong &#8212; OpenClaw is impressive. It supports dozens of messaging platforms, has 100+ skills, and can genuinely automate complex workflows. But it comes at a cost:</p><ul><li><p><strong>430,000+ lines</strong> of TypeScript</p></li><li><p><strong>70+ dependencies</strong></p></li><li><p><strong>52+ modules</strong> and 53 config files</p></li><li><p>Individual files that run thousands of lines deep</p></li></ul><p>I wanted a personal assistant I could <em>own</em> &#8212; not just use, but understand end-to-end, modify confidently, and extend without fear of breaking some distant module I&#8217;d never read. OpenClaw wasn&#8217;t that.</p><h2>The Alternatives Didn&#8217;t Quite Fit Either</h2><p>The community responded with lighter alternatives, and they&#8217;re genuinely impressive:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yuRf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yuRf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 424w, https://substackcdn.com/image/fetch/$s_!yuRf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 848w, https://substackcdn.com/image/fetch/$s_!yuRf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 1272w, https://substackcdn.com/image/fetch/$s_!yuRf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yuRf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png" width="1328" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:1328,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:95748,&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://mlnotes.substack.com/i/189607886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.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_!yuRf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 424w, https://substackcdn.com/image/fetch/$s_!yuRf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 848w, https://substackcdn.com/image/fetch/$s_!yuRf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.png 1272w, https://substackcdn.com/image/fetch/$s_!yuRf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F924e32ae-351f-4913-b63c-6373a9bfc861_1328x520.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>But here&#8217;s my issue: I think in Python. My entire ML/AI workflow is Python. When I look at a Rust codebase, I can appreciate the engineering &#8212; but I can&#8217;t casually add a new tool on a Saturday morning. And the 500-line options, while elegant, sacrifice too many features to be practical as a daily driver.</p><h2>Enter Nanobot: The Sweet Spot</h2><p>Nanobot delivers the core functionality of OpenClaw in roughly <strong>4,000 lines of Python</strong>. That&#8217;s 99% smaller. But the line count isn&#8217;t the real story &#8212; what matters is that you can read the <em>entire codebase in an afternoon</em> and understand every decision.</p><p>Here&#8217;s what&#8217;s packed into those 4,000 lines:</p><ul><li><p><strong>13 chat channels</strong> &#8212; Telegram, Discord, Slack, WhatsApp, Email, Matrix, and more</p></li><li><p><strong>19 LLM providers</strong> &#8212; Anthropic, OpenAI, DeepSeek, Groq, Gemini, OpenRouter...</p></li><li><p><strong>13 built-in tools</strong> &#8212; file ops, shell, web search, scheduled tasks, background agents</p></li><li><p><strong>Persistent memory</strong> &#8212; the bot remembers you across conversations</p></li><li><p><strong>A skill system</strong> &#8212; drop a markdown file in a folder and your bot gains new abilities</p></li><li><p><strong>MCP support</strong> &#8212; plug into the Model Context Protocol ecosystem</p></li></ul><p>And it&#8217;s not just small &#8212; it&#8217;s <em>clean</em>. The architecture follows a simple principle: <strong>channels don&#8217;t know about the AI, and the AI doesn&#8217;t know about channels.</strong> Everything talks through a message bus.</p><h2>The Architecture (in 30 Seconds)</h2><p>The whole system is three layers connected by async queues:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dSgi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dSgi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 424w, https://substackcdn.com/image/fetch/$s_!dSgi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 848w, https://substackcdn.com/image/fetch/$s_!dSgi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 1272w, https://substackcdn.com/image/fetch/$s_!dSgi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dSgi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png" width="1456" height="527" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:527,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:370838,&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://mlnotes.substack.com/i/189607886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.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_!dSgi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 424w, https://substackcdn.com/image/fetch/$s_!dSgi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 848w, https://substackcdn.com/image/fetch/$s_!dSgi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 1272w, https://substackcdn.com/image/fetch/$s_!dSgi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd492d0bd-2127-4334-8ab6-d10fd9b1f606_5057x1830.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>A message comes in from any platform. The bus routes it to the agent loop. The agent builds a prompt (with your conversation history, long-term memory, and any active skills), calls the LLM, executes tools if needed, and sends the response back through the bus to whichever platform you&#8217;re on.</p><p>Here&#8217;s what a single request looks like end-to-end:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NWUl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NWUl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 424w, https://substackcdn.com/image/fetch/$s_!NWUl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 848w, https://substackcdn.com/image/fetch/$s_!NWUl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 1272w, https://substackcdn.com/image/fetch/$s_!NWUl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NWUl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png" width="1456" height="693" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:693,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:258127,&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://mlnotes.substack.com/i/189607886?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.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_!NWUl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 424w, https://substackcdn.com/image/fetch/$s_!NWUl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 848w, https://substackcdn.com/image/fetch/$s_!NWUl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 1272w, https://substackcdn.com/image/fetch/$s_!NWUl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F06af3f3e-6331-41e0-9fd6-22d9dda038a5_3465x1650.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>That&#8217;s it. The entire flow.</p><h2>What Makes It Easy to Customize</h2><h3>Adding a tool is ~30 lines</h3><p>Want your assistant to do something new? Every tool is a small class with one method:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;cc58b9d7-c926-4814-8a97-4d15c0090ec1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">class MyTool(Tool):
    name = "check_stocks"
    description = "Check current stock prices"
    parameters = {
        "type": "object",
        "properties": {
            "symbol": {"type": "string", "description": "Stock ticker symbol"}
        },
        "required": ["symbol"]
    }

    async def execute(self, params: dict) -&gt; str:
        symbol = params["symbol"]
        # Your logic here &#8212; call an API, query a database, anything
        price = await fetch_stock_price(symbol)
        return f"{symbol}: ${price}"</code></pre></div><p>Register it in one line, and your bot can now check stock prices. No plugin system to learn, no config files to wrestle with, no build step.</p><h3>Adding a skill is just a markdown file</h3><p>Skills inject knowledge into your bot&#8217;s system prompt. Want your assistant to be an expert at managing your home automation?</p><p>Create <code>~/.nanobot/workspace/skills/smart-home/SKILL.md</code>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;markdown&quot;,&quot;nodeId&quot;:&quot;50bde063-d716-4e48-9fd1-b111961b56dc&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-markdown"># Smart Home Assistant

You can control the user's home devices using the exec tool.
- Lights: `hue-cli set &lt;room&gt; &lt;brightness&gt;`
- Thermostat: `nest-cli temp &lt;degrees&gt;`
- Always confirm before changing settings.</code></pre></div><p>That&#8217;s a skill. Drop the file in the folder, and your bot knows how to manage your smart home on the next message.</p><h3>The memory system is beautifully simple</h3><p>Nanobot keeps two files:</p><ul><li><p><code>MEMORY.md</code> &#8212; long-term facts (&#8221;User prefers Python. Lives in San Francisco. Works on ML projects.&#8221;)</p></li><li><p><code>HISTORY.md</code> &#8212; timestamped event log</p></li></ul><p><code>MEMORY.md</code> gets injected into every prompt, so your assistant always knows who you are. When conversations get long, the agent summarizes old messages and saves the important bits. No vector database, no embeddings, no infrastructure &#8212; just markdown files you can read and edit yourself.</p><h2>The Honest Trade-offs</h2><p>Nanobot isn&#8217;t trying to replace OpenClaw for everyone. Here&#8217;s where it intentionally makes different choices:</p><ul><li><p><strong>No GUI</strong> &#8212; it&#8217;s channels + CLI. If you want a web dashboard, look elsewhere.</p></li><li><p><strong>Fewer built-in skills</strong> &#8212; OpenClaw has 100+; Nanobot has 8 (but adding your own is trivial).</p></li><li><p><strong>Single-process</strong> &#8212; it&#8217;s one Python process, not a distributed system. For a personal assistant, that&#8217;s a feature, not a bug.</p></li><li><p><strong>File-based storage</strong> &#8212; no database. Sessions are JSONL, memory is markdown, config is JSON. Simple and portable, but not built for multi-user scale.</p></li></ul><p>For a personal assistant that <em>you</em> run for <em>yourself</em>, these trade-offs are exactly right.</p><h2>Why This Matters</h2><p>There&#8217;s a broader point here that goes beyond any single project.</p><p>We&#8217;re in an era where AI tools are getting more powerful every month. The models improve, the APIs get cheaper, the capabilities expand. In this environment, <strong>the best AI assistant isn&#8217;t the one with the most features &#8212; it&#8217;s the one you can evolve alongside the models.</strong></p><p>When Claude gets better at reasoning, I want to adjust my agent&#8217;s tool execution strategy. When a new MCP server drops for my favorite service, I want to plug it in. When I have a weird personal workflow that no one else would build a plugin for, I want to code it myself in an hour.</p><p>That requires a codebase I can hold in my head. For me, that&#8217;s 4,000 lines of Python &#8212; not 430,000 lines of TypeScript or a Rust binary I&#8217;d need to recompile.</p><h2>Getting Started</h2><p>If this resonates, here&#8217;s the quickest path:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;f7473c3d-ab1b-46e4-a16b-84a6206cb3b3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash"># Install
pip install nanobot

# First-time setup (creates config + workspace)
nanobot onboard

# Chat interactively
nanobot agent

# Or run as a multi-channel gateway
nanobot gateway</code></pre></div><p>Edit <code>~/.nanobot/config.json</code> to add your API keys and enable channels. </p><h2>Final Thought</h2><p>The <em>claw family</em> has given us incredible options. OpenClaw proved the concept. ZeroClaw and IronClaw showed us what&#8217;s possible in Rust. PicoClaw proved AI agents can run on tiny hardware.</p><p>Nanobot showed me that sometimes the most powerful tool is the one simple enough to be truly <em>yours</em>.</p><div><hr></div><p><em>If you&#8217;re building your own personal AI assistant or have thoughts on the claw ecosystem, I&#8217;d love to hear from you. Drop a comment or reach out, I&#8217;m always happy to talk about this stuff.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mlnotes.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The MLnotes Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Building a Production-Ready SQL Agent with LangGraph]]></title><description><![CDATA[How to turn natural language into safe, accurate SQL queries using a multi-node agentic workflow]]></description><link>https://mlnotes.substack.com/p/building-a-production-ready-sql-agent</link><guid isPermaLink="false">https://mlnotes.substack.com/p/building-a-production-ready-sql-agent</guid><dc:creator><![CDATA[Mehdi Allahyari]]></dc:creator><pubDate>Sat, 21 Feb 2026 14:02:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_dp6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif" 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_!_dp6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_dp6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 424w, https://substackcdn.com/image/fetch/$s_!_dp6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 848w, https://substackcdn.com/image/fetch/$s_!_dp6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 1272w, https://substackcdn.com/image/fetch/$s_!_dp6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_dp6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif" width="800" height="1285" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1285,&quot;width&quot;:800,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1945227,&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;:true,&quot;internalRedirect&quot;:&quot;https://mlnotes.substack.com/i/188568231?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.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_!_dp6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 424w, https://substackcdn.com/image/fetch/$s_!_dp6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 848w, https://substackcdn.com/image/fetch/$s_!_dp6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 1272w, https://substackcdn.com/image/fetch/$s_!_dp6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6dcbfbc-800d-4671-93f4-8d1861541254_800x1285.gif 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></p><p>Most tutorials show you a single LLM call that converts a question into SQL. That works on toy examples. It falls apart the moment a real user touches it.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mlnotes.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The MLnotes Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Real databases have dozens of tables. Real users ask vague, ambiguous questions. And real SQL agents need to handle errors gracefully, retry intelligently, stream responses in real time, and never, ever run a <code>DROP TABLE</code> on your production database.</p><p>In this post, I&#8217;ll walk you through how I designed and built a production-ready SQL agent, covering the architecture, the key design decisions, and the lessons learned along the way. We&#8217;ll go light on boilerplate and heavy on the <em>why</em>.</p><p>The full code (backend + frontend with live visualizations) is on GitHub: <strong><a href="https://github.com/mallahyari/langgraph-sql-agent">github.com/mallahyari/langgraph-sql-agent</a></strong></p><div><hr></div><h2>The Stack</h2><ul><li><p><strong>LangGraph</strong>: multi-node agent orchestration with conditional routing and retry loops</p></li><li><p><strong>GPT-4o</strong>: reasoning, SQL generation, and natural language synthesis</p></li><li><p><strong>FastAPI + Server-Sent Events</strong>: async streaming API</p></li><li><p><strong>SQLite</strong>: database backend (the architecture is database-agnostic)</p></li><li><p><strong>React + Vega-Lite</strong>: frontend with auto-generated charts</p></li></ul><div><hr></div><h2>Why a Multi-Agent Approach?</h2><p>The naive approach is one LLM call: <em>&#8220;Here&#8217;s my schema. Here&#8217;s the user&#8217;s question. Write SQL.&#8221;</em></p><p>This breaks in predictable ways:</p><ul><li><p>The LLM picks the wrong tables when your database has many of them</p></li><li><p>Vague questions like &#8220;show me sales&#8221; generate ambiguous queries</p></li><li><p>When a query fails at runtime, there&#8217;s no recovery path</p></li><li><p>You have zero visibility into what went wrong or why</p></li></ul><p>The insight is that text-to-SQL isn&#8217;t one problem, it&#8217;s several smaller ones chained together. When you decompose it into <strong>specialized nodes</strong>, each with a single job, you get a system that&#8217;s easier to debug, easier to improve, and resilient to failure.</p><p>Think of it as a pipeline of domain experts:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PfPu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PfPu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 424w, https://substackcdn.com/image/fetch/$s_!PfPu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 848w, https://substackcdn.com/image/fetch/$s_!PfPu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 1272w, https://substackcdn.com/image/fetch/$s_!PfPu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!PfPu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png" width="1456" height="862" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:862,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:140306,&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://mlnotes.substack.com/i/188568231?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.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_!PfPu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 424w, https://substackcdn.com/image/fetch/$s_!PfPu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 848w, https://substackcdn.com/image/fetch/$s_!PfPu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.png 1272w, https://substackcdn.com/image/fetch/$s_!PfPu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F63513a84-eecf-4017-88f1-5f49194433d6_1494x884.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>Each of these is a node in a <strong>LangGraph StateGraph</strong>. The graph connects them with conditional edges that handle routing, retries, and error recovery automatically.</p><div><hr></div><h2>The Architecture</h2><p>Here&#8217;s the full workflow:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qIfs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qIfs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 424w, https://substackcdn.com/image/fetch/$s_!qIfs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 848w, https://substackcdn.com/image/fetch/$s_!qIfs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 1272w, https://substackcdn.com/image/fetch/$s_!qIfs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qIfs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png" width="1297" height="3187" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:3187,&quot;width&quot;:1297,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225560,&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://mlnotes.substack.com/i/188568231?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.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_!qIfs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 424w, https://substackcdn.com/image/fetch/$s_!qIfs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 848w, https://substackcdn.com/image/fetch/$s_!qIfs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 1272w, https://substackcdn.com/image/fetch/$s_!qIfs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc106cbc-4e87-4e18-8c5c-a0360f45c49d_1297x3187.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>The <strong>retry loop</strong> is the key architectural decision: if the SQL fails validation <em>or</em> fails at runtime, the graph routes back to the SQL generator with the error message injected into the conversation. The LLM sees what went wrong and corrects itself , up to 3 times before giving up gracefully.</p><p>This is what separates a demo from a system you can actually deploy.</p><div><hr></div><h2>How LangGraph Orchestrates It</h2><p>LangGraph is built on the concept of a <code>StateGraph</code>, a directed graph where each node reads from and writes to a shared state object. Here&#8217;s the shape of that state:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;d7cc414c-a5eb-4da8-a518-b9cee3415065&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">class AgentState(TypedDict):
    user_query: str
    refined_query: Optional[str]
    relevance: str
    selected_tables: List[str]
    generated_sql: str
    query_result: List[Dict[str, Any]]
    query_error: Optional[str]
    is_valid_sql: bool
    retry_count: int
    validation_error: Optional[str]
    natural_response: str
    needs_visualization: bool
    visualization_spec: Optional[Dict[str, Any]]
    logs: Annotated[List[str], operator.add]
    steps: Annotated[List[str], operator.add]
</code></pre></div><p>One thing worth calling out: the <code>Annotated[List[str], operator.add]</code> on <code>logs</code> and <code>steps</code>. This tells LangGraph to <em>append</em> to these lists rather than overwrite them. Every node contributes its own entries, and you end up with a full audit trail of what happened at each step, invaluable for debugging.</p><p>Routing between nodes is handled by plain Python functions:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;687c7536-c10c-49e4-8648-5d312e945f8e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">def route_after_execution(state: AgentState) -&gt; str:
    if state.get("query_error") and state.get("retry_count", 0) &lt; MAX_RETRIES:
        return "sql_generator"
    return "response_synthesizer"</code></pre></div><p>Simple, readable, and easy to change. The orchestration logic lives in the graph definition, completely separate from the agent implementations.</p><div><hr></div><h2>Key Design Decisions</h2><h3>1. Use Function Calling for Structured Decisions</h3><p>Any time a node needs to produce a categorical output, &#8220;is this relevant?&#8221;, &#8220;which tables?&#8221;, &#8220;does this need a chart?&#8221; &#8212; use OpenAI&#8217;s function calling with an <code>enum</code> constraint instead of parsing free text.</p><p>Free text parsing is fragile. The model might say &#8220;Yes, this is relevant&#8221; or just &#8220;Relevant&#8221; or &#8220;I believe the query relates to...&#8221;, you end up writing brittle string matching. Function calling gives you guaranteed structured output:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;7c5c950c-62d0-4f59-95b9-03b858336d7c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">"relevance": {
    "type": "string",
    "enum": ["relevant", "irrelevant"]
}</code></pre></div><p>One call, guaranteed valid result. Use this pattern for every decision node in your graph.</p><h3>2. Always Ground-Truth Check LLM Outputs</h3><p>The table selector asks the LLM which tables are needed, then does this:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;3d464f12-7c51-47a4-9cbe-26f37522a01a&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">valid_tables = [t for t in args["tables"] if t in all_tables]</code></pre></div><p>That one line prevents a surprisingly common failure: LLMs confidently hallucinate table names that don&#8217;t exist. Always cross-reference any LLM output that refers to real-world entities (table names, column names, file paths) against the actual ground truth before passing it downstream.</p><p>Same principle applies to column names in the SQL generator, feed the LLM the exact <code>CREATE TABLE</code> schema, not a description of it.</p><h3>3. Raise Temperature on Retries</h3><p>At <code>temperature=0</code>, GPT-4o is deterministic. If the first SQL query fails and you retry with the same temperature, you get the exact same broken query. Set temperature to <code>0.3</code> on retries,  just enough variation that the model explores a different approach, without going off the rails.</p><h3>4. Inject Error Context Into the Retry Conversation</h3><p>On retry, don&#8217;t just run the node again. Pass the failed query <em>and</em> the error message back to the SQL generator as prior conversation turns:</p><pre><code><code>System: [schema + instructions]

User: [original query]

Assistant: [the broken SQL that failed]

User: "That query failed with: no such column 'TotalRevenue'. Please fix it."</code></code></pre><p>The LLM now has the full context of what it tried and why it failed. This dramatically improves retry success rate compared to starting fresh.</p><h3>5. Validate SQL Before It Touches Your Database</h3><p>A safety layer that checks for destructive keywords (<code>DROP</code>, <code>DELETE</code>, <code>TRUNCATE</code>, <code>UPDATE</code>, etc.) using regex word boundaries is non-negotiable. This blocks both accidental and malicious writes before anything reaches the database.</p><pre><code><code>pattern = r'\b' + keyword + r'\b'</code></code></pre><p>Word boundaries matter, without them, a column named <code>dropship_count</code> would trigger a false positive.</p><h3>6. Truncate Large Results Before Synthesis</h3><p>Some queries return thousands of rows. Feeding all of them to the synthesizer is expensive and often exceeds context limits. Truncate to a reasonable character limit before synthesis. The synthesizer&#8217;s job is to <em>summarize</em>, not to enumerate every row, so you rarely lose anything meaningful.</p><h3>7. Thread IDs for User Session Isolation</h3><p>LangGraph&#8217;s <code>MemorySaver</code> checkpointer scopes conversation history to a <code>thread_id</code>. Pass a unique ID per user session, and multiple concurrent users share one deployment with fully isolated state. No session collisions, no state bleed-through.</p><p>For production, swap <code>MemorySaver</code> for a persistent checkpointer backed by Redis or Postgres so history survives server restarts.</p><div><hr></div><h2>Streaming: Why It Matters More Than You Think</h2><p>A SQL query can take 3-5 seconds end-to-end. Without streaming, your user stares at a blank screen and assumes something broke.</p><p>The architecture uses two streaming modes simultaneously via LangGraph&#8217;s <code>astream</code>:</p><ul><li><p><code>updates</code><strong> mode</strong>: fires after each node completes, sending structured data (SQL generated, rows returned, etc.) that the frontend can display progressively</p></li><li><p><code>custom</code><strong> mode</strong>: fires on every LLM token during synthesis, enabling word-by-word text streaming</p></li></ul><p>The result is a UI that feels responsive and alive even during a multi-second pipeline. The user sees the SQL appear, then the row count, then the explanation streaming in, then the chart, all without waiting for the full workflow to finish.</p><p>This is delivered over <strong>Server-Sent Events (SSE)</strong> via a FastAPI <code>StreamingResponse</code>. SSE is simpler than WebSockets for this use case: unidirectional, HTTP-native, no handshake overhead.</p><p>One gotcha: if you run behind Nginx, add <code>X-Accel-Buffering: no</code> to your response headers. Without it, Nginx buffers the entire response and defeats the purpose of streaming entirely.</p><div><hr></div><h2>The Visualization Layer</h2><p>One of the more interesting parts of the system is the automatic chart generation. After synthesizing a text response, a <strong>visualization planner</strong> node decides whether a chart would add value, checking for explicit requests (&#8221;plot this&#8221;, &#8220;show a chart&#8221;) and analyzing the data shape (time series, categorical breakdown, single values).</p><p>If a visualization makes sense, a <strong>visualization generator</strong> node calls GPT-4o in JSON mode to produce a <strong>Vega-Lite spec</strong> directly from the query results. The frontend renders it instantly.</p><p>This means a query like &#8220;show me monthly revenue over the past year&#8221; automatically produces a line chart, with no hardcoded chart types and no user configuration required. The LLM figures out the right encoding, axes, and title from the data itself.</p><p>Vega-Lite is a great fit here because it&#8217;s declarative JSON, the LLM can produce it reliably in JSON mode, and the frontend renders it without needing to interpret any code.</p><div><hr></div><h2>What the Frontend Does</h2><p>The backend streams JSON events. The React frontend listens and progressively renders:</p><ol><li><p>A &#8220;thinking&#8221; indicator while nodes are running</p></li><li><p>The generated SQL in a syntax-highlighted code block (so users can inspect it)</p></li><li><p>The row count and raw data in a table</p></li><li><p>The natural language explanation, streaming token by token</p></li><li><p>The Vega-Lite chart, rendered automatically when the visualization spec arrives</p></li></ol><p>Showing the SQL is a deliberate choice. It builds trust, users can see exactly what query was run, verify it makes sense, and catch errors. It also makes the system feel transparent rather than like a black box.</p><div><hr></div><h2>Common Failure Modes (And How to Avoid Them)</h2><p><strong>Hallucinated column names</strong>. The LLM makes up a column that doesn&#8217;t exist. Fix: always pass the exact <code>CREATE TABLE</code> DDL as schema context, not a paraphrased description.</p><p><strong>Overly broad table selection</strong>. The table selector includes every table &#8220;just in case,&#8221; bloating the schema context. Fix: require the LLM to justify each selected table, or use strict function calling with an explicit count limit.</p><p><strong>ORDER BY placement in UNION queries</strong>. SQLite requires <code>ORDER BY</code> to appear after the final <code>SELECT</code> in a <code>UNION ALL</code>. The LLM often puts it in the wrong place. Fix: add this as an explicit rule in the SQL generator&#8217;s system prompt.</p><p><strong>Markdown in SQL output</strong>. The model wraps its SQL in <code>```sql ```</code> fences. Always strip these before executing.</p><p><strong>Retry storms</strong>. Without a hard retry cap, a broken query can loop indefinitely. Enforce a maximum retry count in state and route to a graceful error response when exceeded.</p><div><hr></div><h2>Going Further</h2><p>This architecture is a foundation. A few directions worth exploring:</p><p><strong>Scale to larger schemas</strong>. With hundreds of tables, feeding even table names to the LLM becomes unwieldy. Add a vector similarity search step to retrieve semantically relevant tables before the table selector node runs.</p><p><strong>Row-level security</strong>. The executor currently runs all queries with the same database credentials. In a multi-tenant system, inject user-specific filters or use separate database roles per user.</p><p><strong>Human-in-the-loop</strong>. LangGraph has native support for breakpoints and <code>interrupt_before</code>, you can pause the graph before execution and require a human to approve the generated SQL. Useful in high-stakes environments.</p><p><strong>Swap the LLM</strong>. The OpenAI client lives in a single service file. Replace it with Anthropic&#8217;s Claude, a local Ollama model, or any OpenAI-compatible endpoint. The rest of the system stays the same.</p><p><strong>Persistent memory</strong>. Right now, conversation history lives in memory and resets on restart. Swap <code>MemorySaver</code> for LangGraph&#8217;s <code>AsyncPostgresSaver</code> for durable multi-session memory.</p><div><hr></div><h2>The Full Picture</h2><p>What makes this system work in practice isn&#8217;t any single clever trick, it&#8217;s the combination:</p><ul><li><p><strong>Specialization</strong>: each node does one thing and does it well</p></li><li><p><strong>Retry with context</strong>: the graph corrects its own mistakes with full error awareness</p></li><li><p><strong>Safety by design</strong>: SQL is validated before it ever reaches the database</p></li><li><p><strong>Streaming at every layer</strong>: users see progress, not spinners</p></li><li><p><strong>Grounded outputs</strong>: LLM results are always checked against reality before use</p></li><li><p><strong>Separation of concerns</strong>: orchestration logic lives in the graph, not in the nodes</p></li></ul><p>The LangGraph pattern, decompose into nodes, connect with conditional edges, add retry loops, generalizes far beyond SQL. Any problem where a single LLM call is too brittle is a candidate for this architecture.</p><div><hr></div><p>The complete code for both the backend and the React frontend with live Vega-Lite visualization is available here:</p><p><strong><a href="https://github.com/mallahyari/langgraph-sql-agent">github.com/mallahyari/langgraph-sql-agent</a></strong></p><p>If you build something with this or adapt it for your own database, I&#8217;d love to hear what you changed and why.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://mlnotes.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">The MLnotes Newsletter is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[GenAI Week 2025: The AI Event of the Decade You Can't Afford to Miss]]></title><description><![CDATA[Free ticket available for MLnotes audience!]]></description><link>https://mlnotes.substack.com/p/genai-week-2025-the-ai-event-of-the</link><guid isPermaLink="false">https://mlnotes.substack.com/p/genai-week-2025-the-ai-event-of-the</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Sun, 06 Jul 2025 16:07:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/GB3Vz-mdzYw" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="pullquote"><p><em>"From Stanford professors to OpenAI scientists, unicorn founders to quantum-tech pioneers, the future of AI is gathering in one place&#8212; and you're invited."</em></p></div><p>Mark your calendars for <strong>July 13-17, 2025</strong>, because the epicenter of the AI world will be at the Santa Clara Convention Center. GenAI Week Silicon Valley 2025 is shaping up to be the largest, most influential AI gathering of the decade. With over 30,000 attendees expected, this will be a glimpse into the future of artificial intelligence and its transformative impact across every industry.</p><h2>An Unprecedented Lineup of AI Luminaries</h2><p>The speaker list reads like a who's who of AI innovation:</p><ul><li><p><strong><a href="https://www.linkedin.com/in/jason-wei-5a7323b0/">Jason Wei</a></strong>,, OpenAI scientist behind GPT-3</p></li><li><p><strong><a href="https://www.linkedin.com/in/jain-arvind/">Arvind Jain</a></strong>, CEO of Glean ($7.2B valuation)</p></li><li><p><strong><a href="https://www.linkedin.com/in/edward-oates-47b064160/">Edward Oates</a></strong>, Co-Founder of Oracle</p></li><li><p><strong><a href="https://www.linkedin.com/in/soumyabatra/">Soumya Batra</a></strong>, core author of Llama 2 &amp; 3</p></li><li><p><strong><a href="https://www.linkedin.com/in/richardsocher/">Richard Socher</a></strong>, CEO of You.com ($900M valuation)</p></li></ul><p>And that's just scratching the surface. From startup founders pushing the boundaries of what's possible, to leaders at tech giants like Microsoft, Google, and Meta, the collective brainpower at this event is staggering.</p><h2>For startups, this is your chance to shine on a global stage. </h2><p>The Founder's Pitch Package offers the opportunity to present your vision to a room full of top-tier investors and decision-makers.</p><p><strong>&#128226; Do you want to pitch your startup on stage?</strong></p><p>Apply here:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.google.com/forms/d/e/1FAIpQLSe0n_Kbe_D5x3hs4zAmU28rCzwgLSn7OLzMTLf2EYkg1Mkfdg/viewform?usp=header&quot;,&quot;text&quot;:&quot;Apply here!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.google.com/forms/d/e/1FAIpQLSe0n_Kbe_D5x3hs4zAmU28rCzwgLSn7OLzMTLf2EYkg1Mkfdg/viewform?usp=header"><span>Apply here!</span></a></p><p>&#65288;Reminder, purchase the FOUDNERS PITCH PACKAGE at the same time)</p><h2>&#128200; Are you a VC attending the event?</h2><p>If you'd like curated intros, private sessions, or exclusive access &#8212; fill this: </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://docs.google.com/forms/d/e/1FAIpQLSeWbXJASJvgGbCKNTThyC_ZYMOdcaScUECXfOlnbvgI7ThGmg/viewform&quot;,&quot;text&quot;:&quot;For VCs&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://docs.google.com/forms/d/e/1FAIpQLSeWbXJASJvgGbCKNTThyC_ZYMOdcaScUECXfOlnbvgI7ThGmg/viewform"><span>For VCs</span></a></p><h2>&#128218; Still deciding which day(s) to attend? Here more reasons:</h2><h4>100+ Sessions Covering the Future of AI</h4><p>With over 100 tactical sessions, you'll gain practical insights into:</p><ul><li><p>Advanced agent frameworks</p></li><li><p>AI monetization strategies</p></li><li><p>Ethical considerations in AI development</p></li><li><p>Industry-specific AI applications</p></li><li><p>The intersection of AI and quantum computing</p></li></ul><p>Whether you're a developer, entrepreneur, investor, or simply AI-curious, there's something here to expand your horizons and spark new ideas.</p><h4> Full Speaker Lineup (One-Stop Guide)&#65306;</h4><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.linkedin.com/pulse/your-one-stop-guide-genai-week-2025-speakers-linkedin-sophie-ren-afevc/?trackingId=DmRdpZcKBVNGDZP3gTZKvg%3D%3D&quot;,&quot;text&quot;:&quot;All speakers listed here:&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.linkedin.com/pulse/your-one-stop-guide-genai-week-2025-speakers-linkedin-sophie-ren-afevc/?trackingId=DmRdpZcKBVNGDZP3gTZKvg%3D%3D"><span>All speakers listed here:</span></a></p><h2>Coolest demo - Alef flying cars</h2><div id="youtube2-GB3Vz-mdzYw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;GB3Vz-mdzYw&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/GB3Vz-mdzYw?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><h2>Global Networking on an Unparalleled Scale</h2><blockquote><p><em>"With attendees from over 30 countries, it'll be buzzing with energy, ideas, and opportunities." - Jimmy, Cofounder of GPTDAO</em></p></blockquote><p>The value of connections made at events like this cannot be overstated. GenAI Week 2025 brings together a truly global community of AI enthusiasts, practitioners, and visionaries. The potential for collaboration, investment, and career advancement is immense.</p><h2>Exclusive Discount for Our Readers</h2><p>We're excited to offer our TwoSetAI audience an exclusive 15% discount on tickets. Use coupon code TWOSETAI when registering through these links:</p><ul><li><p>Luma: <a href="https://lu.ma/genaiweek2025?coupon=TWOSETAI">https://lu.ma/genaiweek2025?coupon=TWOSETAI</a></p></li><li><p>Eventbrite: <a href="https://app.oscr.tech/www.eventbrite.com/e/1301648458579/?discount=TWOSETAI">www.eventbrite.com/e/1301648458579/?discount=TWOSETAI</a></p></li><li><p>QR codes for easy registration:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uFHX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uFHX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 424w, https://substackcdn.com/image/fetch/$s_!uFHX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 848w, https://substackcdn.com/image/fetch/$s_!uFHX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!uFHX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uFHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:260899,&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://mlnotes.substack.com/i/167655184?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.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_!uFHX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 424w, https://substackcdn.com/image/fetch/$s_!uFHX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 848w, https://substackcdn.com/image/fetch/$s_!uFHX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.png 1272w, https://substackcdn.com/image/fetch/$s_!uFHX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F279c3fe6-aa12-4af8-a144-13b22b09c4ce_1600x1600.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></li></ul><h1>Limited spot free ticket!</h1><p>For our <strong><a href="https://mlnotes.substack.com/">MLNotes</a></strong> and <strong><a href="https://www.youtube.com/@TwoSetAI">TwoSetAI</a></strong> audience, we have several free tickets available. For a chance at a free ticket, email angelina@oscr.tech before 6pm PST on 7/6. Limited quantities available, so act fast! </p><h2>Hope to see you there!</h2><p><a href="https://lu.ma/genaiweek2025?coupon=TWOSETAI">Claim your spot now with our exclusive discount!</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_!5ZMZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif" width="480" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&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_!5ZMZ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!5ZMZ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F605efb1b-78e5-4183-aad0-15e9492b8d1e_480x270.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p>&#128736;&#65039;&#10024; Happy practicing and happy building! &#128640;&#127775; </p><p>Thanks for reading our newsletter. You can follow us here: Angelina<a href="https://www.linkedin.com/in/meetangelina/">&nbsp;Linkedin </a>or <a href="https://twitter.com/angelina_magr">Twitter</a><a href="https://twitter.com/Angelina_Magr"> </a>and Mehdi <a href="https://www.linkedin.com/in/mehdiallahyari/">Linkedin</a> or <a href="https://twitter.com/MehdiAllahyari">Twitter</a>.</p><p>Source of image: <br>SWR: https://milvus.io/docs/v2.5.x/assets/advanced_rag/sentence_window.png</p><p>&#127752; Our RAG course: https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</p><p><a href="https://www.youtube.com/watch?v=6MK96ea-3LU&amp;t=0s">&nbsp;</a>&#128218; Also if you'd like to learn more about RAG systems, check out our book on the RAG system: You can download for free on the course site:<br><a href="https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai">https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</a></p><p>&#129412; Any specific contents you wish to learn from us? Sign up here: https://noteforms.com/forms/twosetai-youtube-content-sqezrz </p><p>&#129520; Our video editing tool is this one!: https://get.descript.com/nf5cum9nj1m8 </p><p>&#128253;&#65039; Our RAG videos: <a href="https://www.youtube.com/@TwoSetAI">https://www.youtube.com/@TwoSetAI</a></p><p>&#128236; Don't miss out on the latest updates - Subscribe to our newsletter: </p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:857742,&quot;name&quot;:&quot;The MLnotes Newsletter&quot;,&quot;logo_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%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png&quot;,&quot;base_url&quot;:&quot;https://mlnotes.substack.com&quot;,&quot;hero_text&quot;:&quot;MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!&quot;,&quot;author_name&quot;:&quot;Mehdi Allahyari&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://mlnotes.substack.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!Kq64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">The MLnotes Newsletter</span><div class="embedded-publication-hero-text">MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!</div><div class="embedded-publication-author-name">By Mehdi Allahyari</div></a><form class="embedded-publication-subscribe" method="GET" action="https://mlnotes.substack.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why SEO is Not Dead? 🤔]]></title><description><![CDATA[Insights from SEO Expert Sam Dunning]]></description><link>https://mlnotes.substack.com/p/why-seo-is-not-dead</link><guid isPermaLink="false">https://mlnotes.substack.com/p/why-seo-is-not-dead</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 01 Jul 2025 01:30:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kXCs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I recently attended RB2B&#8217;s community learning session featuring SEO Expert <a href="https://www.linkedin.com/in/samdunning/">Sam Dunning</a>, which really blowed my mind. While everyone is talking about SEO is dead (which has been an ongoing topic for the past 2 years!), Sam was advocating for what SEO&#8217;s still worth today, and shared his playbook for next steps adapting your SEO to the age of AI. Hence, I reorganized my notes and sharing some of his insights here. </p><p>(He shared a backlink/SEO hack that he personally is using, which is totally thinking outside of the box, check it out below!) &#128071;<br>(He also shared deep insight around whether SEO is for you OR NOT! see below!) &#128071;</p><h2>How&#8217;s SEO evolving in the age of AI?</h2><p>"<em>I think there's a few factors. One we can get into is building a foundation about actually thinking about starting to rank on LLMs,</em>" says Sam Dunning, founder of Breaking B2B. </p><p>This statement captures the current state of SEO - </p><h4>it's not dying, it's evolving.</h4><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kXCs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kXCs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 424w, https://substackcdn.com/image/fetch/$s_!kXCs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 848w, https://substackcdn.com/image/fetch/$s_!kXCs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 1272w, https://substackcdn.com/image/fetch/$s_!kXCs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kXCs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png" width="1456" height="1186" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1186,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Is SEO Dead? Not Yet, But Search Is Changing&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="Is SEO Dead? Not Yet, But Search Is Changing" title="Is SEO Dead? Not Yet, But Search Is Changing" srcset="https://substackcdn.com/image/fetch/$s_!kXCs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 424w, https://substackcdn.com/image/fetch/$s_!kXCs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 848w, https://substackcdn.com/image/fetch/$s_!kXCs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 1272w, https://substackcdn.com/image/fetch/$s_!kXCs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdd9a86f9-74e1-4871-bf81-7457f13199b3_3375x2750.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://images.app.goo.gl/VfjjEVYwtDGcaLU77">Source</a></figcaption></figure></div><p>The rise of AI and Large Language Models (LLMs) has undoubtedly shaken up the world of search engine optimization. Some have even proclaimed the death of SEO as we know it. </p><p>However, the reality is far more nuanced. </p><p>SEO isn't dead; it's undergoing a transformation, adapting to the new landscape of AI-driven search.</p><p>Sam's insights reveal that while traditional SEO metrics like <strong>traffic</strong> are changing, with some clients seeing up to a <strong>20% decline in traffic</strong> from traditional search, new opportunities are emerging. </p><p>The key is to understand these changes and adapt our strategies accordingly.</p><h2>Google <strong>remains</strong> the undisputed king of search.</h2><p>Despite the buzz around AI search tools, Google <strong>remains</strong> the undisputed king of search. Sam points out, </p><div class="pullquote"><p>"Google latest report still gets 373 times more traffic than than, ChatGPT. And even if you combine all the AI search tools together, I think it's like two to 3% of the search market."</p></div><p>This statistic is crucial for SEO professionals and businesses alike. While it's important to prepare for the future of AI-driven search, we can't ignore the present reality. </p><p>Google is still the primary source of organic traffic for most websites, and optimizing for Google's algorithms remains a critical part of any comprehensive SEO strategy.</p><h2>Adapting SEO Strategies for AI-Driven Search</h2><p>While Google still dominates, the rise of AI search tools like ChatGPT can't be ignored. </p><p>Sam advises, </p><blockquote><p><em>"It's about building that foundation for LLMs. So not disregarding Google. Still need to work on it because the chances are when they fully roll out Google AI mode in a year or so (it&#8217;s already out!), it would likely take a lot of those ranking factors across, but build up a foundation to start ranking on chatGPT, and similar as well so you don't get kind of caught behind."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ovwg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ovwg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 424w, https://substackcdn.com/image/fetch/$s_!Ovwg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 848w, https://substackcdn.com/image/fetch/$s_!Ovwg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 1272w, https://substackcdn.com/image/fetch/$s_!Ovwg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ovwg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png" width="1269" height="567" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:567,&quot;width&quot;:1269,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:185372,&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://mlnotes.substack.com/i/167210527?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.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_!Ovwg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 424w, https://substackcdn.com/image/fetch/$s_!Ovwg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 848w, https://substackcdn.com/image/fetch/$s_!Ovwg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.png 1272w, https://substackcdn.com/image/fetch/$s_!Ovwg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe3088bfc-31b7-4bb6-bf95-3bb2ec0b6971_1269x567.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 dual approach - optimizing for both traditional search engines and AI-powered tools - is likely to become the new norm in SEO.</p><p>It requires a deeper understanding of how AI interprets and ranks content, as well as a willingness to experiment with new strategies.</p><h2>Understanding your Customer before Content Creation is the key.</h2><p>One aspect of SEO that remains unchanged, regardless of the technology driving search, is the importance of <strong>understanding your audience.</strong> &#8212;&gt; This has never changed!</p><p>Sam emphasizes, </p><blockquote><p><em>"If the content you're putting out just ranks, but it doesn't actually resonate with your dream clients, expensive problems, motivations, jobs to be done, address their common questions, position your product as a painkiller, and show why you and it's almost a waste of time."</em></p></blockquote><p>This insight tells me that thorough <strong>customer research</strong> should be top priority in your SEO strategy. </p><p>It's not just about ranking for keywords; it's about creating content that truly resonates with your target audience's needs, pain points, and motivations. </p><p>This customer-centric approach not only helps with SEO but also improves conversion rates and overall marketing effectiveness.</p><h2>Technical SEO? Do your users understand your content?</h2><p>While technical SEO elements remain important, Sam's approach emphasizes the need to <strong>balance</strong> these with user-focused content. He states, </p><blockquote><p><em>"So many SEOs talk about the technical things, the step by step processes, but they forget that we're actually selling complex solutions to prospects that have jobs to be done, struggling moments, etcetera."</em></p></blockquote><p>This balance is crucial in the evolving SEO landscape. Technical optimizations help search engines understand and rank your content, but it's the user-focused elements that keep visitors engaged and encourage conversions. </p><p>As AI becomes more sophisticated in understanding user intent, this balance will likely become even more important.</p><h2>Backlinks and brand mentions still works&#8230;</h2><p>Despite the changes in search technology, some fundamental SEO principles remain crucial. Sam highlights the continued importance of backlinks and brand mentions, especially in the context of AI search. </p><p>He notes, </p><blockquote><p><em>"They evaluated 75,000 brands. And that evaluation, it showed that the ones that are ranking the most consistently on AI overviews were getting consistent brand mentions on external websites."</em></p></blockquote><p>This insight suggests that while the mechanisms of search are changing, the underlying principles of authority and relevance - as demonstrated through backlinks and brand mentions - continue to play a significant role. </p><p>It's a reminder that SEO isn't just about on-page optimization, but also about building a strong presence across the web.</p><h2>Strategies for Ranking in Both Traditional and AI-Driven Search</h2><p>Sam provides several strategies for optimizing content for both traditional and AI-driven search:</p>
      <p>
          <a href="https://mlnotes.substack.com/p/why-seo-is-not-dead">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Hottest New Programming Language is - English]]></title><description><![CDATA[Insights from Andrej Karpathy's recent keynote]]></description><link>https://mlnotes.substack.com/p/the-hottest-new-programming-language</link><guid isPermaLink="false">https://mlnotes.substack.com/p/the-hottest-new-programming-language</guid><pubDate>Wed, 25 Jun 2025 01:08:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!bMjN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote><p><em>"Software is changing again, and I think it's changing quite fundamentally. I think roughly speaking, software has not changed much on such a fundamental level for 70 years, and then it's changed I think about twice quite rapidly in the last few years." - Andrej Karpathy</em></p></blockquote><p>These words from Andrej Karpathy, former director of AI at Tesla, set the stage for a profound transformation in the world of software development. His recent keynote talk at the Startup School in San Francisco is super inspiring. </p><p>As AI engineers, data scientists, and tech professionals, we find ourselves at the forefront of this revolution. But with great power comes great responsibility, and the specter of AI risk looms large over our exciting new frontier.</p><h2>The Evolution of Software: From 1.0 to 3.0 </h2><h3>Software 1.0: The Traditional Paradigm We All Know</h3><p>For decades, software development meant writing explicit instructions for computers in languages like C++, Python, or Java. Karpathy refers to this as "Software 1.0" &#8211; the foundation of our digital world.</p><h3>Software 2.0: The Rise of Neural Networks</h3><p>The advent of deep learning ushered in the era of "Software 2.0." Instead of writing explicit code, we began training neural networks, effectively programming through data and optimization algorithms. This shift marked a significant departure from traditional software development practices.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bMjN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bMjN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 424w, https://substackcdn.com/image/fetch/$s_!bMjN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 848w, https://substackcdn.com/image/fetch/$s_!bMjN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 1272w, https://substackcdn.com/image/fetch/$s_!bMjN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!bMjN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png" width="1178" height="663" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:663,&quot;width&quot;:1178,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:350165,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.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_!bMjN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 424w, https://substackcdn.com/image/fetch/$s_!bMjN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 848w, https://substackcdn.com/image/fetch/$s_!bMjN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 1272w, https://substackcdn.com/image/fetch/$s_!bMjN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a80d202-3833-471f-8e7d-d482f6bc0733_1178x663.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Andrej Karpathy</figcaption></figure></div><h3>Software 3.0: Programming in Natural Language</h3><p>Now, we stand at the precipice of "Software 3.0" &#8211; a paradigm where we program Large Language Models (LLMs) using natural language prompts. This revolutionary approach democratizes programming, but it also introduces new challenges and potential AI risks that we must carefully navigate.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m-yX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m-yX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 424w, https://substackcdn.com/image/fetch/$s_!m-yX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 848w, https://substackcdn.com/image/fetch/$s_!m-yX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 1272w, https://substackcdn.com/image/fetch/$s_!m-yX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m-yX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png" width="1179" height="666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:666,&quot;width&quot;:1179,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:195058,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.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-yX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 424w, https://substackcdn.com/image/fetch/$s_!m-yX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 848w, https://substackcdn.com/image/fetch/$s_!m-yX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 1272w, https://substackcdn.com/image/fetch/$s_!m-yX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F917f4bba-5870-48d2-aa8c-4ceeeb6664fb_1179x666.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Andrej K</figcaption></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!50a1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!50a1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 424w, https://substackcdn.com/image/fetch/$s_!50a1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 848w, https://substackcdn.com/image/fetch/$s_!50a1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 1272w, https://substackcdn.com/image/fetch/$s_!50a1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!50a1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png" width="1177" height="662" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:662,&quot;width&quot;:1177,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170043,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.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_!50a1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 424w, https://substackcdn.com/image/fetch/$s_!50a1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 848w, https://substackcdn.com/image/fetch/$s_!50a1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 1272w, https://substackcdn.com/image/fetch/$s_!50a1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff13cffd1-d390-4593-b7c2-76c5b61e7db4_1177x662.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Andrej K</figcaption></figure></div><h2>LLMs: The New Operating Systems</h2><h3>Why LLMs Are More Than Just Another Tool</h3><p>Karpathy draws a compelling analogy between LLMs and operating systems:</p><blockquote><p><em>"LLMs don't only have properties of utilities. I think it's also fair to say that they have some properties of fabs<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>, and the reason for this is that the capex</em><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a><em> required for building LLM is actually quite large."</em></p></blockquote><p>This perspective shifts our understanding of LLMs from mere tools to fundamental infrastructure. Just as operating systems provide a platform for applications, LLMs are becoming the foundation for a new generation of AI-powered software.</p><h3>The Utility-Like Nature of LLM Providers</h3><div class="pullquote"><p>AI is the new electricity. - Andrew Ng</p></div><p>LLM providers like OpenAI, Google (with Gemini), and Anthropic are emerging as utility-like entities. They invest heavily in infrastructure (akin to power plants) and offer metered access to their intelligence via APIs. This utility model introduces new considerations for AI safety and regulation, as we become increasingly dependent on these "intelligence grids."</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sMJg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sMJg!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 424w, https://substackcdn.com/image/fetch/$s_!sMJg!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 848w, https://substackcdn.com/image/fetch/$s_!sMJg!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 1272w, https://substackcdn.com/image/fetch/$s_!sMJg!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sMJg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif" width="480" height="250" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:250,&quot;width&quot;:480,&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_!sMJg!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 424w, https://substackcdn.com/image/fetch/$s_!sMJg!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 848w, https://substackcdn.com/image/fetch/$s_!sMJg!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 1272w, https://substackcdn.com/image/fetch/$s_!sMJg!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F815e3fa8-7dd4-4760-a539-2f143e22c0e9_480x250.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>The Psychology of LLMs: Understanding Our New Digital Colleagues</h2><h3>LLMs as "People Spirits"</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jp8s!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jp8s!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 424w, https://substackcdn.com/image/fetch/$s_!jp8s!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 848w, https://substackcdn.com/image/fetch/$s_!jp8s!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 1272w, https://substackcdn.com/image/fetch/$s_!jp8s!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jp8s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png" width="1172" height="658" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:658,&quot;width&quot;:1172,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:773127,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.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_!jp8s!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 424w, https://substackcdn.com/image/fetch/$s_!jp8s!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 848w, https://substackcdn.com/image/fetch/$s_!jp8s!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 1272w, https://substackcdn.com/image/fetch/$s_!jp8s!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b7aaeb5-9624-4041-8819-1888bbee66eb_1172x658.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Andrej K</figcaption></figure></div><p>Karpathy introduces a fascinating concept: <strong>LLMs as "people spirits</strong>" &#8211; stochastic simulations of human-like intelligence. This anthropomorphic view helps us understand both the strengths and limitations of these systems.</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lqSL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lqSL!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 424w, https://substackcdn.com/image/fetch/$s_!lqSL!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 848w, https://substackcdn.com/image/fetch/$s_!lqSL!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 1272w, https://substackcdn.com/image/fetch/$s_!lqSL!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lqSL!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif" width="324" height="200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:200,&quot;width&quot;:324,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Stan Marsh Ai GIF by South Park&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="Stan Marsh Ai GIF by South Park" title="Stan Marsh Ai GIF by South Park" srcset="https://substackcdn.com/image/fetch/$s_!lqSL!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 424w, https://substackcdn.com/image/fetch/$s_!lqSL!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 848w, https://substackcdn.com/image/fetch/$s_!lqSL!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 1272w, https://substackcdn.com/image/fetch/$s_!lqSL!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8118ba3-9454-40e0-b91d-04679eab921b_324x200.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><h3>Cognitive Quirks and Limitations</h3><p>While LLMs possess superhuman capabilities in certain areas, they also exhibit cognitive deficits:</p><ul><li><p>Hallucinations and confabulation</p></li><li><p>Jagged intelligence (excelling in some areas while failing at simple tasks)</p></li><li><p>Lack of persistent memory</p></li></ul><p>Understanding these limitations is crucial for mitigating AI risk and designing effective human-AI collaboration systems.</p><h2>Designing LLM Apps with Partial Autonomy </h2><h3>The Autonomy Slider: Finding the Right Balance</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4kTQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4kTQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 424w, https://substackcdn.com/image/fetch/$s_!4kTQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 848w, https://substackcdn.com/image/fetch/$s_!4kTQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 1272w, https://substackcdn.com/image/fetch/$s_!4kTQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4kTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png" width="1174" height="663" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:663,&quot;width&quot;:1174,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:267597,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.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_!4kTQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 424w, https://substackcdn.com/image/fetch/$s_!4kTQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 848w, https://substackcdn.com/image/fetch/$s_!4kTQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 1272w, https://substackcdn.com/image/fetch/$s_!4kTQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F59ddf2ec-921c-4536-b2f3-5020da1bec24_1174x663.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Karpathy introduces the concept of an <strong>"autonomy slider"</strong> in LLM applications. This allows users to control the level of AI involvement, from simple autocomplete to full-fledged autonomous agents. Striking the right balance is key to maximizing productivity while maintaining human oversight.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OCwe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OCwe!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 424w, https://substackcdn.com/image/fetch/$s_!OCwe!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 848w, https://substackcdn.com/image/fetch/$s_!OCwe!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!OCwe!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OCwe!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif" width="480" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:480,&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_!OCwe!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 424w, https://substackcdn.com/image/fetch/$s_!OCwe!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 848w, https://substackcdn.com/image/fetch/$s_!OCwe!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!OCwe!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9770e44d-af2a-4120-91f6-14d6409f5000_480x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>We can Model After Cursor for AI-Assisted Coding</h3><p>The Cursor app exemplifies effective LLM integration in software development:</p><ol><li><p>Context management</p></li><li><p>Orchestration of multiple LLM calls</p></li><li><p>Application-specific GUI for easy human auditing</p></li><li><p>Flexible autonomy levels</p></li></ol><p>By studying successful applications like Cursor, we can derive best practices for designing LLM-powered tools that enhance productivity without compromising on AI safety.</p><h2>Human-AI Collaboration Loops is Super Important</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9qIH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9qIH!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!9qIH!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!9qIH!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!9qIH!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9qIH!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif" width="480" height="270" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:270,&quot;width&quot;:480,&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_!9qIH!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 424w, https://substackcdn.com/image/fetch/$s_!9qIH!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 848w, https://substackcdn.com/image/fetch/$s_!9qIH!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 1272w, https://substackcdn.com/image/fetch/$s_!9qIH!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5525f44-afad-45fc-90e0-431dd66794f1_480x270.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Speeding Up the Verification Process</h3><p>To truly leverage the power of LLMs, we need to optimize the human-AI collaboration loop. Karpathy emphasizes two key aspects:</p><ol><li><p>Speeding up verification through effective GUIs</p></li><li><p>Keeping AI "on a leash" to prevent overwhelming the human collaborator</p></li></ol><h3>Lessons from Tesla's Autopilot Development</h3><p>Karpathy shares insights from his experience with Tesla's Autopilot:</p><blockquote><p><em>"We did more and more autonomous tasks for the user, and maybe the story that I wanted to tell very briefly is actually the first time I drove a self-driving vehicle was in 2013... This drive was perfect. There were zero interventions, and this was 2013, which is now 12 years ago."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Gesc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Gesc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 424w, https://substackcdn.com/image/fetch/$s_!Gesc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 848w, https://substackcdn.com/image/fetch/$s_!Gesc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 1272w, https://substackcdn.com/image/fetch/$s_!Gesc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Gesc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png" width="1177" height="663" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:663,&quot;width&quot;:1177,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:584633,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.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_!Gesc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 424w, https://substackcdn.com/image/fetch/$s_!Gesc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 848w, https://substackcdn.com/image/fetch/$s_!Gesc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 1272w, https://substackcdn.com/image/fetch/$s_!Gesc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bafd88-7e69-42d8-9595-d779eb229595_1177x663.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Andrej K</figcaption></figure></div><p>This anecdote illustrates the long journey from impressive demos to real-world deployment, highlighting the need for patience and rigorous testing in AI development.</p><h2>Democratizing Programming in the AI Era</h2><h3>Everyone Is Now a Programmer</h3><p>The advent of natural language programming through LLMs has democratized software development. Karpathy coins the term "<strong>vibe coding</strong>" to describe this phenomenon:</p><blockquote><p><em>"Suddenly, everyone is a programmer because everyone speaks natural language like English. This is extremely bullish and very interesting to me and also completely unprecedented."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QqkX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QqkX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 424w, https://substackcdn.com/image/fetch/$s_!QqkX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 848w, https://substackcdn.com/image/fetch/$s_!QqkX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 1272w, https://substackcdn.com/image/fetch/$s_!QqkX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QqkX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png" width="736" height="520" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:520,&quot;width&quot;:736,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:270196,&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://mlnotes.substack.com/i/166746816?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.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_!QqkX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 424w, https://substackcdn.com/image/fetch/$s_!QqkX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 848w, https://substackcdn.com/image/fetch/$s_!QqkX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.png 1272w, https://substackcdn.com/image/fetch/$s_!QqkX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1157592a-6a58-4e40-864a-9d4bf1485172_736x520.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>Building a Custom iOS App Without Swift Knowledge</h3><p>Karpathy shares his experience of creating an iOS app using vibe coding:</p><blockquote><p><em>"I built this iOS app, and I don't actually know how to program in Swift, but I was really shocked that I was able to build like a super basic app... This was just like a day of work, and this was running on my phone like later that day."</em></p></blockquote><p>This example demonstrates the transformative potential of LLM-assisted programming, but it also raises questions about job security for traditional developers and the need for new skills in the AI era.</p><h2>Building for Agents: Creating Future-Ready Digital Infrastructure </h2><h3>Making Our Digital World LLM-Friendly</h3><p>As LLMs become more prevalent, we need to adapt our digital infrastructure to be more "LLM-friendly." Karpathy suggests several approaches:</p>
      <p>
          <a href="https://mlnotes.substack.com/p/the-hottest-new-programming-language">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[How to Build a Personalized AI Telegram Newsbot: A Step-by-Step Guide]]></title><description><![CDATA[Let&#8217;s admit it, staying informed can be overwhelming.]]></description><link>https://mlnotes.substack.com/p/how-to-build-a-personalized-ai-telegram</link><guid isPermaLink="false">https://mlnotes.substack.com/p/how-to-build-a-personalized-ai-telegram</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Mon, 02 Jun 2025 00:43:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!a0LM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Let&#8217;s admit it, staying informed can be overwhelming. </p><p>But doing so effectively&#8212;and in a way that suits your preferences&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a0LM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a0LM!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 424w, https://substackcdn.com/image/fetch/$s_!a0LM!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 848w, https://substackcdn.com/image/fetch/$s_!a0LM!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 1272w, https://substackcdn.com/image/fetch/$s_!a0LM!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a0LM!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif" width="480" height="368" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:368,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!a0LM!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 424w, https://substackcdn.com/image/fetch/$s_!a0LM!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 848w, https://substackcdn.com/image/fetch/$s_!a0LM!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 1272w, https://substackcdn.com/image/fetch/$s_!a0LM!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65e6a5aa-23cb-4b27-9653-eadafb15228c_480x368.gif 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>We're bombarded with news from countless sources, often cluttered with ads and irrelevant content. As media theorist <strong><a href="https://en.wikipedia.org/wiki/Clay_Shirky">Clay Shirky</a></strong> points out,</p><div class="pullquote"><p>"It's not information overload. It's filter failure." </p></div><p>But what if there was a way to curate your news experience, tailoring it to your interests and delivering it through a familiar, conversational interface? Check out <strong>Newsmate</strong> &#8211; a new telegram bot we built that combines the convenience of messaging apps with the intelligence of AI to bring you personalized news updates.</p><p>In our latest videos, we'll walk you through the process of building your own AI-powered Telegram newsbot, complete with code snippets and expert insights.</p><h2>The Promise of AI-Powered News Curation</h2><p>Nobel laureate and a pioneer in economics and tech, <a href="https://en.wikipedia.org/wiki/Herbert_A._Simon">Herbert A. Simon </a>says:</p><blockquote><p><em>"In an information-rich world, the wealth of information means a <strong>dearth</strong> of something else: a scarcity of whatever it is that information consumes. What information consumes is rather obvious: it consumes the attention of its recipients. Hence, a wealth of information creates a poverty of attention."</em></p></blockquote><p>Imagine waking up to a curated digest of the day's most important stories, tailored to your interests, delivered right to your messenger app. No ads, no fluff &#8211; just the news you care about, when you want it. This is the promise of our AI Telegram Newsbot.</p><p>If you want to get your &#8220;attention&#8221;  and valuable time back - work with us! We specialize in building AI system that&#8217;s tailored to your use cases, let us know!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://calendly.com/angelina-transform-ai-studio/30-min-with-angelina&quot;,&quot;text&quot;:&quot;Work with us!&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://calendly.com/angelina-transform-ai-studio/30-min-with-angelina"><span>Work with us!</span></a></p><h2>Key Features of Our Newsbot</h2><ol><li><p><strong>Personalized Categories</strong>: Users can select their preferred news categories, ensuring they only receive updates on topics they care about.</p></li><li><p><strong>Multi-Source Aggregation</strong>: The bot can fetch news from multiple predefined sources, with the potential for users to add their own.</p></li><li><p><strong>Scheduled Digests</strong>: Users can set preferred times to receive news updates, integrating seamlessly into their daily routines.</p></li><li><p><strong>Conversational Interface</strong>: The bot uses natural language processing to engage in basic conversations and respond to user queries.</p></li><li><p><strong>Ad-Free Experience</strong>: Unlike traditional news apps, our bot delivers content without intrusive advertisements.</p></li></ol><h2>Building the Newsbot: A Technical Overview</h2><h3>Architecture and Components</h3><p>Our newsbot is built on a modular architecture, consisting of several key components:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!E6ug!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!E6ug!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 424w, https://substackcdn.com/image/fetch/$s_!E6ug!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 848w, https://substackcdn.com/image/fetch/$s_!E6ug!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 1272w, https://substackcdn.com/image/fetch/$s_!E6ug!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!E6ug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png" width="1456" height="876" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:876,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2055941,&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://mlnotes.substack.com/i/164971188?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.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_!E6ug!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 424w, https://substackcdn.com/image/fetch/$s_!E6ug!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 848w, https://substackcdn.com/image/fetch/$s_!E6ug!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.png 1272w, https://substackcdn.com/image/fetch/$s_!E6ug!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8bb5afa6-78be-4cdd-be77-a7d3e51bfcd9_2582x1554.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><ol><li><p><strong>Telegram API Integration</strong>: Handles communication between users and our backend via Telegram's platform.</p></li><li><p><strong>FastAPI Backend</strong>: Manages incoming messages and orchestrates the bot's responses.</p></li><li><p><strong>Conversation Manager</strong>: (Partially implemented) Handles conversation history and context.</p></li><li><p><strong>Personalization Module</strong>: Captures and updates user preferences for improved recommendations.</p></li><li><p><strong>Database</strong>: Stores news articles, user preferences, and interaction history.</p></li><li><p><strong>Scheduler</strong>: Periodically fetches new articles from defined sources.</p></li><li><p><strong>AI Service</strong>: Generates natural language responses and assists in content curation.</p></li></ol><h3>Key Technologies and Libraries</h3><ul><li><p><strong>Python</strong>: The primary programming language for our bot.</p></li><li><p><strong>FastAPI</strong>: A modern, fast web framework for building APIs with Python.</p></li><li><p><strong>SQLite</strong>: A lightweight database for storing news articles and user data.</p></li><li><p><strong>Newspaper3k</strong>: A Python library for extracting and parsing news articles.</p></li><li><p><strong>NLTK</strong>: Used for natural language processing tasks like keyword extraction.</p></li><li><p><strong>LightLLM</strong>: An efficient library for integrating large language models.</p></li></ul><h2>Intro Session:</h2><div id="youtube2-QDDWTsYCmyE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QDDWTsYCmyE&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/QDDWTsYCmyE?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><h2>Code Walkthrough: </h2><div id="youtube2-jwTYUf8b6rc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jwTYUf8b6rc&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/jwTYUf8b6rc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>&#128736;&#65039;&#10024; Happy practicing and happy building! &#128640;&#127775; </p><p>Thanks for reading our newsletter. You can follow us here: Angelina<a href="https://www.linkedin.com/in/meetangelina/">&nbsp;Linkedin </a>or <a href="https://twitter.com/angelina_magr">Twitter</a><a href="https://twitter.com/Angelina_Magr"> </a>and Mehdi <a href="https://www.linkedin.com/in/mehdiallahyari/">Linkedin</a> or <a href="https://twitter.com/MehdiAllahyari">Twitter</a>.</p><p>Source of image: <br>SWR: https://milvus.io/docs/v2.5.x/assets/advanced_rag/sentence_window.png</p><p>&#127752; Our RAG course: https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</p><p><a href="https://www.youtube.com/watch?v=6MK96ea-3LU&amp;t=0s">&nbsp;</a>&#128218; Also if you'd like to learn more about RAG systems, check out our book on the RAG system: You can download for free on the course site:<br><a href="https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai">https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</a></p><p>&#129412; Any specific contents you wish to learn from us? Sign up here: https://noteforms.com/forms/twosetai-youtube-content-sqezrz </p><p>&#129520; Our video editing tool is this one!: https://get.descript.com/nf5cum9nj1m8 </p><p>&#128253;&#65039; Our RAG videos: <a href="https://www.youtube.com/@TwoSetAI">https://www.youtube.com/@TwoSetAI</a></p><p>&#128236; Don't miss out on the latest updates - Subscribe to our newsletter: </p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:857742,&quot;name&quot;:&quot;The MLnotes Newsletter&quot;,&quot;logo_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%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png&quot;,&quot;base_url&quot;:&quot;https://mlnotes.substack.com&quot;,&quot;hero_text&quot;:&quot;MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!&quot;,&quot;author_name&quot;:&quot;Mehdi Allahyari&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://mlnotes.substack.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!Kq64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">The MLnotes Newsletter</span><div class="embedded-publication-hero-text">MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!</div><div class="embedded-publication-author-name">By Mehdi Allahyari</div></a><form class="embedded-publication-subscribe" method="GET" action="https://mlnotes.substack.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Branding Masterclass for AI Founders: Why Efficiency Isn't Enough]]></title><description><![CDATA["You could stop a thousand people on the street and ask them what they want in life and no one is going to say, 'I really wish I was more efficient.'" - Cara Smith]]></description><link>https://mlnotes.substack.com/p/branding-masterclass-for-ai-founders</link><guid isPermaLink="false">https://mlnotes.substack.com/p/branding-masterclass-for-ai-founders</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Wed, 14 May 2025 01:11:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SEqx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="pullquote"><p>"You could stop a thousand people on the street and ask them what they want in life and no one is going to say, 'I really wish I was more efficient.'" - Cara Smith</p></div><p>Today, founders are racing to create the next groundbreaking product. </p><p>But amidst the frenzy of development and feature optimization, many are falling into a dangerous trap: <strong>the efficiency obsession.</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_!SEqx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SEqx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 424w, https://substackcdn.com/image/fetch/$s_!SEqx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 848w, https://substackcdn.com/image/fetch/$s_!SEqx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 1272w, https://substackcdn.com/image/fetch/$s_!SEqx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SEqx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:429596,&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://mlnotes.substack.com/i/163446358?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.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_!SEqx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 424w, https://substackcdn.com/image/fetch/$s_!SEqx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 848w, https://substackcdn.com/image/fetch/$s_!SEqx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 1272w, https://substackcdn.com/image/fetch/$s_!SEqx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F685e401e-a3de-4302-a8a2-a7429c6a5445_1512x844.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Just an example</figcaption></figure></div><p>What surprised me was how often, this focus on productivity gains can be myopic and limiting, moreover, it's potentially fatal for your brand. Here&#8217;s what I&#8217;ve learned why <strong>efficiency alone</strong> won't cut it, and how AI founders can craft brands that truly resonate with their audience.</p><h2>People Buy Feelings, Not Features</h2><p>When it comes to building a brand that sticks, <strong>emotion</strong> is your secret weapon. Cara Smith, co-founder of branding agency <em>Smith and Diction</em>, puts it bluntly: </p><blockquote><p><em>"To me, the main difference between fine copy and good copy is what's the emotion? What's the feeling that's behind it?" </em></p></blockquote><p>This insight is crucial for AI founders who often get caught up in the technical capabilities of their products.</p><p>Consider this: </p><p>while your AI might be able to process tasks 10x faster than a human, that fact alone won't make someone fall in love with your brand (Although Garry from YCombinator would say that&#8217;s a must have). </p><p>People don't wake up in the morning dreaming about being more efficient. They dream about feeling empowered, creative, or connected. Your branding needs to tap into these deeper human desires.</p><h2>Your Brand Is More Than Just Your Logo, it's How People See You</h2><blockquote><p><em>"Everybody has a brand. Brand is simply how people see you," </em></p></blockquote><p>This perspective shift is vital for AI founders who might be tempted to think branding is just about creating a sleek logo or choosing the right color palette.</p><p>Your brand encompasses every interaction a person has with your company. It's the tone of your customer service emails, the user experience of your app, and yes, even the efficiency of your AI. But it's also about the emotions you evoke and the stories you tell.</p><p>For AI founders, this means considering how your technology makes people feel, not just what it can do.</p><h2>Crafting a Verbal Identity That Resonates Beyond Efficiency</h2><p>One of the most powerful tools in your branding arsenal is your <strong>verbal identity</strong>. </p><blockquote><p><em>"Verbal identity is once you cross that line between talking to your internal audience or maybe your partners and talking to your external audience, right? So that's what is your website going to say? What's the tone that you use?"</em></p></blockquote><p>This goes far beyond a catchy tagline. It's about developing a consistent voice and personality that speaks directly to your audience's needs and aspirations.</p><p>Take Gamma, an AI-powered presentation tool. Instead of focusing solely on how quickly it can create slides, their branding revolves around the idea of "<em>get your ideas out there.</em>" </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Paa6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Paa6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 424w, https://substackcdn.com/image/fetch/$s_!Paa6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 848w, https://substackcdn.com/image/fetch/$s_!Paa6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!Paa6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Paa6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png" width="1456" height="624" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:624,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2380584,&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://mlnotes.substack.com/i/163446358?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.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_!Paa6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 424w, https://substackcdn.com/image/fetch/$s_!Paa6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 848w, https://substackcdn.com/image/fetch/$s_!Paa6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.png 1272w, https://substackcdn.com/image/fetch/$s_!Paa6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3fe59317-79aa-4aa6-a22f-99a56ddc3df6_2770x1188.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 speaks to a deeper desire of their target audience &#8211; educators and non-designers who have valuable ideas but struggle with the technical aspects of presentation creation.</p><p>Developing a strong verbal identity allows you to maintain a consistent voice across all platforms, helping to build trust and recognition with your audience. </p><p>For AI companies, this might mean finding ways to humanize complex technology or articulating your ethical stance on AI development.</p><h2>Moving Beyond Generic AI Aesthetics and Use Design That Tells a Story </h2><blockquote><p>"<em>I always just try to make sure that our logos have like a 10% strange thing about them,</em>" says Mike Smith, discussing his approach to logo design. </p></blockquote><p>In a sea of generic AI company logos featuring abstract geometric shapes or glowing orbs, this philosophy of intentional uniqueness can set you apart.</p><p>Your visual identity should tell a story about who you are and what you stand for. It's not just about looking sleek or futuristic, but what&#8217;s the story behind it. </p><p>Take the example of Perplexity AI. Their verbal identity focused on the concept of "where knowledge begins," positioning their product not just as an answer machine, but as a gateway to deeper understanding.</p><p>As its designer explained:</p><blockquote><p><em>"Perplexity is now your starting point and then you can click any of those citation links and go anywhere you want to go."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B8z4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B8z4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 424w, https://substackcdn.com/image/fetch/$s_!B8z4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 848w, https://substackcdn.com/image/fetch/$s_!B8z4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 1272w, https://substackcdn.com/image/fetch/$s_!B8z4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B8z4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png" width="300" height="168" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:168,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Perplexity AI launches its own Deep ...&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="Perplexity AI launches its own Deep ..." title="Perplexity AI launches its own Deep ..." srcset="https://substackcdn.com/image/fetch/$s_!B8z4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 424w, https://substackcdn.com/image/fetch/$s_!B8z4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 848w, https://substackcdn.com/image/fetch/$s_!B8z4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 1272w, https://substackcdn.com/image/fetch/$s_!B8z4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feb54a5f2-5bec-4a0b-8e08-671a9a63f1e4_300x168.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>And that&#8217;s why their logo is a spinning door visually represents their mission of opening doors to knowledge. </p><p>For AI founders, this might mean moving beyond clich&#233; tech imagery and finding visual metaphors that represent the unique value your AI brings to users' lives. </p><blockquote><p><em> "As long as the logo can kind of tell a story and like convey an emotion or convey a strategy or something like that, that's when we know we're on to something."</em></p></blockquote><h2>Understanding Your Audience: The Key to Authentic Connection</h2><p>Creating a brand that resonates requires a deep understanding of your audience. This goes beyond basic demographics. You need to get inside their heads, understand their daily lives, their aspirations, and their pain points.</p><blockquote><p> <em>"The more time you just really spend treating your audience like almost like you're in a novel or you're in a movie and you're putting yourself in the shoes of that character, then that allows you to really think, okay, how do I talk to them in a way that's going to matter to them, not necessarily matter to me."</em></p></blockquote><p>We talked about the observation of focusing too much on efficiency being a common pitfall for AI founders. As Cara puts it,</p><blockquote><p>"I see a ton of ads, especially in the AI space, that are all about efficiency and I just think it's ridiculous," </p></blockquote><p>Therefore, instead of focusing solely on how your AI can make processes more efficient, ask yourself these critical questions:</p>
      <p>
          <a href="https://mlnotes.substack.com/p/branding-masterclass-for-ai-founders">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Is Your Career AI-Ready for 2025? ]]></title><description><![CDATA[Insights from CTO of AI HRtech]]></description><link>https://mlnotes.substack.com/p/is-your-career-ai-ready-for-2025</link><guid isPermaLink="false">https://mlnotes.substack.com/p/is-your-career-ai-ready-for-2025</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Fri, 09 May 2025 03:41:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/d4eYzmXhNV8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="pullquote"><p><strong>&#8220;AI is definitely impacting the job market</strong>.&#8221;</p></div><p>As much as we don&#8217;t want to believe that AI is impacting us, </p><h3>it is. </h3><p>I&#8217;m floored with what Jerry said and in the meantime not so surprised. </p><p>This year to next year, the question on our mind should be: </p><h4><strong>&#8220;Is my career AI-ready?&#8221;</strong></h4><p>To answer this, we turn to Jerry Wang, a visionary in the AI-powered hiring space, for his invaluable insights on the future of work.</p><blockquote><p><em>"Maybe in the future, everyone is a product manager. You can use the AI copilot to develop a small demo pretty fast. You don't have to code at all. You only have to tell what you want," </em></p></blockquote><p>predicts Jerry Wang, CTO of OpenJobs AI.</p><h2>The Convergence of Software Engineering and AI is Creating Hybrid Roles</h2><p>Software engineering and AI (just a little more than 2 years ago, more would call this ML or deep learning) don&#8217;t exist in separate silos anymore. </p><p>Wang observes a fascinating trend: </p><blockquote><p><em>"What I'm observing is that it isn't a complete replacement of traditional software engineer roles with AI roles, but it is a kind of fusion of skill sets."</em></p></blockquote><p>This fusion is giving rise to a new breed of professionals - <strong>hybrid talents</strong> who can seamlessly navigate both traditional software engineering and AI domains. </p><p>Companies are increasingly seeking these versatile individuals who can wear multiple hats.</p><h3>But what does this mean for you? </h3><p>It's time to expand your skillset. </p><p>If you're a software engineer, start familiarizing yourself with AI concepts. If you're an AI specialist, brush up on your software engineering fundamentals. The future belongs to those who can bridge these worlds.</p><h2>AI Literacy is Becoming a Non-Negotiable Skill Across Industries</h2><blockquote><p><em>"More positions, regardless of the software engineer positions, I mean the other like tech-related positions will require more knowledge about AI," </em>Wang predicts. </p></blockquote><p>This isn't limited to tech roles either. Even traditional industries like healthcare and finance are jumping on the AI bandwagon.</p><p>Wang emphasizes, </p><blockquote><p><em>"Even if you are a product engineer or manager, you have to know more knowledge about AI than today's." </em></p></blockquote><p>The message is clear: </p><p>AI literacy is no longer a nice-to-have, it's becoming a must-have across the board.</p><p>For non-technical professionals, don't panic. </p><p>You don't need to become an AI expert overnight. Wang suggests starting with the basics: </p><blockquote><p><em>"They can learn some basic things. They only have to know some concepts and they can watch some channels like your <a href="https://www.youtube.com/@TwoSetAI">TwoSetAI</a>. They can go to YouTube to find some very fundamental and very easy to follow channels to learn some basic concepts."</em></p></blockquote><h2>The Rise of End-to-End AI Engineers: A New Breed of Unicorns</h2><p>As AI becomes more integrated into every aspect of product development, there's a growing demand for what Wang calls "<strong>end-to-end AI engineers.</strong>" </p><p>These are professionals who can handle everything from data analysis to AI training and deployment.</p><blockquote><p><em>"I think the job market is expecting more of this kind of roles, who can do like data analysis and AI training and AI deployment," </em>Wang notes.<em> "Those people are pretty welcome in the job market now. And the public salary for those is also very promising."</em></p></blockquote><p>How promising? </p><p>Wang suggests that in Silicon Valley, these roles could command salaries of up to <strong>$$$$ per month</strong>. However, he cautions that these talents are "very rare." If you're looking to future-proof your career, developing this end-to-end skillset could be your golden ticket.</p><h2>The Unexpected Skills That Will Set You Apart in the AI Era</h2><p>While technical skills are crucial, Wang emphasizes two often-overlooked areas that can significantly boost your marketability:</p><p>&#8230; </p><h2>Curious to learn more? </h2><h2>In this video, we also covered - </h2><p><br>&#8627; What&#8217;s the optimal balance of AI vs. software experience on your dev team?<br>&#8627; Which jobs are most at risk, and which new roles are emerging?<br>&#8627; How should you upskill today to stay ahead?<br>&#8627; Is domain knowledge the new &#8220;must-have&#8221; for AI-driven development?<br>&#8627; Should you master Retrieval-Augmented Generation, multimodal pipelines, vision models, or something else?<br>&#8627; What&#8217;s the current market rate for a full-stack AI engineer?</p><h3><strong>Watch the full episode here! &#129299;:</strong></h3><p><strong>&#128071;</strong></p><div id="youtube2-d4eYzmXhNV8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;d4eYzmXhNV8&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/d4eYzmXhNV8?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><h2>Before we go on&#8230;a quick announcement -</h2><div><hr></div><p>&#128640; <strong>Join Our New YouTube Membership Community!</strong></p><p>For many of you following us on YouTube. thank you so much for your support! &#129412;</p><p>In addition to our regular updates, I&#8217;m excited to announce the launch of our membership community! Whether you&#8217;re looking to master Retrieval-Augmented Generation (RAG), AI Agents, or dive deep into advanced AI projects and tutorials through <strong>AI Unbound</strong>, there&#8217;s something for everyone passionate about AI.</p><p>By joining, you&#8217;ll gain exclusive content, stay ahead of the curve, and reduce AI FOMO while building real-world skills. Ready to take your AI journey to the next level?</p><p>&#128073; <a href="https://www.youtube.com/@TwoSetAI">Join the Community Here</a></p><p>Let&#8217;s build, learn, and innovate together!</p><div><hr></div><p>&#128736;&#65039;&#10024; Happy practicing and happy building! &#128640;&#127775; </p><p>Thanks for reading our newsletter. You can follow us here: Angelina<a href="https://www.linkedin.com/in/meetangelina/">&nbsp;Linkedin </a>or <a href="https://twitter.com/angelina_magr">Twitter</a><a href="https://twitter.com/Angelina_Magr"> </a>and Mehdi <a href="https://www.linkedin.com/in/mehdiallahyari/">Linkedin</a> or <a href="https://twitter.com/MehdiAllahyari">Twitter</a>.</p><p>&#127752; Our RAG course: https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</p><p><a href="https://www.youtube.com/watch?v=6MK96ea-3LU&amp;t=0s">&nbsp;</a>&#128218; Also if you'd like to learn more about RAG systems, check out our book on the RAG system: You can download for free on the course site:<br><a href="https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai">https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</a></p><p>&#129412; Any specific contents you wish to learn from us? Sign up here: https://noteforms.com/forms/twosetai-youtube-content-sqezrz </p><p>&#129520; Our video editing tool is this one!: https://get.descript.com/nf5cum9nj1m8 </p><p>&#128253;&#65039; Our RAG videos: <a href="https://www.youtube.com/@TwoSetAI">https://www.youtube.com/@TwoSetAI</a></p><p>&#128236; Don't miss out on the latest updates - Subscribe to our newsletter: </p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:857742,&quot;name&quot;:&quot;The MLnotes Newsletter&quot;,&quot;logo_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%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png&quot;,&quot;base_url&quot;:&quot;https://mlnotes.substack.com&quot;,&quot;hero_text&quot;:&quot;MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!&quot;,&quot;author_name&quot;:&quot;Mehdi Allahyari&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://mlnotes.substack.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!Kq64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">The MLnotes Newsletter</span><div class="embedded-publication-hero-text">MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!</div><div class="embedded-publication-author-name">By Mehdi Allahyari</div></a><form class="embedded-publication-subscribe" method="GET" action="https://mlnotes.substack.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[AI is Rewriting the Rules of Pricing – And You Need to Pay Attention]]></title><description><![CDATA[Insights from Manny Medina, Founder of Paid]]></description><link>https://mlnotes.substack.com/p/ai-is-rewriting-the-rules-of-pricing</link><guid isPermaLink="false">https://mlnotes.substack.com/p/ai-is-rewriting-the-rules-of-pricing</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 06 May 2025 02:04:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tolb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="pullquote"><p><strong>"Your customer will always default to the easiest way to buy which is either - some kind of fixed price or a consumption price for the first year to see if it works.</strong> </p></div><p>Gone are the days when AI companies could simply charge by the token or API call. The market is maturing, and with it, the expectations of customers are evolving. </p><p>As Manny Medina, founder of Paid, puts it:</p><blockquote><p><em>&#8220;if it does work, it is up to the AI agent builder and creator to go back to the same customer and say, 'Let's align on things that are important to you and charge for it.'"</em></p></blockquote><p>This statement encapsulates the core of what&#8217;s happening in <strong>pricing</strong> for AI products: <strong>a move from charging for inputs to charging for outcomes</strong>. </p><p>But why is this shift happening, and what does it mean for the AI ecosystem?</p><h2>The Four Pillars of AI Pricing: A New Framework for Value</h2><p>There are four main approaches to pricing that are currently working in the AI space:</p><ol><li><p><strong>Activity-based pricing</strong></p></li><li><p><strong>Workflow-based pricing</strong></p></li><li><p><strong>Outcome-based pricing</strong></p></li><li><p><strong>Agent-based pricing</strong></p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tolb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tolb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!tolb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!tolb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!tolb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tolb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png&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;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!tolb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!tolb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!tolb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!tolb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F21378061-2ddd-4f48-9284-103e5bfefb75_1024x1024.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>Each of these approaches represents a step towards more sophisticated, value-aligned pricing models. Let's break them down:</p><h3>Activity-Based Pricing: The Starting Point</h3><p>Activity-based pricing is the most straightforward approach. It's essentially a credit consumption model where customers pay for the specific actions or computations performed by the AI. While this model is easy to understand and implement, it's also the most vulnerable to commoditization.</p><p>Medina warns: </p><blockquote><p><em>"If you stay there somebody will come along and say I'll do the same thing for cheaper. Yeah. And then you are in a nightmare scenario in which there is tons of others who look just like you."</em></p></blockquote><h3>Workflow-Based Pricing: Stepping Towards Value</h3><p>Workflow-based pricing involves charging for a series of connected activities that deliver a specific result. </p><p>This model begins to align pricing with the value delivered to the customer. As Medina explains:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bepf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bepf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Bepf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Bepf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Bepf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bepf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png&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;:null,&quot;alt&quot;:&quot;Generated image&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Generated image" title="Generated image" srcset="https://substackcdn.com/image/fetch/$s_!Bepf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Bepf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Bepf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Bepf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9d63168-1a67-41b9-ac5e-4a01f1d676f0_1024x1024.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><blockquote><p><em>"When you string a number of activities and you say this workflow is cost this much, like a document review, right? Because then you can separate documents that are small from documents that are long and complicated because they have different consumption patterns and it feels like you're getting closer to value based pricing as opposed to costbased pricing."</em></p></blockquote><h3>Outcome-Based Pricing: Aligning Incentives</h3><p>Outcome-based pricing is where things get really interesting. Instead of charging for the work done, companies charge based on the results achieved. This could be in the form of a bonus for reaching certain performance metrics or a fee structure tied directly to customer outcomes.</p><p>Medina suggests an innovative approach: </p><blockquote><p><em>"What I I've been recommending to my customer, it's not out there yet, but I'm going to give it a push, is to charge instead of charging per outcome, get an outcome bonus."</em></p></blockquote><p>This model creates a powerful alignment between the AI provider and the customer, ensuring that both parties are invested in achieving meaningful results.</p><h3>Agent-Based Pricing: The Future of AI Workforce</h3><p>Agent-based pricing is perhaps <strong>the most forward-thinking model.</strong> </p><p>It involves charging for AI agents as if they were human employees, based on the work they perform and the outcomes they achieve.</p><p>Medina elaborates: </p><blockquote><p><em>"You can pay instead of saying a platform fee say like you know I'm going to deploy x many agents the agent is going to do this amount of work that is equivalent of a $90,000 a year uh sr I'm going to charge you 20,000 per agent the agent is going to deliver this much work and you can pay me a bonus for the number of meetings booked."</em></p></blockquote><p>This approach allows AI companies to tap into HR budgets rather than competing for limited software budgets, potentially opening up larger revenue streams.</p><h2>Lack of visibility into unit economics is a ticking time bomb for many AI startups. Why?</h2>
      <p>
          <a href="https://mlnotes.substack.com/p/ai-is-rewriting-the-rules-of-pricing">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[RAG’s Hidden Power-Ups for 2025: Sentence Window Retrieval, Meta-data Filtering and More]]></title><description><![CDATA[- Part 2]]></description><link>https://mlnotes.substack.com/p/rags-hidden-power-ups-for-2025-sentence</link><guid isPermaLink="false">https://mlnotes.substack.com/p/rags-hidden-power-ups-for-2025-sentence</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Thu, 01 May 2025 04:50:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!wN79!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week, we&#8217;ve introduced <strong>query enhancement techniques</strong> and <strong>indexing enhancement techniques</strong> to power up your vanilla RAG system. (You can revisit the details below!)</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b2c45847-50f3-4e1f-8d77-fbebe5a6de6d&quot;,&quot;caption&quot;:&quot;As you may know already,&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Fake It Till You Make It: HyDE, Step-Back Prompts, Hybrid Search, and More&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:70767577,&quot;name&quot;:&quot;Angelina Yang&quot;,&quot;bio&quot;:&quot;Co-founder at Oscr AI&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/235cf3f4-9e0a-471f-b1ec-234f3e808f9f_1024x1024.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-04-17T05:26:02.317Z&quot;,&quot;cover_image&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%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://mlnotes.substack.com/p/fake-it-till-you-make-it-hyde-step&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:161515483,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;The MLnotes Newsletter&quot;,&quot;publication_logo_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%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>This week, we&#8217;ll explore another set of techniques that includes retriever, generator, and general pipeline enhancement. </p><h2>Why Your AI Might Be Suffering from "Middle Child Syndrome"</h2><p>Remember yourself (at least for me &#128540;) as a student in a crowded classroom. We are usually attentive at the beginning of the lesson and perk up again at the end, but everything in the middle? It's a blur to our memory. This phenomenon, known as the "lost in the middle" problem, is a real challenge for Large Language Models (LLMs) - just like for us! As Mehdi explains:</p><blockquote><p><em>"LLMs usually pay attention to the beginning and end of the context. So they do not pay as much attention to the middle of this context."</em></p></blockquote><p>This insight is crucial because it highlights a fundamental flaw in how traditional RAG systems process information. But there are ways to mitigate this so that you can ensure your AI catches every important detail, no matter where it's placed.</p><h2>Sentence Window Retrieval: Giving Your AI Perfect Vision</h2><p>One of the advanced techniques this week is <strong>sentence window retrieval</strong>. Think of this as giving your AI a pair of adjustable <em>binoculars</em>. Instead of focusing on a single chunk of text, it can now look at the surrounding context, capturing a more comprehensive view of the information.</p><p>This technique allows the system to:</p><ul><li><p>Look at chunks before and after the most relevant one</p></li><li><p>Adjust the "window size" to include more or less context as needed</p></li><li><p>Provide a more nuanced understanding of the information</p></li></ul><p>By implementing sentence window retrieval, you're essentially teaching your AI to read between the lines, capturing subtleties that might otherwise be missed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wN79!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wN79!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 424w, https://substackcdn.com/image/fetch/$s_!wN79!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 848w, https://substackcdn.com/image/fetch/$s_!wN79!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!wN79!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wN79!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!wN79!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 424w, https://substackcdn.com/image/fetch/$s_!wN79!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 848w, https://substackcdn.com/image/fetch/$s_!wN79!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.png 1272w, https://substackcdn.com/image/fetch/$s_!wN79!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F934ce720-1e8f-43a2-9b41-f066f4aef31d_1766x1060.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>Curious to learn more? </h2><h2>In the following video, we also covered - </h2><ul><li><p>Sentence Window Retrieval</p></li><li><p>Meta-data Filtering</p></li><li><p>Compressing the LLM Prompt</p></li><li><p>Adjust chunks sorting in prompt</p></li><li><p>Self Reflection</p></li><li><p>Query Routing</p></li></ul><h3><strong>Watch the full episode here! &#129299;:</strong></h3><p><strong>&#128071;</strong></p><div id="youtube2--l5CbGz5VV0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-l5CbGz5VV0&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/-l5CbGz5VV0?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><h2>Before we go on&#8230;a quick announcement -</h2><div><hr></div><p>&#128640; <strong>Join Our New YouTube Membership Community!</strong></p><p>For many of you following us on YouTube. thank you so much for your support! &#129412;</p><p>In addition to our regular updates, I&#8217;m excited to announce the launch of our membership community! Whether you&#8217;re looking to master Retrieval-Augmented Generation (RAG), AI Agents, or dive deep into advanced AI projects and tutorials through <strong>AI Unbound</strong>, there&#8217;s something for everyone passionate about AI.</p><p>By joining, you&#8217;ll gain exclusive content, stay ahead of the curve, and reduce AI FOMO while building real-world skills. Ready to take your AI journey to the next level?</p><p>&#128073; <a href="https://www.youtube.com/@TwoSetAI">Join the Community Here</a></p><p>Let&#8217;s build, learn, and innovate together!</p><div><hr></div><p>&#128736;&#65039;&#10024; Happy practicing and happy building! &#128640;&#127775; </p><p>Thanks for reading our newsletter. You can follow us here: Angelina<a href="https://www.linkedin.com/in/meetangelina/">&nbsp;Linkedin </a>or <a href="https://twitter.com/angelina_magr">Twitter</a><a href="https://twitter.com/Angelina_Magr"> </a>and Mehdi <a href="https://www.linkedin.com/in/mehdiallahyari/">Linkedin</a> or <a href="https://twitter.com/MehdiAllahyari">Twitter</a>.</p><p>Source of image: <br>SWR: https://milvus.io/docs/v2.5.x/assets/advanced_rag/sentence_window.png</p><p>&#127752; Our RAG course: https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</p><p><a href="https://www.youtube.com/watch?v=6MK96ea-3LU&amp;t=0s">&nbsp;</a>&#128218; Also if you'd like to learn more about RAG systems, check out our book on the RAG system: You can download for free on the course site:<br><a href="https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai">https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</a></p><p>&#129412; Any specific contents you wish to learn from us? Sign up here: https://noteforms.com/forms/twosetai-youtube-content-sqezrz </p><p>&#129520; Our video editing tool is this one!: https://get.descript.com/nf5cum9nj1m8 </p><p>&#128253;&#65039; Our RAG videos: <a href="https://www.youtube.com/@TwoSetAI">https://www.youtube.com/@TwoSetAI</a></p><p>&#128236; Don't miss out on the latest updates - Subscribe to our newsletter: </p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:857742,&quot;name&quot;:&quot;The MLnotes Newsletter&quot;,&quot;logo_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%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png&quot;,&quot;base_url&quot;:&quot;https://mlnotes.substack.com&quot;,&quot;hero_text&quot;:&quot;MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!&quot;,&quot;author_name&quot;:&quot;Mehdi Allahyari&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://mlnotes.substack.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!Kq64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">The MLnotes Newsletter</span><div class="embedded-publication-hero-text">MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!</div><div class="embedded-publication-author-name">By Mehdi Allahyari</div></a><form class="embedded-publication-subscribe" method="GET" action="https://mlnotes.substack.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA["Creativity Is Doing More Than The First Thing You Think Of"]]></title><description><![CDATA[Rethink how we collaborate with AI]]></description><link>https://mlnotes.substack.com/p/creativity-is-doing-more-than-the</link><guid isPermaLink="false">https://mlnotes.substack.com/p/creativity-is-doing-more-than-the</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 29 Apr 2025 01:30:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_mIx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A seventh-grader in Ohio once wrote on a post-it note: </p><div class="pullquote"><p><strong>"Creativity is doing more than the first thing you think of."</strong> </p></div><p>It&#8217;s probably my favorite definition of creativity &#8212; simple, profound, and surprisingly relevant today.</p><p>At countless AI events I&#8217;ve attended, one question always comes up:</p><p><strong>&#8220;Will AI replace us?&#8221;</strong></p><p>My answer has always been: <strong>&#8220;No. AI will make us all creators.&#8221;</strong></p><p>But recently, after reading into researches on AI&#8217;s impact on human creativity,  and seeing firsthand how people are actually using these tools, I&#8217;ve started to rethink not just what creativity means, but how we can <em>outgrow</em> the older versions of ourselves <em>with</em> AI, instead of fearing being replaced by it.</p><p>In a world shaped more and more by artificial intelligence, it&#8217;s never been more important, (or more inspiring) to learn how to collaborate with AI, and to use it wisely as we move into the future.</p><h2>The Churchill Conundrum: From Bathtub Brilliance to AI Assistance</h2><p>Imagine Winston Churchill, lounging in his bathtub, dictating a national address to his assistant in the next room. He shouts corrections and refinements, pushing beyond his initial thoughts to craft a message that will resonate with the nation. <a href="https://youtube.com/clip/UgkxsdlR-_TnN_M6MzAMdv0AsvXVBZGCtUc7?si=4aBFRrysuSMpBP9f">This scene</a>, immortalized in Albert Finney's portrayal, represents a level of creative collaboration that was once reserved for the privileged few.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_mIx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_mIx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 424w, https://substackcdn.com/image/fetch/$s_!_mIx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 848w, https://substackcdn.com/image/fetch/$s_!_mIx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 1272w, https://substackcdn.com/image/fetch/$s_!_mIx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_mIx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png" width="1456" height="739" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:739,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2229985,&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://mlnotes.substack.com/i/162363871?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.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_!_mIx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 424w, https://substackcdn.com/image/fetch/$s_!_mIx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 848w, https://substackcdn.com/image/fetch/$s_!_mIx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.png 1272w, https://substackcdn.com/image/fetch/$s_!_mIx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d231fc6-15e8-4d60-bbc1-d735af7d52d6_2566x1302.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>Fast forward to today, and we find ourselves in a world where, as Jeremy Utley, adjunct professor of creativity and AI at Stanford University, puts it, "<em>the poorest villager in Palo Alto can have what only Winston Churchill used to have.</em>" We now have AI assistants that can understand our context, voice, and intent, ready to collaborate with us in our creative endeavors.</p><h2>How should we treat AI, a Tool or &#8230;?</h2><p>As we embrace this new era of AI-assisted creativity, we face a crucial decision: </p><div class="pullquote"><p>do we treat AI as a mere tool, or do we think of it as if it was a <strong>teammate</strong>? </p></div><p>This choice can dramatically impact our creative output and productivity.</p><h3>Why Treating AI as a Tool Limits Your Creative Potential</h3><p>Research conducted revealed a surprising finding:  while AI can make people 25% faster, 12% more productive, and improve work quality by 40%, less than 10% of professionals are actually reaping these benefits. </p><h3><strong>In many cases, AI made people less creative.</strong> <strong>Why?</strong></h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wT21!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wT21!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 424w, https://substackcdn.com/image/fetch/$s_!wT21!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 848w, https://substackcdn.com/image/fetch/$s_!wT21!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 1272w, https://substackcdn.com/image/fetch/$s_!wT21!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wT21!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png" width="1994" height="858" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:858,&quot;width&quot;:1994,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:635280,&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://mlnotes.substack.com/i/162363871?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F65263323-7a8d-46d3-b11c-ac0fe4f90fe3_1994x1124.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_!wT21!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 424w, https://substackcdn.com/image/fetch/$s_!wT21!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 848w, https://substackcdn.com/image/fetch/$s_!wT21!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.png 1272w, https://substackcdn.com/image/fetch/$s_!wT21!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14c797b8-b215-4907-83ad-9fdab55ef33f_1994x858.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>What&#8217;s your guess of the results from the above experiment?</h3>
      <p>
          <a href="https://mlnotes.substack.com/p/creativity-is-doing-more-than-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[2025 is NOT Going to be The Year of AI Agent, and Here's Why. ]]></title><description><![CDATA[The Long and Winding Road to Agentic AI: Separating Hype from Enterprise Reality]]></description><link>https://mlnotes.substack.com/p/2025-is-not-going-to-be-the-year</link><guid isPermaLink="false">https://mlnotes.substack.com/p/2025-is-not-going-to-be-the-year</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 22 Apr 2025 06:13:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!l3xk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The AI hype machine is in overdrive, but most enterprises aren't ready for prime time</h2><p>Artificial intelligence is evolving at a breakneck pace. Every week seems to bring breathless announcements of new AI breakthroughs and capabilities. Amid this frenzy, <strong>agentic AI</strong> - autonomous software agents that can orchestrate complex tasks - has emerged as the next frontier.</p><p>But while the potential of agentic AI is immense, the reality for most enterprises is far more sobering. Despite the hype, true agentic AI remains years away for all but the most advanced organisations. </p><p>As Dave Vellante of <a href="https://thecuberesearch.com/">theCUBE Research</a> puts it, </p><blockquote><p><em>"2025 is not going to be the year of the agent. It'll be the year of agent marketing." </em></p></blockquote><h2>Enterprises are leaning in, but it's still early days for AI adoption</h2><p>Recent survey data from <a href="https://etr.ai/">ETR</a> paints a picture of cautious but growing enterprise AI adoption:</p><ul><li><p><strong>80% of enterprises</strong> are now paying for AI in some form</p></li><li><p><strong>Nearly two-thirds</strong> are tapping into AI APIs</p></li><li><p><strong>39%</strong> are experimenting with open-source models</p></li><li><p><strong>27%</strong> are training proprietary models on-premises</p></li></ul><p>These numbers show enterprises aren't sitting on their hands when it comes to AI. But they're a far cry from the agentic vision being hyped by many vendors.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!l3xk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!l3xk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l3xk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l3xk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l3xk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!l3xk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg" width="960" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:960,&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_!l3xk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!l3xk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!l3xk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!l3xk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F164d4ec4-5ccd-44ca-8477-0ff02b68a7bb_960x540.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><figcaption class="image-caption">Source: See Footnote</figcaption></figure></div><h2>The AI infrastructure boom is real, but it's a tale of two speeds</h2><p>Make no mistake - AI is driving massive infrastructure investment. As Dave Vellante notes in his recent analysis:</p><blockquote><p><em>"The data center super cycle kicked in in earnest in 2024. What was essentially a perpetually roughly $200 billion business...exploded in 2024...to 350 billion. That's a 58% growth rate in a single year, which is going to continue at an accelerated pace for a decade."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FSKE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FSKE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FSKE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FSKE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FSKE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FSKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg" width="960" height="540" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:540,&quot;width&quot;:960,&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_!FSKE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 424w, https://substackcdn.com/image/fetch/$s_!FSKE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 848w, https://substackcdn.com/image/fetch/$s_!FSKE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!FSKE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd2bd51c3-e88b-4b0e-97b2-ef8eb64d8c8e_960x540.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><figcaption class="image-caption">Source: Footnote</figcaption></figure></div><p>But this boom is playing out very differently for cloud providers versus traditional enterprises:</p><ul><li><p>Cloud titans like AWS, Google, Microsoft and Meta are pouring over $300 billion into AI data centers this year alone</p></li><li><p>On-premises enterprise AI spending is growing, but at a much slower pace</p></li></ul><p>This bifurcation means cloud AI adoption is rocketing ahead, while on-premises enterprise AI won't reach "escape velocity" until later this decade.</p><h2>2025 is the year of agent marketing, not agent reality</h2><p>Why? Because the vast majority of enterprises still lack the foundational capabilities needed to effectively deploy and manage autonomous AI agents:</p><blockquote><p><em>"Our research shows that more than 85% of enterprises still need major upgrades in data quality, and the other 15% probably don't know that they do," says Vellante.</em></p></blockquote><p>The harsh reality is that most companies are still grappling with basic data management issues. As one example shared by the researchers, "<em>one bank found 6,000 table entries that defined what a customer was.</em>" If you can't even agree on what constitutes a customer, how can you possibly expect AI agents to make accurate, business-critical decisions?</p><p>As Vellante warns,</p><blockquote><p><em>"agents hallucinate when the ground truth is fuzzy."</em> </p></blockquote><p>In other words, garbage in, garbage out &#8211; but now with potentially catastrophic consequences as AI agents act on flawed information.</p><p>This doesn't mean AI won't deliver value in the near-term. Co-pilots and other assistive AI will drive real productivity gains. But the grand vision of fully autonomous agents orchestrating complex business processes? That's still years away for most.</p><h2>There are three critical areas where enterprises are falling short in their readiness for agentic AI:</h2><h3>1. Data quality and lineage remain massive hurdles</h3><p>AI agents need high-quality, well-structured data to function effectively. But most enterprises are drowning in data silos and inconsistencies.</p><h3>2. Integration and orchestration are far from seamless</h3><p>Vendors love to tout "<em>seamless integration</em>" for their AI solutions. The reality is far messier. Decades of patchwork enterprise integration efforts have left a tangled web that autonomous agents can't easily navigate.</p><p>Some SaaS vendors are making progress within their own domains. But cross-application integration remains a major challenge. The risk is ending up with siloed AI agents that can't effectively collaborate across business functions.</p><p><strong>What&#8217;s even more important but very few vendors factor it in their plan is&#8230;</strong> </p>
      <p>
          <a href="https://mlnotes.substack.com/p/2025-is-not-going-to-be-the-year">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Fake It Till You Make It: HyDE, Step-Back Prompts, Hybrid Search, and More]]></title><description><![CDATA[As you may know already,]]></description><link>https://mlnotes.substack.com/p/fake-it-till-you-make-it-hyde-step</link><guid isPermaLink="false">https://mlnotes.substack.com/p/fake-it-till-you-make-it-hyde-step</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Thu, 17 Apr 2025 05:26:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Xwbd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As you may know already,</p><div class="pullquote"><p><strong>"There are a lot of issues with vanilla RAG."</strong></p></div><p>Are you tired of AI giving you half-baked answers? Frustrated with language models that seem to know everything but your specific data? </p><p>You're not alone. While Retrieval Augmented Generation (RAG) promised to bridge the gap between AI and your proprietary information, many are finding that vanilla RAG just isn't cutting it. The good news is that there are many advanced techniques that can help us get better results!</p><p>But before we expose those limitations and show you how to overcome them, let's make sure we're all on the same page.</p><h2>What is RAG, and Why Should You Care?</h2><p><strong>RAG</strong>, or Retrieval Augmented Generation, is a game-changing technique that connects external data sources to Large Language Models (LLMs). It allows you to ask questions about your own proprietary data and get informed responses. In its simplest form, vanilla RAG works by chunking your documents, embedding them, storing them in a vector database, and then retrieving relevant chunks when a user asks a question.</p><p>But remember: vanilla RAG is just the tip of the iceberg. Researchers have introduced different types of RAG improvement techniques that here we are going to cover a few of them.</p><h2>Vanilla RAG is Holding You Back: Here's Why You Need to Level Up</h2><p>While vanilla RAG is a great starting point, it falls short in several key areas. For instance, "<em>When your question is let's say so-called <strong>summarization</strong> type questions... or when there is a <strong>comparison</strong> you want to just compare multiple things against each other... vanilla RAG fails to answer them.</em>"</p><p>This limitation is just one of many reasons why you need to explore advanced RAG techniques. </p><h2>Create Fake Questions to Get Real Answers: The Magic of Hypothetical Prompts</h2><p>One interesting approach is the use of <strong>hypothetical questions</strong>. Instead of directly passing a user's query to the vector database, this method generates several relevant questions first.</p><p>For instance, "<em>We can generate some hypothetical questions that users may ask in the future and later on when user ask a question we can go and find the most similar hypothetical questions that we have then find the relevant chunks.</em>"</p><p>This approach allows for a more nuanced search, potentially uncovering information that a direct query might miss.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Xwbd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Xwbd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 424w, https://substackcdn.com/image/fetch/$s_!Xwbd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 848w, https://substackcdn.com/image/fetch/$s_!Xwbd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!Xwbd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Xwbd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png" width="1456" height="875" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:875,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:219783,&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://mlnotes.substack.com/i/161515483?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.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_!Xwbd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 424w, https://substackcdn.com/image/fetch/$s_!Xwbd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 848w, https://substackcdn.com/image/fetch/$s_!Xwbd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.png 1272w, https://substackcdn.com/image/fetch/$s_!Xwbd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce45a431-9580-40c1-8ed5-042f84fa654e_1914x1150.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>Fake It Till You Make It: Hypothetical Document Embeddings</h2><p>Taking the concept of "<em>fake it till you make it</em>" to a whole new level, <strong>hypothetical document embeddings</strong> involve generating fake responses to a user's query without any context. In our video today, Mehdi explained:</p><blockquote><p><em>"We can generate some fake documents... Now that we have this fake document then we can go and pass this document and find relevant chunks from the vector database that are similar or related to this fake document."</em></p></blockquote><p>This technique can help bridge the gap between the user's query language and the language used in your documents, potentially leading to more relevant retrievals.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HFMX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HFMX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 424w, https://substackcdn.com/image/fetch/$s_!HFMX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 848w, https://substackcdn.com/image/fetch/$s_!HFMX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!HFMX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HFMX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png" width="1456" height="870" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:870,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:170409,&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://mlnotes.substack.com/i/161515483?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.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_!HFMX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 424w, https://substackcdn.com/image/fetch/$s_!HFMX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 848w, https://substackcdn.com/image/fetch/$s_!HFMX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!HFMX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26079601-7090-4548-8ddb-84eca2096f1b_1818x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Curious to learn more? </h2><h2>In the following video, we also covered - </h2><ul><li><p><em><strong>step-back prompting, </strong></em></p></li><li><p><em><strong>sub-queries, </strong></em></p></li><li><p><em><strong>automatic chunk merging, </strong></em></p></li><li><p><em><strong>hierarchical indexing and </strong></em></p></li><li><p><em><strong>hybrid retrieval and reranking&#8230;</strong></em></p></li></ul><h3><strong>Watch the full episode here! &#129299;:</strong></h3><p><strong>&#128071;</strong></p><div id="youtube2-eoAuy0evafQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eoAuy0evafQ&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/eoAuy0evafQ?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><h2>Before we go on&#8230;a quick announcement -</h2><div><hr></div><p>&#128640; <strong>Join Our New YouTube Membership Community!</strong></p><p>For many of you following us on YouTube. thank you so much for your support! &#129412;</p><p>In addition to our regular updates, I&#8217;m excited to announce the launch of our membership community! Whether you&#8217;re looking to master Retrieval-Augmented Generation (RAG), AI Agents, or dive deep into advanced AI projects and tutorials through <strong>AI Unbound</strong>, there&#8217;s something for everyone passionate about AI.</p><p>By joining, you&#8217;ll gain exclusive content, stay ahead of the curve, and reduce AI FOMO while building real-world skills. Ready to take your AI journey to the next level?</p><p>&#128073; <a href="https://www.youtube.com/@TwoSetAI">Join the Community Here</a></p><p>Let&#8217;s build, learn, and innovate together!</p><div><hr></div><p>&#128736;&#65039;&#10024; Happy practicing and happy building! &#128640;&#127775; </p><p>Thanks for reading our newsletter. You can follow us here: Angelina<a href="https://www.linkedin.com/in/meetangelina/">&nbsp;Linkedin </a>or <a href="https://twitter.com/angelina_magr">Twitter</a><a href="https://twitter.com/Angelina_Magr"> </a>and Mehdi <a href="https://www.linkedin.com/in/mehdiallahyari/">Linkedin</a> or <a href="https://twitter.com/MehdiAllahyari">Twitter</a>.</p><p>Source of image: <br>HQ: https://milvus.io/docs/v2.5.x/assets/advanced_rag/hypothetical_question.png</p><p>HyDE: https://milvus.io/docs/v2.5.x/assets/advanced_rag/hierarchical_index.png</p><p>&#127752; Our RAG course: https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</p><p><a href="https://www.youtube.com/watch?v=6MK96ea-3LU&amp;t=0s">&nbsp;</a>&#128218; Also if you'd like to learn more about RAG systems, check out our book on the RAG system: You can download for free on the course site:<br><a href="https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai">https://maven.com/angelina-yang/mastering-rag-systems-a-hands-on-guide-to-production-ready-ai</a></p><p>&#129412; Any specific contents you wish to learn from us? Sign up here: https://noteforms.com/forms/twosetai-youtube-content-sqezrz </p><p>&#129520; Our video editing tool is this one!: https://get.descript.com/nf5cum9nj1m8 </p><p>&#128253;&#65039; Our RAG videos: <a href="https://www.youtube.com/@TwoSetAI">https://www.youtube.com/@TwoSetAI</a></p><p>&#128236; Don't miss out on the latest updates - Subscribe to our newsletter: </p><div class="embedded-publication-wrap" data-attrs="{&quot;id&quot;:857742,&quot;name&quot;:&quot;The MLnotes Newsletter&quot;,&quot;logo_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%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png&quot;,&quot;base_url&quot;:&quot;https://mlnotes.substack.com&quot;,&quot;hero_text&quot;:&quot;MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!&quot;,&quot;author_name&quot;:&quot;Mehdi Allahyari&quot;,&quot;show_subscribe&quot;:true,&quot;logo_bg_color&quot;:&quot;#ffffff&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="EmbeddedPublicationToDOMWithSubscribe"><div class="embedded-publication show-subscribe"><a class="embedded-publication-link-part" native="true" href="https://mlnotes.substack.com?utm_source=substack&amp;utm_campaign=publication_embed&amp;utm_medium=web"><img class="embedded-publication-logo" src="https://substackcdn.com/image/fetch/$s_!Kq64!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F88ea2641-8482-4fd4-95b6-f0d56d807c5c_1280x1280.png" width="56" height="56" style="background-color: rgb(255, 255, 255);"><span class="embedded-publication-name">The MLnotes Newsletter</span><div class="embedded-publication-hero-text">MLnotes delivers bite-sized content covering diverse aspects of AI and ML, from real-world applications to entrepreneurship and careers in AI. Together, we can foster knowledge sharing and alleviate information anxiety amidst the rapid advancements in AI!</div><div class="embedded-publication-author-name">By Mehdi Allahyari</div></a><form class="embedded-publication-subscribe" method="GET" action="https://mlnotes.substack.com/subscribe?"><input type="hidden" name="source" value="publication-embed"><input type="hidden" name="autoSubmit" value="true"><input type="email" class="email-input" name="email" placeholder="Type your email..."><input type="submit" class="button primary" value="Subscribe"></form></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Brutal Truth About What VCs Really Want from AI Founders (And It's Not Just a Flashy Demo)]]></title><description><![CDATA[Together with my cofounders and growth advisers, we&#8217;ve seen an ocean of AI startups in the last 2 years.]]></description><link>https://mlnotes.substack.com/p/the-brutal-truth-about-what-vcs-really</link><guid isPermaLink="false">https://mlnotes.substack.com/p/the-brutal-truth-about-what-vcs-really</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Sat, 05 Apr 2025 19:30:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RK9B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Together with my cofounders and growth advisers, we&#8217;ve seen an ocean of AI startups in the last 2 years. In this dazzling world of new products and companies, it's easy to get caught up in the hype. </p><p>Founders are racing to create the <em>next</em> groundbreaking AI demo that will make investors' jaws drop and wallets open. </p><p><strong>But here's the cold, hard truth:</strong> </p><div class="pullquote"><p>that stunning demo you've poured your heart and soul into? It might be the very thing holding your startup back.</p></div><p><strong><a href="https://www.linkedin.com/in/lynnra/">Rebecca Lynn</a></strong>, founder and managing partner of Canvas Ventures, pulls no punches when it comes to what venture capitalists are really looking for in AI startups. </p><p>And, perhaps a bit surprisingly, it's not just about how impressive your demo looks in a controlled environment.</p><h2>Your AI demo wowed investors, but here's why they're still not writing checks!</h2><blockquote><p><em>"It's really easy to create a company in Gen AI in demo mode,"</em> </p></blockquote><p>Lynn explains. </p><blockquote><p><em>"It is a very different thing to take that beautiful demo and put it in the wild and scale it."</em></p></blockquote><p>This gap between a polished demo and a scalable, real-world product is where many AI startups stumble and fall. Lynn has seen it happen time and time again: </p><blockquote><p><em>"We've already seen a handful of companies that were backed by amazing investors kind of blow up because they weren't able to transition from that really cool slick demo into the wild, essentially into full production."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RK9B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RK9B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RK9B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RK9B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RK9B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RK9B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg" width="686" height="386" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:386,&quot;width&quot;:686,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Google AI DEMOS vs REAL LIFE tests! Do they actually work? | Google I/O 2024&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="Google AI DEMOS vs REAL LIFE tests! Do they actually work? | Google I/O 2024" title="Google AI DEMOS vs REAL LIFE tests! Do they actually work? | Google I/O 2024" srcset="https://substackcdn.com/image/fetch/$s_!RK9B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RK9B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RK9B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RK9B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F134429d4-fbb3-40d6-aaf6-6b72854e08ea_686x386.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><figcaption class="image-caption"><a href="https://images.app.goo.gl/MhG26k1U1CvgHrTq8">Source</a></figcaption></figure></div><p>So, what's a founder to do? Lynn's advice is crystal clear: </p><div class="pullquote"><p><em>"The biggest question we have for companies is... come to us when you have a customer that's <strong>live</strong>."</em></p></div><h2>Forget first-mover advantage: Why being second could make you millions</h2><p>In a world obsessed with being first, Lynn shared different opinions that might just change how you think about your startup strategy. </p><blockquote><p>"<em>I think first mover advantage is a fallacy,</em>" she states boldly.</p></blockquote><p>Why? </p><p>Because being first often means spending enormous amounts of time and money to prove out a brand new market. And once you've done that hard work? You're left with a mountain of technical debt.</p><p>Lynn's investment in <strong>Lending Club</strong>, which went on to become the largest US tech IPO in 2014, wasn't a first-mover play. <strong>Prosper</strong> had already seeded the market. But Lending Club, as a second mover, was able to learn from Prosper's experience and quickly develop a better product with better marketing and no technical debt.</p><blockquote><p>"<em>I would challenge anyone to come up with more than just a handful of companies that are public today that truly were the first mover</em>," Lynn says. <em>"There are very few."</em></p></blockquote><h2>The counterintuitive trait that makes CEOs irresistible to both customers and investors</h2><p>When it comes to what makes a CEO truly stand out, Lynn's answer might surprise you. It's not about having the most cutting-edge technology or the most impressive pedigree. </p><p>It's about -</p>
      <p>
          <a href="https://mlnotes.substack.com/p/the-brutal-truth-about-what-vcs-really">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What CEOs Pay $100K For… We Built for Free]]></title><description><![CDATA[Imagine having a personal assistant who's available 24/7, never takes a day off, and can schedule your meetings with just a quick chat.]]></description><link>https://mlnotes.substack.com/p/what-ceos-pay-100k-for-we-built-for</link><guid isPermaLink="false">https://mlnotes.substack.com/p/what-ceos-pay-100k-for-we-built-for</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Thu, 27 Mar 2025 05:43:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!jOzY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5daee8c7-ac28-4e2a-90b4-70ac894318ab_3300x2550.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine having a personal assistant who's available 24/7, never takes a day off, and can schedule your meetings with just a quick chat. </p><p>It&#8217;s harder to find a chef on standby around the clock, but an executive assistant who can handle everything around your calendar and itinerary - AI is ready to do just that! </p><p>We've built <strong>an AI-powered calendar assistant</strong>&#8230;</p>
      <p>
          <a href="https://mlnotes.substack.com/p/what-ceos-pay-100k-for-we-built-for">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The Rise and Fall of 11x: A Cautionary Tale for the AI Startup Ecosystem]]></title><description><![CDATA[In the fast-paced world of artificial intelligence startups, the story of 11x is a stark reminder that not all that glitters is gold.]]></description><link>https://mlnotes.substack.com/p/the-rise-and-fall-of-11x-a-cautionary</link><guid isPermaLink="false">https://mlnotes.substack.com/p/the-rise-and-fall-of-11x-a-cautionary</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 25 Mar 2025 05:23:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!VIgZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the fast-paced world of artificial intelligence startups, the story of <strong><a href="https://www.11x.ai/">11x</a></strong> is a stark reminder that not all that glitters is gold. This AI-powered sales automation company, once hailed as a rising star in Silicon Valley, now stands as a cautionary tale of what can go wrong when hype, ambition, and questionable practices collide. </p><p>I ran into a16z&#8217;s briefing on 11x&#8217;s story, let&#8217;s see what we can learn from the 11x saga as startups, investors, and customers alike.</p><h2>Their Meteoric Rise is Too Good to Be True?</h2><p>11x burst onto the scene in 2022 with a bold promise: <strong>to revolutionize outbound sales through AI-powered bots.</strong></p><p>Founded by Hasan Sukkar, the company claimed to have reached nearly $10 million in annualized recurring revenue (ARR) within just two years. This explosive growth caught the attention of heavyweight investors, with Benchmark leading a $24 million Series A round and Andreessen Horowitz (a16z) following up with a $50 million Series B.</p><p>On the surface, 11x seemed to have it all &#8211; cutting-edge technology, rapid growth, and the backing of Silicon Valley's most prestigious venture capital firms. But as we'll soon discover, appearances can be deceiving.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VIgZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VIgZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VIgZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VIgZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VIgZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VIgZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg" width="660" height="552" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:552,&quot;width&quot;:660,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:32622,&quot;alt&quot;:&quot;Dr Child's Casebook: Appearances Can Be Deceptive &#8211; The Relative Anomaly |  Marfan Trust&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Dr Child's Casebook: Appearances Can Be Deceptive &#8211; The Relative Anomaly |  Marfan Trust" title="Dr Child's Casebook: Appearances Can Be Deceptive &#8211; The Relative Anomaly |  Marfan Trust" srcset="https://substackcdn.com/image/fetch/$s_!VIgZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 424w, https://substackcdn.com/image/fetch/$s_!VIgZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 848w, https://substackcdn.com/image/fetch/$s_!VIgZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!VIgZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3b126920-34ff-4384-872a-4d6aeb8865fd_660x552.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg 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"><a href="https://www.google.com/url?sa=i&amp;url=https%3A%2F%2Fwww.marfantrust.org%2Farticles%2F15-dr-child-s-casebook-appearances-can-be-deceptive-the-relative-anomaly&amp;psig=AOvVaw2lwwgJ55SdVVGmOya94t_Y&amp;ust=1742965451237000&amp;source=images&amp;cd=vfe&amp;opi=89978449&amp;ved=0CBQQjRxqFwoTCLCHq7m6pIwDFQAAAAAdAAAAABAV">Source</a></figcaption></figure></div><h2>Red Flags Waving in the Silicon Valley Breeze</h2><h3>"Our logo is on their website, but we're not a customer"</h3><p>One of the first red flags to emerge was 11x's questionable use of customer logos on its website. Multiple companies, including ZoomInfo and Airtable, found their logos displayed without permission. ZoomInfo's spokesperson didn't mince words: </p><blockquote><p><em>"We did not give them permission to use our logo in any manner, and we are not a customer."</em></p></blockquote><p>This wasn't just a simple oversight. ZoomInfo had conducted a short trial of 11x's product, found it "<em>performed significantly worse than our SDR employees,</em>" and decided not to move forward. Yet, 11x continued to claim ZoomInfo as a customer for months, even in sales calls and on its AI dialer.</p><p>Airtable faced a similar situation, with 11x listing them as a customer on their "manifesto" page long after a brief, unsuccessful trial. These weren't isolated incidents &#8211; another unnamed company shared a comparable experience.</p><h3>The ARR Mirage: When Numbers Don't Add Up</h3><p>11x's reported ARR figures began to raise eyebrows among employees and industry insiders. The company's approach to calculating ARR was, to put it mildly, <em>creative</em>. Here's how it worked:</p><ol><li><p>11x insisted on one-year contracts for pilot programs.</p></li><li><p>These contracts included a "break clause" at three months, essentially creating a trial period.</p></li><li><p>When reporting ARR, 11x counted the full year's value &#8211; even for customers who used the break clause to end their trial.</p></li></ol><p>A former employee laid it out starkly: </p><blockquote><p><em>"We were losing 70-80% of customers that came through the door." </em></p></blockquote><p>Yet, 11x's reported ARR didn't reflect this reality. Another ex-employee added, </p><blockquote><p><em>"They absolutely massaged the numbers internally when it came to growth and churn."</em></p></blockquote><p>While 11x claims to use "contracted ARR (CARR)" and says investors were aware of this metric, the discrepancy between reported figures and actual long-term customer value was significant. One employee estimated that out of a reported $14 million ARR, only about $3 million came from contracts that survived beyond the three-month trial period.</p><h2>When Reality Catches Up</h2><h3>Product Promises vs. Performance just don&#8217;t Match!</h3><p>As customers began using 11x's AI-powered sales tools, a gap emerged between expectations and reality. Many companies canceled after their trial periods, citing various issues:</p><ul><li><p>Unrealistic expectations: Some customers hoped 11x could replace entire outbound sales teams, a promise that proved too good to be true.</p></li><li><p>Underwhelming results: The actual number of meetings, demos, and calls booked fell short of projections.</p></li><li><p>Technical issues: Customers reported the product hallucinating or failing to load altogether.</p></li><li><p>Manual intervention: Instead of automating tasks, customers often had to manually check and correct the AI's work.</p></li></ul><p>One reviewer on Medium didn't hold back, stating that 11x's product was "<em>far less effective and yet cost more than its competitors.</em>" A former engineer was even more blunt: "<em>The products barely work.</em>"</p><h3>The Human Cost: A Toxic Work Culture Emerges</h3><p>Behind the scenes, 11x's work environment was taking a toll on its employees. Multiple sources described a culture of overwork and constant pressure:</p><ul><li><p>60+ hour work weeks were the norm</p></li><li><p>Employees were expected to be available at all hours</p></li><li><p>Weekend and holiday work was common</p></li><li><p>Public shaming on Slack for unavailability or mistakes</p></li><li><p>Threats of dismissal for speaking out</p></li></ul><p>One current employee said: </p><blockquote><p><em>"There's a lot more under the hood. One day, there will be a documentary about this guy. I do believe that's how scandalous he is."</em></p></blockquote><h2>Lessons for Startups: Building on Solid Foundations&#129412; (Lessons for investors below!&#128071; )</h2><p>The 11x saga offers several crucial lessons for aspiring entrepreneurs and startup founders:</p>
      <p>
          <a href="https://mlnotes.substack.com/p/the-rise-and-fall-of-11x-a-cautionary">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[What is MCP and Some Illustrated Examples]]></title><description><![CDATA[Imagine having your own personal AI assistant that could effortlessly manage your emails, schedule meetings, analyze data, and even code for you.]]></description><link>https://mlnotes.substack.com/p/what-is-mcp-and-some-illustrated</link><guid isPermaLink="false">https://mlnotes.substack.com/p/what-is-mcp-and-some-illustrated</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 18 Mar 2025 03:52:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uH6m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Imagine having your own personal AI assistant that could effortlessly manage your emails, schedule meetings, analyze data, and even code for you. We're closer than ever to making this a reality, thanks to the rapid advancements in large language models (LLMs) like GPT-4. But there's a catch &#8211; these AI marvels are still frustratingly limited in what they can actually do.</p><p>A recent viral concept - <strong><a href="https://www.anthropic.com/news/model-context-protocol">MCP</a></strong>, could be the unsung hero that's about to change everything in the world of AI. But what exactly is MCP, and why should you care? </p><h2>What the Heck is MCP Anyway?</h2><p><strong>MCP, or Multimodal Conversational Protocol</strong>, is the latest buzzword taking the AI world by storm. But don't let the fancy name fool you &#8211; at its core, MCP is a brilliantly simple solution to a complex problem.</p><p>Professor Ross Mike, explains it best:</p><blockquote><p><em>"Understanding MCP is really important, but you'll also realize the benefits and why it's sort of a big deal, but not really at the same time."</em></p></blockquote><p>In essence, MCP is a new standard that allows LLMs (like ChatGPT) to seamlessly connect with external tools and services. Think of it as a universal <em>translator</em> that enables your AI assistant to speak fluently with databases, APIs, and a whole host of other digital services.</p><h2>Current LLMs Are Like Brilliant Scholars Trapped in a Library.</h2><p>To truly appreciate the significance of MCP, we need to understand the limitations of current LLMs. As Professor Mike points out:</p><blockquote><p><em>"LLMs by themselves are incapable of doing anything meaningful. What do I mean by that? If you remember the first ChatGPT 3 or 3.5, if you just open any chatbot and tell it to send you an email, it won't know how to do that."</em></p></blockquote><p>Imagine the smartest person you know, locked in a vast library with all the world's knowledge. They can answer questions and discuss any topic, but they can't actually do anything beyond the confines of that library. That's essentially what we're dealing with when it comes to current LLMs.</p><h2>We Need to Move From Basic LLMs to Tool-Connected Assistants</h2><p>The next step in AI assistant evolution was connecting LLMs to external tools. This allowed them to perform more practical tasks, like searching the internet or updating spreadsheets. However, this approach came with its own set of headaches.</p><p>Professor Mike illustrates the problem:</p><blockquote><p><em>"You start to become someone who glues a bunch of different tools to these LLMs, and it can get very frustrating, very cumbersome. If you're wondering why we don't have an Iron Man level Jarvis assistant, it's because combining these tools, making it work with the LLM is one thing, but then stacking these tools on top of each other, making it cohesive, making it work together is a nightmare itself."</em></p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!uH6m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!uH6m!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 424w, https://substackcdn.com/image/fetch/$s_!uH6m!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 848w, https://substackcdn.com/image/fetch/$s_!uH6m!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!uH6m!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!uH6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png" width="1456" height="669" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:669,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:278909,&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://mlnotes.substack.com/i/159306327?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.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_!uH6m!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 424w, https://substackcdn.com/image/fetch/$s_!uH6m!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 848w, https://substackcdn.com/image/fetch/$s_!uH6m!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!uH6m!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F60b68d30-1fc5-477d-a99d-81a62963e2c4_2548x1170.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Ross Mike</figcaption></figure></div><h2>MCP Lets All Your Agentic Tools Speak the Same Language</h2><p>This is where MCP comes in to save the day. Instead of dealing with a mishmash of different tools and APIs, each speaking its own "language," MCP acts as a universal translator.</p><p>Professor Mike breaks it down with a brilliant analogy:</p><blockquote><p><em>"Think of every tool that I have to connect to to make my LLM valuable as a different language. Tool one's English, tool two is Spanish, tool three is Japanese, right? MCP you can consider it to be a layer between your LLM and the services and the tools, and this layer translates all those different languages into a unified language that makes complete sense to the LLM."</em></p></blockquote><h2>A Peek Under the Hood of How MCP Is Structured</h2><p>To truly grasp the power of MCP, it's helpful to understand its basic structure. The MCP ecosystem consists of four main components:</p><ol><li><p>MCP Client: This is the user-facing side, where the LLM interacts.</p></li><li><p>MCP Protocol: The standardized communication method between client and server.</p></li><li><p>MCP Server: Translates the capabilities of external services for the client.</p></li><li><p>External Service: The actual tool or API being accessed.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7sTl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7sTl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 424w, https://substackcdn.com/image/fetch/$s_!7sTl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 848w, https://substackcdn.com/image/fetch/$s_!7sTl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!7sTl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7sTl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png" width="1456" height="708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:708,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:200453,&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://mlnotes.substack.com/i/159306327?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.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_!7sTl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 424w, https://substackcdn.com/image/fetch/$s_!7sTl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 848w, https://substackcdn.com/image/fetch/$s_!7sTl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 1272w, https://substackcdn.com/image/fetch/$s_!7sTl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F379468d8-f613-4796-bffd-5fe95ed0376e_2370x1152.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Source: Ross Mike</figcaption></figure></div><h2>What Do MCPs Look Like?</h2><h4><strong>1) A Simple JSON-Based MCP Payload</strong></h4><p>Imagine you have a user querying a corporate knowledge base for recent product updates. MCP could define a JSON structure for how this conversation flow is packaged:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TteX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TteX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 424w, https://substackcdn.com/image/fetch/$s_!TteX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 848w, https://substackcdn.com/image/fetch/$s_!TteX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 1272w, https://substackcdn.com/image/fetch/$s_!TteX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TteX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png" width="1456" height="882" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:882,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:431874,&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://mlnotes.substack.com/i/159306327?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.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_!TteX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 424w, https://substackcdn.com/image/fetch/$s_!TteX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 848w, https://substackcdn.com/image/fetch/$s_!TteX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 1272w, https://substackcdn.com/image/fetch/$s_!TteX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0780f060-2f6f-4949-a41b-c600d34959cb_3274x1984.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Explanation:</strong></p><ul><li><p>The protocol_version allows for backward compatibility.</p></li><li><p>context_retrieval details the sources for relevant documents.</p></li><li><p>context_wrapping compresses or summarizes those documents under wrapped_context.</p></li><li><p>prompt_assembly merges the user&#8217;s question with the curated context.</p></li><li><p>model_coordination tells the system which model to call and what format we want back.</p></li></ul><h4>2) A Multi-Step Chat Example</h4><p>Consider an interactive chatbot that helps users analyze legal documents. MCP can define how each turn of the conversation is handled:</p>
      <p>
          <a href="https://mlnotes.substack.com/p/what-is-mcp-and-some-illustrated">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Engineering in 2025: Chip Huyen’s Framework for Surviving the Next Wave of AI]]></title><description><![CDATA[The AI Revolution Is Here - Are You Ready?]]></description><link>https://mlnotes.substack.com/p/ai-engineering-in-2025-chip-huyens</link><guid isPermaLink="false">https://mlnotes.substack.com/p/ai-engineering-in-2025-chip-huyens</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Sat, 15 Mar 2025 18:12:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/HLNAnq7bvRQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><div class="pullquote"><p>The AI Revolution Is Here - Are You Ready?</p></div><p>Imagine waking up in 2025 to find that your job as a software engineer has been completely transformed. The code you once painstakingly wrote line by line is now generated in seconds by AI. The architecture decisions you agonized over are now suggested by intelligent systems. And the deployment processes you met&#8230;</p>
      <p>
          <a href="https://mlnotes.substack.com/p/ai-engineering-in-2025-chip-huyens">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Curiosity - Stay Ahead at the Forefront of AI]]></title><description><![CDATA[A Reminder from Fei-Fei Li]]></description><link>https://mlnotes.substack.com/p/curiosity-stay-ahead-at-the-forefront</link><guid isPermaLink="false">https://mlnotes.substack.com/p/curiosity-stay-ahead-at-the-forefront</guid><dc:creator><![CDATA[Angelina Yang]]></dc:creator><pubDate>Tue, 11 Mar 2025 03:05:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!k_TQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When we think of groundbreaking AI advancements, our minds often jump to complex algorithms, powerful hardware, or massive datasets. </p><div class="pullquote"><p>But what if I told you that the real driving force behind some of the most significant leaps in artificial intelligence is something far more fundamental and human?</p></div><p><strong>Dr. Fei-Fei Li</strong>, a name synonymous with pioneering AI research and the person behind <strong>ImageNet</strong>, a dataset that revolutionized computer vision and catalyzed the deep learning boom. In a recent conversation with Brad Smith on the "<em>Tools and Weapons</em>" podcast, Li revealed a surprising truth about the core of innovation:</p><blockquote><p><em>"<strong>Curiosity</strong> is not just moments of delight, or sense of wonder. Curiosity is a state of being, and that state of being makes me happy."</em></p></blockquote><p>This statement isn't just a feel-good platitude. It's a powerful insight into the engine that drives scientific progress. But how does one cultivate and maintain this curiosity in a field as complex and rapidly evolving as AI? Let's dive deeper into Li's journey and uncover the lessons that could reshape how we approach innovation.</p><h2><strong>Could the next big AI breakthrough be inspired by an observation at a local flea market or a casual conversation with a stranger?</strong></h2><p>Picture this: A teenage girl, newly immigrated to the United States, spending her weekends at yard sales with her father. It doesn't sound like the origin story of a world-renowned AI scientist, does it? But for Fei-Fei Li, these seemingly mundane experiences were formative in shaping her approach to science.</p><p>Li recounts how her father approached each yard sale with childlike wonder:</p><blockquote><p><em>"He would approach every little like stand, or table of whatever items with that kind of pure child-like, 'Oh my God, Fei-Fei, come and look at this cup. It has a owl on it', or 'Look at this garden tool. I've never thought of you can design it this way so that it's easy to uproot a plant.'"</em></p></blockquote><p>This anecdote is quite charming, and to me it sounds so silly, and yet it is a profound reminder. Li draws a direct parallel between her father's approach to yard sales and the scientific mindset:</p><blockquote><p><em>"Now that I've been a career scientist for decades, I realize that delight in seeing things for the first time, and keeping that curiosity is the same as what we do as scientists the first time I open a paper, look at the results someone gives us, or heard about a algorithm."</em></p></blockquote><p>The lesson here is clear: </p><p>Curiosity isn't just for labs and research papers. It's a way of engaging with the world that can be practiced and honed in everyday life. </p><p>This perspective challenges us to reconsider how we approach our daily experiences. </p><p><em><strong>Could the next big AI breakthrough be inspired by an observation at a local flea market or a casual conversation with a stranger?</strong></em></p><p>As a mom with small kids, this is a reminder to me how important it is to encourage them to explore and be curious, rather than just memorizing what&#8217;s taught in the text books.  </p><p>Especially with the current development of AI, perhaps education in the future will not be bounded by pedigree alone. Comparing to aiming for Ivy Leagues, I would rather my kids build their confidence to pursue what they are curious and passion about in life, and not chasing &#8220;the rat race&#8221;.&#129299;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k_TQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k_TQ!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 424w, https://substackcdn.com/image/fetch/$s_!k_TQ!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 848w, https://substackcdn.com/image/fetch/$s_!k_TQ!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!k_TQ!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k_TQ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif" width="480" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:480,&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_!k_TQ!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 424w, https://substackcdn.com/image/fetch/$s_!k_TQ!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 848w, https://substackcdn.com/image/fetch/$s_!k_TQ!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!k_TQ!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F086a8f10-aa8b-4f05-8cf4-ade748f97c38_480x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Do you have the courage to say &#8220;No&#8221; to a Six-Figure Salary?</h2><p>Imagine standing at a crossroads in your career. On one path, a prestigious consulting firm offers you a six-figure salary &#8211; financial security and societal approval. On the other, the uncertain world of academic research, with its long hours, grant applications, and no guarantee of success. </p><p>Which would you choose?</p><p>Tbh, I probably would chose the consulting offer. </p><p>But for Fei-Fei Li, this wasn't a hypothetical scenario. It was a real decision she faced early in her career. The choice was made more difficult by her family's financial struggles and her mother's health issues. Yet, when Li wavered, her mother's advice was clear:</p><blockquote><p><em>"Go for what you love."</em></p></blockquote><p>Li reflects on this moment:</p><blockquote><p><em>"Curiosity is a state of being, and that state of being makes me happy, and being a scientist makes me happy, because I'm entitled to be curious all the time, and my mom knew that, and that's what she encouraged me to do."</em></p></blockquote><p>This decision point highlights a crucial aspect of innovation that's often overlooked: </p><div class="pullquote"><p>the courage to choose <strong>curiosity</strong> over <strong>comfort</strong>. </p></div><p>It's a reminder that breakthrough ideas often come from those willing to take risks and follow their intellectual passions, even when the immediate rewards aren't apparent.</p><p>But Li's story isn't just about individual choice. It underscores a broader question: </p><p>How can we, as a society, create environments that encourage more people to make this choice? </p><p>How can we build systems that value and reward curiosity-driven pursuits?</p><h2><a href="https://www.image-net.org/about.php">ImageNet</a>: You can change the world if you are willing to take the risk. </h2><p>In the early 2000s, when AI was still in its "<strong>winter</strong>" phase, Fei-Fei Li embarked on a project that many of her colleagues considered misguided at best and career-ending at worst. This project was ImageNet, a dataset of 15 million images across 22,000 categories.</p><p>Li describes the skepticism she faced:</p><blockquote><p><em>"Some of them will say, 'Well, that's kind of a bad idea.' Some of them would even go as far as saying, 'That might be an idea that hurts your career.'"</em></p></blockquote><p>Yet, Li persisted. Why? Because she saw something others didn't:</p><blockquote><p>"<em>We observed, before we made ImageNet that that's just a wrong way of thinking. Mathematically, these machine learning models need to be able to learn and generalize, and the way to drive that learning and generalization in addition to the architecture of the algorithm, is actually through data, and diverse data, a large amount of data."</em></p></blockquote><p>This insight &#8211; that big, diverse datasets were crucial for machine learning &#8211; seems obvious now. But at the time, it was revolutionary. ImageNet became the catalyst for the deep learning revolution, fundamentally changing the landscape of AI research and applications.</p><p>The story of ImageNet teaches us several crucial lessons:</p><ol><li><p><strong>The power of contrarian thinking</strong>: Sometimes, the most impactful ideas are those that go against the current consensus.</p></li><li><p><strong>The importance of persistence</strong>: Breakthrough innovations often require pushing through skepticism and setbacks.</p></li><li><p><strong>The value of interdisciplinary insights</strong>: Li's background in neuroscience informed her approach to AI, highlighting the importance of diverse perspectives in research.</p></li></ol><p>But perhaps most importantly, it underscores the unpredictable nature of scientific progress. </p><p>Who could have foreseen that a massive image dataset would be the key to unlocking the potential of deep learning?</p><h2>Why academic freedom matters more than ever?</h2><p>In an era where tech giants dominate headlines with their AI breakthroughs, it's easy to overlook the critical role of academia in driving innovation. Fei-Fei Li's career offers a compelling argument for why academic research remains indispensable.</p><p>Li passionately advocates for curiosity-driven research in academia:</p><blockquote><p>"C<em>uriosity based research fundamentally is linked to the word freedom, is that, when you are a researcher or professor in a university in an academic setting, you don't have a manager, or a director who tells you, 'Fei-Fei, come here to Princeton or Stanford, and these are the three things you should work on.' No, you are just given a desk, an office, and an opportunity to apply for funding, and then do whatever you want."</em></p></blockquote><p>This freedom allows researchers to pursue ideas that might seem impractical or even foolish in the short term but can lead to groundbreaking discoveries. ImageNet is a prime example of this. Had Li been constrained by short-term profit motives or narrow research directives, this project &#8211; which fundamentally changed the course of AI &#8211; might never have happened.</p><p>But academic freedom isn't just about allowing researchers to follow their whims. It's about creating an environment where:</p><ol><li><p><strong>Long-term thinking is encouraged</strong>: Unlike industry research, which often focuses on quarterly results, academic research can tackle problems with longer time horizons.</p></li><li><p><strong>Failure is acceptable</strong>: The freedom to fail is crucial for innovation. In academia, a "failed" experiment can still yield valuable insights.</p></li><li><p><strong>Cross-pollination of ideas occurs</strong>: Universities bring together experts from diverse fields, fostering interdisciplinary collaboration that can lead to unexpected breakthroughs.</p></li><li><p><strong>Ethical considerations are prioritized</strong>: Academic research can focus on the broader implications of technology without being driven solely by market demands.</p></li></ol><p>However, this academic freedom doesn't exist in a vacuum. It requires support, particularly in the form of funding. Li emphasizes the crucial role of government funding in her career:</p><blockquote><p>"<em>Overall, it's critical. I would say, of course you have to take it down and analyze which project got funding, but as you said, for my early years, absolutely, The National Science Foundation is one of the major funding source."</em></p></blockquote><p>This brings us to a critical point: The health of our innovation ecosystem depends on continued investment in academic research. As we navigate the rapidly evolving landscape of AI, maintaining and strengthening this support becomes more important than ever.</p><h2>The Ecosystem of Innovation: Why we need a symphony, NOT a solo</h2><p>One of the most striking insights from Li's conversation is the importance of what she calls the "<strong>ecosystem of innovation</strong>." </p>
      <p>
          <a href="https://mlnotes.substack.com/p/curiosity-stay-ahead-at-the-forefront">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>