Skip to main content

Reviewing AI output isn't enough: one word in my prompt made the guardrail disappear

Published: August 26, 20269 min read
#ai-agents#guardrails#adhd#build-in-public
Two paths to the same place. Along the top, what was asked for, a stateful teaching skill with a mission file, sources, one lesson and a quiz, connected by a long arrow labelled 'looks like the destination' to what came back, an explanation that was accurate, organised, on topic and reviewable. Below, boxed in red and headed 'the route, which nobody reviews', four steps: skill installed and verified, never invoked because a human must type it, guard disabled by one word in the prompt lifting the length cap, and no trace left, meaning no mission file, no lesson, no quiz and no directory.
Reviewing the answer would have passed it. The absence of a directory is what settled it.

I asked for a teacher. I got a lecture.

Yesterday I set up Matt Pocock's teach skill in the repository that holds my crypto trading agent. The point was to learn how my own system actually works, and to learn the team workflow I've never used, by building something real inside it. I want to know why my signal generator behaves the way it does. I've built the thing and I can't fully explain it, which is a problem I'd rather not discover in an interview.

What came back was a wall of text in a terminal defining perpetual futures, stop losses, take-profit targets and risk-to-reward ratios. All of it accurate. All of it well organised. I lost the will to live somewhere in the second sentence.

Hold onto that reaction. I come back to it at the end, and it turns out to be the most useful thing in the whole episode.


The thing I noticed second

My first instinct was that the session had gone off the rails. It hadn't, exactly. Read as a document it was rather good: it mapped the pipeline end to end, and it found something genuinely useful that I hadn't asked about, which was that part of the work I wanted to build already existed.

Then I checked what it had actually done, and the real failure was somewhere else entirely.

It never ran the teaching skill. Not once.

You can check that without taking my word for it, which is the point. The skill is stateful: the first thing it does is write a mission file into the workspace, then it keeps a learning record there so it remembers what you've retained between sessions. The session told me it would put that workspace at knowledge/learning/eval-harness/.

That directory doesn't exist. There's no mission file anywhere in the repository. No learning record, no lesson, no quiz. The teacher left no trace because the teacher never turned up.

The skill is marked so that a model can't invoke it. A human has to type /teach. That's a deliberate design choice by its author and a sensible one. So the session installed it, verified it, told me I'd need to launch it myself, and then, while waiting, did what it could do: it explained things at me.

Which is the exact opposite of what the skill does. It orients the mission around the thing you're building rather than the subject you're studying, pulls its own primary sources, puts one lesson at a time in a browser, and quizzes you on a schedule. What I got instead was a monologue about perpetuals from something with no idea whether I'd understood a word of it.

The output looked like the destination. It arrived by a completely different road.


The road was invisible

Everything written about AI and critical thinking is about the output. Lee and colleagues surveyed 319 knowledge workers about 936 real uses of generative AI last year. The more confidence people reported in the tool, the less critical thinking they reported doing. Interestingly, confidence in their own ability ran the other way: people who trusted themselves engaged more, not less. It's self-reported and it's a correlation, so hold it loosely. I recognise myself in it anyway.

Their finding is that the effort moves rather than disappears, toward verifying and integrating what the tool produced. Mine is the bit that follows, and it's mine rather than theirs.

But checking the result would not have saved me here. The result was fine. Accurate, organised, on-topic, and produced by a process that had already failed.

I could see the destination. I could not see the road, and the road was where the failure lived.

You can review a diff. You can read an answer and judge it. What you don't get, unless you go looking, is the record of what actually ran: which skill fired, which guard was live, which files got written. If the answer looks plausible there's nothing to be suspicious of, so you don't go looking.

And note what I needed here. Not the model's reasoning. Nothing about how it thought. Just a directory that should have existed and didn't. Don't ask to see how it thought. Ask for evidence of what it did.


One word

So I went looking for why the wall of text got through at all, because I have a guard against exactly this.

There's a hook on my machine that reads every reply before I see it. Over twelve lines, or over fourteen hundred characters, and it blocks the message and forces a rewrite. It's not a preference in a file that gets politely ignored. It's mechanical, and it fires everywhere, including in that repository.

