<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>System Design on Programmer.ie: Modern AI programming</title>
    <link>http://programmer.ie/tags/system-design/</link>
    <description>Recent content in System Design on Programmer.ie: Modern AI programming</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 07 Sep 2026 16:00:00 +0000</lastBuildDate>
    <atom:link href="http://programmer.ie/tags/system-design/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Retrieval Is a Policy</title>
      <link>http://programmer.ie/books/embeddings-from-first-principles/12-chapter/</link>
      <pubDate>Mon, 07 Sep 2026 11:30:00 +0000</pubDate>
      <guid>http://programmer.ie/books/embeddings-from-first-principles/12-chapter/</guid>
      <description>&lt;p&gt;&lt;em&gt;Part III — Retrieval Is an Experiment&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;just-retrieve-the-relevant-documents&#34;&gt;&amp;ldquo;Just retrieve the relevant documents&amp;rdquo;&lt;/h2&gt;&#xA;&lt;p&gt;There is no such operation. What actually runs is a pipeline, and every stage has parameters that change the output:&lt;/p&gt;&#xA;&lt;pre class=&#34;mermaid&#34;&gt;&#xA;    flowchart TD&#xA;    Q[query] --&amp;gt; QT[&amp;#34;query transform — raw / rewrite / expand / HyDE / decompose&amp;#34;]&#xA;    QT --&amp;gt; RE[&amp;#34;representation — which model, normalization, chunking&amp;#34;]&#xA;    RE --&amp;gt; CG[&amp;#34;candidate generation — ANN index, nprobe / ef, pre-filters&amp;#34;]&#xA;    CG --&amp;gt; SI[&amp;#34;similarity — metric, hybrid dense+sparse weighting&amp;#34;]&#xA;    SI --&amp;gt; TH[&amp;#34;threshold — minimum score to survive&amp;#34;]&#xA;    TH --&amp;gt; RK[&amp;#34;ranking — rerank top-N with a cross-encoder?&amp;#34;]&#xA;    RK --&amp;gt; DV[&amp;#34;diversity / dedup — MMR, cluster collapse&amp;#34;]&#xA;    DV --&amp;gt; TK[&amp;#34;top-k — how many survive&amp;#34;]&#xA;    TK --&amp;gt; CA[&amp;#34;context assembly — order, dedup, budget, citations&amp;#34;]&#xA;    CA --&amp;gt; M[&amp;#34;what the model actually sees = the system&amp;#39;s memory&amp;#34;]&#xA;  &lt;/pre&gt;&#xA;  &lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Retrieval does not return &amp;ldquo;the relevant documents.&amp;rdquo; It returns whatever this specific chain of decisions produces — and that is the system&amp;rsquo;s memory.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building an Embedding Runtime</title>
      <link>http://programmer.ie/books/embeddings-from-first-principles/24-chapter/</link>
      <pubDate>Mon, 07 Sep 2026 16:00:00 +0000</pubDate>
      <guid>http://programmer.ie/books/embeddings-from-first-principles/24-chapter/</guid>
      <description>&lt;p&gt;&lt;em&gt;Part VIII — Embeddings Become Infrastructure&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;not-a-rag-chatbot&#34;&gt;Not a RAG chatbot&lt;/h2&gt;&#xA;&lt;p&gt;The obvious capstone would be &amp;ldquo;build a RAG system.&amp;rdquo; It would also be the wrong one — a RAG system exercises maybe a third of this book and hides the rest inside a framework.&lt;/p&gt;&#xA;&lt;p&gt;The capstone is an &lt;strong&gt;Embedding Observatory&lt;/strong&gt;: a runtime whose job is to know things about representations. It ingests text, documents, and queries under one or more embedding models, and it exposes not just vectors but the geometry, neighborhoods, distributions, evaluations, calibrations, versions, and bridges that the book spent 23 chapters building tools for.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
