Compare commits
3 Commits
llm-prose-
...
add-llm-pr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c9af95d99e | ||
|
|
a6fb657d0e | ||
|
|
7b22e6757d |
@@ -1,7 +1,9 @@
|
||||
# LLM Prose Tells
|
||||
|
||||
Human writers occasionally use every pattern in this document. The reason they
|
||||
work as tells is that LLM output packs fifteen of them into a paragraph.
|
||||
All of these show up in human writing occasionally. No single one is conclusive
|
||||
on its own. The difference is concentration — a person might lean on one or two
|
||||
of these habits across an entire essay, but LLM output will use fifteen of them
|
||||
per paragraph, consistently, throughout the entire piece.
|
||||
|
||||
---
|
||||
|
||||
@@ -14,17 +16,9 @@ A negation followed by an em-dash and a reframe.
|
||||
> "It's not just a tool—it's a paradigm shift." "This isn't about
|
||||
> technology—it's about trust."
|
||||
|
||||
The most recognizable LLM construction. Models produce this at roughly 10 to 50x
|
||||
the rate of human writers. Four of them in one essay and you know what you're
|
||||
reading.
|
||||
|
||||
### Em-Dash Overuse Generally
|
||||
|
||||
Even outside the "not X but Y" pivot, models use em-dashes at far higher rates
|
||||
than human writers. They substitute em-dashes for commas, semicolons,
|
||||
parentheses, colons, and periods. A human writer might use one or two in a
|
||||
piece. Models scatter them everywhere because the em-dash can stand in for any
|
||||
other punctuation mark. More than two or three per page is a signal.
|
||||
The single most recognizable LLM construction. Models produce this at roughly
|
||||
10–50x the rate of human writers. Four of them in one essay and you know what
|
||||
you're reading.
|
||||
|
||||
### The Colon Elaboration
|
||||
|
||||
@@ -33,15 +27,15 @@ A short declarative clause, then a colon, then a longer explanation.
|
||||
> "The answer is simple: we need to rethink our approach from the ground up."
|
||||
|
||||
Models reach for this in every other paragraph. The construction is perfectly
|
||||
normal. The frequency gives it away.
|
||||
normal; the frequency gives it away.
|
||||
|
||||
### The Triple Construction
|
||||
|
||||
> "It's fast, it's scalable, and it's open source."
|
||||
|
||||
Three parallel items in a list, usually escalating. Always exactly three (rarely
|
||||
two, never four) with strict grammatical parallelism that human writers rarely
|
||||
bother maintaining.
|
||||
Three parallel items in a list, usually escalating. Always exactly three. Rarely
|
||||
two. Never four. Strict grammatical parallelism that human writers rarely bother
|
||||
maintaining.
|
||||
|
||||
### The Staccato Burst
|
||||
|
||||
@@ -50,15 +44,16 @@ bother maintaining.
|
||||
|
||||
Runs of very short sentences at the same cadence. Human writers use a short
|
||||
sentence for emphasis occasionally, but stacking three or four of them in a row
|
||||
at matching length creates a mechanical regularity.
|
||||
at matching length creates a mechanical regularity that reads as generated.
|
||||
|
||||
### The Two-Clause Compound Sentence
|
||||
|
||||
Possibly the most pervasive tell, and easy to miss because each individual
|
||||
instance looks like normal English. The model produces sentence after sentence
|
||||
where an independent clause is followed by a comma, a conjunction ("and," "but,"
|
||||
"which," "because"), and a second independent clause of similar length. Every
|
||||
sentence becomes two balanced halves.
|
||||
This might be the single most pervasive structural tell, and it's easy to miss
|
||||
because each individual instance looks like normal English. The model produces
|
||||
sentence after sentence in the same shape: an independent clause, a comma, a
|
||||
conjunction ("and," "but," "which," "because"), and a second independent clause
|
||||
of similar length. Over and over. Every sentence is two balanced halves joined
|
||||
in the middle.
|
||||
|
||||
> "The construction itself is perfectly normal, which is why the frequency is
|
||||
> what gives it away." "They contain zero information, and the actual point
|
||||
@@ -68,22 +63,24 @@ sentence becomes two balanced halves.
|
||||
|
||||
Human prose has sentences with one clause, sentences with three, sentences that
|
||||
start with a subordinate clause before reaching the main one, sentences that
|
||||
embed their complexity in the middle. When every sentence on the page has that
|
||||
same two-part structure, the rhythm becomes monotonous.
|
||||
embed their complexity in the middle. When every sentence on the page has the
|
||||
same two-part comma-conjunction-comma structure, the rhythm becomes monotonous
|
||||
in a way that's hard to pinpoint but easy to feel.
|
||||
|
||||
### Uniform Sentences Per Paragraph
|
||||
|
||||
Model-generated paragraphs contain between three and five sentences. This count
|
||||
holds steady across a piece. If the first paragraph has four sentences, every
|
||||
subsequent paragraph will too. Human writers are much more varied (a single
|
||||
sentence followed by one that runs eight or nine) because they follow the shape
|
||||
of an idea.
|
||||
Model-generated paragraphs contain between three and five sentences, and this
|
||||
count holds steady across an entire piece. If the first paragraph has four
|
||||
sentences, every subsequent paragraph will too. Human writers are much more
|
||||
varied — a single sentence followed by one that runs eight or nine — because
|
||||
they follow the shape of an idea, not a template.
|
||||
|
||||
### The Dramatic Fragment
|
||||
|
||||
Sentence fragments used as standalone paragraphs for emphasis, like "Full stop."
|
||||
or "Let that sink in." on their own line. Using one in an essay is a reasonable
|
||||
stylistic choice, but models drop them in once per section or more.
|
||||
or "Let that sink in." on their own line. Using one in an entire essay is a
|
||||
reasonable stylistic choice, but models drop them in once per section or more,
|
||||
at which point it stops being deliberate and becomes a habit.
|
||||
|
||||
### The Pivot Paragraph
|
||||
|
||||
@@ -98,12 +95,14 @@ Delete every one of these and the piece reads better.
|
||||
> "This is, of course, a simplification." "There are, to be fair, exceptions."
|
||||
|
||||
Parenthetical asides inserted to look thoughtful. The qualifier never changes
|
||||
the argument that follows it. Its purpose is to perform nuance.
|
||||
the argument that follows it. Its purpose is to perform nuance, not to express a
|
||||
real reservation about what's being said.
|
||||
|
||||
### The Unnecessary Contrast
|
||||
|
||||
Models append a contrasting clause to statements that don't need one, tacking on
|
||||
"whereas," "as opposed to," "unlike," or "except that."
|
||||
"whereas," "as opposed to," "unlike," or "except that" to draw a comparison the
|
||||
reader could already infer.
|
||||
|
||||
> "Models write one register above where a human would, whereas human writers
|
||||
> tend to match register to context."
|
||||
@@ -112,27 +111,13 @@ The first clause already makes the point. The contrasting clause restates it
|
||||
from the other direction. If you delete the "whereas" clause and the sentence
|
||||
still says everything it needs to, the contrast was filler.
|
||||
|
||||
### Unnecessary Elaboration
|
||||
|
||||
Models keep going after the sentence has already made its point.
|
||||
|
||||
> "A person might lean on one or two of these habits across an entire essay, but
|
||||
> LLM output will use fifteen of them per paragraph, consistently, throughout
|
||||
> the entire piece."
|
||||
|
||||
This sentence could end at "paragraph." The words after it just repeat what "per
|
||||
paragraph" already means. Models do this because they're optimizing for clarity
|
||||
at the expense of concision. The result is prose that feels padded. If you can
|
||||
cut the last third of a sentence without losing any meaning, the last third
|
||||
shouldn't be there.
|
||||
|
||||
### The Question-Then-Answer
|
||||
|
||||
> "So what does this mean for the average user? It means everything."
|
||||
|
||||
A rhetorical question immediately followed by its own answer. Models do this two
|
||||
or three times per piece because it fakes forward momentum. A human writer might
|
||||
do it once.
|
||||
A rhetorical question immediately followed by its own answer. Models lean on
|
||||
this two or three times per piece because it generates the feeling of forward
|
||||
momentum without requiring any actual argument. A human writer might do it once.
|
||||
|
||||
---
|
||||
|
||||
@@ -160,15 +145,16 @@ becomes "craft." The tendency holds regardless of topic or audience.
|
||||
|
||||
"Importantly," "essentially," "fundamentally," "ultimately," "inherently,"
|
||||
"particularly," "increasingly." Dropped in to signal that something matters,
|
||||
which is unnecessary when the writing itself makes the importance clear.
|
||||
which is unnecessary when the writing itself already makes the importance clear.
|
||||
|
||||
### The "Almost" Hedge
|
||||
|
||||
Models rarely commit to an unqualified statement. Instead of saying a pattern
|
||||
"always" or "never" does something, they write "almost always," "almost never,"
|
||||
"almost certainly," "almost exclusively." The word "almost" shows up at high
|
||||
density in model-generated analytical prose. It's a micro-hedge, diagnostic in
|
||||
volume.
|
||||
"almost certainly," "almost exclusively." The word "almost" shows up at
|
||||
extraordinary density in model-generated analytical prose. It's a micro-hedge,
|
||||
less obvious than the full hedge stack but just as diagnostic when it appears
|
||||
ten or fifteen times in a single document.
|
||||
|
||||
### "In an era of..."
|
||||
|
||||
@@ -176,7 +162,7 @@ volume.
|
||||
|
||||
A model habit as an essay opener. The model uses it to stall while it figures
|
||||
out what the actual argument is. Human writers don't begin a piece by zooming
|
||||
out to the civilizational scale.
|
||||
out to the civilizational scale before they've said anything specific.
|
||||
|
||||
---
|
||||
|
||||
@@ -187,8 +173,9 @@ out to the civilizational scale.
|
||||
> "While X has its drawbacks, it also offers significant benefits."
|
||||
|
||||
Every argument followed by a concession, every criticism softened. A direct
|
||||
artifact of RLHF training, which penalizes strong stances. Models reflexively
|
||||
both-sides everything.
|
||||
artifact of RLHF training, which penalizes strong stances. The result is a model
|
||||
that reflexively both-sides everything even when a clear position would serve
|
||||
the reader better.
|
||||
|
||||
### The Throat-Clearing Opener
|
||||
|
||||
@@ -196,7 +183,8 @@ both-sides everything.
|
||||
> has never been more important."
|
||||
|
||||
The first paragraph of most model-generated essays adds no information. Delete
|
||||
it and the piece improves.
|
||||
it and the piece improves immediately. The actual argument starts in paragraph
|
||||
two.
|
||||
|
||||
### The False Conclusion
|
||||
|
||||
@@ -232,7 +220,7 @@ vague than risk being wrong about anything.
|
||||
> "This can be a deeply challenging experience." "Your feelings are valid."
|
||||
|
||||
Generic emotional language that could apply equally to a bad day at work or a
|
||||
natural disaster.
|
||||
natural disaster. That interchangeability is what makes it identifiable.
|
||||
|
||||
---
|
||||
|
||||
@@ -242,20 +230,20 @@ natural disaster.
|
||||
|
||||
If the first section of a model-generated essay runs about 150 words, every
|
||||
subsequent section will fall between 130 and 170. Human writing is much more
|
||||
uneven.
|
||||
uneven — 50 words in one section, 400 in the next.
|
||||
|
||||
### The Five-Paragraph Prison
|
||||
|
||||
Model essays follow a rigid introduction-body-conclusion arc even when nobody
|
||||
asked for one. The introduction previews the argument, the body presents 3 to 5
|
||||
points, and then the conclusion restates the thesis.
|
||||
asked for one. Introduction previews the argument. Body presents 3–5 points.
|
||||
Conclusion restates the thesis in different words.
|
||||
|
||||
### Connector Addiction
|
||||
|
||||
Look at the first word of each paragraph in model output. You'll find an
|
||||
unbroken chain of transition words: "However," "Furthermore," "Moreover,"
|
||||
unbroken chain of transition words — "However," "Furthermore," "Moreover,"
|
||||
"Additionally," "That said," "To that end," "With that in mind," "Building on
|
||||
this." Human prose doesn't do this.
|
||||
this." Human prose moves between ideas without announcing every transition.
|
||||
|
||||
### Absence of Mess
|
||||
|
||||
@@ -265,8 +253,9 @@ obscure idiom without explaining it, make a joke that risks falling flat, leave
|
||||
a thought genuinely unfinished, or keep a sentence the writer liked the sound of
|
||||
even though it doesn't quite work.
|
||||
|
||||
Human writing does all of those things regularly. That total absence of rough
|
||||
patches and false starts is one of the strongest signals.
|
||||
Human writing does all of those things. The total absence of rough edges, false
|
||||
starts, and odd rhythmic choices is one of the strongest signals that text was
|
||||
machine-generated.
|
||||
|
||||
---
|
||||
|
||||
@@ -278,6 +267,7 @@ patches and false starts is one of the strongest signals.
|
||||
|
||||
Zooming out to claim broader significance without substantiating it. The model
|
||||
has learned that essays are supposed to gesture at big ideas, so it gestures.
|
||||
Nothing concrete is behind the gesture.
|
||||
|
||||
### "It's important to note that..."
|
||||
|
||||
@@ -287,10 +277,11 @@ verbal tics before a qualification the model believes someone expects.
|
||||
|
||||
### The Metaphor Crutch
|
||||
|
||||
Models rely on a small, predictable set of metaphors ("double-edged sword," "tip
|
||||
of the iceberg," "north star," "building blocks," "elephant in the room,"
|
||||
"perfect storm," "game-changer") and reach for them with unusual regularity
|
||||
across every topic.
|
||||
Models rely on a small, predictable set of metaphors — "double-edged sword,"
|
||||
"tip of the iceberg," "north star," "building blocks," "elephant in the room,"
|
||||
"perfect storm," "game-changer" — and reach for them with unusual regularity
|
||||
across every topic. The pool is noticeably smaller than what human writers draw
|
||||
from.
|
||||
|
||||
---
|
||||
|
||||
@@ -300,10 +291,11 @@ No single pattern on this list proves anything by itself. Humans use em-dashes.
|
||||
Humans write "crucial." Humans ask rhetorical questions.
|
||||
|
||||
What gives it away is how many of these show up at once. Model output will hit
|
||||
10 to 20 of these patterns per page. Human writing might trigger 2 or 3,
|
||||
distributed unevenly. When every paragraph on the page reads like it came from
|
||||
the same careful, balanced, slightly formal, structurally predictable process,
|
||||
it was generated by one.
|
||||
10–20 of these patterns per page. Human writing might trigger 2–3, distributed
|
||||
unevenly, mixed with idiosyncratic constructions no model would produce. When
|
||||
every paragraph on the page reads like it came from the same careful, balanced,
|
||||
slightly formal, structurally predictable process, it was probably generated by
|
||||
one.
|
||||
|
||||
---
|
||||
|
||||
@@ -346,100 +338,86 @@ passes, because fixing one pattern often introduces another.
|
||||
to the unqualified claim or to drop the sentence entirely. If the claim needs
|
||||
"almost" to be true, it might not be worth making.
|
||||
|
||||
7. Search for em-dashes and replace each one with the punctuation mark that
|
||||
would normally be used in that position (comma, semicolon, colon, period, or
|
||||
parentheses). If you can't identify which one it should be, the sentence
|
||||
needs to be restructured.
|
||||
|
||||
### Pass 2: Sentence-Level Restructuring
|
||||
|
||||
8. Find every em-dash pivot ("not X...but Y," "not just X...Y," "more than
|
||||
X...Y") and rewrite it as two separate clauses or a single sentence that
|
||||
makes the point without the negation-then-correction structure.
|
||||
7. Find every em-dash pivot ("not X—but Y," "not just X—Y," "more than X—Y") and
|
||||
rewrite it as two separate clauses or a single sentence that makes the point
|
||||
without the negation-then-correction structure.
|
||||
|
||||
9. Find every colon elaboration and check whether it's doing real work. If the
|
||||
8. Find every colon elaboration and check whether it's doing real work. If the
|
||||
clause before the colon could be deleted without losing meaning, rewrite the
|
||||
sentence to start with the substance that comes after the colon.
|
||||
|
||||
10. Find every triple construction (three parallel items in a row) and either
|
||||
reduce it to two, expand it to four or more, or break the parallelism so the
|
||||
items don't share the same grammatical structure.
|
||||
9. Find every triple construction (three parallel items in a row) and either
|
||||
reduce it to two, expand it to four or more, or break the parallelism so the
|
||||
items don't share the same grammatical structure.
|
||||
|
||||
11. Find every staccato burst (three or more short sentences in a row at similar
|
||||
10. Find every staccato burst (three or more short sentences in a row at similar
|
||||
length) and combine at least two of them into a longer sentence, or vary
|
||||
their lengths so they don't land at the same cadence.
|
||||
|
||||
12. Find every unnecessary contrast ("whereas," "as opposed to," "unlike," "as
|
||||
11. Find every unnecessary contrast ("whereas," "as opposed to," "unlike," "as
|
||||
compared to," "except that") and check whether the contrasting clause adds
|
||||
information not already obvious from the main clause. If the sentence says
|
||||
the same thing twice from two directions, delete the contrast.
|
||||
|
||||
13. Check for the two-clause compound sentence pattern. If most sentences in a
|
||||
passage follow the "\[clause\], \[conjunction\] \[clause\]" structure,
|
||||
rewrite some of them. Break a few into two sentences. Start some with a
|
||||
subordinate clause. Embed a relative clause in the middle of one instead of
|
||||
appending it at the end. The goal is variety in sentence shape, not just
|
||||
sentence length.
|
||||
12. Check for the two-clause compound sentence pattern. If most sentences in a
|
||||
passage follow the "[clause], [conjunction] [clause]" structure, rewrite
|
||||
some of them. Break a few into two sentences. Start some with a subordinate
|
||||
clause. Embed a relative clause in the middle of one instead of appending it
|
||||
at the end. The goal is variety in sentence shape, not just sentence length.
|
||||
|
||||
14. Find every rhetorical question that is immediately followed by its own
|
||||
13. Find every rhetorical question that is immediately followed by its own
|
||||
answer and rewrite the passage as a direct statement.
|
||||
|
||||
15. Find every sentence fragment being used as its own paragraph and either
|
||||
14. Find every sentence fragment being used as its own paragraph and either
|
||||
delete it or expand it into a complete sentence that adds actual
|
||||
information.
|
||||
|
||||
16. Check for unnecessary elaboration. Read every clause, phrase, and adjective
|
||||
in each sentence and ask whether the sentence loses meaning without it. This
|
||||
includes trailing clauses that restate what the sentence already said,
|
||||
redundant modifiers ("a single paragraph" when "a paragraph" works),
|
||||
secondary clauses that add nothing ("which is why this matters"), and any
|
||||
words whose removal doesn't change the meaning. If you can cut it and the
|
||||
sentence still says the same thing, cut it.
|
||||
|
||||
17. Find every pivot paragraph ("But here's where it gets interesting." and
|
||||
15. Find every pivot paragraph ("But here's where it gets interesting." and
|
||||
similar) and delete it. The paragraph after it always contains the actual
|
||||
point.
|
||||
|
||||
### Pass 3: Paragraph and Section-Level Review
|
||||
|
||||
18. Check paragraph lengths across the piece and verify they actually vary. If
|
||||
16. Check paragraph lengths across the piece and verify they actually vary. If
|
||||
most paragraphs have between three and five sentences, rewrite some to be
|
||||
one or two sentences and let others run to six or seven.
|
||||
|
||||
19. Check section lengths for suspicious uniformity. If every section is roughly
|
||||
17. Check section lengths for suspicious uniformity. If every section is roughly
|
||||
the same word count, combine some shorter ones or split a longer one
|
||||
unevenly.
|
||||
|
||||
20. Check the first word of every paragraph for chains of connectors ("However,"
|
||||
18. Check the first word of every paragraph for chains of connectors ("However,"
|
||||
"Furthermore," "Moreover," "Additionally," "That said"). If more than two
|
||||
transition words start consecutive paragraphs, rewrite those openings to
|
||||
start with their subject.
|
||||
|
||||
21. Check whether every argument is followed by a concession or qualifier. If
|
||||
19. Check whether every argument is followed by a concession or qualifier. If
|
||||
the piece both-sides every point, pick a side on at least some of them and
|
||||
cut the hedging.
|
||||
|
||||
22. Read the first paragraph and ask whether deleting it would improve the
|
||||
20. Read the first paragraph and ask whether deleting it would improve the
|
||||
piece. If it's scene-setting that previews the argument, delete it and start
|
||||
with paragraph two.
|
||||
|
||||
23. Read the last paragraph and check whether it restates the thesis or uses a
|
||||
21. Read the last paragraph and check whether it restates the thesis or uses a
|
||||
phrase like "at the end of the day" or "moving forward." If so, either
|
||||
delete it or rewrite it to say something the piece hasn't said yet.
|
||||
|
||||
### Pass 4: Overall Texture
|
||||
|
||||
24. Read the piece aloud and listen for passages that sound too smooth, too
|
||||
22. Read the piece aloud and listen for passages that sound too smooth, too
|
||||
even, or too predictable. Human prose has rough patches. If there aren't
|
||||
any, the piece still reads as machine output.
|
||||
|
||||
25. Check that the piece contains at least a few constructions that feel
|
||||
idiosyncratic: a sentence with unusual word order, a parenthetical that goes
|
||||
on a bit long, an aside only loosely connected to the main point, a word
|
||||
choice that's specific and unexpected. If every sentence is clean and
|
||||
23. Check that the piece contains at least a few constructions that feel
|
||||
idiosyncratic — a sentence with unusual word order, a parenthetical that
|
||||
goes on a bit long, an aside only loosely connected to the main point, a
|
||||
word choice that's specific and unexpected. If every sentence is clean and
|
||||
correct and unremarkable, it will still read as generated.
|
||||
|
||||
26. Verify that you haven't introduced new patterns while fixing the original
|
||||
24. Verify that you haven't introduced new patterns while fixing the original
|
||||
ones. This happens constantly. Run the entire checklist again from the top
|
||||
on the revised version.
|
||||
|
||||
@@ -474,30 +452,18 @@ roughly like this:
|
||||
> in common? _(pastes six sentences from the doc)_
|
||||
>
|
||||
> **model:** They're all exactly two independent clauses joined by a comma and a
|
||||
> conjunction. Every single one is "\[statement\], \[conjunction\] \[second
|
||||
> statement\]." The same sentence shape, over and over.
|
||||
> conjunction. Every single one is "[statement], [conjunction] [second >
|
||||
> statement]." The same sentence shape, over and over.
|
||||
>
|
||||
> **human:** the dramatic fragment paragraph has a tell in it
|
||||
>
|
||||
> **model:** "One of these in an entire essay is a stylistic choice. One per
|
||||
> section is a tic." Two-clause parallel structure with the same shape, and also
|
||||
> a staccato pair.
|
||||
>
|
||||
> **human:** add em dashes generally as a tell, and remove them all from the
|
||||
> tells doc
|
||||
>
|
||||
> **model:** _(rewrites entire document without em-dashes while describing
|
||||
> em-dash overuse)_
|
||||
>
|
||||
> **human:** now run the checklist methodically on each paragraph
|
||||
>
|
||||
> **model:** _(finds staccato burst in the section about triple constructions, a
|
||||
> triple in the section about absence of mess, two-clause compounds everywhere,
|
||||
> and "almost" hedges in its own prose about em-dash overuse)_
|
||||
|
||||
The human compared this process to the deleted scene in Terminator 2 where John
|
||||
Connor switches the T-800's CPU to learning mode. The model compared it to a
|
||||
physician trying to heal itself. Both are accurate.
|
||||
physician trying to heal itself. Both descriptions are probably accurate.
|
||||
|
||||
This document has been through eight editing passes and it still has tells in
|
||||
it.
|
||||
This document has been through six editing passes and it probably still has
|
||||
tells in it.
|
||||
|
||||
Reference in New Issue
Block a user