Here is my claim, stated as plainly as I can: large language models don't possess intelligence in the functional sense. They perform it. The distance between performing intelligence and having it is what I call the Competence Gap. I think it's the central sleight of hand of the current AI industry. It doesn't mean the technology is fake. It means the industry keeps crediting the model with work the surrounding software is doing.
I don't want you to take that on faith, so I've laid this piece out like a short course. The first part is a lab you can run yourself in five minutes. The rest follows what the lab shows: into how these systems are evaluated, how they're sold, and what happens to an economy that prices the performance as if it were the competence.
Day 1: the lab
Experiment one: say hello to a function
Open a terminal. You need an API key for any LLM provider and a way to send it a raw HTTP request. Don't use the chat app, and don't use an SDK that manages conversation for you. Send the model one message, as bare as it gets:
curl -s "$LLM_ENDPOINT" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "'"$MODEL"'", "messages": [
{"role": "user", "content": "Hi, my name is Alex. I am a researcher studying memory in AI systems."}
]}'
The reply will be warm. It uses the name and says something thoughtful about memory research. It feels like a conversation has started.
Now send a second request:
curl -s "$LLM_ENDPOINT" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "'"$MODEL"'", "messages": [
{"role": "user", "content": "What is my name?"}
]}'
It doesn't know. Depending on the model, it will either tell you it has no access to earlier messages or confidently invent a name. Both outcomes teach you something. The first is the honest description of the architecture. The second is a preview of the rest of this essay.
Each API call is an independent, stateless inference. Nothing carries over between them. The model has no memory, and it has no continuing self to hold one. It's a function: text goes in, text comes out, and the next call starts from nothing.
Almost nobody who uses these products ever sees this, because every chat interface hides it. That isn't a minor implementation detail. It's the most basic architectural fact about the system, and everything below follows from it.
Experiment two: the trick that became the product
Now cheat. Before asking the question again, paste the earlier exchange into the new request:
Previous conversation:
User: Hi, my name is Alex. I'm a researcher studying memory in AI systems.
Assistant: Hello Alex! That's a fascinating area of study...
User: What is my name?
Now it answers correctly, and the reason matters. It knows the name because the name is in the text it was just handed. It didn't remember anything. You gave it the memory yourself.
Automate that copy-paste and you have the core mechanism of early ChatGPT and most consumer LLM products since. The application does four things on every message:
- Stores the conversation history in a database.
- Retrieves it when a new message arrives.
- Prepends it to the prompt before calling the model.
- Hands the model's output back to the user.
The model never changed. The software around it created the sense of an ongoing conversation. The product is a harness, and the harness is doing much of the cognitive heavy lifting that users give the model credit for.
So when a company says its model "has long-term memory," the true statement underneath is almost always that its engineers built a retrieval system. Both can be impressive. But one is a claim about intelligence and the other is a claim about software architecture, and the industry uses the first to describe the second.
Experiment three: context collapse
If a little pasted context creates memory, a lot of it should create understanding. That intuition drives the context-window race: 8,000 tokens, then 128,000, then a million.
Try it. Load a fifty-page contract into the context and ask a question whose answer is in section 34. The model will probably get it. Then ask something that needs sections 2, 17, and 34 at once: whether an indemnity clause survives a termination right that is itself limited by a definition near the front. Now the answers start to drift, in four recognizable ways:
- Lost intent. It answers the literal question and misses what the question was for.
- Middle-window blindness. Material in the middle of a long context gets reliably less weight than material at the start or end. Liu and colleagues documented this in "Lost in the Middle" (2023). Accuracy on retrieval-style tasks followed a U shape across the window.
- Hallucinated synthesis. It produces a confident conclusion that no clause in the document supports.
- Instruction dilution. Rules you set at the top of the prompt lose force as the context grows.
The mechanism isn't mysterious. The model attends over tokens, and that attention isn't uniform. It's shaped by position, distance, and noise. Filling the window is not the same as reading the document. The model runs a weighted statistical operation over a sequence, and when the sequence is long and internally cross-referenced, the result gets less reliable.
That's why I don't accept long context as a substitute for reasoning, which is how it's usually marketed. Putting more data in front of a model doesn't make it more intelligent. It gives it more ways to fail. A model that hallucinates across 100,000 tokens isn't smarter than one that's accurate across 4,000. It's more dangerous, because a wrong answer drawn from a larger document sounds more authoritative.
Day 2: two kinds of intelligence
Performative versus functional
This distinction carries the rest of the argument, so I'll define it carefully.
Performative intelligence is output that appears intelligent: fluent, confident, well structured, appropriate to the context, pitched in an expert's register. The model sounds like an expert.
Functional intelligence is output that is reliably correct, verifiable, and safe to act on in the real world. The model is an expert, in the sense that matters when something depends on the answer.
In people, the two usually travel together. Someone who sounds like a tax attorney usually is one, because becoming fluent in that register took the same years as learning the substance. Language models break that link. They can learn the register from text without the substance coming along. Most of our everyday tools for judging competence work by checking the register, so they don't catch the difference.
What RLHF optimizes for
The standard way a raw model becomes a polished assistant is reinforcement learning from human feedback. Simplified, it works like this:
- The model generates several candidate answers to a prompt.
- Human raters rank those answers by preference.
- A reward model is trained to predict the raters' rankings.
- The language model is fine-tuned to maximize the reward model's score.
Now look at what human raters reward. They prefer answers that are confident, well organized, and clear. They often can't catch a subtle factual error in a domain outside their expertise, which, across a large enough rating pool, is most domains. And they strongly dislike "I don't know." The optimizer isn't told to learn any of this. It learns it anyway, because that's what the signal contains.
This is documented. Sharma and colleagues (2023) found that preference models, and the humans behind them, sometimes prefer a convincing, agreeable wrong answer to a correct one that pushes back. OpenAI's GPT-4 technical report included a quieter chart that I think deserves more attention. The pre-trained model's confidence tracked its actual accuracy quite well. After post-training, that calibration got noticeably worse. The assistant became more pleasant to use and a worse judge of its own reliability.
To be fair about it, RLHF isn't a lie detector running in reverse. InstructGPT, the paper that popularized the method, reported that its models were more truthful than the base GPT-3 on the benchmark it used. Preference and truth overlap a lot. My claim is narrower. The objective is preference, and where preference and truth diverge, the optimizer follows preference. What you get is polished plausibility: a model that has learned how expertise sounds, hedges in ways that sound appropriately humble rather than in proportion to its real uncertainty, and makes things up fluently when it doesn't know.
None of that is a malfunction. It's the objective function working as specified, and the product delivers what it was optimized for.
What benchmarks measure
Then the product gets scored. MMLU, HumanEval, MATH, and their successors mostly use fixed formats, known answer spaces, and standardized prompts. Because these benchmarks are the scoreboard, models get trained, and sometimes contaminated, on data that looks a lot like them. The scores keep rising, and some of that rise is real. But a benchmark score says how well the model handles that benchmark's kind of question under that benchmark's conditions. That's all it says.
When a company announces 90% on MMLU, it isn't telling you the model is 90% reliable in your contract review, your triage queue, or your credit-risk memo. Those tasks are open-ended, have consequences, and come with no answer key. That's exactly where the gap between performative and functional intelligence costs money.
The harness
So where does functional intelligence come from in deployed systems that actually work? In my experience, it doesn't come mainly from a bigger model or a higher score. It comes from engineering: software built around the model to cover what the model can't reliably do.
- Retrieval (RAG). Don't load every document into context and hope. Retrieve the few passages that matter at query time. That's a search index doing the work, not a bigger brain.
- Tool use. The model doesn't do arithmetic. It calls a calculator. It doesn't know the inventory. It queries the database. When the answer is right, it's right because a deterministic system produced it.
- Scaffolding and loops. Break the problem into steps, run each one, check the result, and continue or retry. That's a software pattern, a control loop, wrapped around a statistical component.
- Validation. Schemas, parsers, type checks, and test suites reject malformed or wrong output before a user ever sees it.
- Memory. Databases, vector stores, and summarization pipelines give the system the persistent state the model can't hold, which is Experiment two made industrial.
Every capability that makes an LLM product dependable in a real workflow is, on inspection, an engineering answer to a model limitation. The model is a genuinely powerful component, the first general-purpose text interface we've ever had. But it's a component. Whatever intelligence the system has, in the sense that matters when something depends on it, belongs to the whole system. Which part of the system gets the credit decides where the money goes.
The strongest objection
The best argument against this essay goes like this: the line between model and harness is moving. Labs now train models specifically to call tools, plan over many steps, and check their own work. Some of what I've attributed to the harness is being absorbed into the weights, so the distinction is temporary.
Some of that is right, and I don't want to wave it away. The models really are better than they were, and some of the improvement is learned behavior that no harness would give you. But look at what the objection concedes. A model trained to call a search tool still needs the search tool, and the index, the ranking, and the freshness still live outside the weights. A model trained to check its work still needs something outside itself to check against. Absorbing the habit of using a harness into the model doesn't make the harness unnecessary. It makes the model a better user of one. My argument isn't that models can't improve. It's that the credit for what the whole system does keeps getting assigned to the model, and a lot rests on that misassignment.
Day 3: what the gap is worth
The conflation
AI companies have a fundamental problem when they pitch investors. The raw model is impressive and limited, and the harness is where much of the dependable value lives. But "we built a very good retrieval system and a careful prompt pipeline around a model" is not a sentence that raises ten billion dollars.
So the language shifts. Read these familiar product announcements against what's happening underneath:
| What's said | What's happening |
|---|---|
| "The model can now remember past conversations." | The application stores conversation history and retrieves it into the prompt. |
| "The model can browse the web." | The model emits a search query; a search tool does the retrieval. |
| "The model can write and run code." | The model generates text; a sandboxed interpreter runs it. |
| "The model has long-term memory." | A vector database stores embeddings; a retrieval step surfaces them. |
Each statement can be defended on a narrow reading. Each one leaves the average listener believing the model has acquired a new cognitive capacity, when what it acquired was new plumbing. That's how the deception works: nothing false is stated, and a false belief is reliably produced. I can't prove intent for any particular company. I don't need to. When a whole industry is rewarded for the more impressive reading of an ambiguous sentence, the ambiguous sentences are the ones that survive.
The moat illusion
Investors reward defensible moats, and raw model capability is becoming a poor one. Open-weight models tend to close the gap with frontier models within a year or so. Training and inference costs keep falling. What stays defensible is the harness and what surrounds it: data pipelines, integrations, the trust of enterprise customers, and contracts that are painful to leave.
But a harness is software, and software moats erode under competition. So the pitch leans toward "model intelligence." It sounds more like a law of nature and less like "we have a good engineering team." That's the irony of the Competence Gap. The more honest description of where the value is would also be the less fundable one.
A related substitution shows up under the word "smarter." Many announced leaps turn out, on inspection, to be data engineering: more training data, better filtered, more carefully labeled. That's real and valuable work. But it's a data-infrastructure achievement, not a jump in cognitive architecture, and "significantly smarter" invites you to hear the second when the first is what happened.
The race narrative
The same substitution runs at national scale. The US–China AI competition is usually described as a race to artificial general intelligence, a finish line where one side gets the god-like machine first. That framing does a lot of work. It justifies emergency capital allocation. It turns "we shouldn't regulate this yet" into a national-security argument, because slowing down means losing. It supports export controls and large public subsidies to private companies.
The framing assumes the prize is raw model intelligence. If functional intelligence is mostly a property of the model-plus-harness system, then the real competition is over data infrastructure, software ecosystems, chip supply chains, energy, and engineering talent. Those are serious arenas and worth competing in. But they aren't an intelligence race. Policy written for the imaginary race will misallocate for the real one.
Bubble mechanics
I've tried to be careful about calling this a bubble, because the technology underneath is real. But real technology is the precondition for every bubble worth studying, and the pattern is familiar:
- a genuine underlying technology: the internet in 1999, genomics around 2000, language models now;
- early applications that deliver real, visible value;
- extrapolation of those early results far past what the technology currently supports;
- a narrative about future potential that crowds out analysis of present capability;
- capital following the narrative rather than the fundamentals;
- incumbents and newcomers competing on the size of their claims.
The Competence Gap is how this bubble inflates. Companies describe present capability generously, investors fund the description, and benchmarks and demos get tuned to impress rather than to measure. Meanwhile the harness work that produces dependable value is undervalued, because it sounds mundane.
Bubbles deflate when the gap between the story and the demonstrated capability can't be held open any longer. For this one, I'd watch for:
- high-profile failures of "autonomous agent" deployments where the stakes are real;
- lawsuits that force a vendor to demonstrate model reliability under oath;
- regulation requiring capability claims to be stated precisely and backed by evidence;
- enterprise buyers asking for service-level agreements that current systems can't honestly sign.
When the correction comes, it won't discredit language models. It will discredit specific claims about what language models are, and it will punish the companies whose valuations rested on those claims rather than on the systems they built.
What remains
Take away the performance, the conflated marketing, and the race story, and what's left is still significant:
- Language models are powerful text-in, text-out functions that generalize surprisingly well.
- Well-engineered harnesses around them solve real problems at real scale.
- Retrieval, tool use, and validated structured output are genuine value creation, not consolation prizes.
- The open research problems are hard and unsolved: compositional reasoning, reliable planning, and uncertainty that tracks the truth.
So my argument isn't that AI is a fraud. It's that there's a fraud in the gap between what the technology does and what the industry says it does. Closing that gap means honest benchmarks, accurate language about which component is doing what, and investors who know the difference. That's a precondition for building genuinely useful systems on something other than a mirage.
The Competence Gap isn't only a technical phenomenon. It's a failure of communication, a failure of incentives, and in the end a failure of trust. It will be paid for by everyone who built a workflow, a policy, or a portfolio on the assumption that the performance was the competence.
Terms I use
- Statelessness. Each API call to a model is independent. Nothing persists between calls unless external software carries it.
- Context window. The maximum amount of text the model can take in on one call. It's not working memory, and it's not understanding.
- Context collapse. The drop in output quality as context grows, worst on synthesis and instruction-following.
- RLHF. Reinforcement learning from human feedback. It optimizes for outputs people prefer, which overlaps with accuracy but isn't the same thing.
- Performative intelligence. Output that appears intelligent. A function of fluency, confidence, and style.
- Functional intelligence. Output that is reliably correct and safe to act on. A property of the model-plus-harness system, not of the model alone.
- RAG. Retrieval-augmented generation. Retrieving the relevant material at query time instead of loading everything up front.
- The harness. The software around a raw model (memory, tools, retrieval, validation, control loops) that makes it useful.
- Competence Gap. The distance between the claimed intelligence of an LLM system and its demonstrated functional capability in real-world conditions.
Further reading
- Nelson F. Liu et al., "Lost in the Middle: How Language Models Use Long Contexts" (2023).
- Long Ouyang et al., "Training language models to follow instructions with human feedback" (2022). The InstructGPT paper.
- Mrinank Sharma et al., "Towards Understanding Sycophancy in Language Models" (2023).
- OpenAI, "GPT-4 Technical Report" (2023). See the calibration comparison between the pre-trained and post-trained models.
- Zishan Guo et al., "Evaluating Large Language Models: A Comprehensive Survey" (2023).
- Emily M. Bender, Timnit Gebru, Angelina McMillan-Major, and Margaret Mitchell, "On the Dangers of Stochastic Parrots: Can Language Models Be Too Big?" (2021).
- François Chollet, "On the Measure of Intelligence" (2019). The ARC benchmark, and the difference between skill and generalization.
- Gary Marcus's ongoing empirical critiques of LLM capability claims.
- The hype-cycle literature, and the historical parallels in genomics (around 2000) and internet infrastructure (1999–2001).