Vibe Codingの作業計画:AIのPlanモードを活用する
English · 繁中 · Español · 日本語 · Português (BR)
著者: Danko Peng(@dankopeng)
更新: 2026年3月
読了時間: 約12分
計画なしのVibe Codingは迷走する
「なんとなく必要な機能を思いついたらAIに頼む」という進め方は、小さなプロジェクトならうまくいくこともある。しかし規模が少し大きくなると、以下の状況に陥りやすい:
- 何から始めるべきか迷う
- 作った機能が後から別の機能と干渉する
- 「まだ全体の何割くらい完成したか」が把握できない
- 重要な機能を後回しにしすぎて、全体が機能しない状態が続く
これを防ぐのが作業計画だ。
作業計画を作る前に:需要分析書
Vibe Codingのプロジェクトを始めるとき、最初に作るべきものは「需要分析書」だ。プロダクトの要件を整理した文書で、AIと一緒に作る。
AIに伝える:
先にコードを書かないでください。
新しいプロジェクトを始めます。
以下の情報をもとに、需要分析書を作成してください:
プロジェクト名:InvoiceTrack
概要:ソロプレナーが顧客への請求書を管理するSaaS
ターゲットユーザー:
- フリーランサーや一人起業家
- 10-50社の顧客を持つ
- 請求書の支払い状況を一元管理したい
コア機能(MVP):
- 顧客情報の管理
- 請求書の作成と送付
- 支払い状況の追跡(未払い、支払い済み、期限超過)
- 期限前リマインダーメール
明らかに除外するもの:
- PDFエクスポート
- 多通貨対応
- サブアカウント
技術基盤:vibefast.app(Auth、Stripe、Resend統合済み)
需要分析書の形式で整理してください。
不明点があれば質問してください。AIが需要分析書を生成する。内容を確認して、不足している部分を補足する。
需要分析書のテンプレート
AIと一緒に作る需要分析書の基本構成:
# [プロジェクト名] 需要分析書
## プロダクト概要
[1-2行で何を作るかを説明]
## ターゲットユーザー
[誰のために作るか、主な課題は何か]
## コア機能(MVP)
[この版で絶対に必要な機能のリスト]
## 除外する機能
[この版では作らないものを明確にする]
## 技術スタック
- フロントエンド:Remix
- バックエンド:Cloudflare Workers
- DB:D1
- ストレージ:R2(必要な場合)
- 外部サービス:Stripe / Resend / など
## 成功の定義
[どうなれば「完成」と言えるか]この文書があることで、開発中に「これは本当に必要か?」という判断がしやすくなる。
タスクを3つの層に分ける
需要分析書ができたら、実装タスクを3つの層に分ける:
Layer 1:地盤(Groundwork)
アプリが動くための基礎。他のすべての機能がこの上に乗る。
□ データベーススキーマの設計と作成(D1マイグレーション)
□ vibefast.appの認証設定を確認(auth周りの動作確認)
□ 必要な環境変数を整理・設定
□ 基本的なルーティング設定Layer 1なしでは何も動かない。ここが不安定だと後で全部やり直すことになる。
Layer 2:コア機能(Core Features)
プロダクトの本質。これがなければMVPとして成り立たない。
□ 顧客管理(一覧、追加、編集)
□ 請求書作成(顧客を選ぶ、項目を追加、金額設定)
□ 請求書の状態管理(下書き、送付済み、支払い済み、期限超過)
□ ダッシュボード(未収金の合計表示)
□ 期限前リマインダーメールLayer 3:改善・強化(Enhancements)
あれば良いが、なくてもMVPとして機能する。
□ 請求書ページのデザイン最適化
□ メールテンプレートの見た目改善
□ 検索・フィルター機能
□ CSV出力この順番で作る。Layer 1 → Layer 2 → Layer 3。絶対に前の層が完成する前に次の層に移らない。
作業計画をファイルに書く
AIと作業計画を作ったら、プロジェクトのルートにPLAN.mdとして保存しておく:
# InvoiceTrack 作業計画
## Layer 1 - 地盤
- [x] D1スキーマ設計(clients, invoices, invoice_items)
- [x] マイグレーション実行
- [ ] vibefast.app Auth動作確認
- [ ] 環境変数整理
## Layer 2 - コア機能
- [ ] 顧客一覧ページ(/clients)
- [ ] 顧客追加・編集フォーム
- [ ] 請求書作成フォーム
- [ ] 請求書一覧ページ
- [ ] 請求書詳細・状態更新
- [ ] ダッシュボード(未収金合計)
- [ ] リマインダーメール(Cron Trigger)
## Layer 3 - 改善
- [ ] デザインブラッシュアップ
- [ ] メールテンプレート改善
- [ ] 検索・フィルターこのファイルを毎日更新することで、全体の進捗を把握できる。
AIのPlanモードを使う
CursorにはAIが実行前に計画を示すPlanモードがある。
通常のAIへの依頼では、AIはすぐにコードを変更し始める。Planモードでは:
- AIが「何をするつもりか」を説明する
- どのファイルを変更するかをリストする
- 実際には何も変更しない
- あなたが確認して承認する
- 承認後に実際に変更する
これにより「AIが何をするつもりかわからないまま変更が加えられる」という問題を防げる。
Planモードのオン/オフ
Cursorの設定、またはチャット内でPlan modeをオンにする。
または、プロンプトで「計画だけ出してください、実際には変更しないでください」と伝えることで同様の効果が得られる:
以下の機能を実装したいです。
実際に変更する前に、計画を教えてください:
- どのファイルを追加・変更するか
- データベースへの変更はあるか
- 外部APIを呼び出すか
計画を確認してから実装を承認します。
【実装内容】
顧客の請求書一覧ページ(/clients/:id/invoices)計画レビューで確認すること
AIの計画を受け取ったら、以下を確認する:
1. 変更するファイルは妥当か? 「この機能に関係ないファイルが含まれていないか」を確認する。関係ないファイルが変更対象になっているなら理由を聞く。
2. 既存の機能に影響しないか? 「この変更で今動いている機能が壊れる可能性はあるか?」をAIに確認させる。
3. セキュリティ上の問題はないか? 新しいAPIエンドポイントは認証が必要か?ユーザー入力はどう検証されるか?
4. 規模は適切か? 変更が大きすぎないか?一度に変更するファイルが10個以上なら、分割することを検討する。
作業計画の更新タイミング
PLAN.mdは以下のタイミングで更新する:
- 1日の作業終了時(今日何が完成したか)
- 新しい要件が追加されたとき(Layer 3に追加する)
- 優先順位が変わったとき
- 当初の計画で実現できないことがわかったとき
AIに現在のPLAN.mdを読ませてから作業を始めると、コンテキストが一致しやすい:
今日の作業を始めます。
添付のPLAN.mdを確認してください。
次に取り組むべきタスクを教えてください。計画が現実と合わなくなったとき
計画は完璧ではない。作り始めると「思っていたより複雑だった」「この順番では無理だった」ということが出てくる。
そのときの対処:
- 計画を現実に合わせる——計画は固定ではない、発見に合わせて更新する
- Layer 3を削る——MVPの範囲を守るために、Layer 3のタスクを後回しにする
- AIに相談する——「この部分が思ったより難しい。別のアプローチはあるか?」
重要なのは、計画があることで「自分が今どこにいて、どこに向かっているか」を常に把握できることだ。
Danko Peng
X · YouTube · Threads
完全なCloudflareフルスタックテンプレートを今すぐ使い始めたい方へ:
👉 vibefast.app — アーリーバード $99、2026年8月1日より $199 に値上がり。