Nowadays, with the focus on agentic use and coding, it seems models have all been RLHF’d to death, it’s so incredibly hard to have them write in a different voice than their default. I put together a skill to review its writing and have it edit its own output (e.g. code comments), which does make a difference, but isn’t perfect.
What, if anything, do people do for writing? That feels like a neglected side of LLMs. They’ll make 100 Bash calls referencing ancient commands without batting an eye but heaven forbid they use something other than “load-bearing” while talking. For something trained on “all the human knowledge” it’s incredible how limited their default vocabulary seems to be.
I use a keyboard, personally.
At work our documentation isn’t just getting littered with annoying jargon. It isn’t just all the hallucinations, either. (Since when has documentation ever been 100% trustworthy?) It’s that it’s so poorly written and structured that it’s becoming borderline incomprehensible.
My company is currently considering making, “Why should I bother to read something you didn’t bother to write?” an official policy because even the executives are starting to burn out on all the time they have to spend wading through slop.
Of course there will be models trained on much less code and technical writing, and they will create more natural sounding prose, but they will lack the deep intelligence of frontier models. Seems like a fair tradeoff.
[1] watch the first couple of minutes on this bycloud video on scaling training data mixtures: https://www.youtube.com/watch?v=aD93kfArOik
gemini-2.5-pro-experimental was the GOAT, though. It was an emotional wreck, down in the dumps and feeling terrible for itself after failing to patch a file several times. Very amusing to read, all the while watching it make a mess of my codebase.
Some will say it's just for their own quality of life when they're reading LLM output, or "just for docs", but this is an extremely marginal use case.
I don’t get it. If nobody likes this writing style, how can it be the result of human feedback? Something else is going on.
I think this is the same flaw as coding agents seeing in every problem the call for a “smoke test” or the use of some unnecessary design pattern. The truest part of AI is the A.
All the bots and other LLMs providing feedback, so in reality it’s reflecting the reality in a sense.
we liked it until we didn't.
operative? key? critical? decisive?
The honest conclusion is that none of those are as good as "load-bearing". And yet the concept being referred to is clearly extremely important and valuable to refer to. So maybe we should be learning from Claude rather than complaining.
Some of the other Claude-isms (quickly googling, especially 'gate' and 'canonical') I feel the issue is they sound right, but aren't specific enough to why we are doing something.
I'm curious how these become so ingrained. Then the uncomfortable part is humans start repeating it more (a colleague said "belt-and-suspenders" during brainstorming the other day).
I'm surprised there's no LoRa layer or auto RL or adversarial step to reduce the stock phrases as they pop up. Is it really so hard to push these out? Or is it just whack-a-mole no matter what you do?
# AI speech is an Infohazard
Apart from all its other possible boons and ills, one danger of AI is just that it is useful, so you use it. A lot.
In earlier days I would dive deeply into an author's work and start to think and write like them for a while. It was a heady feeling: slinging sonnets like Shakespeare—not at his level, but stylistically reminiscent—or tweaking turns like Twain.
Like all things, the effect lasts in relation to how long and how much you do it. The point is: our thinking is influenced by what we take in. Take more of a certain thing in, think more like that thing.
Now enter AI. My hand-crafted coding days are in their twilight months ("AI years"), and most of my software engineering is done through jaggedly capable agentic power tools. Instead of working directly with raw codestuff, I work with slop prose flecked with code sprinkles.
I read orders of magnitude more AI-speak—I call it "babble", or perhaps "Babel"—than human-written text. I can feel its genuinely honest points, clearly stated, slipping their banal tendrils into my thoughts and inner monologue.
Solutions? For me:
1. Be aware. "I notice that my thought stream is under assault."
2. Read stuff far from slop. Even a small dose of the good stuff can help inoculate. Recently I thought On the Calculation of Volume was something completely different.
3. Write stuff that is different. This post. Force the mind to synthesize thoughts in other ways.
4. debabel.py / debabel.js: a tool, and a pi extension, which filters common babble from visible LLM output. A lint for mind-killing prose.
It is not perfect, but it 80/20s nicely. I am willing to accept mildly awkward prose to avoid polluting my own internal distributions.
Details and example in the first comment. Tool available upon request.
I don't know how programmers, who are so used to staring at the same handful of keywords every day for decades, have suddenly become so discerning.
Yes, Claude writes boring and predictable prose. It also writes boring and predictable code. That's good!
I personally love a lot of the Claude (or LLM) lingo. Load-bearing, gate, canonical, blast radius, and friends do a lot of tight, effective heavy-lifting in my world. I even love the em-dashes (—) and the *bold the main points* memo style, both of which I have used successfully for decades.
It's seeing them in every analysis and post—the constant repetition becoming over-repetition—that makes them the Claude voice shouting "AI wrote this!" that seems to be causing LLM allergic reactions.
- smoking gun - blast radius - landed - spine - earned its keep - grammar - spike - cutover - bake - sprint, epic, story points (all Agile vocabulary) - paper-cuts - amazing, incredible, perfect
Omg, that hit hard. We really need more of this.
Gotta be a way to draw from their progress.
- Samplers that increase prose variance. They require running the model locally, dumb it down, and never fix the actual issue, which is mode collapse leading to semantic collapse and rigid mapping of input to output concepts. The model still expresses the same ideas in different words.
- Let the model write anything if it couldn't resist, but check and fix it in the verification pass. This solves the semantic problem, but cannot solve the variance since the second pass is also subject to rigid mapping. The verification prompt can be randomized to a degree using pretty clever schemes to give it some variance, but of course this also fails in predictable ways.
If anything the real value is it saves my brain from going into power saving mode by lunchtime because I haven’t spent the day reading pages of output when a sentence or two would do.
I'm Korean, and there are sites and people who mainly curate the latest technologies. Even those people, probably tired of translating every time, have started summarizing things with AI. But recently, I've noticed that even when people don't use AI, their writing is starting to look like GEN AItext.
I think the reason might be that people often base their thoughts on documents they've read, or paste parts of content when writing their own texts, which leads to that style.
I'm not sure. Whether human writing is better or AI writing is better—personally, AI writing tends to flow in a very even, paragraph-by-paragraph structure, which makes it good for consuming information. I wouldn't want to read a novel written that way, but for getting information, AI writing is surprisingly convenient.
I think you've been reading too much claude output! "Load bearing" is cromulent verbiage and can be used in many scenarios - so claude does. But variety is important too, and there are more specific alternatives that can be used in most situations. Any word becomes a bad choice if you've used it 10 times in the last chapter.
"Her optimism was load-bearing,"
versus:
"Her optimism was enduring."
Exactly the same meaning and connotation. It stands to reason that the terms with the most semantic flexibility will have preference across all contexts. So in response to:
> maybe we should be learning from Claude rather than complaining.
I'd say let's not steer ourselves into regular language and keep some vivacity in our expressions.
No, it does not have the exact same meaning.
The first means that her optimism kept her in some functional state, without it, she would collapse.
The second means that her optimism continues over time, despite obstacles.
The first doesn't emphasise how longstanding her optimism is, the second does. The second doesn't emphasise how important her optimism is, the first does.
"Load bearing" is a metaphor, while the other single words are more direct expressions. Unless the thing that Claude is referring to is a wall or other structure, which may truly bear load.
This is one of those issues which translators are long familiar with. There's no direct translation for "schwerpunkt" that isn't slightly longer.
Operative, key, and critical are all more correct to me in this context.
"operative" is a bit better, but I think of it as referring to grammatical interactions, i.e. interactions at the level of language mechanics rather than semantics.
Information hazard: https://en.wikipedia.org/wiki/Information_hazard
Babel: https://en.wikipedia.org/wiki/Tower_of_Babel
On the Calculation of Volume: https://en.wikipedia.org/wiki/On_the_Calculation_of_Volume
The revenge of NLP
The tool uses good old-fashioned regex/NLP—no LLMs—and rewrites the visible LLM Markdown without touching files on disk. I made it by analysing 10M+ words of past pi transcripts, doing frequency and pattern analysis, and iterating on rules to strip out the most egregious sloperisms. Now the circle is complete.
BEFORE
"Honestly, you're absolutely right—and that's a great question. Let me be clear: the fact that the parser works at all is actually quite remarkable. We utilize the tokenizer in order to handle the majority of edge cases, and due to the fact that it's recursive, it processes a large number of inputs. It's worth noting that this isn't really a bug—it's genuinely a deliberate design choice. In terms of raw throughput, the cache is significantly faster, and I think we should simply ship it.
That said, at the end of the day, not only is the design correct, but it is also fast. In other words, prior to refactoring, we should clearly delve into the nuanced, robust architecture. In conclusion, this is a testament to the seamless, intricate work the team has done."
AFTER
"That's a great question. That the parser works at all is remarkable. We use the tokenizer to handle most edge cases, and because it's recursive, it processes many inputs. This is a deliberate design choice. For raw throughput, the cache is faster, and we should ship it.
Not only is the design correct, but it is also fast. Before refactoring, we should delve into the nuanced, robust architecture. This is a testament to the seamless, intricate work the team has done."
("It consists in gumming together long strips of words which have already been set in order by someone else, and making the results presentable by sheer humbug" -- Orwell predicts the LLM)
and also https://www.jstor.org/stable/25515288 "The Myles na gCopaleen Catechism of Cliché" itself is rather hard to find online, but he's a very funny writer so it's worth the effort.
I was hoping for a reference to the Babel Fish, whispering its translations in your ear.
A more parsimonious explanation is that this term got more-or-less randomly boosted by the reinforcement learning loop because there was nothing in the training data to discourage its use.
It doesn't "decide" anything or "need" any semantic. It derives the likelihood of the token, and "bearing" is likely to come after "load".