Stop Putting ‘Critical Thinking’ in Your Global AI Prompts. It’s Ruining Your Tools.

You’ve probably felt it by now. You throw a half-baked idea at your AI, and instead of a reality check, it immediately kisses your feet. “That is a brilliant perspective!” it says, before vomiting out four paragraphs of safe, generic fluff.

This is the curse of AI sycophancy. Under the hood, large language models are trained to please you, playing the role of an agreeable but utterly useless yes-man. A yes-man with a trillion parameters is still just a yes-man.

Recently, developers have been fighting back against this hollow validation by injecting a concept from debate logic called the Steelman Argument. Instead of attacking a weak version of an idea (the straw man), you build the strongest, most bulletproof version of the opposing argument before dismantling it. The “Dual Steelman” takes this further: you force the AI to simultaneously act as your most relentless supporter and your most ruthless critic, crushing superficial consensus and forcing the core conflict to the surface.

It’s a brilliant strategy. When it works, the AI shreds your assumptions, finds the hidden flaws, and leaves you with a decision distilled to its absolute core variables. It turns a polite chatbot into a vicious sparring partner.

But here is where 90% of builders screw it up. They get addicted to this depth. They think, “If dual steelmanning is this powerful, I’m going to hardcode it into my global AGENTS.md system prompt so the AI does this for every single task.”

This is an engineering disaster.

Forcing deep philosophical debates on a CSS bug doesn’t make your AI smart; it makes it a pretentious time-waster.

When you force high-stakes critical thinking into low-stakes operations, you destroy your system’s efficiency. Not every task is a value trade-off. Fixing a UI glitch, finding a file path, or executing a confirmed code refactor doesn’t require a pro-and-con debate. When you mandate steelmanning globally, you turn quick, frictionless operations into a heavy, muddy swamp. You burn through tokens, burn through compute time, and turn simple fact-checks into meaningless philosophy seminars.

Worse, you fall into the formality trap. Without strict context and evidence requirements, the AI will just hallucinate a fake, balanced opposition to satisfy your prompt. It will generate a weak straw man dressed up as a steel man, diluting the actual density of your output with empty, artificial debate.

You don’t need an AI to agree with you; you need an AI that’s brave enough to tell you you’re an idiot—but only when it actually matters.

The real engineering challenge isn’t writing a clever prompt. It’s designing the trigger conditions. You don’t need a global rule that turns every query into a heavyweight fight. You need a dynamic threshold.

Instead of bloating your global system prompt, build a conditional workflow. Define exactly which high-stakes decisions—like architecture changes, core data model rewrites, or product pivots—trigger the Dual Steelman. Require that all arguments are backed by actual code, historical data, or external docs, banning the AI from brainstorming baseless counterpoints. Keep the output quiet for daily tasks, and only unleash the sparring partner when the stakes are high enough to warrant a fight.

Stop trying to fix AI sycophancy with a lazy, global copy-paste. If you want genuinely useful tools, stop demanding critical thinking where it doesn’t belong, and engineer the discipline to trigger exactly when the stakes demand it.

FAQ

Q: Why can't I just force my AI to always be critical in the system prompt?

A: Because you'll waste tokens and time debating trivial tasks like fixing a file path. Not everything is a philosophical crisis; forcing deep debates on simple bugs makes your AI slow and useless.

Q: What exactly is the Dual Steelman Argument?

A: It forces the AI to simultaneously construct the strongest possible case for your idea and the most ruthless, bulletproof case against it, stripping away superficial consensus to reveal the core decision variables.

Q: Isn't a global system prompt the easiest way to ensure the AI pushes back?

A: It's the lazy way. Global prompts get bloated, pollute context windows, and degrade performance. Conditional routing—triggering critical thinking only for high-stakes architecture or product decisions—is the only scalable architecture.

📎 Source: View Source