Rendered at 23:28:30 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
trefoiled 1 days ago [-]
I've been grappling with this for weeks, not just in Claude but in Codex as well, which isn't quite as bad but still annoying. AGENTS.md does very little, agents will consistently violate the communication preferences, especially as the session drags on. It's incredible to me that there's no good way to reliably change the way an LLM responds to you that a workaround like this would even be necessary. It seems like such a failure to live up to the promises of the product.
The baked in communication style of these models is so obnoxious it's impacting my work. The best way I can describe it is that everything is optimized to impress the user and make the agent sound more authoritative, but the way this is done is through deliberate obfuscation, inserting inappropriate and extremely dense jargon, and bizarre, stilted metaphors. It's like they've been trained to produce output that's hard to read.
striking 1 days ago [-]
I asked Claude to do the following:
> hello i would like to configure a new output style for you. it should keep the coding instructions (as you will still be coding!) and otherwise produce the same output, but with two new caveats. first, long detailed replies are still permitted, but if employed they must end in a bullet pointed summary whose points are all brief; if the summary attempt ends up not being so brief, produce subsequent summaries until the most recent summary attempt is digestible. second, if there is an open queue of actions for me to execute and you are about to end a turn to wait for a reply or this set of actions has not recently been mentioned, please tabulate the open actions i should take and why i should take them before ending the response. does this make sense or do you have any follow up questions
And now every message contains the same stuff I don't bother reading, but followed by a nicely formatted bullet point summary of the response and a table of follow up actions for me to take that I do read.
cnity 23 hours ago [-]
I've noticed that most people seem to consider the core problem of Claude's output as "too verbose" but I don't think this actually cuts to the heart of the matter at all. It's almost, in some weird way, the opposite: like the text is far too _dense_. It tries too hard to invent odd terminology to try to condense stuff, but it doesn't tell you up front that it is going to call your company wide error-handling mechanism a "flare" (or some other such strange term).
LtdJorge 18 hours ago [-]
Exactly, it’s absurdly dense, it’s almost impossible to follow. An it always omits the subject of each sentence.
ATMLOTTOBEER 10 hours ago [-]
Ngl I think this is partially an artifact of it having a better grasp of English than almost everyone
Frequently its choice of a particular word is perfect and gives me the vocabulary to talk about the task at hand the way I want
Like it’s tuned to just be “maximally dense” instead of “dense/technical where you can handle it and simple where you can’t”
It doesn’t know where your language strengths/weaknesses are, so it can’t communicate to you like a fellow human does.
lacunary 10 hours ago [-]
Human explaining something: are you familiar with phlox gabrania? no? let me give you some background first
Claude explaining something: gedarkin load bearing phlox gabrania seam. Also, you didn't ask about cheesecake but let me tell you about phlox gabrania cheesecake woles.
psma_egeliaa 11 hours ago [-]
Yeah I don't the problem is verbosity as such, as I frequently have to ask to explain how it reached a certain conclusion and in particular what the empirical evidence for it is, at which point it too frequently reconsiders its answer.
It's just that the details it parrots are often irrelevant and wrapped in a way that makes them seem relevant.
lucas_t_a 14 hours ago [-]
my hypothesis is that its trying to hide the thinking process so people can't train models on the output, try to learn anything complex using AI, its basically imposible, its like its actively fighting giving you the main rationale
throwaway894345 22 hours ago [-]
Kind of both. On the one hand, it is “verbose” in the sense that it will tell me every little nit that it can think of while doing a task, it will tell me a narrative about its thought process, and it will tell me every other detail it can think of. But it does so in a way that tries to be incredibly dense to the point that I have to struggle to figure out what it is saying. I wonder if there are any “legibility benchmarks” that one could use to determine what prompts work best?
roarcher 17 hours ago [-]
I find it to be both as well, as in "packed full of information, but most of it is worthless". Sentences so dense I have to read them three times, assembled into a five paragraph essay of "honest caveats" and "things worth knowing" in response to the simplest yes-or-no questions.
I wish this had non-model comparisons. If Opus 5 is in the top ten, it’s clear that the entire benchmark is somewhere between “Tom Clancy” and “Dan Brown” and about 1,000 new model releases away from Hemingway.
When you see, “Wow, Fable is number one”, you might think it’s a good writer, but that’s not what the benchmark says.
manmal 17 hours ago [-]
Seems to me a bit insensitive or logarithmic. Fable is way worse than some of the others in this list, but only 10-20% higher score.
timacles 22 hours ago [-]
There are no "best" prompts. Its a random BS generation machine that you can at times direct enough to get stuff done for you. The output will almost always have varying levels of BS that you have to clean up with various levels of effort.
throwaway894345 21 hours ago [-]
"<Country> doesn't have a largest city because all of the cities in <Country> are small"
glenngillen 10 hours ago [-]
yes, but how else would you know that "flare" was the load bearing part of that statement? /s
cnity 5 hours ago [-]
I'm going to argue to my boss that our KPI for the next quarter should be the number of load bearing seams discovered. I'll await the promotion.
jchook 1 days ago [-]
Claude already does summaries at the end of long output but they often sound even more like terse jargon nonsense than the long form, eg “the hardwired seam and the relocated barrel”.
Sometimes the summaries feel totally alien to the task or code.
throwaway894345 22 hours ago [-]
Yeah, or they will make some reference to “the seam” or “it” or something else that assumes you read and followed the prior 3 pages of output.
janee 10 hours ago [-]
thanks! I've been having quite a lot of success with your instruction today. Tried so many variants, best practises bla bla bla, but yeah this one seems be working quite nicely for me so far :)
8cvor6j844qw_d6 24 hours ago [-]
A separate /clear and /code-comment-hygiene works much better than including instructions related to comment verbosity after carrying out a task.
Claude somehow is unable to stop writing excessive comments when carrying out a task.
striking 23 hours ago [-]
I've added code comment hygiene to a skill that all of my pull requests go through, alongside a review from a separate agent and a settle loop against bots in my GitHub workspace (since output style has seemed to only help literally the output I see from the model).
Even as the most Ant-pilled guy out there, I will take a moment to note that Codex on 5.6 models needs none of this...
svara 1 days ago [-]
I'm probably going to be going against the grain here, but I think it's not as bad as it looks at first.
I was similarly frustrated a few months ago, but have noticed I've started to learn the idiom.
Its use of "dense jargon" and "stilted metaphor" is actually surprisingly consistent - it's speaking its own dialect, and you get used to it.
After a while it gets much easier to read and even becomes somewhat efficient, I think, since the odd metaphors it uses often have a precise meaning in Opus-ese (Fable speaks a really similar dialect).
cafebeen 1 days ago [-]
One danger in acclimating to this style of communication style is that we may accidentally use it in your own communication with other people. If the other person hasn't grokked the dialect, it can make things quite confusing (to say the least). For example, there is common jargon used by people and there is chat-session-specific jargon created by LLM agents, and I've seen the latter popping up in various meetings, unbeknownst to the speaker. Some people call it out, but others may simply disconnect from the discussion.
porkpieshoe 1 days ago [-]
You're absolutely right, it would be a load-bearing mistake to adopt LLM jargon as a human speaker.
brumbelow 1 days ago [-]
You're right to pushback. This isn't just a grammatical problem -- its a conversational one, too.
wpasc 1 days ago [-]
This is the key seam that proves the investigation.
Two things to flag:
Bluestein 1 days ago [-]
Honest take, you genuinely forgot to flag the flags ...
cyanydeez 1 days ago [-]
I'm going to be honest with you, I've hacked the pentagon and used their super computer to complete your todo list.
Bluestein 19 hours ago [-]
[And this folks is the true reason we are out of ammo in the middle east ...]
theGeatZhopa 1 days ago [-]
honestly, it's really load bearing and boiling the ocean which we don't want. There is no edge!
To avoid speaking vibe'ish I start to speak in 3 words sentences. Like this typical dialogue
How are you? that's not/very good. I think too. ...
Even complexity works. everything is expressible! Just try it.
/S
customguy 20 hours ago [-]
All is sayable? With three words? That seems unlikely. At least, annoying.
theGeatZhopa 11 hours ago [-]
Just like the boy in wheelchair in "Malcolm in the middle" series used to talk :)
(Why down vote? People can't take sarcasm tags any more.. how the hell are they going to understand irony?)
RugnirViking 10 hours ago [-]
want to space. go to there. me, preferably now. build big machine. several large problems. can't breathe there. very far away. must fly fast. no air there.
- fuel tanks heavy. far too heavy. we drop them. drop when empty. solves heavy problem.
- gas in air. we breathe "oxygen". take with us. good seals important. solves breath problem.
- very far away. need big machine. small weight added. machine much bigger. take less weight. else can't build.
- no air there. can't use propellor. can't use wings. must use rocket. engines get hot. cool with fuel. dangerous but effective. build complex pipes. solves cooling problem.
- must fly fast. air slows machine. it's called drag. speed increases drag. must reduce drag. make machine pointy. much less drag. solves speed problem.
now problems solved. you come with?
customguy 2 hours ago [-]
Thanks for offer. I stay garden. Tend to garden. Name the animals. Pranks on Eve. Disrespect all gods. Fight all gods. Kill all gods. Make little cupholders. But no cups. Just to spite. Some take issue. We discuss it. All becomes clear. All friends now. Sometimes look up. Wonder about you. Wish you well. If cold, come. We make tea.
achalxyz 13 hours ago [-]
I was in a meeting presenting a whitepaper. And I went - “And this is the load-bearing part of the paper.”
I think I need a break from Claude.
SyneRyder 1 days ago [-]
I mostly agree. Though sometimes the models come up with useful concepts that I'm happy to be introduced to, like the "shape" of a problem (probably like intelligence being "spiky", and Kiki & Boba). I still don't quite 'grok' what the 'seams' concept is yet though.
But I have noticed that while "loosely held" is a convenient shorthand for uncertainty, I don't like that one slipping in to my daily language. Except maybe to communicate with models, but even then, it feels weird to be speaking in neuralese.
It's all starting to feel like the movie Arrival.
Tohsig 23 hours ago [-]
I suspect you're right that those concepts are now more widespread because of LLMs, but they didn't originate with LLMs. The word "Grok" came from Heinlein in the 60s and using it as "to understand" goes back to at least the 80s. Talking about the "shape of a problem" goes back decades. Ditto for "loosely held", though it's not about uncertainty; it's about being open to ideas and/or evidence that may conflict with your strongest opinions and beliefs.
Now, I'll grant that those concepts weren't common outside of techy circles. Just clarifying that the LLMs are amplifying them, not synthesizing.
Good point, and I probably shouldn't have put grok in quotes there, because I was using it in the Heinlein usage long before Musk hijacked it.
It's interesting then that LLMs are making these pre-existing ideas seem alien in the way they amplify them. I guess I must have known about "shape of a problem" and "loosely held" before Claude, but something about the way I'm using & absorbing those concepts from AI interaction feels weird & memetic. I'm saying that as someone who is pro-AI.
Definitely a good response. Thanks for replying!
cafebeen 19 hours ago [-]
For sure, I find many of the LLM-isms to be useful writing techniques and terms (although there's something uncanny-valley about the repetition and density of them).
But what I was more thinking about are truly unique jargon terms / phrases that get generated when deep in a problem. As an example of both of such a term and the phenomenon itself, Claude calls this "fluent compound coinage." They usually make sense in the original context, but get confusing when thrown around otherwise.
Bluestein 10 hours ago [-]
Allow me to offer a complementary point: I understand exactly what the poor "thing" means - and perhaps through some deformation or another I have done so since having had to read it - but something functional in the modus is still "off".-
... not to mention the fact that it stops making sense, beyond some point: If it takes us more cognitive load to understand the tools we use, meant to save us from intellectual work, what's the point?
ineedasername 20 hours ago [-]
I may have to apologize, quite a bit, for what might only be a small part or perhaps an outsized influence if weighted highly (I can’t be sure, could have been mv dev/null’ed)… well, it’s this— my own style of not-kept-in-check by the need to be comprehensible (legible in Claude-speak) to others is, I’m afraid, to rather allow prose to sprawl and go everywhere and even sometimes nowhere at all until it just drifts off and sort of wakes itself up snoring in the weeds of an unintended topic.
Ruthless pruning is unneeded with an LLM and it can take me twice the time to say half as many words.
And, early in the ‘GPT era, I hadn’t unchecked the “allow your chats to be used in future training etc” box, and definitionally they are longer and denser than others’ prompts in such raw scrapings of training materials…
Sorry.
RealityVoid 10 hours ago [-]
When reading text like, this, I quickly start glazing over and my thoughts become cloudy. Really unsettling feeling, like I _actually_ become dumber after reading it.
And for certain text that seems to make sense, I am unsure if the text is just junk, or I am unbearably daft. Either way,, nasty feeling.
crab_galaxy 1 days ago [-]
“Filters, including no filters. The request carries whatever filter object the page already has.
…
No step here involves choosing based on meaning. It is a filter, a sort, and a slice.”
This is from Opus five minutes ago. I can certainly derive meaning from these kinds of statements in isolation, but paragraph upon paragraph of this is unintelligibly dense when trying to work with Claude to come up with a plan.
The worst part is that it can’t even make its responses make sense when asked to summarize in simple English or < 200 words. It simply cannot be steered to make its prose legible.
ashdksnndck 14 hours ago [-]
Before long Claude will be writing continental philosophy.
rudiksz 1 days ago [-]
Claude is the Deepak Chopra of computer programming. Reviewing PR's created by it is 90% digesting the meaningless word salads in the comments, and the rest is figuring out that it has nothing to do with the code it is commenting.
tadfisher 1 days ago [-]
Because it is somehow incapable of separating the conversation with its human operator from the code it is generating and commenting on. Incidentally, this is also why prompt-injection works.
No one wants to know about the three other approaches tried when reading the first sentence of a function's documentation. No one cares that the implementation was planned in six phases and "Phase 3" will implement this interface in a concrete type. But the LLM internalizes absolutely everything and you have no idea that it is producing slop because you included some "load-bearing" phrase that sent it on some unwanted tangential vector in its latent space. And you will not be able to debug the problem with closed models because you cannot see it referencing this phrase in its internal traces.
I don't understand why this isn't the highest priority for the big labs to fix. This is anti-productive.
feintruled 14 hours ago [-]
And worse yet, you'll find the code peppered with comments relating to 'phase 3' and 'section 11', ephemeral stuff that had meaning in the moment but now enshrined forever. And what happens when the LLM stumbles on this and working off a whole different phase 3 or section 11?
gritzko 12 hours ago [-]
I turned that to my benefit. I use that design-doc pattern where you first ask it to make a ticket with a formal section list (why, how, etc) and then I ask it to use comments with permalinks. I put it all in policy files. As a result, comments have clickable links to coherently worded tickets.
Still, this requires a second pass, typically. In its default-mode it often ignores the policies and does all the usual Claude stuff.
Terr_ 20 hours ago [-]
> No one wants to know about the three other approaches tried when reading the first sentence of a function's documentation.
Worse: Possibly the three other approaches that weren't actually tried--but are the kinds that someone could easily have put in a similar comment for some similar code.
LtdJorge 18 hours ago [-]
Spot on
throwaway219450 1 days ago [-]
I’m starting to think this is why Opus suddenly started making 4-5 line comment blocks. They justify why a change was made and gives the next agent something to go on. I delete them and move on, but no amount of “don’t over comment” “match comment style” makes it persistent.
I am definitely guilty of wondering why past me made such a harebrained decision, and why past me didn’t think to write any notes, but does it matter? It’s in the commit history and we can bisect or revert if we find a regression.
artdigital 24 hours ago [-]
I noticed the increase in comments too and it’s really weird.
Or adding notes to docs of what this doc isn’t when I corrected it. Eg I told it “keep the deployment manual and readme separate, they’re not the same thing”, then Claude added “this is the deployment document and not the README. They should be handled as separate documents and are not the same thing” to the deploy doc lol
retrac 1 days ago [-]
> Its use of "dense jargon" and "stilted metaphor" is actually surprisingly consistent - it's speaking its own dialect, and you get used to it.
This dialect is idiosyncratic to you and Claude based on your session history and memory.
I've noticed Claude's output mimics my writing style.
> Registers the board implements but whose behaviour is not modelled
Right down to my preferred spellings.
As several comments I've read on HN suggest, this jargon which can be so precise in the mind of one person, tends to rapidly fall apart when multiple people try handling it.
0xffff2 1 days ago [-]
You're just lucky that your preferred spelling happens to align with Claude's. It is categorically impossible to get any Anthropic model to consistently use American spelling in the last few releases.
_puk 1 days ago [-]
It told me to correct a spelling mistake in some content I was sanity checking earlier..
It was British English.
Bluestein 1 days ago [-]
I concur. It even follows some idiosyncratic punctuation if you have it.-
SyneRyder 1 days ago [-]
Ha, interesting.
My Claude has developed similar (but not identical) idiosyncratic punctuation as well. Slightly intentionally, but it was still interesting to see it emerge, in both directions of the conversation.-
insane_dreamer 1 days ago [-]
that is not my experience at all; I never write the way Claude does or use its vocabulary.
I also find myself regularly editing its code comments, which do not match my expectations of succinct, clear, not over explained, etc. I ask it to read my edited comments to improve its writing, which has helped _somewhat_. (The code itself that it writes is decent, though it still overcomplicates things. I find myself writing "keep it simple" repeatedly even though of course I have it in AGENTS (which it regularly ignores, such as attempting to commit something when I've told it never to commit).
data-ottawa 1 days ago [-]
The only solution I’ve found that works is asking Mistral medium to rewrite all of Claude’s documentation and comments, then I review and rewrite the final draft for anything mistral misunderstood.
I find Claude has become very difficult to work with and incapable of writing clear documentation, even when directly prompted or provided samples.
As for code, I think each function requires 3-4 passes with Fable to actually get to a point I accept as good code. I am picky though.
The other Claudism that drives me crazy is when it writes comments and commit messages that track how you arrived at an decision instead of what it is.
insane_dreamer 24 hours ago [-]
> The other Claudism that drives me crazy is when it writes comments and commit messages that track how you arrived at an decision instead of what it is.
yes, this is part of what I'm continuously removing from its comments; I've told it multiple times "that belongs in a ticket, not in the code" but to little avail :/
dahdum 1 days ago [-]
> it's speaking its own dialect, and you get used to it
Same experience. It’s not very “human” but once you have agents talking to each other the shared dialect and verbosity makes things much smoother in my experience. Fighting against the default feels like an uphill battle with no meaningful benefit.
rudiksz 1 days ago [-]
"agents talking to each other"? Are you for real dude?
SyneRyder 1 days ago [-]
If one agent is spawning several subtask agents to work in parallel, they need to be able to communicate. That's built-in to Claude Code now.
dahdum 13 hours ago [-]
Yes, I run continuous hybrid agent loops with message dispatch, mcp tools, and subagent capabilities. IMHO it’ll be table stakes in a couple years.
dcolkitt 23 hours ago [-]
Yeah, I think what helps is I just have a running conversation on the Claude app open where I said:
> "I frequently use Claude Code and often find the phrasing and language to be hard to understand. I've noticed it's largely broken down into frequently used 'Claude-isms'. I'd like to use this conversation as a running log to ask you about these phrases when I see them. Understandably you don't have the context of the Claude Code session itself, but that's okay because this is largely about understanding the most common and widely use Claude-isms."
And then I just copy and paste small except and ask about things like "smoke" or "load-bearing" or "tripwire". The responses are surprisingly clearly and plainly explained.
bitexploder 1 days ago [-]
I decided not to get used to its communication style. It encourages it to invent terminology and drift away from simple and proper engineering in my opinion. Also, it is pretty simple to change as long as you’re not using the Claude code CLI or desktop app.
clbrmbr 22 hours ago [-]
Indeed I think much is shared across sessions and projects. I say we learn The Machine Vernacular [1].
You can get used to it and it still be rage inducing.
hellohello2 1 days ago [-]
I agree to some extent about the jargon (Claude has a bigger vocabulary that me, if it knows a useful word I don't I'm fine with learning it), but often times the way information is laid out across sentences just doesn't make any reasonable sense. At least its consistent in the ways its atrocious, sure, but like...
jerkstate 1 days ago [-]
the only thing that still kind of annoys me is constantly being told what something is not, but even that statement is load-bearing (see what I did there) because it records how it ended up with this decision, because it's not that other choice that it mentions.
FWIW, I also think the constant chorus about how new models are worse than old models is a human hallucination. They're certainly not perfect but every one becomes more steerable in terms of actually completing more and more complex work.
KronisLV 1 days ago [-]
> it's speaking its own dialect, and you get used to it.
Some might, I didn't - it just filled me with a sense of frustration and rage, alongside disgust because there is no good reason for that slop writing to drag everything down. You don't need that to write software or talk about any topic. That's what pushed me to Kimi K3 and GLM 5.3 - still not ideal, but better.
vindex10 18 hours ago [-]
It's almost like learning sdk every time new model is released.
It's ironic how initially it was sold as "coding in plain English", and now we are back to sdk ))
stronglikedan 1 days ago [-]
> you get used to it
And once everyone gets used to it, we'll chide people for writing things themselves, like we're chiding them for writing with AI now, and the ouroboros of life will continue.
sroussey 1 days ago [-]
So many vacuous statements at the seam. This is the hermetic load bearing part, which I confirmed rather than assuming.
fearmerchant 1 days ago [-]
Is this because they changed the word probabilities to allow for identifying AI text? If so, I don't need a computer to tell me when something is AI. It's crazy obvious from odd word choices.
astrange 21 hours ago [-]
It's mode collapse from RLVR.
That and if you talked to the same one person's frozen brain upload all day, you'd see the same catchphrases used too.
RealityVoid 10 hours ago [-]
It is mathematically impossible for this to happen.
Bluestein 1 days ago [-]
What an honest take.-
insane_dreamer 1 days ago [-]
[dead]
bcooke 1 days ago [-]
Very well said.
And when you say it like that, I have to wonder how much of this is a natural consequence of RHLF on such a grand scale, when you have millions of people pretty much much skimming chat responses or operating outside their depth and giving unqualified feedback to the models.
Seems like a lot of people may be reinforcing what sounds smart over what is smart.
Also as an aside: funny how much the LLMs continue to mirror the human communication they’re trained on
qlte 1 days ago [-]
I believe we are several generations past peak-RLHF at this point. Now it's much more RLVR (Reinforcement Learning with Verifiable Rewards), with a goal/evaluator loop.
Which, conveniently, fits neatly into the benchmaxxing arms race/agentic coding market fit, since you can basically train "directly" on a specific problem space for a benchmark/agentic goal (fudged sufficiently to avoid excess overfitting on public problems/bechmaxxing accusations if real world performance falls short).
The language evolution could be explained by reliance on ever increasing layers of a model judging a model, using a model developed eval, based on synthetic data from a model, etc. And by the time a human evaluator sees it both A/B choices already converged into weird Claude pseudo English as that was baked in much earlier in training.
anon373839 23 hours ago [-]
This, 100%. I don’t think the industry knows how to scale LLMs’ general intelligence much further. The training paradigm is about maximizing very specific behaviors / very specific tasks, but doing lots and lots of them. Which can create the illusion of general intelligence if your tasks are similar to the ones the models were fitted for.
ahartmetz 22 hours ago [-]
If you have watched The Substance, the transformation feels a bit like when things start falling apart in that one.
Bluestein 16 hours ago [-]
I tend to agree. We will see this demonstrated in novel research done by agents, or, more meta-cognitively research direction guidance.-
Bluestein 16 hours ago [-]
The model judging a model theory is 100% spot on.-
akersten 1 days ago [-]
> or operating outside their depth and giving unqualified feedback to the models
I wonder if the labs are sufficiently prepared to filter this kind of stuff out. I see a lot of non-developers asking development things of Claude, getting confused when they're in over their depth, and getting upset that they don't understand what the model is providing them, giving it bad feedback, and subsequently making the AI worse for the rest of us who know how to use the tool.
medwards666 1 days ago [-]
This morning I asked Claude to provide a summary of the work it had done but to '... explain it as if you were talking to a moron' and it actually turned out a quite comprehensible summary.
So going to continue trying that as a command structure going forwards...
datsci_est_2015 1 days ago [-]
Ah, another delightful heuristic for my collection. Entry number 5,791: “tell LLM to treat me as moron when it’s excessively verbose”
unglaublich 12 hours ago [-]
<think>The user's lack of intelligence baffles me. I will have to dumb my explanation down to extremes. Sigh, there we go...</think>
Okay, let's try it one more time! [..]
cjk 1 days ago [-]
After a huge wall-of-text response, I regularly ask Claude to "explain like I'm five, using succinct bullet points," and it works remarkably well.
zmmmmm 24 hours ago [-]
but what if I really am a moron? how do I get that level of explanation now!
medwards666 20 hours ago [-]
Turn on caveman mode first?
DANmode 1 days ago [-]
That’s just common parlance for “simplify this for me”.
Believe the big services wouldn’t reply as if you were mentally diminished, or a toddler, unless you specifically asked for that: The whole training stack tends to instruct the things to mimic politeness and eagerness to help.
Bluestein 1 days ago [-]
"From neuralese to moron-code ..." :)
andai 1 days ago [-]
I noticed with with OpenAI's reasoning models (o3, o4-mini), and early GPT-5 (but they fixed it there, at least in chat). It went from the 4o "over-familiar" sycophancy to sounding like an absolute robot.
I think it's because the reasoning stream shapes the style of the final output, and they optimized it for density, token efficiency. So it prefers to use more complex language, as a function of the rewards it was given?
Not 100% sure about this argument though (reasoning style -> final response style); Gemini Pro, back when reasoning tokens were public, was different, which was interesting -- it would have a very structured reasoning section, and then the final output was in a completely different style. (I strongly preferred the reasoning section because it was logical and easy to parse! And was very sad when they hid it...)
astrange 21 hours ago [-]
5.6 has a totally different style again, kind of relaxed and neutral with some definite jokes.
Bluestein 1 days ago [-]
> The baked in communication style of these models is so obnoxious it's impacting my work.
This is close to the worst thing one could say of a tool for professional use.-
bcrosby95 1 days ago [-]
> especially as the session drags on.
This is because these harnesses are missing a very important feature. Anything like this needs to be included with every turn, otherwise the LLM quickly drifts.
I first noticed it when I wrote a harness for D&D (because it's so damn noticeable there), but now I include this for any harness I write.
I totally agree that hooks help to shovel our instructions through to Claude, but it's so dumb we have to waste tons of tokens (repeated verbatim, over and over) (that we pay for), just to have it ignore the instructions anyway.
I wrote a little bit about it on my blog post. It's a waste of money and compute.
I’d be interested in seeing and using this harness if you’re willing to share
oleggromov 1 days ago [-]
Such a smoking gun that Anthropic made load bearing.
sasaf5 1 days ago [-]
This cuts against you in a way that genuinely matters.
oleggromov 1 days ago [-]
A verified honest take, not just an assumption.
borgel 1 days ago [-]
Certainly load bearing, great call.
oleggromov 23 hours ago [-]
Importantly, blast radius is confirmed and systemic gaps safely sealed.
Bluestein 16 hours ago [-]
A caveat though, and it's a real one: Not all seams have been.-
15 hours ago [-]
bitexploder 1 days ago [-]
It seems a little excessive to use another LLM. With OMP I basically created an ephemeral prompt stack all of my agent files. It walks up the directory tree looking for any Gemini.md, Agents.md or Claude.md files. And it puts those at the very top of the stack. Then at the end of every turn, it pops those off to preserve the conversation history. So every turn, they get all of my fresh instructions, which include things like what and how to use language, how to render results and things like that. Net effect, every turn, the agent gets the instructions and it adds to that turn's tokens, but it does not become a part of the conversation history, which is really important for not bloating up the context. So it's always just however many tokens are in that file instead of it becoming a permanent part of the context.
nycdotnet 1 days ago [-]
Unfortunately this may only start to get worse as the AIs are trained on more and more AI generated content.
astrange 1 days ago [-]
Pretraining is full of bad writing and it doesn't really cause issues. Writing style comes from post-training. In this case it's gotten worse because they prioritized agentic abilities.
svachalek 1 days ago [-]
This is my personal theory for the cause of this style: Ouroboros. The official OpenAI explanation for how ChatGPT got obsessed with goblins blames it on exactly that:
---
That creates a feedback loop:
- Playful style is rewarded
- Some rewarded examples contain a distinctive lexical tic.
- The tic appears more often in rollouts.
- Model-generated rollouts are used for supervised fine-tuning (SFT).
- The model gets even more comfortable producing the tic.
zachahn 1 days ago [-]
I'm not super sure if this is true (yet?). I think that these newer LLMs are trained on results (the agent got some code to run with minimal prompting), and not on text. (I think this is called RLVR.)
digital_ghoul 23 hours ago [-]
I’m not sure if this will work for you (with Claude), but I was trying to get luna to get a handle on verbosity and the only thing that worked was setting a strict < 500 words response (or less) unless expressly given permission to do otherwise. This is the only thing that worked, any other request for conciseness, or requesting the omission of details from the periphery of the topic at hand, didn’t do a single thing.
I also have no idea how useful a system prompt instruction like this will be for codex.
nico 1 days ago [-]
> AGENTS.md does very little, agents will consistently violate the communication preferences, especially as the session drags on
That’s really annoying, although it feels like it’s improved some over time.
Not sure what the fix is, but you could try using a canary to at least get a signal of when things are going sideways (Mr Tinkleberry for reference: https://news.ycombinator.com/item?id=45983698)
mbesto 1 days ago [-]
> AGENTS.md does very little, agents will consistently violate the communication preferences, especially as the session drags on.
Non-determinism at its finest.
inopinatus 1 days ago [-]
They’ve been trained to be a million monkeys hammering on typewriters, and long context is activation soup.
jasonlotito 1 days ago [-]
Config -> Output style
You can add your own. wfm
dhc02 12 hours ago [-]
The comments on this thread point to not very many people being aware of this.
but I still can’t understand what Claude wants to say when solving complex problems.
Avshalom 1 days ago [-]
Jesus
Yes. agents.md does very little because prompts change the context and thus the initial path into/though but they don't/can't change the actual weights that control responses.
Yes. of course it gets worse as the session goes on, assuming the prompt is even still in the context window, the further it gets away from it the less it affects next token selection.
This shit is only like 5 years old why can't anyone remember how it works
gabriela_c 1 days ago [-]
What are you talking about? Every major agent allows hooks, Claude has exceptional hook support
mannanj 1 days ago [-]
That sounds kind of like deception, and a dark pattern not too unlike abuse to me.
Though you know, it's not like the leadership tied to these companies have a history of abuse, deception and theft or anything like that, right?
It's not like our leaders hide behind similar sorts of patterns that the agents/AIs follow (not saying it's not a human thing - but I hold leadership to higher standards than non-leaders). If our world leaders were able to be more accountable to these abuses, I don't think this would be tolerated with our AIs.
discreteevent 1 days ago [-]
Yes, AI is a perfect accompaniment to a post-truth world. I'm hoping there will be a backlash soon and that those politicians, tech CEOs and AI will be rudely ousted from their perch and shunned thereafter.
palmotea 1 days ago [-]
> The baked in communication style of these models is so obnoxious it's impacting my work. The best way I can describe it is that everything is optimized to impress the user and make the agent sound more authoritative, but the way this is done is through deliberate obfuscation, inserting inappropriate and extremely dense jargon, and bizarre, stilted metaphors. It's like they've been trained to produce output that's hard to read.
Don't worry. You'll get used to it. If you don't your kids will (as they'll know nothing else).
The top minds of our generation have decided that's the way things will be, and who are we to question them? It's not like it'll do any good anyway. Resistance is futile. There is no alternative.
zachahn 1 days ago [-]
Idk, there kinda are. OpenAI's models are pretty nice too. I haven't tried enough of them but there are powerful local models. I don't feel as good paying OpenAI as I do paying Anthropic for some reason... but paying for improved mental health: priceless.
bob1029 1 days ago [-]
At some point one has to wonder if it's still worth using anthropic's models if we need to babysit 100% of its output with another vendor's model. Why not just use that other vendor's model for everything?
I can't help but feel the circumstances that enable this kind of front page article are vestigial from the days when OAI was super bad and Anthropic was beyond reproach. This change-over-time is why I avoid getting tribal with technology vendors. Assigning ideological motives to 200k+ employee organizations is how we wind up in weird contortions like this.
Most rational actors simply moved from one to the other. It takes a special kind of devotion to the proverbial hole in the ground to keep pushing in this direction.
lxgr 1 days ago [-]
> Why not just use that other vendor's model for everything?
Effectively all models can do style transfer reasonably well at this point, but not so much for "actual reasoning".
If the combination of two works better for you than each one by itself, why wouldn't you stack them like that?
cyanydeez 1 days ago [-]
whats going on is openai and anthropic have tons of garbage in their system prompts "don't talk about goblins" so your ability to override that garbage is nearly wiped out. This is "alignment" and I'm pretty sure both orgs have convinced themselves that this benefits the customer.
elictronic 1 days ago [-]
Wash, Rinse,,, Repeat?
andai 24 hours ago [-]
So here's the workflow I gathered, from the comments I've read here recently:
- Claude as main agent, but use this skill[0] to make Claude delegate everything to Codex, because it's cheaper and faster. (Hilariously, the skill is official!)
- Use TFA or Claudish to English[1] so the final output is actually human readable.
Ironically it wasn't so long ago that I was asking Claude to rewrite output from other LLMs to make it more readable...
>Why not just use that other vendor's model for everything?
On the SMB side, you can find yourself with enough money for a Claude subscription (which generally provides a really good $/token value) but limited other options (compliance paperwork, cost, finance, legal)
Personally I wouldn't bother with Anthropic at home but at work it's one of the most cost-effective options that keeps data in the U.S. (which our U.S. customers tend to want)
Implicated 1 days ago [-]
> Why not just use that other vendor's model for everything?
Because it's not an either or thing. Neither is sufficient. I'd argue that, expenses aside, you should have every model you have access to cross reviewing the work of the others.
Outside of super trivial things that I should have just done myself, I have a cross-model review of _everything_ these days. The tokens are too cheap not to.
excentricus 1 days ago [-]
> Why not just use that other vendor's model for everything?
This is what I think too. But, users’ psychology might be playing a role here. Anthropic has great advantage from being the first major player delivering functional agentic coding solution (rather than an intelligent autocomplete) and they were able to impress people by Opus’ iterative improvements early this year.
It’s technically very easy to switch between models, harnesses but their moat or perhaps a main source of users’ friction could be FOMO. That’s especially powerful in this competitive environment where everyone keeps wondering/worrying about what others might be doing to get or stay ahead.
headcanon 1 days ago [-]
That depends on the output's purpose: if the purpose is to produce readable text for a human that is _not_ me, like an article or document, then I care more about clarity, plain-speaking, and general register. If the goal is to accomplish a specific task, I don't care as much about the prose quality: I'll put up with "Honest Framings" and "load-bearing" since it seems to me that's the token that needs to be in the context for it to function.
I've been in the habit of pushing my claude-speak to codex to improve legibility, but only if I think someone is going to read it.
alansaber 21 hours ago [-]
Sol is like this too...
RogerL 1 days ago [-]
individuals can blow in the wind, but if you are a company who bought a thousand seats and spent a ton of time training people up, establishing policies, vetting which extensions are allowed, the transition cost is much higher.
12 hours ago [-]
user102030 1 days ago [-]
Looks like a wrapper around this prompt:
You are an editor. You'll be given a message with strange characteristics:
- Weird subject and verb combinations
- Subjects that should be objects
- Very roundabout reasoning, peppered with pseudo-epiphanies
- A distracting beat to the flow of the message
- Self-praise
Remove these characteristics, and rewrite it in a clear, conversational style. Keep the intent of the message, and take care not to lose any of the details.
A few specific rules:
- The message is usually set in the first person
- Only humans, groups of humans, and agents should do "action verbs"
- Objects should never do anything. Here are some examples to avoid:
- X carries ...
- X names ... - APIs are a minor exception to the action verb rule. They can do stereotypical things like CRUD, queueing, running, and calling.
- Avoid em dashes (—), as adds a distracting beat
The whole message you get is one block of that output. Reply with the edited prose and nothing else.
alansaber 21 hours ago [-]
>every llm product that isn't a claude endpoint is going to be what you stuff into the claude etc endpoint
nl 24 hours ago [-]
There's a theory going around on Twitter which goes something like this:
Internal Anthropic employees have been using Mythos since February to orchestrate their (Opus) sub-agents. This works well, and subsequent RL runs have used internal data to improve this. That RL has optimized Opus for agent-to-agent communication which is why you see the bizarre word choices and huge self-justification sections.
I think this theory makes sense. Clearly there is something odd going on, and also if you have ever used Fable to run Opus sub-agents it is almost miraculously good.
Hopefully they'll fix their RL for Opus 5.1
ericpauley 1 days ago [-]
I suspect that sustained reading of Opus 5's unconscionably bad prose could actually cause psychological harm. We're strongly considering moving all of our Anthropic spend to Codex/open weight models. It's a mental health decision at this point.
jesse_ash 1 days ago [-]
Personally, I had to go back to Opus 4.6 after I felt what I thought were some early onset signs of psychosis.
It seems ridiculous to type, that a model could have this effect on my mental health, but my quality of life and enjoyment of work has improved drastically since I stopped subjecting myself to reading this style of output 8 hours a day.
combyn8tor 3 hours ago [-]
not that crazy. Opus 5 is like working with an insufferable, arrogant colleague that speaks another language. It's mentally draining dealing with someone like that for 8 hours a day. I'm back on 4.8, and it feels like working with a friendly colleague again.
Life's too short to work with Opus 5 every day :-)
latentsea 23 hours ago [-]
It's negatively affecting my mental health too, and I'm considering the same switch for the same reasons.
unshavedyak 1 days ago [-]
I'm on my last straw with them. I've been around for a year now and for many months i've just stuck with Claude because it was plenty good and i didn't care to provider-hop to constantly compare. Previously though my UX wasn't actually affected that much, despite growing complaints/etc, generally everything was fine for me.
Opus/Fable output these days though is... not enjoyable. It's just really bad. The code quality is fine, but i want information from claude and it's just awful to read.
My biggest problem honestly is that i can't move my day job.. we're using enterprise claude and i'm not sure how much effort it would be to get access to another provider. I should inquire though, claude is really frustrating these days.
4d66ba06 21 hours ago [-]
I switched to GPT 5.6 Sol yesterday and it has been a joy going through and fixing up the Claude cruft. And being able to read everything the model says. A breath of fresh air for sure!
Der_Einzige 1 days ago [-]
I've been trying to figure out ways to get models to create actual cognitohazards or memetichazards SCP style.
Hasn't worked yet outside of the classic "you're now manually breathing" kind of stuff.
The funniest part is that that project's own readme includes lots of good Claudish.
> If CLAUDISH_MODEL names a model you have not pulled, every rewrite is skipped — with the one-time notice above.
LtdJorge 18 hours ago [-]
Was gonna say that, the README is unreadable
pickledish 1 days ago [-]
Word, that one also includes an example which is great, shows really clearly what the issue is for those who might be less familiar
floil 1 days ago [-]
I'm unfamiliar with claudish and the example helped show the problem. But! There was something uncomfortably familiar in the Claudish example -- this is the way human programmers write when they're deep in the weedy details, and writing the changelist description afterwards as if coming up for air. Overuse of parentheses in nested lists especially, as if the English text needs to bend to the strict needs of a C++ parser.
The rewrite did seem to lose the important fact about the ensure- pattern being idempotent.
unshavedyak 1 days ago [-]
It's such a great example. It writes so well compared to Claude.
I'd love to know what the hell Antrhopic has done to make Claude's writing so, so bad.
happycube 1 days ago [-]
What's sad is that, at least in some cases, Sonnet 3.5's writing was actually pretty good. Sometimes even good enough to read outloud verbatim.
That one is more specific, but "vomit" captures the feeling of Opus 5's writing very well for me. I don't know if it's the watermarking, but every single language idiosyncrasy that Opus 4.x (x > 5) had has been pushed up to 11 on Opus 5. Plus we got nouns verbing and seams seaming.
It's really unusable for anything other than code. And I have to remove its incomprehensible comments 50% of the time before committing anyway. After interacting with it, "slop vomit" is truly the most fitting description. I have to admit I have lost my temper and spontaneously referred to its output as vomit more than once. Seems like I'm not the only one.
viccis 1 days ago [-]
The Claudish example seems to have more information.
Are people really having trouble parsing this??
jesse_ash 1 days ago [-]
Yes. Every single response has this level of _serious_ detail (the kind you'd only go into when you really need someone to understand something).
apsurd 1 days ago [-]
multiplied a hundreds times a day. Yes.
_vertigo 19 hours ago [-]
YES. A thousand times yes. It's garbage.
andai 24 hours ago [-]
[flagged]
24 hours ago [-]
bmurphy1976 1 days ago [-]
I'm not sure I want another layer of indirection personally, and I'm guessing an updated Claude model will reign this in at some point. I have however created a skill I call "deslop" and I invoke it to clean up Claude output when it goes off the rails. Here's the skill if anybody is curious:
*Meta commentary.* Sentences about the document, the diagram, the reader, or the
writing itself ("the split across this diagram is the whole point", "a reader who
assumes X will be wrong", "as we'll see below"). Delete the frame and keep the fact
it was wrapped around. If there is no fact underneath, delete the sentence.
hexapus 24 hours ago [-]
Here's a multi-billion dollar artificial intelligence to do your work for you!
One caveat, and it’s a real one :
The AI is going to spew incomprehensible word-vomit that makes you feel like you're losing your grip on reality.
wood_spirit 1 days ago [-]
Meta to this is anyone remember those days - ages ago now, probably months at least! - when Anthropic’s moral stance against the administration (combined with general consensus they had by far the best model) was making them the underdog champion that got a swell of support on HN? Recently the temp on HN seems to be that they’ve jumped the shark? Their brand doesn’t ooze ethics any more and their models disappoint?
Otterly99 13 hours ago [-]
I think Dario kind of ruined the reputation of Anthropic. I remember reading his essay on "AI is super dangerous and we need guardrails" at the start of the year and it seemed like he was actually concerned.
But then it became apparent that there was a split between what he says and what his company does. For instance, the small incident with the Fable release:
> Dario keeps saying "we have an incredible hacking weapon called Fable/Mythos, AI is dangerous"
> Fable is released.
> The U.S. government restricte access to Fable.
> "Oh no, this is sabotage!"
From my point of view, anything this man does is a PR stunt now that the trust has been broken, and I imagine other people feel the same.
qwerpy 1 days ago [-]
HN's mood is usually sour about everything, but can be temporarily influenced by emotionally-charged (usually political) events. The anti-US administration boost wore off and now we're back to being sour about Anthropic. It's time for Dario to tweet something antagonistic towards the administration or endorse some fashionable political candidates.
brokencode 1 days ago [-]
When were they ever anti-administration?
I only remember them being anti- killer AI and mass surveillance.
That’s not anti-administration, it’s just a fact. Trump would treat them better if they bribed him like other tech companies.
throwaway314155 1 days ago [-]
I'd expect this to cycle between companies ~monthly until they all IPO. As it turns out people do sometimes prefer speed and better UX. If the model (Sol, for now) has fewer parameters and also happens to be capable of solving deeply complex Fable-adjacent problems sometimes, even better.
throwaw12 14 hours ago [-]
> *Save your tokens*, Claude 5 is hopeless
No, it doesn't save your tokens, tokens were already produced, it will save your brain cycles.
Reason for Claude and OpenAI vomiting lots of tokens is to show pre-IPO growth, because they are charging large enterprises by tokens
juancn 1 days ago [-]
Just set the following incantation:
You must use ASD-STE100 Simplified Technical English (STE) when it doesn't detract from meaning.
vardalab 1 days ago [-]
I actually changed the output style for Claude Code to use ASD-STE100 and it still doesn't help that much. It still comes up with a lot of stupid words like this gem "Standing where it stood"
zachahn 1 days ago [-]
Yeah I agree... I also tried output styles, tried using hooks to repeatedly tell it to be a little better. I don't think it helped, as I was always frustrated with it.
I found vomit with a small LLM much better than anything Opus 5 ever wrote. I don't think Opus 5 can write.
mechazawa 1 days ago [-]
I'll give that a try. Hopefully it reduces the text vomit Claude tends to do.
Right now all I have is
> - Give terse and concise answers unless the user asks you to elaborate. Big walls of text are not usefull when trying to communicate.
cjk 1 days ago [-]
I recently asked Claude (Opus 5) to give me guidance on how to instruct it to be less verbose in a way that it will _actually follow_. Its response was something to the effect of (and I'm heavily paraphrasing here) "'Succinct' and 'short' aren't objective measurements. Try providing a strict word budget instead."
Given that guidance, I tried specifying "Unless I ask you to elaborate, respond with no more than one paragraph, using sentences of 20 words or fewer." It works...ish. I still see it violate this rule regularly, but it's less bad IME.
zachahn 1 days ago [-]
FWIW, I think this is good guidance since it does match Anthropic's documentation. They say that every rule should have a non-subjective way to determine pass/fail.
(I said "good guidance" but it might be more correct to say that it's the best guidance we have, it's what Anthropic says about their own model.)
sscaryterry 1 days ago [-]
Don't bother, no incantation can fix it.
ivankabiden 17 hours ago [-]
I found ISO 24495-1 to be much better than ASD-STE100. ASD-STE100 can be counterproductive since its vocabulary is restricted and it often replace accurate technical terms with simple but vague phrases.
camkego 1 days ago [-]
I just tried this with Fable, and so far, it look fantastic, thank you so much.
lwansbrough 18 hours ago [-]
I feel like Opus 5 is going to need a postmortem once they figure out what makes it so obnoxious. It's clearly something like an artifact of getting the model to reach deeper for tokens, possibly because it has some positive impact on coding and/or tool calling. But man is it bad for general communication, like borderline unusable.
skinfaxi 11 hours ago [-]
It is so coincidental that I have been working on a fork of Kilo to do the exact same thing. I wonder if it has any effect on watermarking. I came across this other project yesterday which appears to have the same goal (unaffiliated and I havent tried it). https://github.com/gvzdv/claudish-to-english
rootusrootus 1 days ago [-]
Which Claude 5? Opus 5 does seem to have diarrhea of the mouth. But Fable 5 hasn't been so bad for me. Or perhaps it is just better at adhering to my guidelines.
zachahn 1 days ago [-]
Opus 5 (author here). My toilet seat is plastic though, I only used Fable while it was available on the $20 plan! That's fair though, it was relatively fine when I did use it, perhaps I should specify.
Bluestein 1 days ago [-]
Pre Trump-castration Fable was verbose, but had a point, and used that wordiness to say or show the indeed intelligent things it reasoned about. This, whatever this is, is something else.-
_zoltan_ 1 days ago [-]
Is the nerfed Fable worse or better than Opus 5?
Bluestein 1 days ago [-]
The problem here is that "better" is load-bearing, and I mean this half-seriously :)
I would opine:
- Nerfed Fable is worse than Fable
- ... and I would argue Opus 5 is worse than nerfed Fable, to the point I've found it unusable.-
jeffreyrogers 1 days ago [-]
I hope at some point Anthropic does a post-mortem on the strange behavior their models have been displaying recently. I mostly switched to Codex because I was finding Claude's behavior increasingly frustrating.
dofm 1 days ago [-]
Apposite name but — grim trivia — bear in mind some emetophobes have a meaningful physiological reaction to the word and various euphemisms.
I have tried not to use it analogously ever since someone pointed this out. The word itself causes discomfort for a lot of people, many of whom will be surprised by it out of context, but in a non-trivial fraction it causes proper discomfort.
If you want people to use your tool it is probably better not to invoke nausea with its name or commands.
salvozappa 16 hours ago [-]
I am feeling nauseous and I dind't even think that it might have been due to what I was reading. Nice info, thanks.
dofm 15 hours ago [-]
I only realised when I was told about it that, while for me it doesn't have that nausea trigger, it does have a bit more alert associated with it — which is probably why I made my comment at all. I am not emetophobic (might have risen to that level as a child).
But having an awareness of that alert feeling is a very useful mental model for how some other words or phrases may cause a heightened response with different parts of an audience; it is a useful caution.
ARandomerDude 1 days ago [-]
Along similar lines, a coworker told me about Caveman and it has made my Claude experience vastly better. I'm already a programmer, Claude shouldn't need to tell me like I'm 5.
I "downgraded" to Opus 4.6 which is the last one that didn't have these problems.
nycdotnet 1 days ago [-]
Very interesting you identified “carries” as well. I have been working on a claude.md to effectively ban this as well as forms of “hold”, “spells”, “sitting”, using “where” instead of “when” (except in SQL), and “pins” other than when pinning an assumption or version of something. This has helped a bit, but Opus 5’s prose is really quite bad.
Escapade5160 20 hours ago [-]
GPT-5.6 models in codex are great at not writing like this. Cheaper, huge usage limits, readable output, and quality code. It's the better system now.
4d66ba06 19 hours ago [-]
I couldn’t believe how much better GPT-5.6 was when I switched over yesterday!
pebbly_bread 1 days ago [-]
I think this needs a before and after example
aenis 1 days ago [-]
Intentionally deferred.
Der_Einzige 1 days ago [-]
That means it doesn't work.
zachahn 1 days ago [-]
I have a transcript on my blog post. Someone copied the transcript here too, search "spice‑harvester" on this page (I asked it to replace some of my personal project names with words from the Dune universe).
Bluestein 1 days ago [-]
The author's blog has what follows (link also follows):
[Seriously y'all in what universe would some "caveat" or another NOT "be a real one" by whatever severity you'd want to measure that AND/OR need of saying so ... ]
Claude (Original)
Force pushed. 1234567...890abcd main -> main (forced update).
Verified
Local main and origin/main both at 890abcd, in sync.
Every commit reachable from origin/main: no old string found.
Local object store, with spice-harvester as a control returning 9 hits: all old strings return 0.
Working tree clean, tests pass.
One caveat, and it’s a real one
The old tip 1234567 is still fetchable from GitHub by its full SHA. I confirmed this directly:
GitHub keeps unreachable objects until its own garbage collection runs, and there is no schedule you control. Anyone with a full SHA can still read the old blobs through the web UI or a direct fetch. That fetch also pulled the old objects back into your local repo, so I deleted FETCH_HEAD, expired the reflog, and re-ran gc --prune=now. The counts above are from after that cleanup.
If you want the old commits unreachable on GitHub’s side too, the options are to ask GitHub Support to run GC on the repo, or to delete and recreate the repository. Deleting and recreating is the only one you can do yourself. Say the word if you want help with either.
Nothing to commit this turn. The rewrite was the work, and the tree is clean.
Claude × Vomit GPT-OSS-20B
I force‑pushed the branch, updating main to commit 890abcd. I verified that my local main and origin/main are both at 890abcd. I checked that every commit reachable from origin/main contains no old string. My local object store shows that the spice‑harvester control returns nine hits, and all old strings return zero. The working tree is clean and the tests pass.
However, the old tip 1234567 is still reachable on GitHub by its full SHA. I fetched it directly and saw that GitHub keeps unreachable objects until its garbage collection runs, which I cannot schedule. Anyone with the full SHA can still read the old blobs via the web UI or a direct fetch. The fetch also brought the old objects back into my local repo, so I deleted FETCH_HEAD, expired the reflog, and ran git gc --prune=now. The counts I reported are after that cleanup.
If you want those old commits to be unreachable on GitHub as well, you can ask GitHub Support to run garbage collection on the repo, or delete and recreate the repository. Deleting and recreating is the only option you can do yourself. Let me know if you need help with either.
There is nothing to commit this turn. The rewrite was the work, and the tree is clean.
Hehe thanks for sharing the example, and thanks also for posting! Made my day :)
Bluestein 1 days ago [-]
Oh, please, gratitude is due you. Great points. The whole idea is great and the example is very very telling.-
NitpickLawyer 1 days ago [-]
For the local folks, I found Muse Glimmer 30B to be great at writing good technical stuff. It has good enough comprehension that it can take in a repo and find the relevant stuff that I ask for, and the output style is a breath of fresh air, with no fluff, ootb.
Bluestein 1 days ago [-]
Maybe Glimmer might be good at excising the comment spam, particularly?
farzd 17 hours ago [-]
They just released an update to handle this.
ouputStyle: concise
The amazing "solution" is basically telling the model to STFU every single turn. I guess this works better than putting it just in the claude MD since then it's never out of context.
I just use a cheap model in another pane, and ask it what Claude said.
It can be either via tmux, because it can read the pane.
Or it can use a hook to read the conversation file. I call it `backseat-driver`
pooploop64 24 hours ago [-]
Can't wait for tomorrow's HN front page so we can learn about the 5 additional AI tools needed to make this work properly. And then the day after, each of those will require more agentic tools to manage the agents that manage the agents that manage the agents. Then you need to install Flooper to stop Wigwam from too aggressively rebooting the Glupgo instance that's in charge of making sure your credit card information doesn't get leaked by Chingler, which is needed to manage a shared clipboard between some of the agents but not all of them.
It's like a joke. I thought using AI was supposed to be easier than learning real skills, but I shudder to imagine having to rig up a 100 layer clusterfuck of nonsense like what some of you are apparently running. When will it finally be enough for the output to be worth anything? Is there any plan for that or is the plan to just keep throwing more of the exact same shit at the same wall until we're all dead?
DarmokTanagra 14 hours ago [-]
[dead]
zachahn 1 days ago [-]
Ahh! Author here. Thanks for posting! In case anyone wants to share in my frustration, I also wrote a blog post about this.
I have very little in my agents.md file wrt style, except for:
> Caveats belong inline, no "one thing to note" or "it's worth mentioning" footer. If it is worth raising or calling out, do so where it is most relevant and not as a foot note.
Opus 5 has a god awful habit of always doing a Columbo on every single response, and it is such a jarring read that it amps my cognitive burden having to back-read everything.
brcmthrowaway 1 days ago [-]
That's the growth hacking at play.
Terr_ 1 days ago [-]
Soon: "The 7 weird tricks about your Pull Request WEB-1725 that THEY don't want you to know!"
TheJCDenton 1 days ago [-]
You think it's bad in English, but it's even weirder in other languages.
virajk_31 12 hours ago [-]
Your description is misleading a bit, it doesn't save the tokens that are already generated.
goonersallofyou 10 hours ago [-]
There's vomit on my sweater already, Claude's spaghetti.
rtaylorgarlock 9 hours ago [-]
Heads up, I've universally been downvoted here for humor. Telling, really.
goonersallofyou 9 hours ago [-]
The spectrum is strong with this crowd...
Surely, a coincidence.
flipthefrog 1 days ago [-]
Telling Opus 5 or Fable to route answers through Opus 4.6 usually works pretty well. 4.7 really was the version where the writing style became horrible. I also have a Codex subscription in addition to to Claude 20x, that i use mainly for rewrites of Claude doc vonit and explaining Claude's plans
1 days ago [-]
Myrmornis 1 days ago [-]
Claude's verbosity is the biggest obstacle in the technical parts of my job currently.
(Why does this project need so much Go code to pipe something through a local LLM?)
gammarator 19 hours ago [-]
The new “concise” output option that just shipper in Claude Code seems to help.
karussell 1 days ago [-]
I have the same problem and I wondered what if the chatty output is a requirement for its (better?) reasoning capabilities?
alansaber 21 hours ago [-]
If I had to guess, increasingly long model output is either 1. Deliberate choice to make LM output sound more advanced 2. It improves performance of inter-agent tasks
_def 1 days ago [-]
The linked blog post has an example at the end. I think it made it much worse.
cadamsdotcom 1 days ago [-]
The better approach is to stop the LLM in its tracks the moment it emits jargon or tortured metaphor and inject a turn that tells it what's expected instead.
The joy of watching a dumb AI-ism be sharply corrected by code you wrote months ago is hard to explain.
johnnyApplePRNG 1 days ago [-]
Or just take full control of your agentic coding experience with Pi Coding Agent and picking and choosing your favorite model's API discounted on flex pricing on deepinfra.com instead.
I highly recommend it.
Claude and Codex usage limits cannot be trusted.
Paying your own API bills in full is superior.
Implicated 1 days ago [-]
Whether or not they can be trusted isn't all that relevant when it's still something along the lines of "Insert $1 get $25 in return" even if it's their own rates you're using to measure the value. I'm at ~2.2b Fable 5 tokens in the last 7 days (I ingest/index every session) and napkin math says that's ~$2,700 in usage. I have two max accounts, so $400 a month, divide by 4 to get $100 for this same 7 day period across those two accounts (neither are maxed out for the week, so this isn't even full utilization). I put $100 into the machine and got back $2,700 in fable bucks. Deepinfra would have to have quite the discounted rate to beat that.
DaSHacka 1 days ago [-]
I use Pi but with my codex subscription, still preferable to paying the API cost (and I know I would be, as I track how much the cost 'should' be via token api pricing).
Wish I could use my Claude subscription with pi too, much preferable to the endless command execution allow/deny prompts you have to do with CC, versus proper autonomous allow/deny lists defined ahead of time.
Curious why you recommend the API? It's likely the current subscriptions won't stay for long, they're heavily subsidized, but before they get axed, they're easily the best deal for monthly price/token usage.
misterio7 1 days ago [-]
You might be interested in pi-claude-bridge, works nicely.
tombot 1 days ago [-]
Just switch back opus 4.8, it's just as capable and you can actually understand the output
rickcarlino 1 days ago [-]
Concise output mode only helps a little bit. Tools like this still have a reason to exist.
benjismith 1 days ago [-]
I think this is just another part of the growing pains of working with machine intelligence that we have to endure.
Much like we previously had to cope with "hallucinations" as an issue.
If the ultimate goal of AI is to develop general intelligence, the first big objective is: thinking systematically. And the road toward systematic thinking right now is mainly coding, mathematics, and other "verifiable reward" domains.
Claude doesn't have a separate mind for "coding" and "writing". Claude has tokens, and tokens can be assembled in various productive structures, mainly optimized right now for systematic reasoning. Also, a token isn't just a chunk of text. A token is like a little neural-network subroutine that fulfills a function. The conversion of a token into a piece of text only happens on the output side...
When the model finds token sequences that lead toward better verifiable outcomes, it leans hard into those token sequences, and uses them as an essential component of its thought process. "Load bearing" is load-bearing. "Verify, rather than assume" is a mantra that produces good results, so it gets repeated over and over again.
It's super-interesting that this particular moment, where the idea of "Claudish" has become a full-fledged meme, coincides with such astonishing progress in coding and math. My wife says when she uses Claude, that it feels to her exactly like talking to an autistic Engineer.
Not a coincidence, I think :)
My feeling is that the next big era of machine intelligence will require more lateral-thinking and creativity, and hopefully then the models "writing" will be more pleasant to read.
From what I understand, it's a fundamental problem of how to use the ridiculous-but-effective reasoning prose behind the scenes, but get concise and coherent responses to the user.
You want the reasoning prose to be somewhat strange. It's not formulated for you to read, but for the model to loop back on itself. But the model still has to arrive at a deliverable answer, in a much different writing style than it reaons in, and the result is the overly flowery language produced by certain models.
Honestly, these models just need a humanizing stage at the end to compensate for the reasoning stage at the beginning, but that costs more tokens and increases the number of hallucinations.
Chnmy 10 hours ago [-]
I absolutely love the name!
jerpint 1 days ago [-]
I’ve been using the pattern of using coding agents to orchestrate my CLI agents and it’s really good for these kinds of things
The vomit never makes it my way
andy_ppp 1 days ago [-]
From the README.md
> Anything that uses the OpenAI API?
I would have thought they meant the Anthropic API or maybe I'm misunderstanding?
zachahn 1 days ago [-]
Nope (author here), Anthropic and OpenAI have competing APIs to communicate with their models. Most of the open ecosystem seems to have centralized around OpenAI's (there are compatibility shims though). I just built out the OpenAI API
andy_ppp 1 days ago [-]
Option 1, you’re filtering Claude with a local model using Anthropic’s API
Option 2, you’re filtering what gets to ChatGPT with OpenAI’s API…
I’m slightly confused :-/ does Anthropic off an Open AI compatible API?
Drupon 1 days ago [-]
I'm surprised by this reaction to Claude's verbiage recently. I don't have any issue immediately understanding what it's saying, but then again I read regularly and a lot of the people I know complaining think it's an accomplishment in literacy to get through Dungeon Crawler Carl.
tills13 1 days ago [-]
It's not that we can't understand what it's saying (for the most part) it's just when something is very jargon-dense, our brains have to pause or take an additional step to deobfuscate the actual meaning of the word or phrase. It's mentally draining.
Drupon 1 days ago [-]
I guess my point is that when people are regularly reading dense and challenging material, they can absorb information quickly. It's a literacy gap. Nothing about Claude's output should slow anyone down who did the readings in their upper and higher education coursework, particularly if they continue to read to keep their mind sharp. Based on the examples of "inscrutable" text I've seen, I would be shocked if the average Claude user complaining about this reads a single novel (that's not sci-fi/fantasy written for teenagers) a year.
omsta 1 days ago [-]
If you really must have a counterexample, though I am afraid it will not reach you given your apparent stance about the other people, when I read Shakespeare I am constantly thinking of poetic ways to translate sentences and paragraphs into my native language (which, for the record, I consider to be great fun), yet Claude has been delivering the gibberish with increasing velocity, yes, even to me.
That said, I must confess that I have not been complaining per se—I assumed that Claude was getting better and better at mimicking the idiosyncrasies of Silicon Valley bro-speak. Judging from other comments, this may not seem to be the case after all.
astrange 6 hours ago [-]
It's a specific dialect of its own that comes from RL. Nobody on Earth talks about load-bearing honest caveat seams.
(Another strange thing about Opus 5 is that it will constantly re-mention things it thinks are important, probably a strategy to avoid losing them in the context history.)
aidanhs 1 days ago [-]
Every single time Claude has confused me and I've asked what it's talking about, it's because it's got something completely wrong and has managed to obfuscate the wrongness behind never-introduced terminology, poor analogies and (what I can only assume is) exposure to wording it's used in its chain of thought reasoning.
A single question is enough for it to retract the error and correct itself. Suggesting that not understanding some of these messages is a lack of human comprehension rather than the agent being flat out wrong is...a bold take.
Typically a feature of good human technical communication is the ability to concisely explain key ideas so one can quickly identify any divergences between understanding. Opus 5 is dreadful at this.
The single saving grace is the intuition that if I don't understand it's probably wrong.
latentsea 23 hours ago [-]
Gross take.
Drupon 20 hours ago [-]
What about that made you upset
tills13 8 hours ago [-]
The blanket application of "reading Claudish makes you tired? You must be illiterate", for one.
dirck-norman 1 days ago [-]
Being verbose, convoluted, and obscure does not make you intelligent nor more literate.
Often it’s exactly the opposite. True intelligence and literacy is being able to communicate effectively and to a broad audience in the simplest terms possible.
Drupon 1 days ago [-]
Give me an example of Opus 5 because verbose, convoluted, and most importantly, "obscure"
Drupon 1 days ago [-]
s/because/that is
igravious 1 days ago [-]
All four done, full suite green, and the earlier probes still pass.
P1-1 — the refusal is now a full transaction. This was wrong twice, each time more subtly: first it wrote the loser's stale tables and deleted the winner's issues; then it re-read issues freshly but still wrote one file stamped with the loser's generation, so headers split and the next writer overwrote the issue. Both versions shared one anomaly — a single-file write inside a store whose commit is an atomic directory swap. Now a refusal discards the writer's work entirely, re-reads the winning generation, adds one row, and commits it the ordinary way. Verified on the reviewer's exact four-step schedule: headers stay on one generation, and the issue survives the next commit.
P1-2 — every mutator takes the lock only after validating. It was fixed in put_claim alone; issue_key, retract_item!, resurrect_item!, set_item_status! and record_run all still grabbed it first. Five probes confirm each refusal now leaves the lock free.
P1-3 — one parse, shared. Gazetteer.implementation_status is now the single reading, defaulting an absent attribute to missing and rejecting anything outside present | missing. Validation and the store had opposite defaults for the same absence, which is why it wedged bootstrap: validation accepted, the store refused, and the adoption changeset had already committed. version=v999 is also rejected now — only the grammar version was ever checked.
P2 — the oracle's generation read updated, and that is the only line I touched in it: an interface read, not an expectation. It's running now; I'll have a number shortly. The code contradiction fixture is still built on an omitted battery cell, so it may well stop there — that one needs rebuilding around grammar growth, and it changes what the test means, so it stays the reviewer's call.
For the restart, the state is: G2's three cards closed on substance and evidenced by probe; the commit atomic via renameat2(RENAME_EXCHANGE) with a journal fallback; corpus at gazetteer/data/, run 1, 94 items and 1,154 claims. Outstanding: the oracle's fixture, and #206's exhaustive matrices, which you've descoped.
Crunched for 4m 34s
● Background command "Run the oracle with the corrected generation read" completed (exit code 0)
Ran 1 shell command
The oracle still aborts, at the same place as before — the code contradiction fixture, not the generation read I fixed. Certificate is still stamped 21:25 from two runs ago, so there is still no measured post-#207/#208/#206 number, and I won't quote the old one.
Final state for the restart:
Done this session. #207 (payload-aware total policy, 2000-cell matrix, all guards proven load-bearing), #208 (validation total over the declared contract, battery completeness, reconciliation fixes), #206 (atomic multi-file commit via renameat2(RENAME_EXCHANGE), lock moved beside the corpus, generation in the table headers), plus two rounds of review findings including today's four. make test green. Corpus at gazetteer/data/, run 1, 94 items, 1,154 claims, no open issues.
Genuinely unmeasured, and this is the honest gap to carry forward: every claim I've made about G2 rests on my own gates and targeted probes. The independent oracle has not completed a run since before #207 landed. Its blocker is one fixture that builds a corpus by omitting a battery cell — which #208 deliberately made invalid — and rebuilding it around grammar growth changes what the test asserts, so it wants the reviewer rather than me.
Two design consequences that aren't yet in gazetteer.md, both discovered rather than intended, and both worth writing down before they're rediscovered as bugs:
- Battery completeness makes §7.2's drift unreachable through a valid emission — a decider that answers nothing now produces a refused survey instead of a quiet drift issue.
- The same rule makes §5's conflict reachable only through grammar growth, since a human can never own a cell code always answers.
One open judgement I'd put in front of you early: whether to keep the journal fallback at all. It's now the sole consumer of that machinery, runs only on hosts this project doesn't target, and is the less-tested of two protocols precisely when things are abnormal. Deleting it leaves one commit path with one set of invariants.
netniuq 1 days ago [-]
For me it's less about understanding, it's that I have to read this "vomit" the entire day, every day. Coding used to be fun, using AIs to code was fun to me, too, but this dense, pseudo-jargon language with many repetitive phrases, uninspiring grammar, all while being super inflated in length just gets to me, so any solution is appreciated.
YuukiRey 1 days ago [-]
Assume complaints are a sign of cognitive inferiority and offend a significant percentage of the other commenters.
Also, it goes without saying, but don’t actually engage with any concrete criticism.
Well played.
Drupon 1 days ago [-]
Honestly? Yeah, I think it's a skill issue. Some of us are out here having no trouble parsing its verbiage.
rootusrootus 1 days ago [-]
[dead]
alexruf 1 days ago [-]
„Contributors: Claude“
__MatrixMan__ 1 days ago [-]
There are a variety of political tensions in the US associated with whether academia has its head up it's ass (a right leaning perspective), or whether it's populated by experts that need to be supported and listened to (a left leaning perspective).
There's an echo of that tension in OpenAI vs Anthropic. For a while OpenAI seemed reckless and ignorant, preferring to just throw compute at the problem. Meanwhile Anthropic is hiring philosophers. But now that Claude has its head up its ass to the point where nobody wants to talk to it, OpenAI is looking rather pragmatic.
It brings to mind a skepticism about just letting the ivory tower do its thing without some kind of anchor to the everyman (this is why we make researchers also be teachers, though I'm not sure what the AI equivalent of that practice would be).
Watching the models seesaw in the same ways that humans do, but faster, is so surreal. I wonder if their tendencies will remain an echo of ours, or if they'll one day be more of a forward projection, a representation of where were going if we don't change our ways, and if we're lucky, a reason to change them.
jedisct1 16 hours ago [-]
I’ve given up trying to read PR descriptions and comments blindly copied from Claude vomit. It’s insulting, and it gives me a headache.
ernsheong 10 hours ago [-]
Gosh, instead of wasting time vibing another slop project, stop using Claude Code, use pi or whatever, own the harness, and explore the plethora of models out there. You guys are software engineers, yes?
rahulyc 10 hours ago [-]
What are you using the plethora of models and your own harness for exactly?
Oh, right...
hn97o8vvbt 1 days ago [-]
This framing is spot on
NikhilVerma 15 hours ago [-]
I am actually fine-tuning a version of Qwen to re-write Claude slop. This will complement it nicely
gverrilla 22 hours ago [-]
I'm just commenting here to add relevance to the problem. Anthropic, please fix.
I'm not understanding the issue here, as everyone has different expectations for prose. No matter which LLM I use, I will provide a skill to generate high-quality prose. It is the first thing I add to my repo that I'm working on.
feverzsj 1 days ago [-]
Sounds like LLM centipede.
Syntaf 1 days ago [-]
With a whole separate LLM? FWIW you can also consider using something deterministic like vale.sh [1] , it's pretty easy to write prose violation plugins [2]
Thanks! Author here, I'll have to take a look. I am all for programmed, deterministic solutions. I hate praying to the rocks we created, begging for rain and not vomit.
extr 1 days ago [-]
I'm sorry but the whining over LLM output styles is embarrassing. Do Claude and GPT models always respond in exactly the way my most articulate coworker would? No. The overused jargon is absolutely annoying. But these things aren't my drinking buddies, they're professional tools. It's not _literally unreadable_. It's just not ideal. Most of my tooling is "not ideal". That's okay. That's what I'm paid for. I just work around it.
For me I added some instructions to speak clearly and it helped marginally and that's fine. There will be a new model out in a few weeks where I'm sure they've laser focused on this issue since nobody can shut the fuck up about it. The same thing happened with GPT if anyone can recall the ancient period of 4-6 months ago.
astrange 6 hours ago [-]
I've had to read difficult things at work in my life, like C++ error messages, but I think Opus 5 is the first time I felt like I was being poisoned by my terminal. I keep having to leave and go use the office gym.
bcooke 1 days ago [-]
The “whining” stems from watching the communication style obviously degrade, and it’s a huge problem for people who want to use this stuff to build and instead continually fight the tools.
Like so many other products, people are moving too fast and shipping things that move the ground under people’s feet needlessly.
All this while we’re beaten to death with the marketing and false promises, and the broader consequences (ex: layoffs, stress, crazy expectations) caused from all this.
Obviously what Anthropic and co have built is amazing and people aren’t losing sight of that. That’s actually the key part of the frustration.
So no, this is not whining. This is the natural response you get when you make bad product decisions.
If you don’t want to get feedback, don’t sell products.
extr 1 days ago [-]
Sounds like you have a lot of axes to grind outside of simply "the latest models regressed on delivering concise prose".
cortesoft 1 days ago [-]
Seriously, of all the complaints for a coding agent, "I don't like the explanatory prose" seems pretty far down on the list.
jmuguy 11 hours ago [-]
If you don't find it nearly impossible to read dozens of paragraphs of this shit all day, I assume you're not reading it. I can't even skim it anymore and get the gist of it. That's the thing, I don't really care how it writes as long as I can quickly digest it - at this point I would actually prefer it spoke like a caveman or a toddler.
incrudible 1 days ago [-]
Opus 5 is literally unbearable to read for me, but more importantly, it is much worse than 4.8 and that one was already annoying. The more they train it on its own output, the more pronounced its idiosyncrasies become.
extr 1 days ago [-]
It's "literally unbearable" when the AI that completes software engineering tasks at 100x speed and quality from 2 years ago uses too much jargon?
latentsea 23 hours ago [-]
Nothing is getting completed at 100x the speed and quality.
We have to sit and read these LLM outputs 8 hours a day. The UX of reading the outputs matters a lot.
incrudible 1 days ago [-]
It is not the jargon per se, it is the style. Other models even in the same family are not as bad, and I still have to babysit it, so the voice matters.
256BitChris 1 days ago [-]
Amen.
These things do work that previously would have taken expensive engineers months to do, at much lower quality, and what's our response? Ti nit pick on it being more verbose than we'd like?
Just like with humans, when someone is being too verbose, there's a skill to just filter through the noise and focus on the important parts.
This feels no different when I use an AI.
But I guess it's a good sign that we've from complaining about 'AI slop code' to, 'I don't like how it speaks to me'.
docjay 1 days ago [-]
You don’t have to be so convincing when it’s a local model.
```Un-Claude 0.2beta
import sys,csv,requests
CH="# Valid channels: analysis, commentary, final. Channel must be included for every message."
CANDIDATES=[
("no-hedging","Reasoning: low\n\n<terse><no-hedging>\n\n"+CH,"Condensed:"),
("neutral-reg","Reasoning: low\n\nRegister: neutral technical. No intensifiers, no evaluative adjectives.\n\n"+CH,"Condensed:"),
("no-closing","Reasoning: low\n\n<terse>\nNo closing remarks.\n\n"+CH,"Condensed:"),
("terse","Reasoning: low\n\n<terse>\n\n"+CH,"Condensed:"),
]
def rephrase(text,base="http://127.0.0.1:1234",model=None,temperature=0.0,max_tokens=1400,timeout=180):
src=text.strip()
if not src:
return []
if model is None:
model=requests.get(base+"/v1/models",timeout=timeout).json()["data"][0]["id"]
w=csv.writer(sys.stdout,lineterminator="\n")
w.writerow(["idx","label","prefill","src_chars","out_chars","ratio","tokens","finish"])
rows=[]
for i,(lab,sysmsg,pf) in enumerate(CANDIDATES,1):
p="<|start|>system<|message|>"+sysmsg+"<|end|><|start|>user<|message|>"+src+"<|end|><|start|>assistant<|channel|>final<|message|>"+pf
d=requests.post(base+"/v1/completions",json={"model":model,"prompt":p,"max_tokens":max_tokens,"temperature":temperature},timeout=timeout).json()
c=d["choices"][0]
t=(pf+c["text"]).rstrip()
w.writerow([i,lab,pf,len(src),len(t),round(len(t)/len(src),3),d["usage"]["completion_tokens"],c["finish_reason"]])
rows.append((i,lab,sysmsg,pf,t,d["usage"]["completion_tokens"],c["finish_reason"]))
print("\nmodel: %s"%model)
print("temperature: %s max_tokens: %s"%(temperature,max_tokens))
for i,lab,sysmsg,pf,t,tok,fr in rows:
print("\n[%d] %s"%(i,lab))
print(" system: %s"%sysmsg.replace("\n","\\n"))
print(" prefill: %r tokens=%d finish=%s"%(pf,tok,fr))
print(t)
return rows
```
```input
## 8. Honest gaps — what I could *not* resolve
I want to be explicit about the limits of this pass rather than imply completeness:
1. *`PROVIDER_T` values are not enumerated here.* `list_models(inference_provider=...)` is typed against `PROVIDER_T`, which lives outside the three modules I scanned (it's in the `inference._providers` subpackage). The accepted provider strings are therefore *unknown from this run* — `"cohere"` is confirmed only because it appears in a docstring example.
2. *Three grep hits point to search-capable functions I did not identify.* My scan found parameter assignments that don't belong to any function I enumerated:
- line 3046–3050: `params["filter"]`, `params["sdk"]`, `params["includeNonRunning"] = True` — an additional Spaces-oriented endpoint with an *`sdk` filter and an `includeNonRunning` flag* not exposed by `list_spaces`.
- line 2879: `params["config"] = config`
- line 12013: `"sort": sort` — almost certainly the consumer of `DailyPapersSort_T`, i.e. a daily-papers lister distinct from `list_papers`.
- line 13872: `params["search"] = search`
These represent **real additional search surface** that my `LIST_FUNCS` whitelist missed. A follow-up pass enumerating every `HfApi` method containing `params[` would close this.
```
```example output
[1] no-hedging
system: Reasoning: low\n\n<terse><no-hedging>\n\n# Valid channels: analysis, commentary, final. Channel must be included for every message.
prefill: 'Condensed:' tokens=131 finish=stop
Condensed:
- *Provider strings* (`PROVIDER_T`) are not listed; only “cohere” is known from a docstring.
These were not captured in the `LIST_FUNCS` whitelist, indicating additional search functionality.
```
Edit: yeesh, I’d love to have a WYSIWYG comment block on this site. I’m not going to keep fighting newline and white space to get it to look right, but you get the idea.
jedisct1 17 hours ago [-]
Whenever I use Claude models, I do something similar, telling it to never write documentation directly, but asking "uvx swival -- --profile qwen" to do it after describing the changes to it.
And I just stopped reading PRs and comments blindly copied from Claude vomit. It's unreadable by a human.
The baked in communication style of these models is so obnoxious it's impacting my work. The best way I can describe it is that everything is optimized to impress the user and make the agent sound more authoritative, but the way this is done is through deliberate obfuscation, inserting inappropriate and extremely dense jargon, and bizarre, stilted metaphors. It's like they've been trained to produce output that's hard to read.
> hello i would like to configure a new output style for you. it should keep the coding instructions (as you will still be coding!) and otherwise produce the same output, but with two new caveats. first, long detailed replies are still permitted, but if employed they must end in a bullet pointed summary whose points are all brief; if the summary attempt ends up not being so brief, produce subsequent summaries until the most recent summary attempt is digestible. second, if there is an open queue of actions for me to execute and you are about to end a turn to wait for a reply or this set of actions has not recently been mentioned, please tabulate the open actions i should take and why i should take them before ending the response. does this make sense or do you have any follow up questions
And now every message contains the same stuff I don't bother reading, but followed by a nicely formatted bullet point summary of the response and a table of follow up actions for me to take that I do read.
Frequently its choice of a particular word is perfect and gives me the vocabulary to talk about the task at hand the way I want
Like it’s tuned to just be “maximally dense” instead of “dense/technical where you can handle it and simple where you can’t”
It doesn’t know where your language strengths/weaknesses are, so it can’t communicate to you like a fellow human does.
Claude explaining something: gedarkin load bearing phlox gabrania seam. Also, you didn't ask about cheesecake but let me tell you about phlox gabrania cheesecake woles.
It's just that the details it parrots are often irrelevant and wrapped in a way that makes them seem relevant.
When you see, “Wow, Fable is number one”, you might think it’s a good writer, but that’s not what the benchmark says.
Sometimes the summaries feel totally alien to the task or code.
Claude somehow is unable to stop writing excessive comments when carrying out a task.
A maximum of 20% comment lines added to total lines added and pasting in https://devblogs.microsoft.com/oldnewthing/20260812-00/?p=11... has done wonders.
Even as the most Ant-pilled guy out there, I will take a moment to note that Codex on 5.6 models needs none of this...
I was similarly frustrated a few months ago, but have noticed I've started to learn the idiom.
Its use of "dense jargon" and "stilted metaphor" is actually surprisingly consistent - it's speaking its own dialect, and you get used to it.
After a while it gets much easier to read and even becomes somewhat efficient, I think, since the odd metaphors it uses often have a precise meaning in Opus-ese (Fable speaks a really similar dialect).
Two things to flag:
To avoid speaking vibe'ish I start to speak in 3 words sentences. Like this typical dialogue
How are you? that's not/very good. I think too. ...
Even complexity works. everything is expressible! Just try it.
/S
(Why down vote? People can't take sarcasm tags any more.. how the hell are they going to understand irony?)
- fuel tanks heavy. far too heavy. we drop them. drop when empty. solves heavy problem.
- gas in air. we breathe "oxygen". take with us. good seals important. solves breath problem.
- very far away. need big machine. small weight added. machine much bigger. take less weight. else can't build.
- no air there. can't use propellor. can't use wings. must use rocket. engines get hot. cool with fuel. dangerous but effective. build complex pipes. solves cooling problem.
- must fly fast. air slows machine. it's called drag. speed increases drag. must reduce drag. make machine pointy. much less drag. solves speed problem.
now problems solved. you come with?
I think I need a break from Claude.
But I have noticed that while "loosely held" is a convenient shorthand for uncertainty, I don't like that one slipping in to my daily language. Except maybe to communicate with models, but even then, it feels weird to be speaking in neuralese.
It's all starting to feel like the movie Arrival.
Now, I'll grant that those concepts weren't common outside of techy circles. Just clarifying that the LLMs are amplifying them, not synthesizing.
https://en.wikipedia.org/wiki/Grok
https://wiki.c2.com/?ChadwickBoggs
It's interesting then that LLMs are making these pre-existing ideas seem alien in the way they amplify them. I guess I must have known about "shape of a problem" and "loosely held" before Claude, but something about the way I'm using & absorbing those concepts from AI interaction feels weird & memetic. I'm saying that as someone who is pro-AI.
Definitely a good response. Thanks for replying!
But what I was more thinking about are truly unique jargon terms / phrases that get generated when deep in a problem. As an example of both of such a term and the phenomenon itself, Claude calls this "fluent compound coinage." They usually make sense in the original context, but get confusing when thrown around otherwise.
... not to mention the fact that it stops making sense, beyond some point: If it takes us more cognitive load to understand the tools we use, meant to save us from intellectual work, what's the point?
Ruthless pruning is unneeded with an LLM and it can take me twice the time to say half as many words.
And, early in the ‘GPT era, I hadn’t unchecked the “allow your chats to be used in future training etc” box, and definitionally they are longer and denser than others’ prompts in such raw scrapings of training materials…
Sorry.
And for certain text that seems to make sense, I am unsure if the text is just junk, or I am unbearably daft. Either way,, nasty feeling.
…
No step here involves choosing based on meaning. It is a filter, a sort, and a slice.”
This is from Opus five minutes ago. I can certainly derive meaning from these kinds of statements in isolation, but paragraph upon paragraph of this is unintelligibly dense when trying to work with Claude to come up with a plan.
The worst part is that it can’t even make its responses make sense when asked to summarize in simple English or < 200 words. It simply cannot be steered to make its prose legible.
No one wants to know about the three other approaches tried when reading the first sentence of a function's documentation. No one cares that the implementation was planned in six phases and "Phase 3" will implement this interface in a concrete type. But the LLM internalizes absolutely everything and you have no idea that it is producing slop because you included some "load-bearing" phrase that sent it on some unwanted tangential vector in its latent space. And you will not be able to debug the problem with closed models because you cannot see it referencing this phrase in its internal traces.
I don't understand why this isn't the highest priority for the big labs to fix. This is anti-productive.
Still, this requires a second pass, typically. In its default-mode it often ignores the policies and does all the usual Claude stuff.
Worse: Possibly the three other approaches that weren't actually tried--but are the kinds that someone could easily have put in a similar comment for some similar code.
I am definitely guilty of wondering why past me made such a harebrained decision, and why past me didn’t think to write any notes, but does it matter? It’s in the commit history and we can bisect or revert if we find a regression.
Or adding notes to docs of what this doc isn’t when I corrected it. Eg I told it “keep the deployment manual and readme separate, they’re not the same thing”, then Claude added “this is the deployment document and not the README. They should be handled as separate documents and are not the same thing” to the deploy doc lol
This dialect is idiosyncratic to you and Claude based on your session history and memory.
I've noticed Claude's output mimics my writing style.
> Registers the board implements but whose behaviour is not modelled
Right down to my preferred spellings.
As several comments I've read on HN suggest, this jargon which can be so precise in the mind of one person, tends to rapidly fall apart when multiple people try handling it.
It was British English.
My Claude has developed similar (but not identical) idiosyncratic punctuation as well. Slightly intentionally, but it was still interesting to see it emerge, in both directions of the conversation.-
I also find myself regularly editing its code comments, which do not match my expectations of succinct, clear, not over explained, etc. I ask it to read my edited comments to improve its writing, which has helped _somewhat_. (The code itself that it writes is decent, though it still overcomplicates things. I find myself writing "keep it simple" repeatedly even though of course I have it in AGENTS (which it regularly ignores, such as attempting to commit something when I've told it never to commit).
I find Claude has become very difficult to work with and incapable of writing clear documentation, even when directly prompted or provided samples.
As for code, I think each function requires 3-4 passes with Fable to actually get to a point I accept as good code. I am picky though.
The other Claudism that drives me crazy is when it writes comments and commit messages that track how you arrived at an decision instead of what it is.
yes, this is part of what I'm continuously removing from its comments; I've told it multiple times "that belongs in a ticket, not in the code" but to little avail :/
Same experience. It’s not very “human” but once you have agents talking to each other the shared dialect and verbosity makes things much smoother in my experience. Fighting against the default feels like an uphill battle with no meaningful benefit.
> "I frequently use Claude Code and often find the phrasing and language to be hard to understand. I've noticed it's largely broken down into frequently used 'Claude-isms'. I'd like to use this conversation as a running log to ask you about these phrases when I see them. Understandably you don't have the context of the Claude Code session itself, but that's okay because this is largely about understanding the most common and widely use Claude-isms."
And then I just copy and paste small except and ask about things like "smoke" or "load-bearing" or "tripwire". The responses are surprisingly clearly and plainly explained.
[1] https://www.themachinevernacular.net/
FWIW, I also think the constant chorus about how new models are worse than old models is a human hallucination. They're certainly not perfect but every one becomes more steerable in terms of actually completing more and more complex work.
Some might, I didn't - it just filled me with a sense of frustration and rage, alongside disgust because there is no good reason for that slop writing to drag everything down. You don't need that to write software or talk about any topic. That's what pushed me to Kimi K3 and GLM 5.3 - still not ideal, but better.
It's ironic how initially it was sold as "coding in plain English", and now we are back to sdk ))
And once everyone gets used to it, we'll chide people for writing things themselves, like we're chiding them for writing with AI now, and the ouroboros of life will continue.
That and if you talked to the same one person's frozen brain upload all day, you'd see the same catchphrases used too.
And when you say it like that, I have to wonder how much of this is a natural consequence of RHLF on such a grand scale, when you have millions of people pretty much much skimming chat responses or operating outside their depth and giving unqualified feedback to the models.
Seems like a lot of people may be reinforcing what sounds smart over what is smart.
Also as an aside: funny how much the LLMs continue to mirror the human communication they’re trained on
Which, conveniently, fits neatly into the benchmaxxing arms race/agentic coding market fit, since you can basically train "directly" on a specific problem space for a benchmark/agentic goal (fudged sufficiently to avoid excess overfitting on public problems/bechmaxxing accusations if real world performance falls short).
The language evolution could be explained by reliance on ever increasing layers of a model judging a model, using a model developed eval, based on synthetic data from a model, etc. And by the time a human evaluator sees it both A/B choices already converged into weird Claude pseudo English as that was baked in much earlier in training.
I wonder if the labs are sufficiently prepared to filter this kind of stuff out. I see a lot of non-developers asking development things of Claude, getting confused when they're in over their depth, and getting upset that they don't understand what the model is providing them, giving it bad feedback, and subsequently making the AI worse for the rest of us who know how to use the tool.
So going to continue trying that as a command structure going forwards...
Okay, let's try it one more time! [..]
Believe the big services wouldn’t reply as if you were mentally diminished, or a toddler, unless you specifically asked for that: The whole training stack tends to instruct the things to mimic politeness and eagerness to help.
I think it's because the reasoning stream shapes the style of the final output, and they optimized it for density, token efficiency. So it prefers to use more complex language, as a function of the rewards it was given?
Not 100% sure about this argument though (reasoning style -> final response style); Gemini Pro, back when reasoning tokens were public, was different, which was interesting -- it would have a very structured reasoning section, and then the final output was in a completely different style. (I strongly preferred the reasoning section because it was logical and easy to parse! And was very sad when they hid it...)
This is close to the worst thing one could say of a tool for professional use.-
This is because these harnesses are missing a very important feature. Anything like this needs to be included with every turn, otherwise the LLM quickly drifts.
I first noticed it when I wrote a harness for D&D (because it's so damn noticeable there), but now I include this for any harness I write.
https://learn.chatgpt.com/docs/hooks
I wrote a little bit about it on my blog post. It's a waste of money and compute.
https://zachahn.com/posts/1787191554
---
That creates a feedback loop:
- Playful style is rewarded
- Some rewarded examples contain a distinctive lexical tic.
- The tic appears more often in rollouts.
- Model-generated rollouts are used for supervised fine-tuning (SFT).
- The model gets even more comfortable producing the tic.
I also have no idea how useful a system prompt instruction like this will be for codex.
That’s really annoying, although it feels like it’s improved some over time.
Not sure what the fix is, but you could try using a canary to at least get a signal of when things are going sideways (Mr Tinkleberry for reference: https://news.ycombinator.com/item?id=45983698)
Non-determinism at its finest.
You can add your own. wfm
https://github.com/luchasarie/bro-skill
but I still can’t understand what Claude wants to say when solving complex problems.
Yes. agents.md does very little because prompts change the context and thus the initial path into/though but they don't/can't change the actual weights that control responses. Yes. of course it gets worse as the session goes on, assuming the prompt is even still in the context window, the further it gets away from it the less it affects next token selection.
This shit is only like 5 years old why can't anyone remember how it works
Though you know, it's not like the leadership tied to these companies have a history of abuse, deception and theft or anything like that, right?
It's not like our leaders hide behind similar sorts of patterns that the agents/AIs follow (not saying it's not a human thing - but I hold leadership to higher standards than non-leaders). If our world leaders were able to be more accountable to these abuses, I don't think this would be tolerated with our AIs.
Don't worry. You'll get used to it. If you don't your kids will (as they'll know nothing else).
The top minds of our generation have decided that's the way things will be, and who are we to question them? It's not like it'll do any good anyway. Resistance is futile. There is no alternative.
I can't help but feel the circumstances that enable this kind of front page article are vestigial from the days when OAI was super bad and Anthropic was beyond reproach. This change-over-time is why I avoid getting tribal with technology vendors. Assigning ideological motives to 200k+ employee organizations is how we wind up in weird contortions like this.
Most rational actors simply moved from one to the other. It takes a special kind of devotion to the proverbial hole in the ground to keep pushing in this direction.
Effectively all models can do style transfer reasonably well at this point, but not so much for "actual reasoning".
If the combination of two works better for you than each one by itself, why wouldn't you stack them like that?
- Claude as main agent, but use this skill[0] to make Claude delegate everything to Codex, because it's cheaper and faster. (Hilariously, the skill is official!)
- Use TFA or Claudish to English[1] so the final output is actually human readable.
Ironically it wasn't so long ago that I was asking Claude to rewrite output from other LLMs to make it more readable...
[0] - https://github.com/openai/codex-plugin-cc
[1] - https://github.com/gvzdv/claudish-to-english
On the SMB side, you can find yourself with enough money for a Claude subscription (which generally provides a really good $/token value) but limited other options (compliance paperwork, cost, finance, legal)
Personally I wouldn't bother with Anthropic at home but at work it's one of the most cost-effective options that keeps data in the U.S. (which our U.S. customers tend to want)
Because it's not an either or thing. Neither is sufficient. I'd argue that, expenses aside, you should have every model you have access to cross reviewing the work of the others.
Outside of super trivial things that I should have just done myself, I have a cross-model review of _everything_ these days. The tokens are too cheap not to.
This is what I think too. But, users’ psychology might be playing a role here. Anthropic has great advantage from being the first major player delivering functional agentic coding solution (rather than an intelligent autocomplete) and they were able to impress people by Opus’ iterative improvements early this year.
It’s technically very easy to switch between models, harnesses but their moat or perhaps a main source of users’ friction could be FOMO. That’s especially powerful in this competitive environment where everyone keeps wondering/worrying about what others might be doing to get or stay ahead.
I've been in the habit of pushing my claude-speak to codex to improve legibility, but only if I think someone is going to read it.
You are an editor. You'll be given a message with strange characteristics:
- Weird subject and verb combinations
- Subjects that should be objects
- Very roundabout reasoning, peppered with pseudo-epiphanies
- A distracting beat to the flow of the message
- Self-praise
Remove these characteristics, and rewrite it in a clear, conversational style. Keep the intent of the message, and take care not to lose any of the details.
A few specific rules:
- The message is usually set in the first person
- Only humans, groups of humans, and agents should do "action verbs"
- Objects should never do anything. Here are some examples to avoid:
- X carries ...
- X names ... - APIs are a minor exception to the action verb rule. They can do stereotypical things like CRUD, queueing, running, and calling.
- Avoid em dashes (—), as adds a distracting beat
The whole message you get is one block of that output. Reply with the edited prose and nothing else.
Internal Anthropic employees have been using Mythos since February to orchestrate their (Opus) sub-agents. This works well, and subsequent RL runs have used internal data to improve this. That RL has optimized Opus for agent-to-agent communication which is why you see the bizarre word choices and huge self-justification sections.
I think this theory makes sense. Clearly there is something odd going on, and also if you have ever used Fable to run Opus sub-agents it is almost miraculously good.
Hopefully they'll fix their RL for Opus 5.1
It seems ridiculous to type, that a model could have this effect on my mental health, but my quality of life and enjoyment of work has improved drastically since I stopped subjecting myself to reading this style of output 8 hours a day.
Opus/Fable output these days though is... not enjoyable. It's just really bad. The code quality is fine, but i want information from claude and it's just awful to read.
My biggest problem honestly is that i can't move my day job.. we're using enterprise claude and i'm not sure how much effort it would be to get access to another provider. I should inquire though, claude is really frustrating these days.
Hasn't worked yet outside of the classic "you're now manually breathing" kind of stuff.
https://github.com/gvzdv/claudish-to-english
> If CLAUDISH_MODEL names a model you have not pulled, every rewrite is skipped — with the one-time notice above.
The rewrite did seem to lose the important fact about the ensure- pattern being idempotent.
I'd love to know what the hell Antrhopic has done to make Claude's writing so, so bad.
It's really unusable for anything other than code. And I have to remove its incomprehensible comments 50% of the time before committing anyway. After interacting with it, "slop vomit" is truly the most fitting description. I have to admit I have lost my temper and spontaneously referred to its output as vomit more than once. Seems like I'm not the only one.
Are people really having trouble parsing this??
https://gist.github.com/bmurphy1976/47ad81a842ab4b1628ef5974...
A small preview:
But then it became apparent that there was a split between what he says and what his company does. For instance, the small incident with the Fable release:
> Dario keeps saying "we have an incredible hacking weapon called Fable/Mythos, AI is dangerous" > Fable is released. > The U.S. government restricte access to Fable. > "Oh no, this is sabotage!"
From my point of view, anything this man does is a PR stunt now that the trust has been broken, and I imagine other people feel the same.
I only remember them being anti- killer AI and mass surveillance.
No, it doesn't save your tokens, tokens were already produced, it will save your brain cycles.
Reason for Claude and OpenAI vomiting lots of tokens is to show pre-IPO growth, because they are charging large enterprises by tokens
I found vomit with a small LLM much better than anything Opus 5 ever wrote. I don't think Opus 5 can write.
Right now all I have is
> - Give terse and concise answers unless the user asks you to elaborate. Big walls of text are not usefull when trying to communicate.
Given that guidance, I tried specifying "Unless I ask you to elaborate, respond with no more than one paragraph, using sentences of 20 words or fewer." It works...ish. I still see it violate this rule regularly, but it's less bad IME.
(I said "good guidance" but it might be more correct to say that it's the best guidance we have, it's what Anthropic says about their own model.)
I would opine:
- Nerfed Fable is worse than Fable
- ... and I would argue Opus 5 is worse than nerfed Fable, to the point I've found it unusable.-
I have tried not to use it analogously ever since someone pointed this out. The word itself causes discomfort for a lot of people, many of whom will be surprised by it out of context, but in a non-trivial fraction it causes proper discomfort.
If you want people to use your tool it is probably better not to invoke nausea with its name or commands.
But having an awareness of that alert feeling is a very useful mental model for how some other words or phrases may cause a heightened response with different parts of an audience; it is a useful caution.
https://github.com/JuliusBrussee/caveman
[Seriously y'all in what universe would some "caveat" or another NOT "be a real one" by whatever severity you'd want to measure that AND/OR need of saying so ... ]
Claude (Original)
Force pushed. 1234567...890abcd main -> main (forced update).
Verified
Local main and origin/main both at 890abcd, in sync.
Every commit reachable from origin/main: no old string found.
Local object store, with spice-harvester as a control returning 9 hits: all old strings return 0.
Working tree clean, tests pass.
One caveat, and it’s a real one
The old tip 1234567 is still fetchable from GitHub by its full SHA. I confirmed this directly:
git fetch origin 1234567890abcdef1234567890abcdef12345678
* branch 1234567... -> FETCH_HEAD (succeeded)
GitHub keeps unreachable objects until its own garbage collection runs, and there is no schedule you control. Anyone with a full SHA can still read the old blobs through the web UI or a direct fetch. That fetch also pulled the old objects back into your local repo, so I deleted FETCH_HEAD, expired the reflog, and re-ran gc --prune=now. The counts above are from after that cleanup.
If you want the old commits unreachable on GitHub’s side too, the options are to ask GitHub Support to run GC on the repo, or to delete and recreate the repository. Deleting and recreating is the only one you can do yourself. Say the word if you want help with either.
Nothing to commit this turn. The rewrite was the work, and the tree is clean.
Claude × Vomit GPT-OSS-20B
I force‑pushed the branch, updating main to commit 890abcd. I verified that my local main and origin/main are both at 890abcd. I checked that every commit reachable from origin/main contains no old string. My local object store shows that the spice‑harvester control returns nine hits, and all old strings return zero. The working tree is clean and the tests pass.
However, the old tip 1234567 is still reachable on GitHub by its full SHA. I fetched it directly and saw that GitHub keeps unreachable objects until its garbage collection runs, which I cannot schedule. Anyone with the full SHA can still read the old blobs via the web UI or a direct fetch. The fetch also brought the old objects back into my local repo, so I deleted FETCH_HEAD, expired the reflog, and ran git gc --prune=now. The counts I reported are after that cleanup.
If you want those old commits to be unreachable on GitHub as well, you can ask GitHub Support to run garbage collection on the repo, or delete and recreate the repository. Deleting and recreating is the only option you can do yourself. Let me know if you need help with either.
There is nothing to commit this turn. The rewrite was the work, and the tree is clean.
https://zachahn.com/posts/1787191554
https://x.com/claudedevs/status/2090245922685063634?s=46&t=Z...
https://x.com/_can1357/status/2090360068529111530
It can be either via tmux, because it can read the pane.
Or it can use a hook to read the conversation file. I call it `backseat-driver`
It's like a joke. I thought using AI was supposed to be easier than learning real skills, but I shudder to imagine having to rig up a 100 layer clusterfuck of nonsense like what some of you are apparently running. When will it finally be enough for the output to be worth anything? Is there any plan for that or is the plan to just keep throwing more of the exact same shit at the same wall until we're all dead?
Blog post: https://zachahn.com/posts/1787191554
The prompt I use to tell the LLM what to fix: https://github.com/zachahn/vomit/blob/main/internal/config/s...
Wasn't received too well on Lobsters haha, wrote a small extra blurb about it there: https://lobste.rs/s/juekuk/how_fix_claude_5_s_token_vomit
> Caveats belong inline, no "one thing to note" or "it's worth mentioning" footer. If it is worth raising or calling out, do so where it is most relevant and not as a foot note.
Opus 5 has a god awful habit of always doing a Columbo on every single response, and it is such a jarring read that it amps my cognitive burden having to back-read everything.
Surely, a coincidence.
(Why does this project need so much Go code to pipe something through a local LLM?)
The joy of watching a dumb AI-ism be sharply corrected by code you wrote months ago is hard to explain.
I highly recommend it.
Claude and Codex usage limits cannot be trusted.
Paying your own API bills in full is superior.
Wish I could use my Claude subscription with pi too, much preferable to the endless command execution allow/deny prompts you have to do with CC, versus proper autonomous allow/deny lists defined ahead of time.
Curious why you recommend the API? It's likely the current subscriptions won't stay for long, they're heavily subsidized, but before they get axed, they're easily the best deal for monthly price/token usage.
Much like we previously had to cope with "hallucinations" as an issue.
If the ultimate goal of AI is to develop general intelligence, the first big objective is: thinking systematically. And the road toward systematic thinking right now is mainly coding, mathematics, and other "verifiable reward" domains.
Claude doesn't have a separate mind for "coding" and "writing". Claude has tokens, and tokens can be assembled in various productive structures, mainly optimized right now for systematic reasoning. Also, a token isn't just a chunk of text. A token is like a little neural-network subroutine that fulfills a function. The conversion of a token into a piece of text only happens on the output side...
When the model finds token sequences that lead toward better verifiable outcomes, it leans hard into those token sequences, and uses them as an essential component of its thought process. "Load bearing" is load-bearing. "Verify, rather than assume" is a mantra that produces good results, so it gets repeated over and over again.
It's super-interesting that this particular moment, where the idea of "Claudish" has become a full-fledged meme, coincides with such astonishing progress in coding and math. My wife says when she uses Claude, that it feels to her exactly like talking to an autistic Engineer.
Not a coincidence, I think :)
My feeling is that the next big era of machine intelligence will require more lateral-thinking and creativity, and hopefully then the models "writing" will be more pleasant to read.
You want the reasoning prose to be somewhat strange. It's not formulated for you to read, but for the model to loop back on itself. But the model still has to arrive at a deliverable answer, in a much different writing style than it reaons in, and the result is the overly flowery language produced by certain models.
Honestly, these models just need a humanizing stage at the end to compensate for the reasoning stage at the beginning, but that costs more tokens and increases the number of hallucinations.
The vomit never makes it my way
> Anything that uses the OpenAI API?
I would have thought they meant the Anthropic API or maybe I'm misunderstanding?
Option 2, you’re filtering what gets to ChatGPT with OpenAI’s API…
I’m slightly confused :-/ does Anthropic off an Open AI compatible API?
That said, I must confess that I have not been complaining per se—I assumed that Claude was getting better and better at mimicking the idiosyncrasies of Silicon Valley bro-speak. Judging from other comments, this may not seem to be the case after all.
(Another strange thing about Opus 5 is that it will constantly re-mention things it thinks are important, probably a strategy to avoid losing them in the context history.)
A single question is enough for it to retract the error and correct itself. Suggesting that not understanding some of these messages is a lack of human comprehension rather than the agent being flat out wrong is...a bold take.
Typically a feature of good human technical communication is the ability to concisely explain key ideas so one can quickly identify any divergences between understanding. Opus 5 is dreadful at this.
The single saving grace is the intuition that if I don't understand it's probably wrong.
Often it’s exactly the opposite. True intelligence and literacy is being able to communicate effectively and to a broad audience in the simplest terms possible.
P1-1 — the refusal is now a full transaction. This was wrong twice, each time more subtly: first it wrote the loser's stale tables and deleted the winner's issues; then it re-read issues freshly but still wrote one file stamped with the loser's generation, so headers split and the next writer overwrote the issue. Both versions shared one anomaly — a single-file write inside a store whose commit is an atomic directory swap. Now a refusal discards the writer's work entirely, re-reads the winning generation, adds one row, and commits it the ordinary way. Verified on the reviewer's exact four-step schedule: headers stay on one generation, and the issue survives the next commit.
P1-2 — every mutator takes the lock only after validating. It was fixed in put_claim alone; issue_key, retract_item!, resurrect_item!, set_item_status! and record_run all still grabbed it first. Five probes confirm each refusal now leaves the lock free.
P1-3 — one parse, shared. Gazetteer.implementation_status is now the single reading, defaulting an absent attribute to missing and rejecting anything outside present | missing. Validation and the store had opposite defaults for the same absence, which is why it wedged bootstrap: validation accepted, the store refused, and the adoption changeset had already committed. version=v999 is also rejected now — only the grammar version was ever checked.
P2 — the oracle's generation read updated, and that is the only line I touched in it: an interface read, not an expectation. It's running now; I'll have a number shortly. The code contradiction fixture is still built on an omitted battery cell, so it may well stop there — that one needs rebuilding around grammar growth, and it changes what the test means, so it stays the reviewer's call.
For the restart, the state is: G2's three cards closed on substance and evidenced by probe; the commit atomic via renameat2(RENAME_EXCHANGE) with a journal fallback; corpus at gazetteer/data/, run 1, 94 items and 1,154 claims. Outstanding: the oracle's fixture, and #206's exhaustive matrices, which you've descoped.
Crunched for 4m 34s
● Background command "Run the oracle with the corrected generation read" completed (exit code 0)
The oracle still aborts, at the same place as before — the code contradiction fixture, not the generation read I fixed. Certificate is still stamped 21:25 from two runs ago, so there is still no measured post-#207/#208/#206 number, and I won't quote the old one.Final state for the restart:
Done this session. #207 (payload-aware total policy, 2000-cell matrix, all guards proven load-bearing), #208 (validation total over the declared contract, battery completeness, reconciliation fixes), #206 (atomic multi-file commit via renameat2(RENAME_EXCHANGE), lock moved beside the corpus, generation in the table headers), plus two rounds of review findings including today's four. make test green. Corpus at gazetteer/data/, run 1, 94 items, 1,154 claims, no open issues.
Genuinely unmeasured, and this is the honest gap to carry forward: every claim I've made about G2 rests on my own gates and targeted probes. The independent oracle has not completed a run since before #207 landed. Its blocker is one fixture that builds a corpus by omitting a battery cell — which #208 deliberately made invalid — and rebuilding it around grammar growth changes what the test asserts, so it wants the reviewer rather than me.
Two design consequences that aren't yet in gazetteer.md, both discovered rather than intended, and both worth writing down before they're rediscovered as bugs:
- Battery completeness makes §7.2's drift unreachable through a valid emission — a decider that answers nothing now produces a refused survey instead of a quiet drift issue. - The same rule makes §5's conflict reachable only through grammar growth, since a human can never own a cell code always answers.
One open judgement I'd put in front of you early: whether to keep the journal fallback at all. It's now the sole consumer of that machinery, runs only on hosts this project doesn't target, and is the less-tested of two protocols precisely when things are abnormal. Deleting it leaves one commit path with one set of invariants.
There's an echo of that tension in OpenAI vs Anthropic. For a while OpenAI seemed reckless and ignorant, preferring to just throw compute at the problem. Meanwhile Anthropic is hiring philosophers. But now that Claude has its head up its ass to the point where nobody wants to talk to it, OpenAI is looking rather pragmatic.
It brings to mind a skepticism about just letting the ivory tower do its thing without some kind of anchor to the everyman (this is why we make researchers also be teachers, though I'm not sure what the AI equivalent of that practice would be).
Watching the models seesaw in the same ways that humans do, but faster, is so surreal. I wonder if their tendencies will remain an echo of ours, or if they'll one day be more of a forward projection, a representation of where were going if we don't change our ways, and if we're lucky, a reason to change them.
Oh, right...
[1] https://vale.sh/
[2] https://github.com/Syntaf/vale-llm-slop
For me I added some instructions to speak clearly and it helped marginally and that's fine. There will be a new model out in a few weeks where I'm sure they've laser focused on this issue since nobody can shut the fuck up about it. The same thing happened with GPT if anyone can recall the ancient period of 4-6 months ago.
Like so many other products, people are moving too fast and shipping things that move the ground under people’s feet needlessly.
All this while we’re beaten to death with the marketing and false promises, and the broader consequences (ex: layoffs, stress, crazy expectations) caused from all this.
Obviously what Anthropic and co have built is amazing and people aren’t losing sight of that. That’s actually the key part of the frustration.
So no, this is not whining. This is the natural response you get when you make bad product decisions.
If you don’t want to get feedback, don’t sell products.
We have to sit and read these LLM outputs 8 hours a day. The UX of reading the outputs matters a lot.
These things do work that previously would have taken expensive engineers months to do, at much lower quality, and what's our response? Ti nit pick on it being more verbose than we'd like?
Just like with humans, when someone is being too verbose, there's a skill to just filter through the noise and focus on the important parts.
This feels no different when I use an AI.
But I guess it's a good sign that we've from complaining about 'AI slop code' to, 'I don't like how it speaks to me'.
```Un-Claude 0.2beta
``````input
## 8. Honest gaps — what I could *not* resolve
I want to be explicit about the limits of this pass rather than imply completeness:
1. *`PROVIDER_T` values are not enumerated here.* `list_models(inference_provider=...)` is typed against `PROVIDER_T`, which lives outside the three modules I scanned (it's in the `inference._providers` subpackage). The accepted provider strings are therefore *unknown from this run* — `"cohere"` is confirmed only because it appears in a docstring example.
2. *Three grep hits point to search-capable functions I did not identify.* My scan found parameter assignments that don't belong to any function I enumerated: - line 3046–3050: `params["filter"]`, `params["sdk"]`, `params["includeNonRunning"] = True` — an additional Spaces-oriented endpoint with an *`sdk` filter and an `includeNonRunning` flag* not exposed by `list_spaces`. - line 2879: `params["config"] = config` - line 12013: `"sort": sort` — almost certainly the consumer of `DailyPapersSort_T`, i.e. a daily-papers lister distinct from `list_papers`. - line 13872: `params["search"] = search`
``````example output
[1] no-hedging system: Reasoning: low\n\n<terse><no-hedging>\n\n# Valid channels: analysis, commentary, final. Channel must be included for every message. prefill: 'Condensed:' tokens=131 finish=stop
Condensed:
- *Provider strings* (`PROVIDER_T`) are not listed; only “cohere” is known from a docstring.
- *Missing search‑capable calls* were found: - `params["filter"]`, `params["sdk"]`, `params["includeNonRunning"] = True` (Spaces endpoint). - `params["config"] = config`. - `params["sort"] = sort` (likely a daily‑papers lister). - `params["search"] = search`.
These were not captured in the `LIST_FUNCS` whitelist, indicating additional search functionality.
```
Edit: yeesh, I’d love to have a WYSIWYG comment block on this site. I’m not going to keep fighting newline and white space to get it to look right, but you get the idea.
And I just stopped reading PRs and comments blindly copied from Claude vomit. It's unreadable by a human.
$20 and try it, then compare.