LLMs have a preference for narrative
At their core, LLMs are pattern guessers. Not in the casual sense, but statistically, probabilistically — trained to complete, extend, and reshape sequences of language. They don’t store facts in neat little boxes, or run logical chains like a calculator might. They live in the flow of words — context-rich, causally tangled, semantically loaded.
That’s why narrative works so well for them.
Language-like input — something with a bit of rhythm, structure, intent — that’s their home field. If you feed them a story, a description, or even a set of instructions dressed up as a paragraph, they tend to do better. Not because they “understand” in a human way, but because stories are filled with the kinds of patterns they’ve seen over and over again.
Narrative Is Not Decoration — It’s Structure
When you ask a model to reason about structured data — a table, some JSON, maybe a config file — it can try. But it’s translating. It’s not seeing a grid. It’s reading a stream of tokens and doing its best to simulate what understanding might look like, based on context.
So, if you give it this:
Name | Dept | Q1 Sales | Q2 Sales
Alice | A | 100 | 150
Bob | B | 200 | 180
Charlie | A | 120 | 140It may attempt to answer: “Who had the highest Q1 sales?” But it’s sort of squinting at the data, using guesswork rather than actual table comprehension. It’s not reasoning across rows and columns the way a person looking at a spreadsheet would.
Now wrap that same table in a little narrative:
“Below is a sales table by department and quarter. Please calculate the total Q1 and Q2 sales for each department, and identify the top performer overall.”
Suddenly, it performs better. Not because the table changed — but because the framing did.
So What Helps?
Declare intent. Don’t be shy. Spell out what you want: summarize, sort, group, compare.
Describe the schema. “Each row is a salesperson. ‘Dept’ refers to their team.”
Wrap in words. Turn a structure into a story: “Imagine you’re explaining this table to a new hire.”
Chunk the input. If it’s long, break it up. Add commentary between chunks.
Ask before acting. “Are there any missing values?” primes the model differently than “Give me a report.”
You’re not just giving it data — you’re giving it a role to play. A perspective. A reason to care.
Thinking in Zones: How Inputs Differ by Structure and Meaning
It helps to visualize model input along two axes: how structured something is, and how semantically rich it is. Broadly, you get five zones:
Narrative Text
Essays, emails, dialogue. Natural habitat for LLMs. They recognize the flow, pick up cues, follow threads.
Tip: Don’t over-format. Let the voice carry it.
Semi-Structured Prompts
Frameworks, templates, FAQs. There’s structure, but it’s light, flexible.
Tip: Label things clearly — goals, constraints, steps.
Structured Data
Tables, logs, forms. Highly structured, but semantically thin unless framed.
Tip: Translate it into something more conversational or explanatory.
Code and Logic
Python, SQL, configs. Models can follow patterns here, but benefit from translation.
Tip: “What does this do?” or “Explain in plain English.”
Pure Symbols
Binary blobs, hex dumps. No built-in foothold. Totally alien to language models.
Tip: Pre-process elsewhere. Add meaning before handing it off.
Bottom Line?
If you want an LLM to reason, narrate. Don’t just send data — send it with framing, with intent. Think of yourself less like a user, more like a translator or a guide.
Because these models aren’t machines in the traditional sense. They’re not following logic trees or applying rules. They’re guessing what words make sense to say next — and narrative is where that kind of sense lives.



