Files

5.5 KiB

title, theme, layout, class, fonts
title theme layout class fonts
Why LLMs Don't Make Decisions default center text-center
sans
CaskaydiaCove Nerd Font Mono

Why LLMs don't make decisions


layout: center

The Narrative vs. The Reality

The "Agentic" Narrative

  • "The agent decided to call the tool."
  • "The model assessed the PRD."
  • "It chose the execution path."

The Engineering Reality

  • It is completing a pattern.
  • It is statistically mapping tokens.
  • It is following constraints.
"We mistake highly accurate mapping for decision making."

layout: center

The Domino Analogy

"If I set up a long row of dominos... and the last domino falls and hits a bell..."

Did the last domino decide to ring the bell?

Of course not.


layout: default

The functional reality of LLMs

If we strip away the magic, an LLM is effectively a pure, stateless function.

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
}
No "Pondering"
There is no loop where it weighs pros and cons. It is a single, deterministic forward pass.
The "Choice" is External
The Sampler picks the token based on temperature. The model just provides the stats.

layout: center

Where the logic actually lives

Prompt Engineering

Rigging the machine so it pays out the exact token we need 99% of the time.

The Agentic Loop

Engineering the context so the "next token" is useful JSON, not hallucinated poetry.


layout: center

Why the distinction matters

1

Constrain the Context

Reduce the search space so the "right" token is the only probable one.

2

Rig the Inputs

Format prompts so the pattern that needs to be completed leads to your output.

3

Verify the Output

It didn't "choose" based on belief. It made a statistical guess. Always validate.


layout: center

Conclusion

The "Decision" is just the inevitable result of the constraints and context you fed into the prediction engine.