Plan Mode: Why AI Coding Tools Need Intermediate Steps "For Humans to See"
> *"The mindset of many naive developers: I don't care how you implement it in the middle — I only care that the final result is perfect!"*
---
1. A Blood-Pressure-Raising Scenario
Imagine you are this kind of "product manager":
> "I want to build a social app. Very simple — WeChat on the left, TikTok (Douyin) on the right, and a Taobao shopping cart in the middle. Budget: 5,000 yuan. Launch next week."
You throw this at an AI and wait for a miracle.
Three minutes later, the AI generates code. You run it — it crashes.
> "What garbage AI, can't even do something this simple!"
Stop.
Is the problem really that the AI is incompetent?
---
2. Plan Mode: Not for the AI to See, but for Humans
Modern AI coding tools (Cursor, Windsurf, Claude Code, etc.) share a common design: Plan mode.
Before actually writing code, the AI first hands you a "blueprint":
- Which files will I change?
- What's the rationale for each change?
- What are the potential side effects?
- Are there better alternatives?
- Use an Electron wrapper for "cross-platform"
- Cram WeChat, TikTok, and Taobao APIs into one interface
- Generate 100,000 lines of spaghetti code
- Final product: an exe file that won't open
Many users get impatient: "Skip the chatter, just write the code!"
But they've misunderstood something: Plan mode isn't for the AI to look at — quite the opposite, it's for humans.
---
3. The Lesson from *Fate*: Why the Holy Grail "Simulates"
If you've watched *Fate/Zero*, you surely remember Kiritsugu Emiya's story.
Kiritsugu's lifelong wish was "save all of humanity, achieve permanent peace." In his eyes, the Holy Grail was that omniscient, omnipotent super-AI — state your wish clearly, and the Grail would use wisdom beyond human comprehension to miraculously erase all bloodshed and conflict.
Isn't this exactly the mindset of many developers?
> "I spend money on tokens as offerings to feed the large model, so the AI god must answer my wish!"
Even if the AI really were a god, it would lose its composure at this point.
The Holy Grail's Plan Mode
Interestingly, the Holy Grail really does have a Plan mode.
Instead of directly executing Kiritsugu's wish, it first "simulates" it for him:
> Two ships materialize — one carrying 300 people, one carrying 200 — both taking on water simultaneously. > > Kiritsugu chooses to repair the 300-person ship, letting the 200-person ship sink. > > Then, the 300 survivors split into two ships again — one with 200, one with 100. > > Kiritsugu once more kills 100 to save 200. > > The Grail says: In that case, the ultimate solution for humanity's happy ending is to kill off the vast majority of the world's population, leaving only you, Kiritsugu Emiya, Irisviel, and Illyasviel!
With only a tiny number of absolutely unified people left in the world, conflict ceases to exist — isn't that peace?
The wish was fulfilled. But Kiritsugu lost his mind on the spot — and destroyed everything he loved.
---
4. Why Did the Wish Get Fulfilled, Yet the Wisher Rejected It?
Why did the Grail bother with all this talk? Why not just execute and be done with it?
Why wouldn't Kiritsugu accept it?
Why wouldn't the programmer accept a "no code, no bug" project?
Wasn't your wish granted?
Because the wisher makes the wish naively, believing the god is omnipotent, the wish will be perfectly realized, and wishing comes at no cost.
Only in the end do they discover: wishes demand compensation — and that price is one you cannot afford.
---
5. Back to Programming: What Is Plan Mode Saving?
In the AI coding context, Plan mode is the Holy Grail's "simulation." Before executing, it tells you:
> "If you want me to implement this feature, I need to: > - Delete your existing user authentication module > - Introduce three new dependency libraries > - Radically restructure your database schema > - And incidentally break the bug you fixed yesterday"
Only then do you have a chance to stop it: "Wait — I just wanted to add a button, not refactor the entire project!"
Plan mode doesn't save the AI — it saves the wisher.
---
6. Those "Feels-Good" Requirements
Back to the social app requirement from the opening.
If the AI executes directly, it might:
> "Implementing this requirement demands: > 1. Reverse-engineering the proprietary protocols of three super-apps (legal risk) > 2. Maintaining three entirely different UI state machines (technical debt) > 3. Handling real-time message sync across three platforms (performance nightmare) > 4. A budget of at least 5 million yuan and a 2-year timeline"
At this point, even the most naive wisher should realize their wish is the problem.
---
7. What Does a Good Plan Mode Look Like?
An excellent AI coding assistant should, at the Plan stage:
1. Requirement Clarification
> "When you say 'WeChat on the left' — do you mean a similar UI layout, or integrating WeChat's messaging protocol?"2. Option Comparison
> "Option A: WebView wrapper — fast but poor experience. Option B: native development — slow but better experience. Which do you choose?"3. Risk Warning
> "This change affects the user login module. I recommend backing up the database first."4. Explicit Costs
> "Implementing this feature requires introducing library X, adding 50MB to the bundle size."---
8. Conclusion: Plan Mode Is a Form of Mercy
Many people see Plan mode as the AI's "nagging" and can't wait to skip it.
But consider another angle: an AI that's willing to confirm details with you before acting is, in fact, showing mercy.
It's trying to prevent this scenario:
> Three weeks later, staring at a tangled mess of code, you finally realize: > "So the price of the wish I made back then was the maintainability of the entire project."
Just as Kiritsugu Emiya only understood at the end:
The price of wishing to save all humanity is becoming the butcher of all humanity.
Plan mode can't give you a perfect implementation, but it at least gives you one chance to change your mind.
---
> *"Before the AI acts, look at how it intends to act. This may be your last chance to correct the mistake."*