insert slide 14 "What the model actually sees" with token IDs visualization

New slide goes one level deeper than slide 13 — shows the integer token IDs
the model actually receives, not just the colored subword tiles. Uses
llm-animation-tokenids.svg with figure max-width 960px (vs 860px for the
narrower LLM SVGs) since the asset's viewBox is 1360×600.

Caption translates the math notation deliberately left in the SVG:
- "The model never reads text — it reads a sequence of integers, each one
  an index into a vocabulary of ~200,000 entries."
- "Notice the comma is always ID 11 — the same punctuation mark maps to
  the same integer, everywhere, every time."

Renumbering: former slides 14–53 shifted to 15–54. Total slide count
53 → 54. data-level distribution preserved.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Shayan Rais
2026-05-07 11:59:09 +05:00
parent 9a2657c431
commit a3f84f446f
@@ -635,9 +635,34 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 14: Models are stateless -->
<!-- SLIDE 14: What the Model Actually Sees — Integer Token IDs -->
<!-- ============================================================ -->
<div class="slide" data-slide="14">
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(100vh - 120px); text-align: center; gap: 0;">
<!-- Title -->
<h1 style="border-bottom: none; padding-bottom: 0; font-size: 2.6rem; margin-bottom: 28px;">What the model actually sees</h1>
<!-- Animated SVG — wider asset (1360×600 viewBox); use max-width 960px to fill the slide without overcrowding -->
<figure style="max-width: 960px; width: 100%; margin: 0 auto;">
<img
src="../assets/llm/llm-animation-tokenids.svg"
alt="Animated diagram showing the 32 integer token IDs the model receives: e.g. 28133 for 'Does', 17554 for ' Chat', 162016 for 'GPT', 97481 for ' Claude'. Generated tokens are also shown as IDs. Vocab size V ≈ 200,000."
style="width: 100%; border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,0.10);"
/>
<figcaption style="margin-top: 20px; font-size: 1rem; color: #555; font-style: italic; line-height: 1.5;">
<strong style="font-style: normal; color: #1a1a1a;">The model never reads text &mdash; it reads a sequence of integers, each one an index into a vocabulary of ~200,000 entries.</strong><br/>
Notice the comma is always ID&nbsp;11 &mdash; the same punctuation mark maps to the same integer, everywhere, every time.
</figcaption>
</figure>
</div>
</div>
<!-- ============================================================ -->
<!-- SLIDE 15: Models are stateless -->
<!-- ============================================================ -->
<div class="slide" data-slide="15">
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(100vh - 120px); text-align: center; gap: 0;">
<!-- Title -->
@@ -694,9 +719,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 15: Model Limitations &mdash; Real-time access -->
<!-- SLIDE 16: Model Limitations &mdash; Real-time access -->
<!-- ============================================================ -->
<div class="slide" data-slide="15">
<div class="slide" data-slide="16">
<h1>&#x1F9E0; Models &mdash; e.g. Opus, GPT, Gemini</h1>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 40px 0;">
<div class="col-card" style="border-left: 4px solid #4caf50;">
@@ -733,9 +758,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 16: Limitations -->
<!-- SLIDE 17: Limitations -->
<!-- ============================================================ -->
<div class="slide" data-slide="16">
<div class="slide" data-slide="17">
<h1>&#x1F9E0; Limitations</h1>
<p>The raw model has <strong>no real-time access</strong> &mdash; no internet, no files, no clock.</p>
<div style="text-align: center; margin: 24px 0;">
@@ -744,9 +769,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 17: Horse Harness — The Pivot Analogy -->
<!-- SLIDE 18: Horse Harness — The Pivot Analogy -->
<!-- ============================================================ -->
<div class="slide" data-slide="17">
<div class="slide" data-slide="18">
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(100vh - 120px); text-align: center; gap: 0;">
<!-- SVG Horse with Harness — annotated callout version -->
@@ -909,9 +934,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 18: Tool Calling &mdash; how the harness reaches the world -->
<!-- SLIDE 19: Tool Calling &mdash; how the harness reaches the world -->
<!-- ============================================================ -->
<div class="slide" data-slide="18">
<div class="slide" data-slide="19">
<h1>&#x26A1; Tool Calling &mdash; how the harness reaches the world</h1>
<div style="text-align: center; margin: 24px 0;">
<img src="../assets/harness/tool-calling.png"
@@ -932,9 +957,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 19: Harness (1 of 2) &mdash; mind, methods, memory -->
<!-- SLIDE 20: Harness (1 of 2) &mdash; mind, methods, memory -->
<!-- ============================================================ -->
<div class="slide" data-slide="19">
<div class="slide" data-slide="20">
<h1>&#x1F4AA; Harness &mdash; the body around the brain</h1>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin: 28px 0;">
<div class="col-card" style="flex: 0 1 calc(33.333% - 12px); border-left: 4px solid #009688; text-align: center;">
@@ -977,9 +1002,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 20: Harness (2 of 2) &mdash; senses, rules, reflexes -->
<!-- SLIDE 21: Harness (2 of 2) &mdash; senses, rules, reflexes -->
<!-- ============================================================ -->
<div class="slide" data-slide="20">
<div class="slide" data-slide="21">
<h1>&#x1F4AA; Harness &mdash; the body around the brain</h1>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin: 28px 0;">
<div class="col-card" style="flex: 0 1 calc(33.333% - 12px); border-left: 4px solid #4caf50; text-align: center;">
@@ -1014,9 +1039,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 21: Problem solved with harness &mdash; success case -->
<!-- SLIDE 22: Problem solved with harness &mdash; success case -->
<!-- ============================================================ -->
<div class="slide" data-slide="21">
<div class="slide" data-slide="22">
<h1>&#x1F389; Yayyyyy! Problem solved with harness</h1>
<p>The harness reaches out via <strong>WebSearch</strong> and fetches a real answer from live sources.</p>
<div style="text-align: center; margin: 24px 0;">
@@ -1025,9 +1050,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 22: Suspense / transition &mdash; But...? -->
<!-- SLIDE 23: Suspense / transition &mdash; But...? -->
<!-- ============================================================ -->
<div class="slide" data-slide="22">
<div class="slide" data-slide="23">
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 75vh; text-align: center;">
<div style="font-size: 12rem; color: #3f51b5; line-height: 1; font-weight: 700;">?</div>
<p style="font-size: 1.6rem; color: #555; margin: 24px 0 0; max-width: 900px; font-weight: 600;">Really?</p>
@@ -1035,9 +1060,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 23: Non-determinism 1 &mdash; Refuses to use tools -->
<!-- SLIDE 24: Non-determinism 1 &mdash; Refuses to use tools -->
<!-- ============================================================ -->
<div class="slide" data-slide="23">
<div class="slide" data-slide="24">
<h1>&#x1F4AA; Non-determinism &mdash; Doesn&rsquo;t always use its tools</h1>
<p>Similar prompt &mdash; but this time <strong>the model decided not to use the tool</strong>.</p>
<div style="text-align: center; margin: 24px 0;">
@@ -1046,9 +1071,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 24: Non-determinism 2 &mdash; Tools can fail -->
<!-- SLIDE 25: Non-determinism 2 &mdash; Tools can fail -->
<!-- ============================================================ -->
<div class="slide" data-slide="24">
<div class="slide" data-slide="25">
<h1>&#x1F4AA; Non-determinism &mdash; Tools can fail</h1>
<p>The model first tried <strong>one source</strong> &mdash; it <strong>failed (403)</strong> &mdash; so it fell back to <strong>another</strong>.</p>
<div style="text-align: center; margin: 24px 0;">
@@ -1057,9 +1082,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 25: The Two Problems &mdash; what we're solving -->
<!-- SLIDE 26: The Two Problems &mdash; what we're solving -->
<!-- ============================================================ -->
<div class="slide" data-slide="25">
<div class="slide" data-slide="26">
<h1>&#x1F6A8; Problem Statement</h1>
<ol style="padding-left: 32px; margin: 40px 0 0 0; line-height: 2;">
<li style="font-size: 1.25rem; color: #444; margin-bottom: 24px;">
@@ -1074,9 +1099,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 26: Vibe Coding &mdash; Karpathy&rsquo;s original tweet -->
<!-- SLIDE 27: Vibe Coding &mdash; Karpathy&rsquo;s original tweet -->
<!-- ============================================================ -->
<div class="slide" data-slide="26">
<div class="slide" data-slide="27">
<h1>Vibe Coding</h1>
<div style="text-align: center; margin: 16px 0;">
<img src="../assets/concepts/vibe-coding.jpg" alt="Andrej Karpathy's Feb 3 2025 tweet coining 'vibe coding' — 'fully give in to the vibes, embrace exponentials, and forget that the code even exists'" style="max-width: 100%; max-height: 55vh; border-radius: 12px; box-shadow: 0 4px 24px rgba(0,0,0,0.12);" />
@@ -1086,9 +1111,9 @@
</div>
<!-- ============================================================ -->
<!-- SLIDE 27: Vibe Coding vs Agentic Engineering -->
<!-- SLIDE 28: Vibe Coding vs Agentic Engineering -->
<!-- ============================================================ -->
<div class="slide" data-slide="27">
<div class="slide" data-slide="28">
<h1>Vibe Coding vs Agentic Engineering</h1>
<div class="two-col">
<div>
@@ -1157,7 +1182,7 @@ todoapp/
<!-- ============================================================ -->
<!-- Slide 8: Agents Section Divider -->
<div class="slide section-slide" data-slide="28" data-level="agents">
<div class="slide section-slide" data-slide="29" data-level="agents">
<div class="slide-viewport-content">
<h1>👤 Agents</h1>
<div style="text-align: center; margin: 12px auto 20px auto;">
@@ -1215,7 +1240,7 @@ todoapp/
</div>
<!-- Slide 9: The Restaurant Kitchen -->
<div class="slide" data-slide="29">
<div class="slide" data-slide="30">
<div style="min-height: calc(100vh - 120px);">
<h1>Create your first agent &mdash; <code>/agents</code></h1>
<div style="max-width: 600px;">
@@ -1269,7 +1294,7 @@ todoapp/
</div>
<!-- Slide 10: Prompting vs Agent table -->
<div class="slide" data-slide="30">
<div class="slide" data-slide="31">
<div style="min-height: calc(100vh - 120px);">
<h1>Demo</h1>
<video
@@ -1320,7 +1345,7 @@ todoapp/
</div>
<!-- Slide: Agent Created (image only) -->
<div class="slide" data-slide="31" data-level="agents">
<div class="slide" data-slide="32" data-level="agents">
<h1>&#x1F389; Yayyyyy! Problem solved with agents</h1>
<div style="min-height: calc(100vh - 200px); display: flex; align-items: center; justify-content: center;">
<img src="../assets/concepts/agents/agent-created.png" alt="Agent created" style="max-width: 1200px; max-height: 80vh; width: 100%; height: auto; display: block; margin: 0 auto; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.1);" />
@@ -1365,7 +1390,7 @@ todoapp/
</div>
<!-- Slide 27: Skeptical counter-beat (mirrors slide 17) -->
<div class="slide" data-slide="32" data-level="agents">
<div class="slide" data-slide="33" data-level="agents">
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(100vh - 120px); text-align: center;">
<div style="font-size: 12rem; color: #3f51b5; line-height: 1; font-weight: 700;">?</div>
<p style="font-size: 1.6rem; color: #555; margin: 24px 0 0; max-width: 900px; font-weight: 600;">Not so fast...</p>
@@ -1410,7 +1435,7 @@ todoapp/
</div>
<!-- Slide 28: Callback to problem statement — agents solve half -->
<div class="slide" data-slide="33" data-level="agents">
<div class="slide" data-slide="34" data-level="agents">
<h1>&#x1F6A8; Problem Statement</h1>
<div style="min-height: calc(100vh - 120px);">
<ol style="padding-left: 32px; margin: 40px 0 0 0; line-height: 2;">
@@ -1464,7 +1489,7 @@ todoapp/
</div>
<!-- Slide 13: Agent Config Fields -->
<div class="slide" data-slide="34" data-level="agents">
<div class="slide" data-slide="35" data-level="agents">
<h1>Agent config fields with frontmatter</h1>
<div style="margin: 24px 0;">
<div class="field-row" style="padding-bottom: 6px; border-bottom: 2px solid #ddd;">
@@ -1554,7 +1579,7 @@ todoapp/
</div>
<!-- Slide 30: Agent tips and tricks — part 1 -->
<div class="slide" data-slide="35" data-level="agents">
<div class="slide" data-slide="36" data-level="agents">
<h1><code>claude-code-best-practice</code> Tips &amp; Tricks</h1>
<div style="min-height: calc(100vh - 200px); display: flex; align-items: center; justify-content: center;">
<img src="../assets/concepts/agents/agent-tips-1.png" alt="Claude Code tips and tricks — part 1" style="max-width: 1200px; max-height: 80vh; width: auto; height: auto; display: block; margin: 20px auto 0 auto; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.1); object-fit: contain;" />
@@ -1599,7 +1624,7 @@ todoapp/
</div>
<!-- Slide 31: Agent tips and tricks — part 2 -->
<div class="slide" data-slide="36" data-level="agents">
<div class="slide" data-slide="37" data-level="agents">
<h1><code>claude-code-best-practice</code> Tips &amp; Tricks</h1>
<div style="min-height: calc(100vh - 200px); display: flex; align-items: center; justify-content: center;">
<img src="../assets/concepts/agents/agent-tips-2.png" alt="Claude Code tips and tricks — part 2" style="max-width: 1200px; max-height: 80vh; width: auto; height: auto; display: block; margin: 20px auto 0 auto; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.1); object-fit: contain;" />
@@ -1648,7 +1673,7 @@ todoapp/
<!-- ============================================================ -->
<!-- Slide 32: CLAUDE.md concept intro -->
<div class="slide section-slide" data-slide="37">
<div class="slide section-slide" data-slide="38">
<div class="slide-viewport-content">
<h1>&#x1F4DD; CLAUDE.md</h1>
<div style="text-align: center; margin: 12px auto 20px auto;">
@@ -1704,7 +1729,7 @@ todoapp/
</div>
<!-- Slide 33: Create your first CLAUDE.md — /init -->
<div class="slide" data-slide="38" data-level="claude-md">
<div class="slide" data-slide="39" data-level="claude-md">
<div style="min-height: calc(100vh - 120px);">
<h1>Create your first CLAUDE.md &mdash; <code>/init</code></h1>
<div style="max-width: 600px;">
@@ -1758,7 +1783,7 @@ todoapp/
</div>
<!-- Slide 34: CLAUDE.md — the real thing (screenshot) -->
<div class="slide" data-slide="39" data-level="claude-md">
<div class="slide" data-slide="40" data-level="claude-md">
<div style="min-height: calc(100vh - 120px);">
<h1>&#x1F4DD; CLAUDE.md &mdash; the real thing</h1>
<div style="display: flex; align-items: center; justify-content: center;">
@@ -1805,7 +1830,7 @@ todoapp/
</div>
<!-- Slide 35: claude-code-best-practice Tips & Tricks (CLAUDE.md) -->
<div class="slide" data-slide="40" data-level="claude-md">
<div class="slide" data-slide="41" data-level="claude-md">
<h1><code>claude-code-best-practice</code> Tips &amp; Tricks</h1>
<div style="min-height: calc(100vh - 200px); display: flex; align-items: center; justify-content: center;">
<img src="../assets/concepts/claudemd/claudemd-tips.png" alt="Claude Code tips and tricks for CLAUDE.md" style="max-width: 1200px; max-height: 80vh; width: auto; height: auto; display: block; margin: 20px auto 0 auto; border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,0.1); object-fit: contain;" />
@@ -1850,7 +1875,7 @@ todoapp/
</div>
<!-- Slide 36: CLAUDE.md problem — keep it under 200 lines -->
<div class="slide" data-slide="41" data-level="claude-md">
<div class="slide" data-slide="42" data-level="claude-md">
<div style="min-height: calc(100vh - 120px);">
<h1>&#x26A0;&#xFE0F; CLAUDE.md problem &mdash; keep it under 200 lines</h1>
<div style="min-height: calc(100vh - 200px); display: flex; align-items: center; justify-content: center;">
@@ -1901,7 +1926,7 @@ todoapp/
<!-- ============================================================ -->
<!-- Slide: Skills -->
<div class="slide section-slide" data-slide="42">
<div class="slide section-slide" data-slide="43">
<div class="slide-viewport-content">
<h1>&#x1F3AF; Skills</h1>
<div style="text-align: center; margin: 12px auto 20px auto;">
@@ -1962,7 +1987,7 @@ todoapp/
<!-- NEW SLIDE 38: Create your first skill -->
<!-- ============================================================ -->
<div class="slide" data-slide="43" data-level="skills">
<div class="slide" data-slide="44" data-level="skills">
<div style="min-height: calc(100vh - 120px);">
<h1>Create your first skill</h1>
<div class="two-col" style="margin-top: 28px;">
@@ -2025,7 +2050,7 @@ todoapp/
<!-- Slide 39: Skills — a real one (screenshot) -->
<!-- ============================================================ -->
<div class="slide" data-slide="44" data-level="skills">
<div class="slide" data-slide="45" data-level="skills">
<div style="min-height: calc(100vh - 200px);">
<h1>&#x1F3AF; Skills &mdash; a real one</h1>
<div style="display: flex; align-items: center; justify-content: center;">
@@ -2075,7 +2100,7 @@ todoapp/
<!-- Slide 40: Skill config fields with frontmatter (was 39) -->
<!-- ============================================================ -->
<div class="slide" data-slide="45" data-level="skills">
<div class="slide" data-slide="46" data-level="skills">
<h1>Skill config fields with frontmatter</h1>
<p style="font-style: italic; color: #666; margin: 8px 0 20px 0;">Most fields control how and when the skill loads &mdash; enforced by the harness. Only <code>description</code> lives in prompt-land.</p>
<div style="margin: 0 0 24px 0;">
@@ -2170,7 +2195,7 @@ todoapp/
<!-- ============================================================ -->
<!-- Slide: Context -->
<div class="slide section-slide" data-slide="46">
<div class="slide section-slide" data-slide="47">
<div class="slide-viewport-content">
<h1>&#x1F4AD; Context</h1>
<div style="text-align: center; margin: 12px auto 20px auto;">
@@ -2229,7 +2254,7 @@ todoapp/
</div>
<!-- Slide 42: Context — Claude's Brain -->
<div class="slide" data-slide="47" data-level="context">
<div class="slide" data-slide="48" data-level="context">
<div style="min-height: calc(100vh - 120px);">
<h1>&#x1F9E0; Claude's Brain</h1>
<div class="analogy-box">
@@ -2305,7 +2330,7 @@ todoapp/
</div>
<!-- Slide 43: Context — What Loads at Session Start -->
<div class="slide" data-slide="48" data-level="context">
<div class="slide" data-slide="49" data-level="context">
<div style="min-height: calc(100vh - 120px);">
<h1>What Loads at Session Start</h1>
<p>The moment you open Claude Code, certain things land in Claude's brain <strong>before you've typed a word</strong>. The rest waits in the wings &mdash; only loaded when you actually need it. This is called <strong>progressive disclosure</strong>.</p>
@@ -2378,7 +2403,7 @@ todoapp/
</div>
<!-- Slide 44: Context — Lost in the Middle (Liu et al., Stanford 2023) -->
<div class="slide" data-slide="49" data-level="context">
<div class="slide" data-slide="50" data-level="context">
<div style="min-height: calc(100vh - 120px);">
<h1 style="text-align: center;">&#x1F4C4; Lost in the Middle</h1>
<p style="text-align: center; color: #666; font-style: italic; font-size: 1.1rem; margin-top: -20px; margin-bottom: 30px;">by Nelson F. Liu &middot; Stanford University &middot; 2023</p>
@@ -2453,7 +2478,7 @@ todoapp/
</div>
<!-- Slide 45: Workflow concept-intro -->
<div class="slide section-slide" data-slide="50" data-level="workflow">
<div class="slide section-slide" data-slide="51" data-level="workflow">
<div class="slide-viewport-content">
<h1>&#x1F4D8; Workflow</h1>
<div style="text-align: center; margin: 12px auto 20px auto;">
@@ -2506,7 +2531,7 @@ todoapp/
</div>
<!-- Slide 46: Orchestration Workflow diagram -->
<div class="slide" data-slide="51" data-level="workflow">
<div class="slide" data-slide="52" data-level="workflow">
<div style="min-height: calc(100vh - 120px);">
<h1>&#x1F4CB; Orchestration Workflow</h1>
<img src="../../orchestration-workflow/orchestration-workflow.svg" alt="Command → Agent → Skill architecture flow"
@@ -2552,7 +2577,7 @@ todoapp/
</div>
<!-- Slide 47: Workflow in action (GIF) -->
<div class="slide" data-slide="52" data-level="workflow">
<div class="slide" data-slide="53" data-level="workflow">
<div style="min-height: calc(100vh - 120px);">
<h1>&#x1F4F9; Workflow in action</h1>
<div style="text-align: center; margin: 24px 0;">
@@ -2601,7 +2626,7 @@ todoapp/
<!-- Slide 50: Thank you -->
<div class="slide section-slide" data-slide="53">
<div class="slide section-slide" data-slide="54">
<div class="slide-viewport-content">
<h1>&#x1F64F; Thank you!</h1>
<div style="margin: 20px auto 28px auto; text-align: center;">