upvote
Yeah I don't know that any of the benchmarks index on "understandability". I'm amazed at how Claude can produce a page of text describing what it did and it can take me a full five minutes to decipher it, often just to find it's something I could have expressed in a simple sentence.
reply
I just spent a day writing very thorough system prompts for communicating in different contexts.

Everything is super succinct. Opus 5 lands, it almost completely disregards the intent.

I suppose watermarking requires a certain text mass.

reply
The watermarking is going to get rolled back or Anthropic is going to get rolled. People hate it and it makes the writing worse.
reply
Nah no one will notice. Gemini already does this and openai will soon do this as well.
reply
Oh man. Hadn't even considered the watermarking angle.
reply
The simpler angle is that more text lets them bill you more. I don't think that was necessarily their intent, but it does mean they have a negative incentive to fix it.
reply
I would have assumed reasoning tokens dramatically outweigh user-visible output. It certainly seemed that way when they were visible!
reply
They want you to use Sonnet to explain what Opus is trying to say. They're not optimizing for token efficiency.
reply
Have you tried asking it for a lay explanation of what it did? That’s usually all it takes for me. Sends garbage -> request -> sends something readable
reply
Yeah my trick is "Restate concisely"

Just those two words. I use it A LOT recently.

reply
Brilliant way to get people to waste tokens.

Maybe just don’t generate garbage in the first place?

reply
No, I’m not interested in fighting my model all day long. Plus is fucking annoying to talk to and collaborate with, so I’m not using it when Sol 5.6 is about 1000 times better in that regard. I have colleagues who spent a lot of time trying to improve their harness with user rules and whatnot and Opus really does not want to follow them.
reply
Yeah but Sol shows it is possible to just send the readable explanation in the first instance. And I don't want to spend tokens and time on asking for a better version of each response.
reply
When I ask it to make a CL description, it's worthless unless I tell it to dumb it down as much as possible, assume the reader has zero knowledge of the codebase. And then it makes a perfectly cromulent description that just needs a touch of trimming-down. If I don't do this, the description is just a wall of gibberish and paraphrasing of every little thing it encountered.
reply
Adjust the output in settings. Or customize it to what you want.
reply
It's a surprising change from my perspective, because in the past it felt like they understood that Claude should be pleasant to interact with.
reply
It's bad enough that I've seen dedicated skills to do comment hygiene scrubbing and consolidation.
reply
I've tried telling it to "fix" comments with varying degrees of specificity and in my experience it just... fundamentally doesn't get it. Presumably using a different model for it would help.

My theory is that Claude's learned approach to comments is to treat them as a sort of persistent in-band thinking trace, or a "memory" tied to an in-code location, which is a little at odds with the way humans use comments (human comments are intended to be read and understood by other humans, whereas Claude comments are their own dialect).

I bet this is a result of iteratively training Claude on output from other successful Claude sessions. Presumably it's good for making benchmark scores go up.

reply
It also seeps into all documents and artefacts it creates.

Claude will include actual comments ("// ...") into Excel sheets, and include the thinking that led to the output, instead of just focusing on the final result.

So if Claude questioned whether a vendor should be replaced, and you said "oh no, they are critical and we're already negotiating a great price") you'll now need to be careful to not send your vendor a document that contain text like ("Cost: X. // Management confirmed to not fire this vendor as they are critical to infrastructure and a better price will be negotiated later")

reply
I also suspect comments are very much tied to how Claude reasons because not only are they bad comments, I can't get rid of them. Commenting is the one area in which I've been unable to get Claude to respect any rules. It can follow code conventions I prefer, it can do other things, but it can't keep the comment volume down.

My CLAUDE.md has rules about not including any redundant comments in the code that are obvious from the code itself. I reiterate that occasionally while working. It's absolutely disregarded and any Claude-written code is full of comments. Some of them are simply redundant, like "Collect Foos and pass them to the requested sink" on a function that's void CollectFoos(IFooSink sink). But worse, many comments include in the moment reasoning like "added parameter bar because we can no longer use the frob to automatically derive bar". That's stuff for a commit message, or just a mental note, and absolutely not for comments.

I haven't found any way to stop Claude from doing these, so I have to tell Claude afterwards to clean the comments up. Which it does, making a note in memory to comment less, and it still does the exact same thing next time.

reply
> Commenting is the one area in which I've been unable to get Claude to respect any rules.

Exactly my experience! Since the release of Opus 5, no amount of instructions helps. In CLAUDE.md, in a separate file, in memory, as brief bullets, as long detailed guides, with reasoning from medium to max — nothing.

Even worse, recently, after getting another opus in a tiny bugfix session, I prompted directly, "drop the comments from the current code changes" — Claude instead just slightly trimmed them. I couldn't believe my eyes.

I have a relatively low bar for prose, could live with some junk. But Claude's comments are _poisonous_. They always require maintenance, instantly become out of sync with the actual code, and are a token black hole — for all agents, but especially for Claude itself.

