Three Inverse Habits for Using AI Responsibly
Originally inspired by Susam Pal’s “Inverse Laws of Robotics”
AI has gone from demo to default in roughly two years.
It now lives inside our IDEs, search engines, email clients, and CMS dashboards. At WisdmLabs, our team touches it every day: writing PHP, debugging WooCommerce hooks, reviewing client specs, drafting copy. The productivity gains are real. I won’t pretend otherwise.
But I’ve been watching a quieter problem grow alongside those gains. We are slowly training ourselves to treat AI output as the authoritative answer rather than as a starting point. That shift is subtle, and it compounds.
Susam Pal wrote a short piece called “Inverse Laws of Robotics” that named this problem clearly. His idea: instead of rules for robots, we need habits for ourselves. Three of them.
I want to build on that framework here, with examples from the kind of engineering work my team does: WordPress, WooCommerce, PHP, and web systems at scale.
Habit 1: Don’t turn the model into a person
AI systems sound empathetic. They match your tone. They say things like “Great question” and “I understand your concern.” This is a product decision, not evidence of awareness.
Under the hood, these are statistical models predicting the next plausible token. They don’t have goals, opinions, or feelings. Forgetting this matters because it changes how carefully you read the output.
I see this in real engineering situations. A developer on my team once asked Claude to debug a WooCommerce checkout issue. The model gave a confident, well-structured answer. The developer said, “Claude thinks the problem is in the payment gateway hook.” That’s the wrong frame. Claude doesn’t think anything. It produced text that matched patterns in its training data. The problem turned out to be a session timeout edge case that had nothing to do with the gateway.
The distinction isn’t pedantic. When you say “the model thinks,” you lower your guard. When you say “the model produced this output,” you stay in the right posture to verify it.
A small habit that helps: refer to the model as “it” and to its responses as “output” rather than “answers.” It sounds trivial. It keeps your thinking accurate.
Habit 2: Don’t accept output without verification
AI responses are private, unreviewed first drafts that happen to be well-written. No one checked them before you read them.
This is different from documentation, Stack Overflow answers with 400 upvotes, or a WordPress Codex page that dozens of contributors have corrected over years. Those sources have friction built in. AI output has none.
The verification bar should match the cost of being wrong.
For low-stakes work: brainstorming plugin architecture, generating a draft changelog, writing a test description. Treat the output as raw material. Use it, shape it, move on.
For medium-stakes work: writing a WooCommerce filter that touches order data, generating a migration script, producing customer-facing copy. Cross-check key facts. Run the code against a staging environment. Read it once more with a critical eye.
For high-stakes work: anything touching payments, user data, security headers, or production database queries. Do not act on AI output alone. Use your own judgment, a second reviewer, and actual tests.
Here’s a real example. Last year we were building a custom checkout flow for a client. I used Claude to help write a function that modified cart totals based on a coupon rule. The code looked right. It ran without errors in quick testing. But it had a subtle bug: it didn’t account for WooCommerce’s internal rounding logic on tax-inclusive prices. In a UK-based store with VAT-inclusive pricing, the totals were off by a few pence per order. Not catastrophic, but real money, and a compliance issue.
The model was confident. The code was clean. It was still wrong.
For code, the verification path is clear: unit tests, integration tests on staging, and code review. These aren’t optional extras when you use AI. They become more important, not less, because the volume of plausible-looking output goes up and your review speed tends to drop.
Habit 3: Don’t outsource the responsibility
If an AI system suggests an action and you take it, the outcome belongs to you.
This sounds obvious. In practice, it gets blurry fast.
A client once asked us why their WordPress site had a particular caching configuration that was causing intermittent 503 errors. The developer who set it up explained that the AI recommended it. That’s not a defense. The developer chose to implement it, in that environment, without testing it under load. The decision was theirs.
AI systems don’t deploy code. They don’t know your hosting provider’s PHP memory limits, your CDN’s edge caching rules, or the specific version of WooCommerce your client is running. They produce general output. You make specific decisions.
This habit has a practical consequence for how teams should work. If everyone knows they can’t point at the model as the reason something went wrong, they change their behavior:
- They write down why they made a specific architectural choice, not just what they chose.
- They test AI-generated code before it touches production.
- They tell clients “we reviewed this and decided X” rather than “the AI suggested X.”
Responsibility isn’t just about blame after things go wrong. It shapes how carefully people work before things go wrong. That’s the real value.
What makes these three habits hard to keep
The honest part: all three habits go against the grain of how these tools are designed and marketed.
AI products are built to feel fast, confident, and helpful. Friction is the enemy of the product experience. Stopping to verify output, maintaining emotional distance from the system, and accepting full accountability for decisions—all of that feels like it slows you down.
In the short term, it does.
But the cost of moving fast without these habits is an engineering team that ships confident bugs, trusts plausible-sounding output over actual tests, and slowly hands off its judgment to a tool that doesn’t have any.
The three habits aren’t about using AI less. They’re about using it without losing your own calibration in the process.
Don’t turn tools into people.
Don’t turn suggestions into truth.
Don’t turn outcomes into someone else’s problem.
Here’s the question I keep coming back to: when you review AI-generated code or copy, are you actually reading it, or are you pattern-matching on “this looks right”?
Those two things feel similar. They produce very different error rates.