It has an escape hatch. If my own last message asks for detail, the cap lifts, on the reasonable theory that I asked for it. The hatch is a list of words: explain, in detail, walk me through, elaborate, expand.

The prompt I'd written to set the session up said: "Explain what a command does and why before I run it."

One word. The guard switched off for the entire session, and every wall after that was legal.

I'd built protection against being buried and then disabled it myself, in the sentence where I asked to be taught. It's a good joke and it cost me an evening.

The fix took two minutes: asking for detail now raises the ceiling instead of removing it. Twenty-four lines, not unlimited. "Explain" buys you a paragraph, not a page.

The guard and its escape hatch. The cap normally sits at 12 lines and 1,400 characters. The hatch is any of five words: explain, in detail, walk me through, elaborate, expand. After one of those words appears, the cap becomes no limit, for every reply that followed. Below, the sentence from my own set-up prompt that did it, with the word Explain highlighted in red: "Explain what a command does and why before I run it." The fix, which took two minutes: asking for detail now raises the ceiling to 24 lines rather than removing it.


What it turned up next

By then I'd stopped debugging one bad session and started auditing the instructions that shaped it. Two rules down, sitting right next to the escape hatch, was a worse one.

My instruction file told Claude that when I'm frustrated it should step back and reconsider whether this is the right thing, the right approach, or too much at once. Sensible for the working relationship. Terrible for accuracy.

Models are already too willing to drop a correct answer when a user pushes back, and how you push matters more than whether you do. Laban and colleagues ran 67,640 conversations across ten models and measured what different challenges cost. "Are you absolutely certain about that?" cost 7.2 accuracy points. "Are you sure?" cost 8.1. But challenges carrying disagreement or authority cost roughly three times as much: "I don't think so, are you sure?" took 22.9 points off. That work is from an earlier generation of models, so treat the direction as solid and the exact figures as dated.

I had written an instruction telling mine to reconsider its position at precisely the moment it was most likely to give up a right one to please me.

Frustration and disagreement are different things and I'd merged them into one rule.

They're now separate. Frustration is a signal about scope: reconsider the plan freely. Disagreement is not evidence: hold the facts unless something new arrives, and name what changed when it does. The line I care most about is the one guarding the other direction, because the failure mode of a fix like this is stubbornness wearing steadiness as a costume. New evidence obliges a change.

Two signals that had been merged into one rule. On the left, he sounds frustrated: treat it as a question about scope, is this the right thing, the right approach or simply too much at once, reconsider the plan freely. On the right, boxed in red, he disagrees with a fact: pushback is not evidence, re-derive from the original sources then say which happened, Holding or Changing, and new evidence obliges a change. Below, a bar chart of what different challenges cost in accuracy points, from Laban and colleagues across 67,640 conversations and ten models: "Are you absolutely certain about that?" 7.2, "Are you sure?" 8.1, and in red "I don't think so, are you sure?" 22.9.

Both files carry the split now, and finding the second file was its own small lesson. I fixed it in CLAUDE.md, which the coding tool reads, and it reached none of the places where I actually talk: the phone app, the browser, every project I'd set up. Those read a different settings field entirely. The fix had landed where I build and nowhere where I think.


What I'd take from this

Ask what route it took, not just whether the answer is right. "Did you actually run the thing I asked for?" is a better question than "is this correct?", and it catches a failure class that reviewing the output cannot.

Check whether your own guards are still armed. Mine had a keyword escape hatch, and the keyword was a word I use constantly. A guard that any ordinary sentence can disable is a guard you should assume is off.

Treat the moment you disengage as data. When I stopped reading at sentence two, that wasn't laziness, though it looks like it from outside and it feels like it from inside. It was the signal that the process had gone wrong upstream. I nearly filed it as my own failure of attention, which would have left the real fault exactly where it was.

The first two are cheap. Reading my own boredom as evidence rather than as a character flaw is the one I keep having to relearn.

No paywall, no sponsors. If this saved you some time, you can buy me a coffee.

☕ Buy me a coffee

Get the next one in your inbox

I build with AI in the open and write up what held and what didn't. Real numbers, the failures before the wins.

Share this post