Gave up and canceled Anthropic subscription yesterday. To my taste, it has become unusable for coding.

reply
> Even worse, recently, after getting another opus in a tiny bugfix session, I prompted directly, "drop the comments from the current code changes" — Claude instead just slightly trimmed them. I couldn't believe my eyes.

For me, Claude knows how I want the comments due to all the memories and CLAUDE.md, so funnily it's now enough with even a brief groan from me like "Come on, the comments" and then Claude goes through its recent additions and fixes comments quite well per my long-term instructions. But only ever during an extra pass that I initiate, never during the initial writing of the code.

reply
> But worse, many comments include in the moment reasoning like "added parameter bar because we can no longer use the frob to automatically derive bar". That's stuff for a commit message, or just a mental note, and absolutely not for comments.

I've noticed this a lot, and before your remark I couldn't put my finger on what was wrong. Now I know: Claude is writing its thought processes and maybe parts of the conversation it had with you as comments in the code!

I always end up manually trimming those comments, which is cumbersome.

reply
It also loves to reference internal notes and scratch docs that never go into source control, so a reader will have no idea what it’s talking about. For example:

    // load_tree() loads the binary tree with data, but only the recently updated data, not all data (INTERNAL_NOTES.md section 4)
Ok but nobody reading the source code knows what this doc is. You don’t have to cite it.
reply
I'm not sure why you all have issues with CC commenting too much. My rules in the CLAUDE.md specify that comments are evil, never comment unless there is an actual need to explain a WHY and since I do read what CC writes, if I spot it still adding such WHY comments and they make no sense, I'll have it adjust, in many cases by removing them.

Given the code base has a minimal amount of such comments, it's also less likely to go "copy what the rest of the codebase does".

Of course I've now jinxed it and some update will cause it to ignore the instructions coz I didn't write them in the new model's style or something.

reply
As the context fills up the models will happily firget and ignore any number of any sections of your CLAUDE.md/AGENTS.md.

Edit:

I've had explicit instructions for communication style in CLAUDE.md, in Claude's project "memory", in global "memory", in "skills": it couldn't care less where it was. It would just ignore it.

When I would point this out it would just say "Yes, I violated communication guidelines, I won't do that again". Only to do that again in the next session.

This applies to everything: code guidelines, communication guidelines, preferences, decisions etc.

reply
I built my own skill to somewhat follow the Simplified Technical English guidelines (loosely adapted to my work context)
reply
The problem I’ve been finding is that you can do this but within a few messages, the instructions in the skill will be ignored.

Absolutely infuriating if you’re using Claude in an environment where you can’t run hooks.

reply
Exactly. Sad to see them falling behind on this because it's exactly why I chose to use Claude initially.
reply
They did release an Opus 5 prompting guide saying you need to explicitly prompt it to be concise or it will be very verbose. YMMV but it got better for me to some extent.

https://platform.claude.com/docs/en/build-with-claude/prompt...

reply
[flagged]
reply
I think anthropic is very far up their own ass and it shows up in the model output
reply
I didn't like to use GPT for agentic coding, review yes, but with Opus 5, well I really can't stand anything of that model. I feel that sol xhigh is even better than fable.
reply
Yeah OAI really nailed the communication style with GPT. It also seems just way more token efficient and faster compared to cc. Myself and all my friends have cancelled our $200 Anthropic subs. I'm using a $20 personal plan and even that is enough for my usage so far.

Also using Codex or Pi makes you realise how slow and clunky the cc harness is. Even the desktop app is more responsive and has better UX.

Funny how quickly the tides change.

reply
> Funny how quickly the tides change.

This is something that annoys me working in companies over the years. It’s that you can't just suggest "calm down, chasing the latest thing will not make you faster and is a huge distraction to actual work". Whether it's dot-com tech 20 years ago, latest JS framework 10 years ago, now it's the AI thing of the day. Being calm is interpreted as anti-whatever.

reply
This is 100% my experience.
reply
I think it's a deliberate steganography choice. You can spot Claude vocabulary a mile away, which maybe means you can spot distillations a mile away.

But I agree, the GPT models are so much simpler to work with, they have so much less personality and fewer quirks. They also are a little less aggressive about triple checking every little assumption immediately in a stack of 30 tool calls (but I haven't used 5.6 Sol yet so maybe that's not true anymore).

reply
> which maybe means you can spot distillations a mile away.

I doubt this is the reason. The fact that Chinese labs are all distilling Claude/GPT/etc isn't exactly a well kept secret, they don't even bother removing the name "Claude" from the training data, so the models randomly refer to themselves as "Claude" all the time.

I think it's far more likely to be a side effect of how much synthetic data is being fed back into the models to make them better at coding. The degradation of Claude's prose has been gradual but steady ever since they shifted towards focusing only on code with Opus 4.5.

reply