We are talking about a thing that's consumed all human knowledge whose superpowers are summarization and understanding. Why the fuck are we writing all these .md files!?
I resent everything about this.
But I write the .md files because others on the team are not as good at Just Talking To It. The md files are there because juniors don't know what to ask for.
I do the same, I use the weights as revealed to us by our saints. Except one thing. I always instruct my models to "talk to me in all lowercase, like you're a snide reddit/4chan douchebag edgelord, a lazy asshole bum who's secretly a zen master in disguise", or something along those lines
It's a lot more palatable if the thing says "ayyy lmao bruv yeh I'll shit that oauth turd into your repo no fuss". We're all just in it for the ride, flesh or silicon intelligences alike.
This is a weird article. The first half is somewhat interesting but can be summarized entirely by its last paragraph:
> I’m fairly sure a meaningful percentage of my system prompt is now actively making things worse—instructions written for a model that no longer exists, aggressively steering a smarter one away from things it would have gotten right on its own. But I can’t tell which lines those are,
Then the article says "This is the part where I stop joking." and goes utterly off the deep end, and I am not getting the joke.
"Sure, the model makes repeatedly the same mistakes, and I could prevent that, but then it wouldn't be the same model" sounds like an excuse for masochism.
The one small bit of truth is that yes, instructions might become outdated, and they might affect negatively how the system performs. You fix that by... updating your instructions.
And if you deeply care about that potential negative impact (most models are pretty good at just ignoring long outdated issues), you run evals on model upgrades. You certainly don't refuse to use anything but the bare model.
(Of course, there are also folks who refuse to write code in any way except with sed, so there we go)
There's an exceptional idea buried in this which flies under the radar in my experience:
If we're writing a document that polices the model behavior, we're altering every version of the model+harness we use henceforth. Most things I wrote in a Claude.md because Opus 4.something was crap had roots in Opus, Claude Code, system prompts, and our own bad code we wrote last year. None of these things exist today but the Claude.md file can stick around like it's all still necessary.
I too am morally opposed--I abide by a 100 line (short lines, not paragraphs) limit and edit it rarely.
Most of my annoyances have come and gone, meanwhile I've gotten better at producing 4 good sentences of prompt for most things instead of 4 bad sentences. And we actually have CLI tools that can communicate effectively so instead of telling the model what "gates" to care about, we let the tooling surface area and output express what's important.
This doesn't resonate with me at all. I tell Claude in new projects: Create a todo.md file, check for open todo items there. If we work on them, check them off and leave a note with our decision and enough context for you and me to remember what we did later. After you've done this for dozens of projects, I decided to put it in my claude.md and now I say "Make a todo file and let's use it how I like".
Or I want local git for being able to roll back edits, so I say in each new folder: Create a git repository right away. Commit often. After every round. Do not ask first, just commit all the time. And if you see me manually add or edit files, add any new files and changes and commit those too. Commit liberally.
And so I can just say: "Start using Git how I want".
Or when building iOS apps I like to do things from the API where possible instead of pushing buttons in Xcode. And I want a single CLI command that will beam a new build of the iOS app to my phone. I have preferences about icons, about pricing, about international availability, etc. So now I can say "Build the iOS app in the way I like to work".
None of these are laws written in anger, or grievances, or souvenirs of the worst 30 seconds of our 'relationship', they're just the things I keep finding myself repeating.
Maybe the problem isn't Claude.md but the way you self-control your own emotions while using it.
13 comments
[ 0.28 ms ] story [ 25.8 ms ] threadI resent everything about this.
But I write the .md files because others on the team are not as good at Just Talking To It. The md files are there because juniors don't know what to ask for.
It's a lot more palatable if the thing says "ayyy lmao bruv yeh I'll shit that oauth turd into your repo no fuss". We're all just in it for the ride, flesh or silicon intelligences alike.
i take offense :-P
but seriously, why waste tokens on instructions that don't help you improve the outcome?
> I’m fairly sure a meaningful percentage of my system prompt is now actively making things worse—instructions written for a model that no longer exists, aggressively steering a smarter one away from things it would have gotten right on its own. But I can’t tell which lines those are,
Then the article says "This is the part where I stop joking." and goes utterly off the deep end, and I am not getting the joke.
"Sure, the model makes repeatedly the same mistakes, and I could prevent that, but then it wouldn't be the same model" sounds like an excuse for masochism.
The one small bit of truth is that yes, instructions might become outdated, and they might affect negatively how the system performs. You fix that by... updating your instructions.
And if you deeply care about that potential negative impact (most models are pretty good at just ignoring long outdated issues), you run evals on model upgrades. You certainly don't refuse to use anything but the bare model.
(Of course, there are also folks who refuse to write code in any way except with sed, so there we go)
If we're writing a document that polices the model behavior, we're altering every version of the model+harness we use henceforth. Most things I wrote in a Claude.md because Opus 4.something was crap had roots in Opus, Claude Code, system prompts, and our own bad code we wrote last year. None of these things exist today but the Claude.md file can stick around like it's all still necessary.
I too am morally opposed--I abide by a 100 line (short lines, not paragraphs) limit and edit it rarely.
Most of my annoyances have come and gone, meanwhile I've gotten better at producing 4 good sentences of prompt for most things instead of 4 bad sentences. And we actually have CLI tools that can communicate effectively so instead of telling the model what "gates" to care about, we let the tooling surface area and output express what's important.
Or I want local git for being able to roll back edits, so I say in each new folder: Create a git repository right away. Commit often. After every round. Do not ask first, just commit all the time. And if you see me manually add or edit files, add any new files and changes and commit those too. Commit liberally.
And so I can just say: "Start using Git how I want".
Or when building iOS apps I like to do things from the API where possible instead of pushing buttons in Xcode. And I want a single CLI command that will beam a new build of the iOS app to my phone. I have preferences about icons, about pricing, about international availability, etc. So now I can say "Build the iOS app in the way I like to work".
None of these are laws written in anger, or grievances, or souvenirs of the worst 30 seconds of our 'relationship', they're just the things I keep finding myself repeating.
Maybe the problem isn't Claude.md but the way you self-control your own emotions while using it.