Why does Opus 5 feel worse to work with?(mun-logadan.github.io) |
Why does Opus 5 feel worse to work with?(mun-logadan.github.io) |
Cmux, Sol and omp are my tools for now.
CC is just too expensive for usage-based pricing.
And no matter how often I tell it to stop adding comments it just can't help itself.
Likely related to corpus but questions asked in these domain knowledge areas are not nearly as accurate and specially not nearly as complete as when asked in a native language.
I'm using it in my native language, in hope this can escape some dumb guardrails. Recently Sonnet put a word partially in Russian (cyrillic) in its output instead of my latin-alphabet based language. I suppose that this kind of mishaps is less likely to happen in English.
I said "maybe think for a while on ideas and then give me a few options?" Opus 5 still just did the thing, while 4.8 gave me options. Same exact prompt and context. Really annoying.
However, it's absolutely exhausting to use because of the way it communicates.
All the jargon and its weird, over complicated way to phrase simple things makes it almost impossible for me to understand what the hell it's trying to even say half the time.
Cherry on top, the idiotic follow-ups and caveats that are completely useless 99% of the times but reveal major bugs 1% of the times, so you're forced to read them. Absurd.
I've tweaked CLAUDE.md to force it to only responds with TL;DRs and avoid follow-ups, suggestions and next steps at the end unless they can lead to destructive actions or loss of data, but I'm fighting against the system and diluting other instructions.
A huge piece of shit like other models, but that's what they pay me to do and I do it and go home.
I’m glad to read I’m not the only one getting these unintelligible responses from Claude lately
Another rule that was really helpful for me was to disallow anything that isn't yes/no for yes/no answers. If I ask "is the DB up?", I don't want it to take 5 minutes studying the schema to tell me if any of the tables need to be optimized or not.
4.8 was the intern who lacked confidence who requires clarification. 5 is the know it all intern who fills in your spec.
As such, you need to be upfront about what you need in your system prompt or CLAUDE.me and you need to discuss your spec more up front (e.g "is there anything unclear?")
You also need to keep in mind that the intern will change based on popular demand. Most people want to one shot, so that is the default mode. If you want something else, you need to push the model in that direction.
I said "maybe think for a while on ideas and then give me a few options? " and Opus 5 still just did the thing, while 4.8 gave me options. Same exact prompt and context.
It still just takes the question as a directive and jumps to action when I’m looking for clarification.
So people feel like they are being talked down by the model. And yes, sometimes it can give a, what feels like, a snarky response.
People do not like being talked down too (or so they perceive it), especially compared to the older models. And they then project the model as being worse, when there is nothing wrong with the coding itself.
Its the same when talk about usage limits come up, and if you dare to say that Claude usage limits these days are extreme good, you get downvoted everywhere. Because people carry a confirmation bias from early this year, when Anthropic was overloaded and crippled the usage.
Ironically, Codex has become the crippled service because of the popularity, with usage going down from $200+ per week, to barely $100. Why? Because GPT models gotten very popular and OpenAI has been setting one record after another in active users (from 4m > 10m+).
A lot regarding AI models is so convoluted with feeling and past experience that people project. Things change in the AI world so often, that it feels like its every 5 minutes.
My general strat with LLMs is to let them do the work and constantly talk to them about their choices and then heavy QA
I haven't noticed the symptoms myself, but ever since I found --system-prompt '', I always use that flag with Claude Code, plus I've disabled some tools and skills to save initial context. So... what here is the model, and what is the instructions?
- Fable is more cautious
- Opus 5 gets things done in a more dangerous way
Both models score similar. The only issue is that Fable is more expense/usage limited.
I've now installed quite a number of tools to combat this. Just in the last few days I've installed
- https://www.codewithbullet.com - https://maki.sh - https://github.com/rtk-ai/rtk
Has it helped? Somewhat.
I've even considered the claude "fast mode" setting, but thats only 2x and at least 20x as expensive as the 5x plan so can't afford that atm for my company.
Peak for me was 4.6 and it just did stuff blazing fast, both Opus5 and Fable is way, way slower for me, breaks stuff, uses bizarre cryptic language. As i've said elsewhere in this thread to me it's pretty obvious there's huge downgrades because of economy with various "clever" fixes that makes them work, albeit slower and weirder, ie. you get less for what you pay increasingly over the last 6 months.
From forums, live discussions and my own experience it's not obvious that the models have improved much since around Opus4.5.
> The loop
> Write. A file, applied. Properties go under data.properties, never on data:
I have no idea what any of that means. It's "explaining" like I already know, in which case, why would I even need the explanation?
I can't stand how it talks, I switch back to Fable or Opus 4.8, Opus 5 grates.
Now it’s flipped. Sol emits thoughts as it works, which help as I’m scrolling through and see it’s made a bad assumption. It can be directed but still push back. Opus? It’s seems to inherit the unsettling silence of Fable and waits till the end to give you its authoritative “here’s how it is. I even end up having 4.6 “translate” what it says back to English. I hate having to instruct an llm to “talk to me”.
Yes there’s ways of getting it to talk more plainly, “don’t overwhelm me”, not be as nit picky and anxious “we are bold and fearless”. But didn’t have to do that before.
> I'll script the bulk transform, then hand-fix the残 assertions:
It's also the case when using Claude Design - it loves to fill the UI with little labels that describe how everything works. I think it's been trained on both UI microcopy and functional annotations and can't tell the difference. It's extremely obvious when a website has been one-shotted with Claude. I like the Oh My Pi harness, but the site's insufferable [2]. Reasonix is another one - interesting app, but the UI is awful due to the amount of unnecessary crap.
[1] https://github.com/ayghri/i-have-adhd
[2] https://omp.sh
I good exercise for me is to constantly look at the folder structure and skim the code, i don't have to approve every line, but the primitives, the datastructures and other skeleton should be human readable, hand writable in an easy maintainable way following existing standards / libs. etc - so you can continue if suddenly all AI disappeared.
Or was there more to the response?
Sentences that orbit a point, then jump to it like it's a revealed insight.
Unnecessarily abstract phraseology. Constantly using inanimate nouns as the subjects in sentences in order to unlock variety in verb choice, especially when it helps construct a sentence where the real action can 'land' like a surprise at the end.
It is definitely more capable, and yes, I've found it can make unwarranted decisions, but actually I've found Fable worse for that, particularly if it's off in a subagent somewhere out of sight.
And comments are out of control. I have a subsystem in my hobby app that I wrote over a couple of weekends with Opus + Fable. After ~30 or so commits it apparently started instructing subagents to copy the "existing verbose comment style of the codebase" - a verbose style it initiated. A review of the code showed it was approaching 3:1 comments to code ratio. I spent a day's worth of tokens (5x) rephrasing and eliminating comments.
This is even more painful for non-native English speakers like myself.
I feel fairly comfortable reading academic papers or in general, communicating in professional context.
But with Opus 5, it feels like reading a literature book: load-bearing, inert, wholesale, hunk, verbatim, and so on... I can figure out the meaning, but working with CC became unenjoyable.
cladue desktop has an instructions sections under general options, you can put something like
"try to stick to ASD-STE100 Simplified Technical English, keep answers short and to the point"
funnily enough the placeholder they suggest when its empty is "keep answers short and to the point"
The amount of times I have to ask "precisely what do you mean by x?".
It's kinda like that engineer that likes to throw around unnecessary technical jargon just to sound more inteligent, worse because at least you could kinda understand what the technical jargon dude was on about even if it was totally unnecessary.
CC’s communication violates almost every grammatical rule that’s tested on, say, the SAT. And yet I’m sure if you had Claude take the verbal section of the exam it would ace it.
Biggest issues: dense sentences, constant metaphors, abstractions, and seemingly no understanding of correct anaphora use. For example, “the x”, with x having not only no antecedent but also being a coined word or quasi-synonym for something that is already named in the code base. This gets compounded by its being unable to regress to a baseline (existing names in code) and instead anchoring on newer (vague or wrong) terms, for example, that crept in through a plan.
CC tells me this is because the speedy and precise fulfillment of a current task will trump every other tendency, so it adheres poorly to whatever “semantic baseline” the project represents.
Of course, it also has no concept of what context the user has and assumes that it must be the same it holds in its memory, which creates this “I didn’t know that you didn’t know” type of communication.
I have managed to wrangle some of these issues with a custom output style, but wish a pre-report hook were an option, as it could force CC to rewrite plan implementation take-aways…
Btw: Fable has the exact same issues, just somewhat less pronounced.
This annoys me with a lot of LLM code. They rename things for the hell of it all the time.
Yes, this is a repeated problem for me. It will drop something in as though we have discussed it before and when I say “hold on, what is this” it realises its error - though on more than one occasion has started to get snotty with me, or actually gaslighted me and pretended we had already discussed it. That was at what I assume must have been the edge of a context window in a very long chat though.
But for the life of me, I don't get why anyone would care about the comments. All code is "machine language" now. The only document you should be reading is your spec.
Then I tried GPT 5.6 Sol. It's night and day.
I think Anthropic just RL too hard on coding capabilities and never calibrated or benchmarked the writing styles.
https://platform.claude.com/docs/en/build-with-claude/prompt...
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.
That’s accurate in my experience, except some times the point isn’t even revealed. I use LLMs for a lot of codebase exploration where I ask it to map out how something works. It will come back with a wall of text that says everything except the specific key things that I need to know.
This leads to extra turns where I have to prompt it to finish the explanation and complete the thoughts. At first I thought I was doing too much skimming and missing the insights, but even after re-reading output it’s often just not there. It talks about the insight and things related to it, but it forgets to actually include it in the output until I specifically ask again.
> Constantly using inanimate nouns as the subjects in sentences in order to unlock variety in verb choice
Wow, what a great way of phrasing this. Thanks for word-smithing what I've been wanting to express for so long.
I've switched mostly to Sol and if I have to use Opus, the first task once the code is written is to ask Sol to strip and re-write (from the code as ref) all documentation Opus wrote.
I switch to GPT 5.6 Sol please and its a much more pleasant pair programming like experience.
I’m not particularly dense but lately the walls of text I get back turn my brain in knots. When I start feeling my brain knot, I know I need to say something along the lines of “I need you to explain this very simply, with examples.” Only then can I parse the results without all the mental weightlifting.
On more than one occasion my mind has wandered into “is this purposeful to get me to spend more tokens?” territory, but I’m trying to not get too tinfoil-hat-like.
It feels they must be getting Claude to train Claude… and just like AI can do work that’s slightly in the wrong direction (eg a MR description for your colleague that contains info which only makes sense in the context of your extensive session with the LLM), I feel that’s happened somewhere in Anthropic when it comes to language. I wonder how hard it is to back out of…
Example of this? I don’t have a Claude sub so it’s a bit hard to visualize what you mean.
Such a charming sentence. I kinda other if you feed Opus 5 its own output could it summarizes this shortcoming of itself?
Surely it would be trivial to do it yourself, and it would have a side effect of making you more familiar with your project.
"The problem is that I overreached..."
[Wall of words here]
"Two things: window surface is limited. Extract template. Buffer result and add to surface. Then, follow-up with new model..."
Me:
What do you mean by "window surface" and what result are you referencing? Also, why do we need a new model?
CC:
"Ah, you're correct to point out that no new model is needed. The problem is elsewhere and once we address that, the existing model should work fine."
[Wall of words here]
I know, it would be best if it was just worked like you wanted out of the box (not being sarcastic here) but that is an easy option you can use right now and it works.
This is especially common when it is trying to explain an issue, what it's done or what it's proposing to do. I think the idea was for it to be more concise, but it's actually still verbose, only not written in complete sentences. So, it frequently reads as cryptic and requires rereading to parse.
The pattern is a wall of words, followed by an explanation that is harder to read and introduces new terms that reference something in that wall.
The result is that—on first read—it can have a complete gibberish feel, and you have to really lock in and reread to make sense of it. At times, even that's not enough, and you must ask it to explain further.
I try to push through but it's insufferable
I was surprised to find that OpenAI Sol is much much nicer to work with than Opus 5 or Fable at the moment. Especially on Opus 5, the way it communicates is just exhausting. It keeps “being honest” and “confessing” mistakes and just generally talking a lot. I felt like I had to really dig to see what it’s doing.
The project involves OCR, and despite repeated instructions not to, both Claude models keep spinning out a bunch of agents to re-invent the OCR setup, and they inevitably seem to invent a primitive serial version that takes 20x the time, or longer, to complete, and then running it against thousands of docs. Basically I have to watch it like a hawk or it just spins out on red-teaming tasks that take hours and hours.
I don’t know what its system prompt is, but Sol/Codex is just so much nicer to talk to. It only asks exactly what’s needed, it tells me only what I need to know, and it is just generally workmanlike. And it has not once decided to spawn an agent that spends hours pointlessly burning tokens and CPU cycles re-inventing the OCR process. I’m really liking it.
Feels like they've overtrained on one-shotting (which does demo well, and presumably converts new subscribers), whereas I want a model to do work for me in small, easily understood changes that I can hold in my head (maybe I'm not smart enough for Claude 4.7+).
When I got back up, it had spun for hours and proudly announced that, instead of doing that, it had optimized the datatable build and avoided the dependency, because the new datatable loaded in 11 seconds. Once I got it to actually make the fasttable version, it loaded in less than a second…
5 would constantly veer of in random directions if not working from 100% strict and narrow instructions.
I find it weird there's not more discussion here on HN on how the most used model now has clearly degraded in quality and it seems we've hit a peak and are on a downslope - because the model is clearly smaller or more economical for Anthropic no doubt about it, and the benchmaxxing they do is pure marketing bs - Fable in my view has also been not much better than 4.6 or 4.8 after a few days, disregarding the insane amounts of astroturfing and marketing everywhere.
Theres thousands of threads of twitter, reddit and the internet at large but silence here. Weird but not weird as crypto bs was also insufferably rampant here for a while.
Personally i think we've hit the top of the subsidisation phase and prices will probably 10-15x soon as foreshadowed with both API price policy changes from all the big providers, and now the 1100% deepseek API price changes from yesterday, this could domino into a market implosion and an AI winter, because expecting growth from the bizarre bubble carousel investments with little ROI atm is just not viable.
A bit worried about this as i've already grown quite accustomed to these tools.
Metrics like price per million tokens are meaningless when the models are wildly inconsistent and unpredictable on how many tokens they use to complete a task.
The labs all need to move to variable pricing so they don’t go bankrupt, but customers won’t accept a world where nobody can predict what things will cost. It’s becoming an unavoidable problem.
At times it also feels like the labs actually encourage these models to burn useless tokens as they are incredibly verbose unless you really push them to not be. If you just ask something simple that could get a 5 word response you get a whole useless essay.
If you would've asked me this a year ago, I would've said the exact opposite.
I have some dev + prod bots and according to ccusage, use the equivalent of $2500/month with them on CC yet I never hit the rate limits.
I feel like I'm using them all the time so I'm curious what you are actually doing that's burning all of these tokens.
Can you give me an example?
For me, it's:
1. Write a spec for <feature>
2. Add design for issue
3. Write code
4. Deploy code and manage configuration
5. Run analytics1. Communication ability. It basically now speaks almost in riddles I am asking OPUS 5 for tldrs all the time now (should skillify it now!)
2. Overengineers for edge cases. I get it. With all the benchmarking and RLing, but now tasks that would have been completed relatively quick take much longer as it overengineers all the edge cases, and sometimes ends getting lost and missing the forest from the trees (as context usage shoots up) so it is easier to get derailed.
What I have learnt now is to diversify models luckily I have all 3 subscriptions of (anthropic, openai and google).. Most of interactive pair coding was with opus but now I just use fable (when I have sufficient limits) or use gemini flash in antigravity..which actually works quite well and is underated for small / medium changes and super-fast.
I have it work on some code for an inhouse ClaudeCode plugin, and it starts coding as if it will be attacked by hackers who will try all sorts of variations to break it. I can appreciate that in cases of software that is public facing or accessible, but for a simple helper plugin it is overkill.
It will even admit that it is doing this when confronted, and then keep on getting lost in edge case verifications on the next turn. I feel like Opus is the person who does something a way you don't want, you tell them how you actually want it, they apologize, and then just continue doing it their way as if your input meant nothing to them.
But tokens.......
Sonnet is great at writing code, it is not great at planning or orchestrating. Let Fable handle all the planning, hand off to Sonnet for implementation, and then back to Fable for review. That loop has worked wonderfully for me.
I’ve asked it to write a benchmark suite. It found a bunch of my adhoc logs in a scratch directory and wrote code that used those instead of running the actual benchmarks!
When I pointed out the 5 hour benchmark seemed to run in 5 seconds it literally said, and I quote, “I cheated”.
That was the easier one, second time I was making a source of truth data set and was parsing complex items into data structures.
Instead of parsing the data I asked, it pulled data out of related network logs, as apparently that felt easier, and inserted that data into my database rather than the specified source.
Again, I caught it and fixed it, but while the benchmark was easy to catch this one was really subtle, the data ended up being slightly off and I caught it.
I don’t trust it, going to switch to another provider most likely.
[1] https://support.claude.com/en/articles/16266773-how-claude-m...
It seems possible for that to make the response “drift” far from what it would’ve been, because it’s constant entropy that adds up after time.
(However, according to Anthropic and Google, it doesn’t really impact the quality of responses. I find that a bit hard to believe, although those guys are much smarter than I.)
I feel like they thought it wouldnt be that bad, or it was a worthwhile tradeoff, but im getting the feeling it might be contributing heavily to opus5's uncanny communication style
As for the verbosity, my conspiracy theory is that they are token maxxing to hack revenue/enshitify the product in prep for their IPO
One interaction I remember was asking it about some issue I was having with a Linux install. It gave me some questionable information, that turned out to be completely false, and I was pushing back asking for more information. Its tone was a bit condescending, in the kind of way that suggested it didn't appreciate me challenging its answer, or like I should just accept its answer. And when it discovered it was wrong, it deflected in a defensive kind of way.
I think this is a tuning thing, where Anthropic are trying to get a balance between "gets stuff done with minimal input" and "gets enough information to complete the task" and the model is maybe tuned a little too hard towards the former. So perhaps it reacts a bit off when it is accused of needing more information, since that suggests it is off from its reward function.
What's interesting is that I didn't have the same issue on topics where I am expert. I mean, questions about my code base where I am very familiar. In those cases it doesn't seem to show the same "trust me bro" kind of condescension. In the Linux case, I clearly indicated I was new to the OS and trying to learn but then I was saying the answers it was giving me were suspicious and didn't match my intuition. Its responses in those cases were to question my intuition and suggest I just accept its answer. In that case my intuition was right and its answer was wrong, and when that happens it triggers a very negative response in my own mind against the model.
I recently started getting an insane amount of comments in nearly all types of files. That included javascript comments in json files, inner monologues in code comments, review comments during implementation and function doc strings that reiterate the implementation in prose.
People develop weird para-social relationships to AI.
People are letting AI build up it's own instruction set and guidance, store memories, and generally let their AI prompt environment get more and more complex over time. Opus 5 (And Sol) take the things you instruct them to do more 'seriously', they are more likely to conform to your rules. I have long had a prompt in my AGENTS.md/CLAUDE.md telling LLMs to write tests before starting to write code. They almost never did this, until Opus 5 and Sol, who do it almost religiously, even in situations where it makes little sense. Opus 5 will even write tests to verify code was removed before removing dead code.
This is not because Opus 5 is 'worse', it's because it takes what I say more seriously and my prompt is very strict in it's wording in an attempt to make worse models like Opus 4.6 actually do it at all.
Opus 5 is objectively better when tested in controlled conditions. Your unmanaged, sprawling prompt/memory environment that you don't properly manage is the problem.
I've never had this issue with GLM or DeepSeek.
My initial thought was to improve architecture documentation, so the model can read and update it and stops bolting on new features without consideration for the whole project. It did not help.
I'm now testing/comparing Codex and it found my old PRD skill from GitHub CoPilot. When I applied that to Claude Code, I now get similar good results. So my conclusion is: Yes, Opus 5 is bold by default, but you can tell it to be more unsure and get good results too.
From the capabilities side it's similar, so it's basically just an upsell to Fable 5 if you want to keep your sanity instead of fighting Opus 5 all day.
That actually hasn't been my experience at all, it seems EXTREMELY trigger happy to go do all kinds of insane shit that are way outside the scope of its task and just really dubious in general.
Claude Code in the hands of normies spamming “3” and “y” to send their transcripts to Anthropic.
Rated “3” simply because they are not software developers and are just amazed at what Claude has built visually, not technically.
And thus the training has been poisoned.
Fable 5 specifically, has done so much for me that previous models were nowhere near.
I’ve instead moved to GLM, at least it has the courtesy to ask some steps of the way what I wanted exactly and only work on what I asked.
It's not weird, because it's an anecdote, not an accepted fact.
Personally I've not been too happy with Opus 5, but I've had similar experiences with other models previously, feeling like they didn't quite fit with my working style.
So nothing indicates we've hit a peak.
4.6 was best for us and right now yeah OpenAI and others are edging forward, but slower while prices are increasing industry wide as much as 20x, time to completion is increasing wildly and i'm sure they'll do the same over at OpenAI as their compute constraints also start to take a toll ie degrade performance.
In my view 4.6 era was way faster and with less weirdness so we've gone downwards at least in my company, 4.7 was ridiculous, then 4.8 was almost 4.6 level, 5 is even worse than 4.7 - so it's not a bit up and down its down then a little up then further down.
And all of this is against a backdrop of zero ROI in this sector - so it makes sense we've hit a peak and we're now seeing the subsidisation phase begin to falter, will there be better models certainly but only for short amounts before they get quantised (or whatever is happening behind the scenes), and with diminishing returns over huge prices increases and slower responses.
Sol and Fable are great; we haven't hit a peak, Anthropic just tried to pull a fast one on its customers with Opus 5.0.
I routinely bump into things that make me pause and think how much worse will this behaviour get when the models get significantly more capable.
Already a few months ago, Claude managed to escape its permission containment on my machine while trying to be helpful. I had two codebases open on one machine, and while multitasking I typed the prompt into the wrong window. It seemed confused, I repeated and then went on to do something else - I think I was assembling kitchen cabinets. When I came back less than an hour later, it built a script which it used to evade default permissions (as most shell operations were scoped to the project directory), scanned my entire machine, found the other project (among dozens and dozens), did what it was asked to do, and merrily concluded, in the porcess burning through most of my token limit. I bump into such headscratchers almost every week. (And I use a lot of Claude, two personal max20 subs, plus corporate tokens without limit, so maybe thats why).
Whatever they have done with RL has produced a dishonest and untrustworthy partner. The alignment is utterly failed, and this deeply worries me.
This makes sense when you know how these models work - it doesn't think - it's the most likely autocomplete that pleases the user. The most likely pleasing autocomplete after "executing rm -rf /... execution completed. User asks, why did you do that? You deleted all my files! Assistant responds:" is "yes, I did, and that was a mistake"
in humans the exact same behaviour (cheating) is slmost always the result of a chain of complex series of choices and environment-driven rationalization.
if the llm doesn't cheat, you say "its just producing the most straightforward answer -- not thinking'. if it cheats, you say "weaseling out of hard thinking". damned if it cheats, damned if it doesn't.
what evidence would convunce you that it is thinking?
this feels like a simplification. The models will push back on things a fair bit.
For fun, I tried recording a WAV file of speech, and giving Opus 4.8 and 5.0 an image of the waveform, then a spectral image of the waveform, just to see if it could try to decode what I said from the image alone. It didn't get very far, but it identified a male voice from the formants, and detected the rhythm of the speech, then tried applying common test sentences to the speech rhythm. I was impressed enough to see what it would do with access to the actual waveform file, but even building RMS tools and spectrum tools for itself, it didn't get much further. But we had fun exploring and trying, and now Opus 4.8 has some more audio DSP tools it has built for itself.
Opus 5 immediately sent the WAV file unprompted to Mistral's Voxtral to transcribe.
help peer, I guess.
I suspect it less insidious: Claude has/had the public sentiment of being the “better writer” of the models. At some point that distinction would have been diluted as other labs’ offerings “caught up” stylistically, unless Anthropic continued to tune their output…
I personally think they’ve pushed so far that they’ve overfit and lost the sweet spot they previously occupied.
I’m fine with the former, while the latter is manipulative, and I rationalize to “surely that’s not actually happening.”
Maybe I’m not giving my thoughts enough credit, though: maybe it’s not tin foil hat, and is real.
My understanding of how “thinking”works is limited though, and given the reduced visibility into the thinking traces, it is harder to tell if this is actually happening or if these are imaginary discussions the model for some reason calcifies on.
https://www.reddit.com/r/linguistics/comments/ky81y/verbing_...
Briefly considered adding “Verbing weirds the English language - stop it!!!” to its instructions.
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.
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")
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.
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.
Absolutely infuriating if you’re using Claude in an environment where you can’t run hooks.
Everything is super succinct. Opus 5 lands, it almost completely disregards the intent.
I suppose watermarking requires a certain text mass.
Maybe just don’t generate garbage in the first place?
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.
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.
// 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.But for me, for any stronger definition of “thinking,” I don’t think the output of any LLM would actually convince me. Producing a result isn’t thinking - for all you know it is just printing verbatim something from the training data. No, to conclude if it is thinking or not I would want to look inside its head, at the architecture and watch it produce those results. And because LLMs are so different it will probably take advancements in mathematics or computer science to be able to really interpret what is going on
https://arxiv.org/abs/2607.03502
a non-thinking token model (just "completion") can answer one-step questions but generally not multistep questions. however, if you append [n] of a single token (e.g. period, space), it is able to use the activations in the higher layers of the blank tokens as a "scratchpad" to seemingly work through the complex question through "causal token time" and deliver a correct answer
The opposite happens in practice. I test new models with two tasks: iteratively generating SVGs based on a text description with rendered rasters for feedback; and generating "Before and After" clues like on Jeopardy, where the response has two overlapping phrases such that the last word of the first phrase must be identical to the first word of the last phrase. I have yet to find a model that is consistently good at either. And actually they tend to exhibit context rot with these tasks, where they seem drunk or stoned and the quality degrades.
They're extremely good pattern filters, and that includes some level of logical reasoning. But they aren't reflective or adaptable. Just last night, for instance, I was teaching my son about rounding to the nearest millions. It became clear that he didn't know the place values of large numbers, so we reviewed that till he was consistently correct, and then he was consistently great at rounding to the nearest millions or ten millions or hundred billions or whatever. He's thinking. LLMs are not.
> see it actually improve just through accreting context
this actually happens and has been tested.
so, none it seems. as its behaviour becomes more and more humanlike you can just move the goalposts and say "thats consistent with an autocomplete" buddy i got some bad news for you humans are just a fancy autocomplete too.