Part 2 · The Harness Around the Model

Why LLMs Chose Markdown

Plain-text model + formatting needs = MD as the best choice; step-by-step reasoning why HTML / Word / LaTeX don't work

THE QUESTION THIS PAGE ANSWERS

ANSWER FIRST

Why LLMs Chose Markdown?

Plain-text model + formatting needs = MD as the best choice; step-by-step reasoning why HTML / Word / LaTeX don't work

DECISION RULE

Make the claim earn its place. Use this page as a decision aid, not a definition to memorize. Connect the idea to one real task, one observable result, and one failure that would change your mind.

TRY NEXT

Write one question you could answer with evidence after trying this idea.

WATCH FOR

A conclusion that sounds complete but leaves the key assumption untested.

The Core Tension
The Core Tension
📝

LLMs are pure text models

An LLM outputs Token by Token — each Token is just a piece of text. It knows nothing about colors, font sizes, or alignment.

🎨

But users expect formatting

Headings, bold, lists, code blocks, links… plain text without any formatting is an extremely poor reading experience.

Deriving the Solution
1
HTML? Tags are too heavy — wastes Tokens
↓ No good
2
Word/PDF? Binary format — can't output Token by Token
↓ Even worse
3
LaTeX? Complex syntax — models make errors easily
↓ Also no
Markdown: lightweight, elegant formatting built right into plain text
Markdown's three key advantages:

1. Plain-text compatible — models output Token by Token with no special encoding required
2. Formatting markers are minimal# ## ** cost only a few Tokens
3. Frontend rendering is mature — libraries like marked.js / react-markdown handle it in one line of code
Conclusion: All major AI products (ChatGPT, Claude, Qwen) output Markdown by default.
This isn't a coincidence. It's the optimal solution for a plain-text model with formatting needs.

How “The Core Tension” changes an answer

“An LLM outputs Token by Token — each Token is just a piece of text.” shows that a model does not process the “word count” we see. It processes Token pieces. Tokenization affects input length, how much context fits, and how much computation a request consumes.

Length, information, and context are different

As “Headings, bold, lists, code blocks, links… plain text without any formatting is an extremely poor reading experience” grows, separate three questions: how many Tokens the text becomes, which pieces can change the current decision, and whether older material has fallen outside the context window. Removing repetition is often more useful than simply making the window larger.

Keep what can change the decision

Use “Headings, bold, lists, code blocks, links… plain text without any formatting is an extremely poor reading experience” as an A/B test: keep the same question while removing repeated background, compressing format, and trimming irrelevant history. Compare answer quality, latency, and Token count.

From “The Core Tension” to “Deriving the Solution”

“The Core Tension” grounds the problem in “An LLM outputs Token by Token — each Token is just a piece of text. It knows nothing about colors, font sizes, or alignment”. “Deriving the Solution” then moves it toward “↺ Replay 1 HTML? Tags are too heavy — wastes Tokens ↓ No good 2 Word/PDF? Binary format — can't output Token by Token ↓ Even worse 3 LaTeX? Complex syntax — models make errors easily ↓ Also no ✓ Markdown: light…”. Together, they show that the lesson is not just a conclusion to remember, but a claim with conditions.

Carry the judgment into the next situation

For long text, keep what can change the conclusion before compressing format and history. A larger context is worth its cost only when the added information is useful.

  • “The Core Tension”: An LLM outputs Token by Token — each Token is just a piece of text. It knows nothing about colors, font sizes, or alignment
  • “Deriving the Solution”: ↺ Replay 1 HTML? Tags are too heavy — wastes Tokens ↓ No good 2 Word/PDF? Binary format — can't output Token by Token ↓ Even worse 3 LaTeX? Complex syntax — models make errors easily ↓ Also no ✓ Markdown: light…
  • “The closing point”: Headings, bold, lists, code blocks, links… plain text without any formatting is an extremely poor reading experience

The final “The closing point” brings the discussion to “Headings, bold, lists, code blocks, links… plain text without any formatting is an extremely poor reading experience”. The useful thing to carry forward is knowing which judgments must be revisited when input, scale, or risk changes.

Mark as learned Your reading progress updates automatically
← PreviousNext →

Keep reading

The next useful article in the thread.

ARTICLE DISCUSSION

Leave one useful thought here.

Keep the idea that clicked, the question that stayed open, or a small note for the next learner.

Discussing Why LLMs Chose Markdown The Harness Around the Model
3discussionsArticle discussion · synced with the Circle
View in the learning circle
AM
Asha MorganContent editor
INSIGHTField note

I turned one judgment from this article into a small experiment I could run today. Knowing what to observe next is more useful than simply remembering the conclusion.

ARTICLE DISCUSSION7 helpful
LH
Lin HarperIndie developer
INSIGHTInsight

After reading this, I first looked for the conditions behind the idea instead of copying the method into a project. That order made the later trade-offs much clearer.

ARTICLE DISCUSSION5 helpful
KM
Kiki MooreProduct operations
QUESTIONQuestion

When this judgment reaches real work, which constraint should be added first? I am curious which step matters most between reading and the first practical attempt.

ARTICLE DISCUSSION4 helpful