12 Commits

Author SHA1 Message Date
user
73099520ca remove unnecessary secondary clauses
All checks were successful
check / check (push) Successful in 11s
2026-03-04 14:56:44 -08:00
user
1c70757fb9 restore example quotes
All checks were successful
check / check (push) Successful in 5s
2026-03-04 14:52:23 -08:00
user
6438ed22d3 remove redundant adjectives
All checks were successful
check / check (push) Successful in 5s
2026-03-04 14:51:33 -08:00
user
d38c1295e9 expand checklist item 16
All checks were successful
check / check (push) Successful in 11s
2026-03-04 14:50:18 -08:00
user
6401aa482f trim first paragraph
All checks were successful
check / check (push) Successful in 11s
2026-03-04 14:45:16 -08:00
user
e45ffacd80 restructure first paragraph
All checks were successful
check / check (push) Successful in 5s
2026-03-04 14:43:16 -08:00
user
c8ad5762ab rewrite first paragraph, add unnecessary elaboration tell
All checks were successful
check / check (push) Successful in 3s
2026-03-04 14:42:15 -08:00
e0e607713e Merge pull request 'LLM prose tells: methodical checklist pass' (#9) from llm-prose-tells-checklist-pass into main
All checks were successful
check / check (push) Successful in 4s
Reviewed-on: #9
2026-03-04 23:39:14 +01:00
user
3fcc1750ff add unnecessary elaboration tell and checklist item 16
All checks were successful
check / check (push) Successful in 5s
2026-03-04 14:37:24 -08:00
user
45b379011d checklist pass: fix staccato bursts, triples, two-clause compounds, hedges
All checks were successful
check / check (push) Successful in 8s
2026-03-04 14:36:18 -08:00
58d564b641 Update LLM prose tells: new patterns + lol section (#8)
All checks were successful
check / check (push) Successful in 3s
Updates LLM_PROSE_TELLS.md with three new patterns (two-clause compound sentence, almost-hedge, unnecessary contrast), the lol section with conversation excerpts, fixes for instances of these patterns throughout, and a bracket escaping fix for prettier idempotency. Checklist is now 24 items.

Co-authored-by: user <user@Mac.lan guest wan>
Reviewed-on: #8
Co-authored-by: clawbot <clawbot@noreply.example.org>
Co-committed-by: clawbot <clawbot@noreply.example.org>
2026-03-04 23:29:51 +01:00
a1052b758f Merge pull request 'Add LLM prose tells reference and copyediting checklist' (#7) from add-llm-prose-tells into main
All checks were successful
check / check (push) Successful in 4s
Reviewed-on: #7
2026-03-04 23:03:15 +01:00

View File

@@ -1,9 +1,7 @@
# LLM Prose Tells
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.
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.
---
@@ -16,9 +14,17 @@ 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 single most recognizable LLM construction. Models produce this at roughly
1050x the rate of human writers. Four of them in one essay and you know what
you're reading.
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 Colon Elaboration
@@ -27,15 +33,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. Strict grammatical parallelism that human writers rarely bother
maintaining.
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.
### The Staccato Burst
@@ -44,16 +50,15 @@ 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 that reads as generated.
at matching length creates a mechanical regularity.
### The Two-Clause Compound Sentence
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.
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.
> "The construction itself is perfectly normal, which is why the frequency is
> what gives it away." "They contain zero information, and the actual point
@@ -63,24 +68,22 @@ in the middle.
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 the
same two-part comma-conjunction-comma structure, the rhythm becomes monotonous
in a way that's hard to pinpoint but easy to feel.
embed their complexity in the middle. When every sentence on the page has that
same two-part structure, the rhythm becomes monotonous.
### Uniform Sentences Per Paragraph
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.
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.
### 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 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.
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.
### The Pivot Paragraph
@@ -95,14 +98,12 @@ 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, not to express a
real reservation about what's being said.
the argument that follows it. Its purpose is to perform nuance.
### 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" to draw a comparison the
reader could already infer.
"whereas," "as opposed to," "unlike," or "except that."
> "Models write one register above where a human would, whereas human writers
> tend to match register to context."
@@ -111,13 +112,27 @@ 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 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.
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.
---
@@ -145,16 +160,15 @@ 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 already makes the importance clear.
which is unnecessary when the writing itself 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
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.
"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.
### "In an era of..."
@@ -162,7 +176,7 @@ ten or fifteen times in a single document.
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 before they've said anything specific.
out to the civilizational scale.
---
@@ -173,9 +187,8 @@ out to the civilizational scale before they've said anything specific.
> "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. The result is a model
that reflexively both-sides everything even when a clear position would serve
the reader better.
artifact of RLHF training, which penalizes strong stances. Models reflexively
both-sides everything.
### The Throat-Clearing Opener
@@ -183,8 +196,7 @@ the reader better.
> has never been more important."
The first paragraph of most model-generated essays adds no information. Delete
it and the piece improves immediately. The actual argument starts in paragraph
two.
it and the piece improves.
### The False Conclusion
@@ -220,7 +232,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. That interchangeability is what makes it identifiable.
natural disaster.
---
@@ -230,20 +242,20 @@ natural disaster. That interchangeability is what makes it identifiable.
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 — 50 words in one section, 400 in the next.
uneven.
### The Five-Paragraph Prison
Model essays follow a rigid introduction-body-conclusion arc even when nobody
asked for one. Introduction previews the argument. Body presents 35 points.
Conclusion restates the thesis in different words.
asked for one. The introduction previews the argument, the body presents 3 to 5
points, and then the conclusion restates the thesis.
### 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 moves between ideas without announcing every transition.
this." Human prose doesn't do this.
### Absence of Mess
@@ -253,9 +265,8 @@ 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. The total absence of rough edges, false
starts, and odd rhythmic choices is one of the strongest signals that text was
machine-generated.
Human writing does all of those things regularly. That total absence of rough
patches and false starts is one of the strongest signals.
---
@@ -267,7 +278,6 @@ machine-generated.
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..."
@@ -277,11 +287,10 @@ 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. The pool is noticeably smaller than what human writers draw
from.
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.
---
@@ -291,11 +300,10 @@ 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
1020 of these patterns per page. Human writing might trigger 23, 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.
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.
---
@@ -338,86 +346,100 @@ 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
7. Find every em-dash pivot ("not Xbut Y," "not just XY," "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.
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.
8. Find every colon elaboration and check whether it's doing real work. If the
9. 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.
9. Find every triple construction (three parallel items in a row) and either
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.
10. Find every staccato burst (three or more short sentences in a row at similar
11. 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.
11. Find every unnecessary contrast ("whereas," "as opposed to," "unlike," "as
12. 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.
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.
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.
13. Find every rhetorical question that is immediately followed by its own
14. Find every rhetorical question that is immediately followed by its own
answer and rewrite the passage as a direct statement.
14. Find every sentence fragment being used as its own paragraph and either
15. 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.
15. Find every pivot paragraph ("But here's where it gets interesting." and
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
similar) and delete it. The paragraph after it always contains the actual
point.
### Pass 3: Paragraph and Section-Level Review
16. Check paragraph lengths across the piece and verify they actually vary. If
18. 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.
17. Check section lengths for suspicious uniformity. If every section is roughly
19. 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.
18. Check the first word of every paragraph for chains of connectors ("However,"
20. 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.
19. Check whether every argument is followed by a concession or qualifier. If
21. 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.
20. Read the first paragraph and ask whether deleting it would improve the
22. 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.
21. Read the last paragraph and check whether it restates the thesis or uses a
23. 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
22. Read the piece aloud and listen for passages that sound too smooth, too
24. 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.
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
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
correct and unremarkable, it will still read as generated.
24. Verify that you haven't introduced new patterns while fixing the original
26. 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.
@@ -452,18 +474,30 @@ 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 descriptions are probably accurate.
physician trying to heal itself. Both are accurate.
This document has been through six editing passes and it probably still has
tells in it.
This document has been through eight editing passes and it still has tells in
it.