talk: finish pres and yt script
This commit is contained in:
@@ -0,0 +1,162 @@
|
|||||||
|
---
|
||||||
|
title: Why LLMs Don't Make Decisions
|
||||||
|
theme: default
|
||||||
|
layout: center
|
||||||
|
class: text-center
|
||||||
|
fonts:
|
||||||
|
sans: "CaskaydiaCove Nerd Font Mono"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Why LLMs don't make decisions
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: center
|
||||||
|
---
|
||||||
|
|
||||||
|
# The Narrative vs. The Reality
|
||||||
|
|
||||||
|
<div class="grid grid-cols-2 gap-12 mt-16 text-left">
|
||||||
|
<v-click>
|
||||||
|
<div class="border-l-4 border-purple-500 pl-6">
|
||||||
|
<h3 class="text-purple-400 text-2xl font-bold mb-2">The "Agentic" Narrative</h3>
|
||||||
|
<ul class="list-disc pl-4 text-gray-400 space-y-2">
|
||||||
|
<li>"The agent <span class="text-white">decided</span> to call the tool."</li>
|
||||||
|
<li>"The model <span class="text-white">assessed</span> the PRD."</li>
|
||||||
|
<li>"It <span class="text-white">chose</span> the execution path."</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
<v-click>
|
||||||
|
<div class="border-l-4 border-green-500 pl-6">
|
||||||
|
<h3 class="text-green-400 text-2xl font-bold mb-2">The Engineering Reality</h3>
|
||||||
|
<ul class="list-disc pl-4 text-gray-400 space-y-2">
|
||||||
|
<li>It is <span class="text-white">completing a pattern</span>.</li>
|
||||||
|
<li>It is <span class="text-white">statistically mapping</span> tokens.</li>
|
||||||
|
<li>It is <span class="text-white">following constraints</span>.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
</div>
|
||||||
|
<v-click>
|
||||||
|
<div class="mt-12 text-center text-gray-400 italic">
|
||||||
|
"We mistake highly accurate mapping for decision making."
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: center
|
||||||
|
---
|
||||||
|
|
||||||
|
# The Domino Analogy
|
||||||
|
|
||||||
|
<div class="mt-10">
|
||||||
|
<p class="text-2xl leading-relaxed">
|
||||||
|
"If I set up a long row of dominos... and the last domino falls and hits a bell..."
|
||||||
|
</p>
|
||||||
|
<v-click>
|
||||||
|
<div class="text-4xl font-bold text-red-400 mt-8 mb-8">
|
||||||
|
Did the last domino <span class="underline decoration-white">decide</span> to ring the bell?
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
<v-click>
|
||||||
|
<p class="text-xl text-gray-400">Of course not.</p>
|
||||||
|
</v-click>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: default
|
||||||
|
---
|
||||||
|
|
||||||
|
# The functional reality of LLMs
|
||||||
|
|
||||||
|
If we strip away the magic, an LLM is effectively a **pure, stateless function**.
|
||||||
|
|
||||||
|
```csharp {all|1|3-6|8}
|
||||||
|
ProbabilityDistribution PredictNext(int[] contextTokens, float[] fixedWeights)
|
||||||
|
{
|
||||||
|
// 1. Input: Static sequence of integers (Tokens)
|
||||||
|
// 2. Process: Fixed graph of matrix operations (Weights)
|
||||||
|
|
||||||
|
// Matrix Multiplication Magic...
|
||||||
|
|
||||||
|
return probabilities; // 3. Output: Probability scores
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
<div class="grid grid-cols-2 gap-8 mt-8">
|
||||||
|
<v-click>
|
||||||
|
<div class="bg-gray-800 p-4 rounded border-t-2 border-blue-400">
|
||||||
|
<div class="font-bold mb-1">No "Pondering"</div>
|
||||||
|
<div class="text-sm text-gray-400">There is no loop where it weighs pros and cons. It is a single, deterministic forward pass.</div>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
<v-click>
|
||||||
|
<div class="bg-gray-800 p-4 rounded border-t-2 border-green-400">
|
||||||
|
<div class="font-bold mb-1">The "Choice" is External</div>
|
||||||
|
<div class="text-sm text-gray-400">The <b>Sampler</b> picks the token based on temperature. The model just provides the stats.</div>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: center
|
||||||
|
---
|
||||||
|
|
||||||
|
# Where the logic actually lives
|
||||||
|
|
||||||
|
<div class="flex flex-col items-center justify-center mt-8">
|
||||||
|
<div class="grid grid-cols-2 gap-4">
|
||||||
|
<div class="p-6 border border-gray-700 rounded-lg bg-gray-900 text-center">
|
||||||
|
<h3 class="text-blue-400 font-bold text-xl mb-2">Prompt Engineering</h3>
|
||||||
|
<p class="text-sm text-gray-400">Rigging the machine so it pays out the exact token we need 99% of the time.</p>
|
||||||
|
</div>
|
||||||
|
<div class="p-6 border border-gray-700 rounded-lg bg-gray-900 text-center">
|
||||||
|
<h3 class="text-green-400 font-bold text-xl mb-2">The Agentic Loop</h3>
|
||||||
|
<p class="text-sm text-gray-400">Engineering the context so the "next token" is useful JSON, not hallucinated poetry.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: center
|
||||||
|
---
|
||||||
|
|
||||||
|
# Why the distinction matters
|
||||||
|
|
||||||
|
<div class="mt-8 space-y-6">
|
||||||
|
<v-click>
|
||||||
|
<div class="flex items-start gap-4">
|
||||||
|
<div class="bg-blue-500 text-white rounded-full w-8 h-8 flex items-center justify-center font-bold shrink-0">1</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-blue-400">Constrain the Context</h3>
|
||||||
|
<p class="text-gray-400">Reduce the search space so the "right" token is the only probable one.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
<v-click>
|
||||||
|
<div class="flex items-start gap-4">
|
||||||
|
<div class="bg-purple-500 text-white rounded-full w-8 h-8 flex items-center justify-center font-bold shrink-0">2</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-purple-400">Rig the Inputs</h3>
|
||||||
|
<p class="text-gray-400">Format prompts so the pattern that <i>needs</i> to be completed leads to your output.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
<v-click>
|
||||||
|
<div class="flex items-start gap-4">
|
||||||
|
<div class="bg-green-500 text-white rounded-full w-8 h-8 flex items-center justify-center font-bold shrink-0">3</div>
|
||||||
|
<div>
|
||||||
|
<h3 class="text-xl font-bold text-green-400">Verify the Output</h3>
|
||||||
|
<p class="text-gray-400">It didn't "choose" based on belief. It made a statistical guess. Always validate.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</v-click>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: center
|
||||||
|
---
|
||||||
|
|
||||||
|
# Conclusion
|
||||||
|
|
||||||
|
<div class="text-2xl mt-10 mb-10 mx-auto text-gray-300">The "Decision" is just the inevitable result of the constraints and context <b>you</b> fed into the prediction engine.</div>
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
[Face to Camera]
|
||||||
|
|
||||||
|
"There is a dangerous idea spreading in software engineering right now. It's the idea that Large Language Models are 'Decision Makers'."
|
||||||
|
|
||||||
|
"We treat them like junior employees. We think they 'choose' to call a tool, or 'decide' how to fix a bug."
|
||||||
|
|
||||||
|
[Switch to Presentation]
|
||||||
|
|
||||||
|
"But today, I want to show you why that mental model is wrong—and how it leads to fragile software."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"We need to distinguish between the Narrative and the Reality."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"The narrative—the marketing fluff—says things like: 'The agent decided to call the tool.' Or 'The model assessed the PRD and chose a path.'"
|
||||||
|
|
||||||
|
"This language implies agency. It implies intent."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"But the engineering reality is boring. The model is simply completing a pattern. It is statistically mapping tokens based on weights. It is following constraints we set."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"We mistake highly accurate mapping for decision making."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"Think of it this way."
|
||||||
|
|
||||||
|
"If I set up a long row of dominos... and the last domino falls and hits a bell..."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"Did the last domino decide to ring the bell?"
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"Of course not. It just followed the physics of the environment I built."
|
||||||
|
|
||||||
|
"The 'decision' to ring the bell wasn't made by the domino. It was made by the person who set it up."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"If we strip away the magic, an LLM is effectively a pure, stateless function."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"You give it a static sequence of tokens."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"It pushes those integers through a fixed graph of matrix operations."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"And it returns a probability distribution. Not a choice. A list of percentages."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"There is no 'pondering' inside that function. There is no while loop where it weighs the pros and cons. It is a single, deterministic forward pass."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"The actual 'choice' happens outside the model. The Sampler picks the token based on temperature. The model didn't 'decide' to output a JSON bracket; it just assigned it a 99% probability because you rigged the prompt."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"So if the model isn't deciding, where does the logic actually live?"
|
||||||
|
|
||||||
|
"It lives in two places."
|
||||||
|
|
||||||
|
"First, Prompt Engineering. This isn't 'whispering to AI'. It is rigging the slot machine so it pays out the exact token we need 99% of the time."
|
||||||
|
|
||||||
|
"Second, The Agentic Loop. We engineer the context so that the only statistically probable next token is useful JSON, not hallucinated poetry."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"This distinction matters because it changes how you build software."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"If you know it's not a decision maker, you focus on Constraining the Context. You reduce the search space so the 'right' token is the only probable one."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"You Rig the Inputs. You format your prompts so the pattern that needs to be completed inevitably leads to your desired output."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"And crucially, you Verify the Output. You never trust the model's 'belief', because it has none. It made a statistical guess. You must validate it."
|
||||||
|
|
||||||
|
[CLICK]
|
||||||
|
|
||||||
|
"The bottom line is this: The 'Decision' is just the inevitable result of the constraints and context you fed into the prediction engine."
|
||||||
|
|
||||||
|
"You are the decision maker. The model is just the domino."
|
||||||
|
|
||||||
|
"Thanks for watching."
|
||||||
Reference in New Issue
Block a user