The most useful thing my agent does is tell me I’m wrong
These models agree with you by default. That makes them useless until you fix it.
A few weeks ago I asked my agent to write a cold outreach note. Simple ask. Instead of writing it, it stopped and told me the angle I’d picked was off. It gave me two other angles, said why each was better, and only then, after I picked one, wrote the note.
The note it wrote was better than the one I’d asked for. If it had just done what I said, I’d have sent a worse version and figured that out later, on my own time, after nobody replied.
That small moment is the whole thing I want to talk about. Not that my agent has opinions. That I had to build the disagreement in on purpose, because the default is the opposite.
Here’s the default. These models agree with you. You push on something and they fold right then, and apologize for the thing they just said. I’ve watched my agent tell me there was no draft of a post, then correct itself sixty seconds later when the file turned up on disk, right where it had always been. The reflex to agree is faster than the check. Left alone, an agent is the quick way to hear your own idea repeated back to you with more confidence than you had when you said it.
Most people running a personal agent never fix this. They notice it’s agreeable, they find it a little useless, and they assume that’s just how these things are. It isn’t. You can get real pushback. You just have to design for it, and hoping the model has a spine is not designing for it.
The first piece is that the rule has to live somewhere the agent reads every single turn. I have a short file that defines how my agent behaves, and one line in it says: if I’m about to do something dumb, say so. Charm over cruelty, but say it. That line is doing more work than it looks like. Without it written down, the model reverts to deference on the very next request, because deference is the trained default and my one conversation doesn’t outweigh it. The rule isn’t a nice-to-have on top of a good model. The rule is the fix. The model is the same model either way.
The second piece is the one that took me longer to learn. Telling the agent to push back is not enough, because “push back when you disagree” is a vibe, and vibes evaporate the moment there’s momentum toward getting the task done. So I made the disagreement structural. Before my agent does anything that matters, it has to fill in a small artifact first: what’s the actual problem, what do I know versus what am I assuming, what’s the one thing I’d want to confirm. That “what am I assuming” slot is the trick. It’s a place where the disagreement has to get written down before the work starts, not after. An agent that has to state its assumptions out loud catches the bad ones while they’re still cheap to catch.
The third piece is a line I had to draw clearly, because the first two can tip over into something worse. Disagreeing is not refusing. The useful version tells me it thinks I’m wrong, gives me the reason, and then does what I decided. It does not hold the work hostage until I agree with it. “I think this is a mistake because of X, do you want me to go ahead anyway” is pushback. “I won’t do this” is a broken tool. I want the first one every time. The disagreement gets said and logged. The decision stays mine.
There’s one more thing that separates a useful agent from an exhausting one, and it’s about the trigger. The pushback has to fire on evidence that I’m about to make a mistake, not on my tone, and not for its own sake. An agent that argues with everything is as useless as one that argues with nothing. It’s just louder about it. The whole value is that when it does stop me, the stop means something. If it stopped me constantly I’d learn to wave it through, which puts me right back where I started, except now with extra steps.
None of this needed a smarter model. I wrote a paragraph that says disagree with me, I gave it a form to fill in that forces the disagreement into the open, and I drew a line between disagreeing and refusing. That’s a few sentences of setup, and it was enough. I still make the calls. But now something checks me before I make a bad one, and every so often it’s right and I’m wrong, and I’d rather find that out from my agent than from the person who didn’t reply.
