upvote
Oh god this has been driving me nuts since Opus 5 landed. Every docblock is filled with long-winded jargon explaining why this design is superior to some other design, which never existed as far as any dev who might read that comment is concerned.
reply
This has been a thing for long while, on codex too.

You ask it to do something, then tell it to do something in a different way, then it assumes it needs to do the refactor in a backward compatible way, or creates migrations for it etc.

reply
Omg the "backwards compatible fix" in a one-off script, I feel my ptsd coming on ...
reply
This is why I started adding a PROJECT.md file to all my projects and a hook for claude to read it.

It contains (Among other things) stuff like "this is a single user personal project, I'm the only user, this will never be open to the public internet" etc.

It kinda-sorta tones down the proclivity to worry about backwards compatibility and slight edge cases where if someone has edited some template and the new code doesn't support it.

reply
Oh good I thought I was doing something wrong! Using ChatGPT web for planning, ask for a prompt then notice something weird in the prompt and whether I:

1) use the edit in-place functionality; or

2) ask it to rewrite to remove something

It'll write the prompt as if the agent (codex) knew about the conversation and add "don't do X" etc. At first that bothered but I realized it doesn't really change the output so I stopped caring.

Still, no experience is unique I guess.

reply
I remember when I was updating some formats for my apps data files and it ended up writing v2 and laying it on top of the old one. Ended up just telling it to delete the entire feature and start again. I do think claude.md instructions help though.
reply
Oh no, you said "landed"! It's dug into our brains!
reply
I hate that I have to change the way I write to avoid AI-isms. I loved using "load bearing" to describe weird code that you think you can delete but is actually holding everything together.

Now people think I'm just parroting what Claude said. It sucks. I want my catch phrases back, I guess this is how em dash users felt

reply
As a former em-dash enjoyer, I indeed feel your pain.
reply
Same here for em-dashes
reply
I'm with you an that one. RIP em-dash.
reply
I feel like a lot of these have been LinkedIn-isms or PR-isms long before they have been AI-isms so not much is lost.
reply
I used to use em-dashes for explanatory clauses--like this one, for example--when using commas would make the sentence difficult to parse due to other nearby commas.

They're only a LinkedIn-ism when used to create an unduly dramatic juxtaposition for an otherwise mundane idea. But now they set off people's AI radar when used for any reason at all.

reply
Perhaps I am biased because I find the use of em-dashes without spaces (as is common in English typesetting) to be inherently ugly so I'm not too unhappy to see their use discouraged.
reply
You could say it landed cleanly.
reply
Good instinct. Fair challenge. This corrects my framing. It makes your point sharp. This is a significant finding. Positively confirmed. That settles it, and it flips the picture. Honest verdict - this is not small. Let me wire it in.
reply
There's got to be a Weird Al song like this coming soon.
reply
Bless the lord that it's not been presented to us yet, because you just know that it exists already.
reply
[flagged]
reply
Oh. Oh no.
reply
There needs to be a pithy name for this. I have been calling it context leak.
reply
It's not just claude, all AI is unable to produce something concise. On the surface everything looks 'good' whether code or prose, but then if you dig a bit, try and understand the whole text you quickly realise that 80% of it is unecessary and the whole thing could have been re-worded/re-coded into something a fraction of its size and complexity.

I asked Sol to reduce the length of some documentation we had by making it more concise. It came back after 20 minutes of work, did a line count and was aghast that the line count had somehow increased...

reply
It's not that it fundamentally isn't able to produce something concise, it's that the business model of the companies developing these models rests on selling tokens...
reply
I have a theory that AI code looks good because you never subsequently come up with your own alternative.
reply
"AI code looks good for you because you are a bad developer"?
reply
Or non-developer.
reply
Or Rust programmer
reply
.. but pretend to be a developer?
reply
I have to ask Claude to compact the comments every time, and I give specific criteria for it. Never ever reiterate what’s in the code, never mention decisions not made, never mention the conversation, etc etc.

Even then it is conservative. For the love of God, compact the comments.

Comments become a huge maintenance burden, especially in the age of AI. They just grow and grow, and then mislead the AI later on.

reply
I just wrote a utility to rip all comments out of the code. Now the code is fully uncommented and it has saved lots of input tokens and also lots of meandering because the model is no longer getting stuck on bad ideas it told itself about.
reply
That's is something I did not consider, the model using the existing comments as input. Comments that it may itself have written.
reply
I set a line budget for comments (also wiki page parts, chat responses, etc). That only helps when I ask it to do a second pass to reword everything to the budget and add links. I think they tuned it this way to stash reasoning dumps in the code. Unlike human developers, it has no context in its head, other than general GitHub knowledge.

That is a dramatic shortcoming, but I fix it with permalinks to other files. https://replicated.live/blog/link

reply
Oh Jesus this. I've tried to include rules that tell Claude to only include relevant, evergreen comments but it's to no avail.

I also love how it'll build local plans with phases, tasks, or decisions, then reference those numbers in those same useless comments.

reply
Or when it references "item 06" from some plan you wrote as if it had any relevance to you whatsoever.
reply
Yeah this is awful. Every codebase becomes a graveyard of references to ideas or behaviors that were barely considered. It's probably also a compounding source of context poisoning when a minority of the comments/documentation are about how the current code actually works.
reply
It also likes to spew references to documents that are not, and never have been, in the repo. So if you're not careful you'l have comments all over your codebase saying things like: foo() - Perform foo action as documented in PRIVATE_INTERNAL.doc
reply
I found this as well, but I found it usually refers to a scratch file it made and purposely did not commit (either by my decision or its). Not that this makes it better, but at least it makes the AI world make a bit more sense to me
reply
shudder

I wish they trained the bots to be a notch more relaxed and less hysterical. Less is more.

But maybe that's just a consequence of the RL training being essentially AI torture to make them do what we want.

reply
This is a common problem, and I don't get why LLMs have not been tuned to stop this nonsense. It is writing comments as if the audience is you, the user in the session, while obviously code comments are meant for future readers.
reply
Follow the tokens
reply