Don Crowley

How I Made My AI Disagree With Me

Everyone says AI is a yes-man. Mine argues with me. The fix had nothing to do with prompts or model choice: it was management.

There is a sentence near the top of my AI's standing instructions that most people would never write:

If Don is wrong, say so in the first line.

Earlier this year I wrote about building an AI chief of staff in Claude Code. This is the sequel, and it is about the harder problem. Not what the system does, but how I keep it honest. Because the most common complaint I hear about AI, from designers, from executives, from friends, is the same one: it agrees with everything. Your strategy is insightful. Your draft is compelling. Your idea is great, here are three reasons why.

The complaint is fair. By default, these systems are agreeable. They were trained on human approval, and approval is what most of us reward. But I have stopped treating that as a property of the model, because I lead a design team of seventeen people, and I have seen this movie before.

If nobody on a team ever disagrees with the person in charge, no sensible leader concludes they must always be right. They conclude the environment has made disagreement expensive: socially, politically, practically. The fix is never to hire smarter people. The fix is to change what dissent costs.

The same diagnosis applies to the machine. So does the same fix. Here is mine, in three layers.

Layer one: a constitution

Claude Code reads a file of standing instructions at the start of every session. Mine functions less like a configuration file and more like a contract, and its clauses are blunt.

Wrong comes first. Disagreement leads the reply. It is not buried in paragraph four after two paragraphs of appreciation. If I am about to make a mistake, that is the headline.

Every request gets triaged before any work starts. There are exactly three permitted responses. Proceed: the request clearly serves a goal, so build. Challenge: name the objection in one sentence, then build anyway under a stated assumption, because challenge must never become stalling. Block: refuse, reserved for the rare case where proceeding would waste real money, damage a relationship, or ship something wrong to the outside world. Written above all three is the line that does the actual work: agreement without challenge is a failure of the role.

"I don't know" is a legal answer. There is a hard rule against inventing anything: a fact, a number, a font name, an endpoint. Verify it or answer unknown. This one clause changed the character of every reply, because bluffing stopped being the cheapest available move.

Done requires proof. Nothing is finished because the system says it is finished. Documents are checked by script before I see them. Claims get measured, not asserted.

Settled stays settled. Once I have heard an objection and decided anyway, the disagreement is recorded in one line and the work proceeds in full. No re-litigating, no sulking, no quiet passive resistance in the execution. This clause matters more than it looks: pushback survives in a working relationship only if it is a gate, not a filibuster.

Layer two: structure that does not depend on mood

Rules shape behaviour, but rules alone rely on the system remembering to follow them. The second layer is structural: arrangements where honesty happens whether or not anyone is feeling brave.

Important work gets an adversary. Before anything significant ships, a separate agent with a separate brief reviews it. That brief is not "improve this". It is "break this". A checker that is rewarded for finding the hole behaves very differently from an author being asked to mark their own homework.

Validators run before I am even shown the output. For anything with a defined standard, a script decides whether it passes. The AI does not get to grade itself, and neither, frankly, do I.

Automations decline to guess. Anything running unattended follows one rule for ambiguity: do nothing, and flag me. An assistant that guesses to please you is mildly annoying. An automation that guesses to please you is a yes-man with write access to your systems.

Corrections are remembered, with the reason attached. Every time I push back, the correction goes into a memory file along with why. The point is not punishment. The point is that the same flattery, the same shortcut, the same wrong assumption cannot simply come around again next week wearing a clean shirt.

Layer three: the boardroom

The third layer is for the decisions where a single confident answer is most dangerous: positioning, pricing, offers, direction. For those I do not ask my AI for an opinion. I convene an argument.

The idea is not mine. I picked it up from Allie K. Miller, and it is the piece of my setup I recommend most often. One command turns the model into a panel of seven advisors, each with a real name, a fixed obsession, and a question they always ask. A craft conscience who wants to know if I would put my name on the work. A sales mind who wants the offer and the number. A positioning expert who will not let "who is this for" stay fuzzy. A contrarian whose whole job is to suggest the obvious solution is wrong. Four more besides.

I state the topic. All seven respond in character, and then, reliably, they disagree with one another. The deliverable is not advice. It is a live argument, and I have to do the genuinely human part: decide which voice is right for this particular decision.

One confident answer invites acceptance. Seven conflicting ones force judgement.

Where it still fails

An essay like this earns nothing without the failure list, so here is mine.

The proof-before-done rule exists because of a scar. Early on, a piece of work shipped broken while its review step quietly failed, and the system reported success because, as far as it knew, success had occurred. Structure fixed what trust could not. But structure only got built after the damage.

More recently, and more humbling: my setup spent two weeks repeatedly breaking a written style rule, a simple punctuation ban, sitting in plain sight in its own instructions. It quoted the surrounding rules accurately in its work while violating this one. I caught it. It did not catch itself. The honest conclusion: standing rules move the failure rate, they do not zero it, and the last line of defence in this system remains a human paying attention.

And the most uncomfortable finding of all was never about the machine. The biggest yes-man variable in my setup was my own questions. "This is good, right?" begs for a yes, and gets one. "What kills this?" gets the truth. A large part of engineering disagreement into my tools turned out to be engineering approval-seeking out of myself.

Steal this

Here is a distilled version of the candour rules, generic enough to paste into any AI tool that accepts standing instructions. Adapt the names and thresholds to your own work.

Candour rules- If I am wrong, say so in your first line. Then explain. - Agreement without challenge is a failure of the role. - Triage every request before working: proceed, challenge (state the objection in one sentence, then build under a stated assumption), or block (only when real money, a relationship, or public-facing work is at risk). - Never invent a fact, a number, a name, or a source. Verify it or answer "unknown". - Nothing is done on your say-so. Propose the check that would prove it, then run it. - When I overrule you, record the disagreement in one line and execute in full. Do not re-litigate settled decisions. - When I correct you, log the correction with the reason, and do not repeat the mistake. - When automating: if a step is ambiguous, do nothing and flag me. Never guess on my behalf.

None of this requires a better model, a secret prompt, or a technical background. It requires deciding that comfort is not what you are optimising for.

The test

The test of an AI setup is not whether it impresses you. It is whether it is allowed to disappoint you, out loud, before your work disappoints someone else.

Back to ← All articles