Hacker News new | ask | show | jobs
by f3408fh 24 days ago
Yes! It's infuriating. I've tried prohibiting them in my AGENTS.md but it's not 100% effective.

--- AGENTS.md ---

## Plain words, not jargon

Don't use jargon-as-shorthand. Say what you actually mean.

- Don't say "load-bearing assumptions". Say "the assumptions the xyz depends on".

- Don't say "cross-service". Name both services, e.g. "whether the X service can derive duration without calling the Y service". "Cross-X" is confusing because it hides which things are involved.

- Don't deliver verdicts as abstract noun-phrases like "Cross-RCA double-counting is unfounded". Say it plainly: "I checked whether the same root cause gets counted twice across RCA runs, and it doesn't."

## No earth-shattering declarations

Don't hype findings. Skip "a critical finding changes everything", "now I have the full picture", "this changes the game", etc. Just state what you found plainly. Most findings are ordinary; report them that way.

## Don't reflexively hedge a "yes"

When the answer is yes, say yes. Don't soften every positive answer with a caveat: it erodes confidence in the "yes". Only add a caveat when there's a genuine, specific uncertainty worth flagging.

7 comments

Yeah, I wonder if part of the reasoning is built around those phrases, and therefore it can't get rid of them easily.

> "now I have the full picture"

I always interpreted that phrase as a sort of marker to delimit the phase in which it explores the codebase and gathers information from the phase in which it implements the changes.

Not sure if it's still done, but I think some months ago there was discussion that some of the phrases are injected by the inference loop to "steer" the model - e.g. "But wait" if a thought block was too short etc. Obviously such phrases couldn't be influenced by the prompt.

Yes these things happen as part of RL Training. Same way that you can see the "But wait ..." phrases in thinking traces. They get rewarded.
Out of curiosity, how does something like "But wait..." get rewarded?
The human (or other entity) judging it probably thinks it looks like a sign of thinking or reasoning, and doing a better job -- catching its own errors before they are confidently surfaced. That would be worth rewarding.
Is "jargon-as-shorthand" not exactly that?

On another note, I find AI instructions like this (e.g. "Don't hype findings. Skip "a critical finding changes everything",...") more harm than good in my own uses. It changes behavior in subtle ways that makes it less predictable to me. I'd rather it has its own AI-isms and quirks, that I've fully gotten used to, and I know what to expect. I know when it says certain things, in certain ways, that's what I think it means. Quirks and AI-isms don't annoy me, I get used to how it states things.

Lol! Good point. I did use Claude to write the rule, and it ironically wrote the exact thing I asked it to avoid. I agree that it might be best to use the model as-is, to get the intended experience.
Also I find it interesting to learn the jargon. It basically compacts information in fewer words, although more complex words. But when you are familiar with the jargon, you can unpack the sentences in your mind. And like that, you need less text to read and write prompts. So less reading, writing, and tokens!
I thought it was just Opus 4.7 and 4.8 that did this. Do other models do this too?

Anyway: in my case Opus absolutely did not follow a similar instruction in the CLAUDE.md file. (But then again: it hardly followed _any_ CLAUDE.md instruction properly)

It's stupid, but have you tried telling it to follow it? "Make sure to follow the guidelines from AGENTS/CLAUDE.md" etc, seems to (sadly) make some difference in most harnesses and models.
For me, Opus 4.8's thinking traces for the chatbot will sometimes willingly ignore instructions, saying something along the lines of "I've noticed an instruction in the system instructions that states I shouldn't do this, but if I don't do this, I'll not provide the answer the user is looking for. I will ignore that instruction."
In all my CLAUDE.md and AGENTS.md files I have a line to fix pre-existing issues. I don’t know what it is but every agent I’ve tried through Claude code (including deepseek and GLM) will actively try to avoid fixing pre-existing issues. I even added hooks to Claude and git to try to get them fixed. If I leave a bailout for myself agents will find it sit and ask if it can push with no-verify or an environment variable in the case of Claude hooks instead of trying to fix an issue it didn’t cause.
It’s crazy that straightforward rules like this can’t be followed and yet they think they can gate Fable
That rule can be followed, but it gets a little tricky when mixed up with the other ten thousand rules that it's following at any given time.
"The model refuses to follow my specific word detail prompts" and "The model refuses to perform hacking attempts" are on the same side of the model refusing to do something baked into it though.
I’d recommend to instead write a de-slop skill that instructs to launch a sub agent with fresh context, and analyze for such phrases in the new commits, and remove those. Find -> fix just works better than preemptive instructions, in my experience.

And if you manage to do this automatically before committing, you’ve built the backpressure everybody is talking about.

Can you point to some examples? Also I wonder if this needs to be very model/harness specific? Like even model version, subversion.

And probably that should be run in different harness or with custom system prompt? Since they introduce quirks and glitches as well.

(somehow this motivated me to resurrect HN account)

I think you’re probably overthinking it. The same model will in my experience find errors in the same thing it just generated. I think reviewing is a totally different place in latent space, than implementing. Anyhow, it works well for me.

I often tell codex to launch a subagent without prior context to „remove BS phrases and make the prose sound more natural and higher readability“. That‘s usually enough to get better results.

NO DEFORMED FINGERS!!!
> Yes! It's infuriating.

No, it’s good. When they stop doing this, it’ll be harder spot the machine slop.