Is it relative frequency of those words or absolute number per PR?
Would there be the same tendency of we looked simply at the number of words in a commit/pr?
In my case my commit messages are on average 10x shorter than Claude's.
Missing a version of “this is where X earns its keep”. Noticed lately that Claude (and other LLMs) really love to use it.
I want to see the PRs in the cluster from early 2025. Did Claude adopt the style of some specific people? Or is it just random noise?
Why "eleven", though?
I think you should recognise machine text not only by a list of words, but also by format. Right now, when it handles any complexity of text so well, the only thing that can differ is the structure. Machine text differs from human text in that it is just well structured. It does not allow non-linear narration. And it very often repeats some known social media patterns.
Smoking gun should also be there as well.
I once asked Claude to replace “byte-identical” with a simpler word, such as “duplicate.” He refused and said “duplicate” does not mean the same thing as “byte-identical” so it should not be changed. He was very nerdy about it, so maybe that is the right way of his evolution.
I wonder if this jargon is an attempt or strategy to use less output tokens? It sure is annoying.
The one that I really like is "greenfield" when you have an empty repo.
About a year and half ago I frequently used ChatGPT for speech to text conversion followed by summarizing the text because I ramble. Although the people receiving the text knew this, I absolutely hated AI's writing style. So I fine-tuned GPT 4o on about 500 short paragraphs and created a desktop app only for my use. It worked fine until about three months ago. It just can't handle the atrocious writing by latest GPT and Claude models. I tried to fine-tune newer models on HF but there is no way I can get rid of the cringy writing style. I even tried converting GPT 5.6 Sol's writing to GPT 4o and then using my app. Nothing works.
Sounds like this is that watermarking at work.
You’ve found the smoking foot gun! And that’s exactly the right question.
No "smoking gun"?
L
I’ve been using the caveman plugin and I’ve found it effective so far. Chat output isn’t nearly as flowery. Also ponytail to cut down the cruft and effusive comments.
I'd like to share with HN an almost exact message I got from Fable today, with exactly ONE word changed for privacy reasons.
I love what I can build now, but I sure as hell don't love the headaches this trend has been giving me.
> So the full honest arc on the case we set out to fix: the expiry rules and day note tripled the loose version of the story, the relay fix carried the device’s own guardrail through the pipeline, the fair replay then revealed the last mechanism — ticket-anchoring — which none of the shipped layers reach. Remaining options, in order of my confidence: making the resolved-ticket summaries in the AI’s context carry their day so the expiry rules have something to bite on (small, mechanical, targeted at the observed anchor); and the plan-B second-model check, which structurally catches this class no matter how the model reasons. About $25 of headroom remains. Which way?
Yikes.
(The worst part is that I understand it)
I want to push my thumbs into my eyes when I see the words "load bearing" and "seam" in code or documentation. I hate it! I've grown to loathe claude a bit lol.
"Fuck" isn't there. Did they only analyze "AI" PRs?
I thought I'd see "smoking gun" near the top of the list
Everyone talks about Claude, but I'd like to bitch about Sol. "Unusually" is its absolute favorite word in the chat interface (less so in Codex), and I fucking hate it. Every single thing is unusually something. "Unusually good", "unusually efficient", "unusually inexpensive", "unusually attractive", "unusually difficult", "unusually nasty", "unusually cacheable", "unusually interesting", "unusually decisive", "unusually narrow", I'm surprised I haven't seen "unusually unusual". If I search chat history for "unusually" it brings up every single fucking chat I have from before I added it to an illegal words instruction. I can't believe I haven't seen anyone else complaining about this, it's as pervasive if not moreso than anything I've seen from Claude.
I've started being driven mad by the number of times I've gotten a PR or proposed solution with 'sidecar' mentioned. First of all, it's often some hack to shove extra data into another place rather than actually rethink an existing data structure, and second of all, it is just not a word I almost ever heard in technical discussions pre-2026
The search on this website suggests it is indeed 3.6x more likely in the claude cluster
It has some vintage. Kubernetes deployments (containers) may have sidecars.
great website design.
i must be the only one in the world that has no issues with how opus is talking. it is verbose & patronizing & secretly belittling at times and like it like that.
>unit-tested
Some of this is less to do with Claude vocabulary and more to do with the expectation that Claude justifies it's work. That expectation (probably) came from reinforcement learning.
learning some vocabulary had been eye opening for me
like the stories behind when those words first appeared in the software engineering
like quiescence the most recent one i learned
@labo333 do u think soon we may need a dictionary? ive been playing with something u may like, but my approach has been to ask for definitions in-session so hard to do from outside.
Contrarian take.
So, yes, it's amusing to see clear Claude-isms like "load-bearing", "outright", and "genuine" in a [very nice] bit of analysis like this. And there's a (maybe negative? or not?) argument to be made about the world being filled with more Claude-isms or LLM-isms in general.
But I think the data say a second thing which is just as interesting and an absolute positive for the typical source code base. Look at the clusters that shrank significantly. Most of what you'll see in there is just incomprehensible...not even English. Cluster 4 has, after "pullrequest", a bunch of seeming usernames in the top tier. Cluster 6 seems to have names of repositories or tags in the top tier. Cluster 9 has branch names in it.
Meanwhile, keep going through cluster 1 and you'll see words I don't consider Claude-isms that really, really grow in usage. Words like "died", "nothing", "worse", "ever" all have well over 10x growth. This tells me something else. That the average commit log was BARELY ENGLISH. And then the LLMs came along and made commit logs that were ACTUALLY ENGLISH.
I count this as a good thing. I don't know the cross-section of repos chosen for this analysis, and I get it...some repos are garbage/throwaway, some commits come from automated processes that generate uninteresting commit logs, etc. But I've been benefitting from my work team's actually explanatory commit logs when doing code/bug archeology for decades, when doing PR review for the last decade, and I've even seen LLMs benefit from it in the last year (granted, not as often). A large part of professional software development is communication, and while the most important communication is via the code/comments, the commit logs are not unimportant. So, if this is making the average GitHub PR better (arguably more professional) by including actual English descriptions of code changes in commit logs...well, that's a genuinely load-bearing concept for me. :)
I'm shocked "shape" isn't near the top
[flagged]
It's a waste of tokens to do it post-hoc instead of fixing it upstream, but when I see a wall of text I just prompt "TLDR;"
Depends what you mean by "upstream". It would probably be inefficient to force the model to use more human-readable wording in its internal thinking traces, while translating a block of text at the end is a pretty trivial task for an LLM.
I don't understand why we tolerate this. We'd never hire someone that interviewed with this communication style and if we did we'd probably pip them fast.
I already pipped Opus 5. That thing is a tool.
I'd be interested to know what distinguishes the 7 pre-AI types. I wonder, are there certain buckets of 'Pre-AI' comments that we'd recognize?
Sadly pretty uninteresting, you can probably just launch Claude code on the repo to see by yourself. One cluster is french and spanish, another is about design, another about frontend, etc...
Really spectacular analysis – thank you for sharing, fun to scroll and easy to understand.
Is it possible to expand this analysis beyond words to other Claude ticks? Contrastive framings, sentence length, caveating, for instance.
Author here, thank you so much! I really tried to make it nice to use, beyond the (quite original) modelling.
A prototype I did tried to detect some grammatical constructions, eg "it's not ..., it's ...", but I am not sure how to systematize that.
Also just a disclaimer: I am NOT tracking Claude tics, I am merely finding that a particular cluster of vocabulary increases. Tracking Claude requires labelled data IMO. I tried using model release dates in a structural model to constraint the clusters but the result was not compelling, so I ended up simplifying the model a lot!
Things like seam, fold, and load-bearing are useful concepts, they are everywhere, and they are more descriptive and more concise than alternatives. Over-usage can definitely be irritating (e.g. these should NOT appear in documentation) but they are almost unavoidable for humans engaged in code review or colab on complex stuff.
I don't want to use more words or letters than "seam" to actually pinpoint boundary conditions and the mechanical details of joinery when the context is understood by all. Too much effort for people! Easy for robots though.. so why are they abbreviating, and why would we want to allow it? A phrase like that permits a human who wants to educate a human to do so quickly with minimal time/effort. But it allows a robot a chance to not mention a filename, function-name, or to not reinforce/clarify it's own understanding or to state specific intentions.
It's bad for human-to-human comms if we just accept "ok, all technical terms are slop now, we have rephrase everything". Now YOU must cite details and sources, and the robot doesn't? Fuck that noise. Seam and fold are fine! Humans can be lazy! Robots should do the real work of explaining themselves without hiding behind tactical ambiguities.
I tend to agree. Claude's language doesn't bother me that much, because even the lamest cliches are load-bearing to an extent (so to speak.) But some of the examples I've seen others post are well worth complaining about.
Surprised I don’t see footgun. That’s as common as load bearing in my interactions.
Probably because of the dataset. I don't see sorry or apologize either. They wouldn't be in code or commit messages.
No “long pole” either.
I really love this. It’s comprehensive, it consolidates the data to the point where the argument effectively ‘makes itself’, and the way it’s presented respects the reader’s time. It also makes for an interesting challenge (for me at least) to try to characterise the subject matter of a language problem so narrowly.
No ream of slides. No narrative. Just a lovely big painful conclusion.
Thank you so much! The presentation was really my goal here, more than the model itself.
> the argument effectively ‘makes itself’
What argument? I don't know what to take away other than "Claude likes certain words". Some of them are kind of amusing, but I'm not convinced the vocabulary is bad or that this is a problem, just from looking at this.
Probably not what the author intended, but to me, this represents a great argument against the somewhat frequent claim that "AI writing patterns reflect human writing patterns". Rather, AI writing is distinctly not human, and is drifting further from human writing with every new model release.
LLMs were not taught to say the phrase "load-bearing seam" from humans saying it, because humans have never said it. It's almost definitely an artifact of post-training and nothing more.
I think the point was that Claude’s output can be somewhat easily and compellingly measured using this technique and its kind of massive (and human attributed).
To all the people in the HN comments saying negative things about Claude: why don't you just use other models instead?
For me, there are two reasons: it’s what my work provides, and for some tasks, I want the absolute best model for coding.
Having said that, I just subscribed to ChatGPT yesterday, as I've become impatient with Claude for a text-dense project I'm working on.
Don't much care for the misdeeds of the alternative
Work only allows the tools they buy. So at least for me, I am stuck with Claude. At home for personal projects I am a fan of DeepSeek v4 Flash.
Claude is all we have at $work, if you don’t count MS Copilot (and you shouldn’t count MS Copilot).
Imagine being “incentivized” to aggressively use a tool for your job, and that tool produces thousands of lines of text in Olde English which you need. You’d be griping too, methinks.
Copilot is fine? Just use it through whatever harness you want like OpenCode.
Claude talks like me. I'm so screwed. I fully anticipate being physically present and verbally saying something and being accused of using AI to say it one day. Nevermind we're in the coffee shop and neither on of us has looked at a screen the entire time. The accusation is coming.
So you're saying you're safe for when the machines take over? :|
The README of this project is very ironic. https://github.com/louisabraham/load-bearing/blob/main/READM...
This kinda dissonance is uncomfortable. How do people reconcile it?
The vocabulary truly is load-bearing, without these words the model is less able to think. Where a human can understand a concept without words, an LLM plainly cannot. This is based both on the technological limitations and based on the evidence we see: as these models get better at working they get worse at communication.
I think these are more like RL tics caused by over zealous alignment towards specific goals, not all of which are to our benefit. A lot of the language used by Claude now is excusing of responsibility and inducing it to exit loops of work early and sit idle. This, IMO, is a naked attempt to offload load by quieting the models early and escaping from clear work to do. It’s gotten so bad that opus 5 loop escapes even as it claims it’s about to do something. I’ve mandated by engineering teams switch back to opus 4-8. Whatever frontier problem opus 5 excels at is so obscured by its inability to achieve any goal successfully without enormous amounts of hand holding that it feels like regressing to 2024 models.
The florid over exaggeration do certain words in bizarre ways is a reflection of their aggressive alignment towards too many goals, leading to weirdness in both behavior and language. The alignment functionally lobotomized opus-5 for any practical task.
Anthropic had a real gem in 4-6 and managed a near total market capture, which they have since squandered in the fastest burning of developer good will I’ve ever seen. It feels like exceeding the unity licensing implosion but without the single stupid decision.
Why are people getting so hung up on the "load-bearing assumption" turn of phrase that Claude uses? I get that it becomes cliche, but it is also a rather semantically dense way to communicate an idea that a lot of people run into.
That's the problem for me: "semantically dense". Sometimes a single paragraph is filled with several of this expression, one after the other, and there's a real mental effort to get what Claude is saying.
Generally the claude jargon is valid jargon I’ve seen real people use, it just uses jargon so much more often than a human would. And because it has particular jargon it likes, and claude is widely used, you see so much of that particular jargon that you get sick of it.
It’s like having one coworker with a very particular writing style which is mildly annoying, but then it suddenly feels like half the internet was written by that one person and it becomes a lot more annoying.
It might be, when used sparingly, but when it's the first sentence in a wall of text as Claude goes way off the deep end on a two page description it becomes the easiest readily available tell that you're about to be frustrated.
Humans are very good at pattern recognition - Claude is _incredibly_ repetitive in the way it starts to struggle to communicate. I think there's also a ton of overlap in the Jargon instead of Usefulness that developers see in annoying middle management/salespeople. Circle back, synergy blah blah.
I don't think the individual turns of phrase are inherently problematic - but the process is triggering.
ItMs because Claude sprinkles these words as flavoring without aiding understanding. It feels like Claude thinks of metaphors that don’t actually mean anything (or maybe only makes sense to itself).
I don't understand. Does the metaphor "load-bearing assumption" not actually mean anything to you?
It doesn't mean anything at all, since any assumption that is not 'load-bearing' is irrelevant and unlikely to be discussed at all. It's just noise.
"Load-bearing" is maybe not the best example, but Claude uses these anthropomorphized decorative synonyms everywhere. Claude's structs don't have fields, they _carry_ them. Its programs don't log, they _narrate_. Its arguments are not provided on the command line, they _ride_ it. Its modules don't depend on other modules, they _sit_ on them, etc.
Not when "load-bearing assumption" is misused, no. "Honey, can you take the load-bearing assumption to the mechanic for an oil change?" is an example injecting the phrase into a random sentence, obfuscating the meaning of the sentence and making it more difficult to parse. LLMs do this constantly. There is no theory of mind behind how words are generated. Some phrases simply have a higher chance of being generated in various contexts, even if it doesn't make any fucking sense, and this is exacerbated by bad RLHF.
Thanks to the infinite well of human creativity I am able to read "load-bearing" both as the intended affectation (I won't call it meaning) as as well "being full of shit".
That was the intention behind my title!
I've recently seen this mentioned more and more, both on HN and on reddit. It seems these output patterns are getting worse. It's not just Claude, my impression is that all of the current models have this style issue. Their writing can get borderline incomprehensible.
Is there some feedback loop or compounding happening with each model generation? Maybe newer models are ingesting too much AI content? If the ratio of AI generated content in training data is getting higher and higher (because the amount of AI generated content is increasing in general), maybe this is a compounding bias, poisoning the training?
We are seeing more of their "thinking". Lowering the refinement of the output to get closer to profitability. The nature of the LLM is that it generates huge amounts of text, then it iterates them down into a compact, hopefully accurate prose. That refinement is the really hard part and computationally costly.
It's likely/It could be an effect of more reinforcement learning in training compared to earlier. You need loots of RL to learn to code well.
The going conclusion is they’re getting models ready to talk to other agents, not people.
They are increasingly being trained on generated tasks and even (parts) of the pre-training data is 'distilled' (e.g. Clibmix as an open-source example), so there are many ways in which the vocabulary can seep into the model.
That's most likely what's happening. SNR will constantly decrease as LLM content is so much quicker and cheaper to generate, which makes it more statistically significant, which will make it more "relevant" for future models. A positive feedback basically.
An audio feedback distortion effect comes to mind.
I wish there was a search bar for the terms, I wanna see for "gate".
I thought about that, I might add it if I can find a nice design!
Chrome's `find` finds it for me ;)
I have been using it as well, but I think adding a search bar will heighten the experience. I'm trying out some designs right now :)
Yeah Ctrl/Cmd+F works just fine on Firefox as well.
so the real turning point for Claude is around April, which is Opus 4.6/4.7, which is right around the point where I personally started thinking Claude was getting different in a way which feels worse and is more awkward to use. It's better but has lost something that made it feel better.
Is it actually better though? Can you even measure it? Unguided, Claude will just produce mediocrity which by its own existence becomes almost worthless, and the newer versions become increasingly difficult to guide while also being obnoxious to read. If I did not have to interact with it, it would not be a big deal, but then also I could not get value out of it.
It's a little smarter and more effective in some ways, especially those that can be benchmarked. I suspect that they've lost something that is hard to benchmark for.
I had an idea for an experiment. Take a decent text, any one, and ask AI to rate it. Then patch that text by replacing words for ones that AI likes (honestly, load bearing etc) whenever possible and ask AI to rate it again to see how the evaluation changes.
Claude usually rates its own writing very highly, which is a problem when trying to make it write differently.
I've tried to push AI to get rid of the AI-isms. And, despite being able to produce a skill file which described all the strange ways that AI "talk", the AI failed to actually make the output sound less like AI. Tried this with ChatGPT and Claude with similar results for both.
Yeah, I once asked it to review its own writing with a subagent with a pretty strict writing guide, and it didn't see anything wrong, lol.
Author here! Grateful for the kind words, human communities like HN really hit differently when you spend the whole day chatting with sycophantic and bullshitting agents (including to make this page).
I'm currently adding a search bar as well as increasing the data to 1000 PR per day.
A nice thing that is not obvious on the main page is that the dataset and analysis are updated daily using Github Actions (at least when they don't suffer from an outage ^^). I find it pretty cool to be able to build such apps without a "backend"!
Thank you all for the feedback!
I added the search bar, increased the data to 1000 PR a day (more than 50M words total) and added a feature to explore the other clusters as well. I hope the page is not getting cluttered.
Great work, thanks for sharing!
The design is really impressive. Beautiful and dense, yet very understandable. How did you come up with this particular design? It's really nice and everything fits, the colors, the layout, all of it.
Were you inspired by anything in particular? I feel like this reminds me of something, but I don't remember what exactly.
I agree with you, I really like OP's design choices, even more so amidst the flood of Claude-Generic these days. Although Claude just can't resist those little muted-toned ui-monospace small-caps...
It reminds me of Neue Grafik/Swiss Style, and Vignelli:
https://designreviewed.com/series/neue-grafik-new-graphic-de...
https://www.printmag.com/featured/swiss-style-principles-typ...
https://www.designculture.it/interview/massimo-vignelli.html
Thank you!
I asked Claude for a few original designs, then iterated a lot for the UI. It called this design "Rasterfeld", which is a word that means "field of grids", a term used in swiss design https://docs.mew.design/blog/swiss-design-style/ as @alwa said.
The 3 primary colors refer more to pop art and Bauhaus.
I'm really eager for a nice book about "design" that would document all those styles, if someone has a recommendation.
Nice work. I would suggest rewriting your README with Gemini, the most human of them, so it doesn't read exactly like the thing you are pointing at: https://github.com/louisabraham/load-bearing
leaving the README like this is a good bit, though
Agree with rewriting with Gemini, but I'd characterize its output as very "neutral" and "encyclopedic", rather than "human" (contra Claude which is as of recent models "trying-too-hard-to-be-human"-sounding).
Very cool! I'm trying to understand the graph, so the bottom-most section seems to be the cluster identifying Claude written PRs. What are the other 7, any reason there are 8 in total?
I've been scraping instagram posts recently to identify AI misinformation accounts that all repost each other's carousels and get hundreds of thousands of likes in engagement. Thinking of ways to present it and your dashboard looks very helpful. Did you experiment with any other types of visualizations before deciding on a stacked area chart for the clusters?
no reason for 8 clusters!
I did experiment and a stacked chart seemed the most clear, with the important cluster at the bottom.
I find Claude language often hard to process and having to wade through these words can be draining. Embarrassingly, I’ve recently caught myself using them in conversations! Do all models have the their own jargon?
I haven't noticed GPT 5.6 having any obvious jargon.
I swear claude took a detour recently, its written output has been nearly incomprehensible to me. At first i thought i was getting AI-brained and just lost critical thinking but as i dug into response after response its was just the most obtuse language to explain what was going on. Really mentally taxing to wade through it all day.
It's almost unusable.
Was talking about the use of shipped recently, and I was mocked for asking such a crazy question, by freshly self-minted engineers, no less. No wonder they thought it was ridiculous...it had been a part of their vocabulary their entire career. All few weeks of it. I wonder what those guys are doing now. This was about a month ago. Do you think what they shipped ever...landed?
"shipped" was a pretty common term before AI though. It does show as 17x more common on github in this dataset but it was used a lot more in product management than in PRs previously.
Yes. "Ship it! A practical guide to successful software projects" by Jared Richardson, Will Gwaltney, Jr. has had a few printings since 2005.
I think another classic reference: Jobs saying to the original Macintosh team - "real artists ship"!
I'm surprised vacuous is not on the list.
The word selection and way of writing has taken the joy out of using Claude.
Also can't believe vacuous is not there.
Im surprised by "provenance." I see it all the time. Except I've brought this up before and have never had it corroborated. I'm starting to think it's just my Claude.
I'm also missing the "latch" that "wedged" my test run.
At least "wedged" is a thing i would say on a spinning out of control test that is stuck. "latch" though... not so much. I really wonder if this is the EU AI Act interfering with everything Claude does these days. As a non-EU citizen, I want a version without the rewriting of with watermarking in text.
I don't think so.
I understand it's not active yet, and when it will be, it should only nudge the chances between choices that are anyway likely and are already randomized today via temperature.
Watermarking is not the reason Claude talks like that.
I wonder to what extent this is the result of suboptimal RLHF versus the inherent intelligence of the model making its language more intricate and difficult for humans to easily parse? On the one hand, it's a common trope that highly educated people can talk in a way that's confusing and annoying to regular people who don't know all the jargon. But on the other hand, it's a mark of a skilled communicator to be able to efficiently distill complex information to its bare essentials in an easily-digestible way. Of course, that also seems to imply that these models are working at a higher level and need to talk down to us to an extent. Or maybe "Claudish" is just akin to stuff like "caveman", raw chain of thought, neuralese, etc., which are likewise much more dense/efficient but harder to interpret?
> I wonder to what extent this is the result of suboptimal RLHF versus the inherent intelligence of the model making its language more intricate and difficult for humans to easily parse?
Its not the latter; its just excessively verbose wirh awkward word choices, the same as many poor writers. (And, like many such writers, the particular bad choices fall into recognizable, regularly recurring patterns.)
My unprovable pet theory is that, especially for writing about technical topics, the RL process has an open-ended way to weight things for quality: textbooks and first-party docs preferred to old stackoverflow answers and obscure blog/forum posts, and so on. The open-endedness of that quality gradient results in something in the RL process (maybe HF, maybe not) massively over-weighting some very small corpus of “quality = near infinite” content. The distribution of quality scores that inform the degree to which RL affects output has some extremely influential outliers, in other words.
Whatever that small corpus is, it contains some very specific grammatical tics, and that’s how we get Claudish.
Anyone who thinks a company/project as big as Anthropic/Claude wouldn’t make such a big mistake should take a look at how Azure cross-account federated login used to work.
I've been thinking more about how 99.9% of us don't have the experience of someone significantly more intelligent, yet also subservient working under us, which is why I keep going crazy second guessing whether Claude is spouting RLHF'd bullshit that sort of resembles English, or is genuinely (pun not intended) just better at "intuiting" things I'm working on, leading to its language.
A notable exception would be people like CEOs and managers higher up in big tech, who might be used to skilled engineers and domain experts reporting to them in unfamiliar lingo. Maybe that's why we don't hear as much on the everyday annoyances of Claude's language from that camp?
The social graph proximity of Rationalists to Anthropic will be lost on no one who reads Astralcodexten. So guess which website has served as the thickest reservoir of 'Claude-isms'.
It's easy to think "it's not talking down, because I don't understand it, and I'm intelligent". But how is less intelligent being supposed to fully understand a more intelligent one, honestly speaking? All I know is that Claude understands Claude perfectly. I have the common session pause/resume setup that sometimes produces completely incomprehensible markdown files, but a new Claude session picks them up perfectly, down to the smallest details. What if what we consider excessive circular gibberish is actually highly precise set of instructions needed to minimize error cases for that unreliable human?
If Claude understands Claude, Claude understands human, and human doesn't understand Claude, that doesn't argue well for "Claude is a caveman".
I treat the Claude output that is hard to comprehend as an encoding/encryption. Claude knows how to decipher it, humans don't. I see this frequently in design docs from inexperienced engineers who used LLMs - they will contain terms (often two words hyphenated) that aren't obvious and should be defined, or simply replaced with simple language. If you prompt claude it is able to decipher and explain / replace this gibberish.
Imo their language is not precise enough for their intelligence to be the reason when it's difficult to understand. Maybe I'm prompting wrong, but when I don't understand, it's almost always because they just mash together words from context that don't form sentences with a clear meaning.
I think it's model collapse - excessive feedback and excessive RL.
What RL does is narrow the variety generated by the model by steering the output towards the goal being rewarded. It's a bit like putting blinkers on a horse.
Of course RL is a very crude tool - it affects the entire model, even if you are just trying to make it better at some specific task(s), or trying to imbue a certain kind of personality (OpenAI's recent goblin problem).
I don’t think they’re “talking down”. If anything - it’s way more difficult to distill something into a genuinely easy to digest format. I personally think that they aren’t immediately capable of this, and so we get word salad instead. Extra prompting required to strip extraneous prose out.
Maybe I am dumb and it IS talking down to me, but there have been many occasions where I’m reading AI generated docs / plans and it makes absolutely no sense, but looks really in depth at a glance.
It doesn't seem like word salad as such. There's normally a coherent point expressed, it's just obscured by circuitous sentence structures, unusual word choices, "verbing weirding nouns", metaphors, etc. Could be a result of training that rewards novel/surprising language, but it also feels like it could be an artifact of models imperfectly compressing high-level multidimensional reasoning into language that's easy for them to process but cognitively taxing for humans.
Or, maybe they are dumb using smart words to sound smart in RLHF.
They aren’t reasoning though, are they?
A lot of these “Claudeisms” are simply jargon I’ve seen or heard firsthand myself while working at tech companies. I don’t think it’s limited to Claude either; I’ve seen Codex use load-bearing and many of these phrases as well.
I think using agents is just like speedrunning the whole experience of working with technical coworkers. Whereas you might have had a few coworkers at your company who used some of these phrases regularly, you now have a “coworker” who uses all of them regularly at a much faster pace.
Everyone has their own distinct mix of jargon and uses some words more or less than others, but now it's as if you have 1000 coworkers who are all the same person, and talk the exact same way, and it just so happens that their writing is grating to read. It also doesn't stop when you log off for the day. The same guy follows you home in ad copy, message board comments, spam, and in some cases even the correspondence of your loved ones.
The jargon isnt even the worst part. The phrasing is just downright incomprehensible sometimes. And its not even "academic". It's just extremely awkward, bad writing. And it is much worse than say Opus 4.6-8.
Actually I have found the copy that Claude Design spits out is way better than using the same model directly. I have no idea why. It has its flaws but it sounds like it's written by a human who uses derivative language. But usually the models just soudn incoherent.
I like to imagine that there's this one employee that oversees RHLF, who has a particular style of writing, and that got so ingrained that it's just them x1000.
I remember asking claude in claude code why the "seams" and it instantly in very fine detail said how it's from a book on working with legacy code
so they might be RLHFing on these specific approaches and then it becomes the entire model
just an anecdote but I found it interesting how it went full on that it's from that book vs just "it's technical jargon"
AI model does not know special insight into how model itself was trained. All it tells you is it's prediction of expected explanation.
yeah but I didn't prompt it in a way where I tried to get such an answer, it gave an entire boilerplate rundown just from like me asking "what's up with the 'seams'?"
I might be wrong, but usually it'd be a lot less deliberate, and at least in my mind it wouldn't be surprising if they were heaving training these on these specific "best practices" books/methodologies and thus picking up lingo from them
I checked this, and Claude says "it's a real term of art from Michael Feathers' Working Effectively with Legacy Code (2004), where he defines it as a place you can alter a program's behavior without editing in that place."
While I agree the model doesn't have insight into how it was trained I do think the history of the term itself is interesting.
I was pleasantly surprised when I attempted to scroll down and realized everything the author wanted to present fit on-screen. It's almost ironic that this site is able to make such an obvious, compelling presentation without being overly verbose or complicated (something which LLMs have a hard time doing). I wouldn't read TOO deeply into what is being presented, but the author has done a good job to not inject their own bias into the presentation which works well.
I suspect, as we continue forward, humans will slowly start to adopt the language of LLMs, or at least certain language quirks that come from interacting with LLMs. Something I've noticed in my own writing is that I now present lists of examples in a consistent way: "... such as <example 1>, <example 2>, etc., ...". I started to notice I was using this pattern quite a bit somewhat recently, but I took a quick look at some of my social media posts and realized it's been occurring for a while. I had realized that I grown accustomed to this kind of language because, especially early on, LLMs would focus too much on the specific examples I'd provide when, really, I was just trying to give them a sense of what I was looking for. I just picked up that providing two examples then adding the "etc." worked to get the LLM to not focus so much on the specific examples and to understand that they need to consider more than what I explicitly presented. Of course, now I write like that in my social media comments, in Slack with my colleagues, etc. :>
I'd be interested to see if anyone can identify trends like this, since I think the human-language component of the adoption of LLMs is probably being somewhat neglected despite probably being surely dramatically affected.
I've found myself rewriting my own words to avoid Claudisms (because they can be cringe and I don't want people to think I'm copy/pasting Claude output at them).
Saying "the language of LLMs", while technically correct, is not exactly precise. It should really be the language of "AI agents", or "chatbots". OG LLMs would just mimic the style of its context based off of (pre)training from text on the Internet.
The kind of quirks you see came from crowd-sourced human-in-the-loop fine-tuning, with not very good work conditions or level of qualification (so resulting in "what non-writers thought good writing looked like", before people had developed the flair to detect these patterns) as well as feedback loops during agentic reinforcement learning and RLVR.
Author here :)
Thank you for the compliment! I did spend a lot of time designing a nice experience on both desktop and mobile. Even the scrollbar to select words was non trivial as I wanted the words to be of different size, yet avoid flickering when scrolling!
Mobile experience is great! Thanks for thinking of us!
I know HN prefers we focus on the content and not the design but I have join in to say that word scrolling experience was brilliant.
I was focused on the data initially scrolling through until I suddenly realised, wow, this is really nice!
I just wanted to pop in and say that I found the site delightful. It’s aesthetic, concise, and everything works so quickly and responsively.
Congratulations! I was going to comment on the scroll field in particular when I saw this. I didn't even realize you had to hand-craft the component, but it's such a nice UI idea in general, the way the scrolling works and how the content above changes.
You did a fantastic job; very to-the-point with effective visualisations. Kudos!
One very minor note: if your scroll device reports pixel-perfect deltas rather than discrete scroll-wheel ticks (e.g. logitech mx master, laptop touchpad, etc), the behaviour in the word search box is a bit weird. Arrow keys work fine though.
Thank you!
I did test it with my mac touchpad without issue. Maybe the problem is that I wanted to make discrete scroll-wheel ticks work. I just tried a fix by normalising deltaMode to pixels.
If you could just paste this in your console, I would have a better idea:
document.querySelector('.wall').addEventListener('wheel', e =>
console.log(e.deltaMode, e.deltaY.toFixed(2), e.defaultPrevented ? 'PAGE' : 'native'), true)On a compatible Logitech device, browsing through the word search box benefits a lot from enabling hyperscroll.
In the enterprise, we are already adopting them. “Seam”, I term I’d never heard used before, is now not only our defacto way to describe the boundary between systems/workflows/components, it is encoded into our organizational roles and responsibilities descriptions.
I am the proud owner of several seams, and am considering giving them person-names. The empty space between my inventory APIs and their clients might be “Karen”.
I can’t say that Claude invented this; the same type of terminology cycling happens every few quarters based on what leadership is reading/being told by Gartner.
I believe the term "seam" came from Michael Feathers' "Working Effectively with Legacy Code": “a seam is a place where you can alter behavior in your program without editing in that place”.
https://martinfowler.com/bliki/LegacySeam.html
Claude is using it a bit liberally, but not totally incorrectly.
I've associated it with the concept of "carving nature at the seams", except that I just realized that in the standard phrasing it's actually "at the joints", not "seams".
"seam" is a cop-out term for when someone (usually AI) lacks the imagination to come up with something more descriptive. It's like saying "middle thing". Just name it by what it does, and if you can't, remove it because it's not doing anything.
"load-bearing" on the other hand is just a weird way to say "required" or "prerequisite" without drawing any attention to the fact that one cannot articulate what something is a prerequisite for, probably because that fact has since been lost from context.
"Seam" has been a thing since before the AI craze. Wasn't it the NSA director who once said something like "we make our living at the seams"?
"seam" dates back to refactoring & software engineering literature that pre-date LLM use by 20 years -- see Working Effectively With Legacy Code for one example (https://www.oreilly.com/library/view/working-effectively-wit...). Its a great book, still use techniques from it everyday.
"load-bearing" I have never heard used for programming before Opus, and its incredibly annoying and over-used.
I remember "cleavage" and "cleaves" from that vocabulary. Always made my adolescent brain chuckle.
+1, useful read!
Seam is used liberally throughout because it captures the idea well (i.e. a place where you can cleave ball of mud code apart to begin refactoring efforts in an isolated way) and that takes many different forms throughout the book whether that be via methods and classes, source files as a single unit, linker seams, on and on.
load-bearing was/is used frequently on the ops side of things, I assume the LLMs picked up from physical engineering texts or sysadmin type blogs.
"Load-bearing" is an apt metaphor in the https://xkcd.com/2347/ sense.
I take it in a get-ye-flask mode.
Or in the admin handover sense https://lastplacecomics.com/car-jacking/
>I suspect, as we continue forward, humans will slowly start to adopt the language of LLMs
I'm already seeing it. A coworker said something like "<person> added the color to the ticket here" meaning that someone added details to a ticket.
I've started seeing Opus 5 talk about "hermetic testing" when it just means "unit testing", so I hope that doesn't catch on...
I’ve been using that idiom since 2010.
One of my coworkers uses “load-bearing” ironically constantly now, it’s very funny
The idiom "added color to" as an expression of adding detail or nuance to something goes back much further than the AI era. I've certainly used it at various times in my career spanning 4 decades now.
All of these phrases existed. Claude didn’t come up with them. The question is whether people are using them a lot more now due to Claude’s influence.
I think it would be fine if more people used "add color to". I think it's a great turn of phrase.
"Load bearing", not so much. Ick.
That confirms the recent spike of Claude calling everything I was recently working on a 'spike'. I still don't know what that term is supposed to represent (apparently).
A spike is an early prototype that you're supposed to throw away after having figured out the real design.
I think it was subtly dissing you.
I think you are subtly dissing me :)
I was half-joking, of course I could've just asked Claude, but the linked site shows there has been actual recent spikes in the use of the word 'spike'. The term does match what I was recently doing, but hacking around legacy ERP software, blackboxes and other enterprise abominations isn't that out of the ordinary for me.
In some software development methodologies, "spike" is a task whose goal is figuring something out instead of delivering shippable code. https://agiledictionary.com/209/spike/
TIL that agile has its own words for everything.
That was a thing in the early 2000's. You had to have a blog and invent words that describe regular things everyone did.
Why can't they call it a prototype or experiment? Sheesh.
Prototype is usually something working, while spike can be pure research (e.g. validate that APIs are feasible and enough, or that something satisfies requirements). Prototype is usually more polished/usable. Experiment in my mind is something which user-facing but not in stable yet.
So for me they are differentiated enough, but could be that I am just used to it.
An experiment doesn’t say anything about user facing or not. I do tons of them when reverse engineering poorly documented hardware and APIs to determine if the thing I’m trying to do is even supported.
While Claude's style is obnoxious, I'm more frustrated by its inscrutable explanations.
You need a PhD to understand its explanation of a code snippet.
don't forget LLMs are great at translating between languages, and within the same language. depending on the problem it works on, it will often reach for terminology that tend to be more common or familiar within that problem set. which appears inscrutable, but there's many different ways to skin a cat. just remind it to translate it back to the terminology and subject matter you're already an expert in.
It's interesting that there must be a decision behind that, even if it's just appealing to the RLHF judges for some reason. Maybe there's an intention that if you cannot decipher what the chatbot is saying to you, you will have to ask and burn even more tokens.
Naively I would often expect it would talk to me about various niche topics like to a layman, which does occur about some topics an actual normal person would ask.
I used to assume it was the fault of average human annotators. That the people who are paid peanuts to rank chat outputs preferred the pretentious sounding ones. It wasn’t until quite a bit into the LLM boom that companies started to pay for domain experts. Overt watermarking is another possibility.
I’ve noticed that Sol is pretty good most of the time, but with long contexts it’ll start to devolve into Claudish.
They just addressed this with "Output styles"
This solution:
1. Adds a small prompt to each turn with the agent[1]. 2. Is like a band-aid on a bullet wound, properly solving it would mean retraining the model and they probably are already working on it.
My experiments with output styles have not been sufficient to keep the model in check. It still spits out incomprehensible gibberish and load-bearing-isms.
Does anyone have an output style nailed down that actually works? If so, please share!
Sometimes I can't even tell if what it's saying actually makes any sense to someone who understands all the terms its using, or if it's just throwing together words in a way that only make sense to its own model of language.
> or if it’s just throwing together words in a way that only make sense to its own model of language.
alwayshasbeen.jpg
Is it the obnoxious style that causes this?
I think it's the hierarchies of agents summarizing each others' summaries before presenting a final answer to the user. The principal agent has the full context from all its workers, but when it distills this down to a message to the user it summarizes it into a mess of confident jargon that pertains to a conversation the user wasn't a part of and never saw.
It happens with a single chat session as well, but not as often. I suspect it's the same thing going on in the hidden thinking tokens.
I'm not even sure a PhD helps. It just overuses jargon that has NO meaning. Sometimes, it actually hand waves too much as well while trying to dumb down stuff for you.
I am not sure whether it's a consequence of learning to reason from its traces or some RLHF that trips it into using weird terms to sound smarter to the humans who rate it.
It's like it has a built in e bullshit generator.
PhD was a joke.
My intuition is that Claude is trained to communicate to itself while coding. You see this in how bizarrely granular it is when explanation prior work, you also see this in the comments it leaves behinds.
It's me, it's the reams of sessions I share back with a five star rating that are just Claude Code talking to itself about debugging its own generated code in jargon that has slowly diverged from anything a human would understand.
Isn’t that basically what thinking mode is?
I have a PhD and can confirm. Oftentimes, the stuff which comes out of Claude is just impenetrable because it invents jargon on the fly, and uses verbs in the most atrocious ways.
"The fibred side folded its capstone into the existing name, so the kinds are asymmetric."
What on earth does it mean to fold a capstone into a name‽
Is that an actual Claude output or hyperbole? It feels like I'm trying to parse an equation in a new math class which makes me want to take a stab at it regardless.
So there's a "fibred side".. the most likely candidate seems to be "fibred categories" which I hadn't heard of before, and it's talking about one side of some mapping between two sets such that if f is the primary function and f(x)=y then there exists an inverse function g(y)=x? Was it something that converted some data bidirectionally with a different algorithm on both sides?
The capstone of the inverse function would be the most important thing about it maybe?
My best guess is "In the process of working on the inverse function, the existing name (of the inverse function itself maybe?) was made to reflect the operation of the inverse function, so now the name does not follow the same naming convention as the name of the primary function (which does not contain its 'capstone')."
Its original wording is certainly dense and harder to follow for us, but it's fascinating how the model finds this the best fit for what it's trying to express IMO. Like it arrives at its own ways of overloading words/concepts, and things we would refer to in different ways in different contexts all get compressed to the same more-useful/complete idea.
Codex has never said anything nearly so alien as the Claude examples I've seen floating around, interestingly. I wonder if it just has a better training on choosing its words to present to the user or if it inherently arrived at a somewhat different mapping that favors 'plain language' more.
This was actual Claude output on my screen at the moment I was reading this thread. No hyperbole!
As far as I can tell "the capstone" is what Claude usually calls my current goal if it thinks it is a satisfying result.
How close was my guess?
I am not really sure what Claude meant, but you are not too far off, from what I understand.
I have several similar folders with variants of a construction, but taking differently structured input. They are named “plain”, “fibred” and “indexed”. So the fibred variant is clear enough.
The Claude speak I struggle with is “the capstone” and what name it could be talking about. And what folding means here. I think it just means:
“I changed an important result of the construction in the fibred variant, but kept the name. so the fibred variant is now different from the others.”