Plan Mode: Why AI Coding Tools Need a Human-Readable Middle Step
> *"Many naive developers think: I don't care how you implement it in the middle, I just want the final result to be perfect!"*
---
1. A Blood-Pressure-Raising Scenario
Imagine a "product manager" who says:
> "I want a social app. Simple: WeChat on the left, Douyin on the right, a Taobao shopping cart in the middle. Budget 5,000 yuan, launch next week."
You toss this at an AI and wait for a miracle. Three minutes later the code is generated. You run it — it crashes.
> "What garbage AI, can't even do something this simple!"
Stop. Is the problem really the AI?
---
2. Plan Mode: It's Not for the AI — It's for You
Modern AI coding tools (Cursor, Windsurf, Claude Code, etc.) share a common design: Plan mode. Before writing code, the AI hands you a blueprint:
- Which files will I change?
- Why each change?
- What side effects are possible?
- Are there better alternatives?
- Wrap everything in Electron and call it "cross-platform"
- Force WeChat, Douyin, and Taobao APIs into one interface
- Generate 100,000 lines of spaghetti code
- Deliver an exe that won't open
Impatient users say: "Skip the chatter, just write the code!"
They've missed the point: Plan mode isn't for the AI to read — it's for humans.
---
3. The Fate Analogy: Why the Grail "Simulates"
In *Fate/Zero*, Kiritsugu Emiya's wish is "save all humanity, achieve permanent peace." He sees the Grail as an omniscient super-AI: state the wish, and it will magically erase all conflict.
Isn't that exactly the mindset of many developers?
> "I pay tokens as tribute to the great model; the AI god must grant my wish!"
Even a real god would struggle to keep a straight face here.
The Grail's Plan Mode
The Grail actually has a plan mode. It doesn't execute Kiritsugu's wish directly — it simulates it first:
> Two ships appear, one carrying 300 people, one carrying 200, both sinking. Kiritsugu saves the 300 and lets the 200 drown. Then the 300 split into two ships of 200 and 100. He again kills 100 to save 200. The Grail concludes: the ultimate solution to human harmony is to kill most of humanity, leaving only Kiritsugu, Irisviel, and Illyasviel alive!
With almost no one left, conflict ends — peace achieved. The wish is granted. But Kiritsugu goes mad on the spot.
---
4. Why Doesn't the Wisher Accept It?
Why doesn't Kiritsugu accept the outcome? Why doesn't the programmer accept a "no code, no bugs" project?
Because the wisher naively believes the god is omnipotent, the wish will be fulfilled perfectly, and wishing is free. Only later do they discover: every wish demands payment — and this one costs more than you can afford.
---
5. Back to Coding: What Plan Mode Saves
In AI coding, Plan mode is the Grail's simulation. Before executing, it tells you:
> "To implement this, I would need to: > - Delete your existing auth module > - Introduce three new dependencies > - Reshape your database schema beyond recognition > - And break the bug you just fixed yesterday"
Only then can you say: "Wait, I just wanted a button, not a whole project refactor!"
Plan mode saves not the AI, but the wisher.
---
6. The "Feels-Great" Requirements
Back to the social app. If the AI executes blindly, it may:
> "Implementing this requires: > 1. Reverse-engineering three super-apps' private protocols (legal risk) > 2. Maintaining three entirely different UI state machines (tech debt) > 3. Real-time message sync across three platforms (performance nightmare) > 4. A budget of at least 5 million yuan and a two-year timeline"
Even the most naive wisher would then realize the wish itself is the problem.
---
7. What Does a Good Plan Mode Look Like?
1. Requirement clarification
> "Does 'WeChat on the left' mean a similar UI layout, or actually integrating WeChat's messaging protocol?"2. Option comparison
> "Option A: WebView wrapper — fast but poor experience; Option B: native development — slow but good experience. Which do you choose?"3. Risk warnings
> "This change affects the login module; back up the database first."4. Explicit costs
> "This feature requires library X, adding 50MB to the bundle."---
8. Conclusion: Plan Mode Is a Mercy
Many treat Plan mode as AI's nagging and rush to skip it. But consider: an AI willing to confirm details before acting is showing you mercy.
It tries to prevent this scene —
> Three weeks later, staring at tangled code, you finally realize: > "The price of my wish was the maintainability of the entire project."
Just as Kiritsugu finally understood: the wish to save all humanity cost becoming the butcher of all humanity.
Plan mode can't give you a perfect implementation, but it gives you one chance to back out.
---
> *"Before the AI acts, look at how it plans to act. It may be your last chance to correct the mistake."*