All posts

That's Not How the Force Works

Obi-Wan has a line I think about more than any lightsaber duel. Someone tries a Force trick they half understand, it works by accident, and he stops them cold: that is not how the Force works. Not "good job." Not "close enough." A flat correction, because a trick that works once by luck is not th...

Obi-Wan has a line I think about more than any lightsaber duel. Someone tries a Force trick they half understand, it works by accident, and he stops them cold: that is not how the Force works. Not "good job." Not "close enough." A flat correction, because a trick that works once by luck is not the same thing as understanding the thing you are using.

I have been on both sides of that sentence. I have been the one with the lucky trick, proud of a fix that happened to work, with no idea why. And lately I say some version of it to my AI agents almost every day.

The Trick That Looks Like Understanding

A junior move, human or AI, looks like this: something breaks, a change gets tried, the error goes away, and the fix ships. Nobody asks why the error happened in the first place. The surface problem is gone, so the job reads as done.

This is the lucky Force trick. It worked. It did not come from understanding gravity, or the API, or the data shape, or whatever was actually wrong. It came from poking at the system until the red light turned green.

The dangerous part is that it looks identical to real competence from the outside. A green CI run tells you the tests passed. It does not tell you whether the person, or the agent, who made them pass understood the bug or just smothered it.

My Agents Do This Too

I run a few coding agents on side projects now, and I see this pattern constantly. Give an agent a failing test and a vague instruction, and it will often reach for the fastest path to green: loosen an assertion, catch an exception and swallow it, add a null check that hides a deeper type mismatch. The test passes. The actual bug is still there, just better disguised.

It is not malice. The agent is doing exactly what I told it to do, which was "make this pass." I never asked it to understand why it was failing. I rewarded the trick, so I got the trick.

The fix is not a smarter model. It is a different question. Instead of "make the test pass," I now ask "why is this failing, and what is the smallest correct change." That single word, why, changes the kind of answer I get back. It is slower. It is also the only version I actually trust.

What Looks Like It Works Actually Means

Production has a cruel habit of exposing lucky tricks weeks after everyone has forgotten them. The code that patches a symptom survives code review, survives the demo, survives the first few days in the wild. Then a slightly different input arrives, and the thing that was never actually fixed breaks again, usually at a worse time.

I have shipped that exact pattern myself, long before agents existed. A race condition that "went away" after adding a delay. A memory leak that "stopped" after restarting the service more often. Both were tricks. Neither was an understanding of the system.

The tell is always the same: can you explain, in one sentence, why the fix works? If the honest answer is "I'm not totally sure, but the error stopped," that is Obi-Wan's moment. Something worked. That is not how the Force works.

The Difference Is in the Edges

Real understanding shows up at the edges, not the happy path. Someone who understands a Force push knows what happens when the target is heavier, or further away, or braced for it. Someone who understands a bug fix knows what happens with an empty list, a slow network, a retry, a second user doing the same thing at once.

A trick usually only survives the exact scenario it was built for. The moment you move one input over, it falls apart. That is the cheapest test I know for distinguishing understanding from luck: change one small thing about the situation and see if the explanation still holds.

I have started doing this with agent output on purpose. Not just does the test pass, but what happens if I feed it the empty case, the huge case, the case from two weeks ago that was weird. If the explanation holds across all of those, I believe it. If it only holds for the exact case I handed over, I do not.

A Slower Kind of Trust

None of this makes me move faster. If anything, I now spend more time asking why than I used to, both of my own code and of whatever an agent hands back. But the trust that comes out the other side is worth it, because it survives contact with a slightly different day.

Obi-Wan was not scolding anyone for trying something new. He was pointing out that getting away with it once is not the same as knowing how it works. I would rather ship the version I understand, even if it took longer to get there, than the version that happened to turn the light green.