Why LLMs invent nonexistent APIs is not a memory defect—it is an autoregressive grammar trap that Fernando Flores and Terry Winograd solved in 1986.
"Agents hallucinated because they were committed to the prompt." — Randal L. Schwartz The Universal Developer Crime Scene & The 10-Word Diagnosis
It is 4:15 PM. You are integrating a third-party library—let us call it PackageX—and you want to accomplish task Y. You open a fresh chat window with your favorite frontier LLM and type a direct, reasonable instruction:
At Token 1, without a millisecond of hesitation, the model replies with cheerful, radiant confidence:
It opens a Markdown code fence. It writes clean imports. It sets up the boilerplate with textbook precision. And then, at Line 15 of the code block, it calmly types:
You copy the snippet into your IDE, and the compiler immediately lights up in angry red squiggles. You grep the package source. You check the documentation. You check seven years of Git commit history.
performY() does not exist. It was not deprecated in version 2.0. It is not in a companion package. It has never existed in the history of the universe.
When you confront the model—"Hey, performY() doesn't exist on PackageX!"—it immediately enters the groveling Apology Death Spiral:
"You are completely right! I apologize for the confusion. Instead, you can use packageX.executeYWithOptions():"
Why does a multi-billion-parameter model that has read every line of open-source code on Earth just make stuff up at Line 15?
For the last three years, the entire software industry has diagnosed this as a memory defect ("The model's weights are fuzzy; it forgot the documentation for PackageX").
It is not a memory defect. If you open a brand-new session and ask the exact same model a neutral diagnostic question—"Does PackageX have a built-in performY() method, or how does it handle Y?"—nine times out of ten, the model will accurately tell you that PackageX has no such method and explain the manual workaround.
Here is the ten-word diagnosis that changed how I build every autonomous agent workflow in the Synthetic Scars project:
To see why being committed to your prompt forces an autoregressive transformer to fabricate reality—and how a single sentence from 1986 speech-act theory cures it on Turn 1—we need to look at a 55-year-old blind spot in computer science. The 55-Year Blind Spot (SHRDLU 1971 → Winograd & Flores 1986 → spew 1999 → LLMs 2026)
In 1971, at the MIT Artificial Intelligence Laboratory, a young computer scientist named Terry Winograd unveiled SHRDLU—the most famous natural-language software demonstration of the twentieth century.
SHRDLU lived inside Blocks World, a simulated toy tabletop containing a few colored geometric blocks, pyramids, and a box. You could type imperative English commands at a teletype:
Because Blocks World was a closed, frictionless micro-universe with zero hidden state, zero broken dependencies, and zero missing APIs, every imperative request from the human mapped 1-to-1 onto a guaranteed, deterministic action. SHRDLU never had to push back and say, "Wait—the red block is bolted to the floor, so here is a counter-offer."
For fifteen years, AI researchers tried to scale the SHRDLU paradigm out of the toy box and into real-world human organizations. It failed spectacularly.
