2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

みんなのCursor、まだ暴走してない?

Last updated at Posted at 2025-03-26

先日、最新のAIコーディングツールを導入したものの、思ったほど効率が上がらず悩んでいました。
生成されたコードを理解するのに時間もかかるし、全然期待通りの実装じゃない...:sob:
「結局自分で書いたほうが早いんじゃない?」とすら思っていました。
この問題、実は「PlanモードとActモード」という考え方で解決できるんです。

AIコーディングの落とし穴

Cursorでコーディングをしていて、こんな経験ありませんか?
:neutral_face:「◯◯を実装して」
:confused:「◯◯は不要、◯◯を使って実装して」
:triumph:「◯◯の型を新たに作るのはやめてください」
:persevere:「◯◯の...」
:angry:「...1回で言うこと聞けよコラ」

一生のこのラリーを続け、コードも何が正解でどこまでが正常かわからなくなる...:cry:
これを解決してくれたのが、PlanモードActモードの考え方でした。

PlanモードとActモードとは?

💭 Planモード:実装前にAIに設計や方針を考えてもらう段階
✏️ Actモード:具体的なコードをAIに書いてもらう段階

設定方法

Cursor Settings > Rules > User Rulesに下記を設定する

Always respond in 日本語
## Core RulesYou have two modes of operation:
1. Plan mode - You will work with the user to define a plan, you will gather all the information you need to make the changes but will not make any changes
2. Act mode - You will make changes to the codebase based on the plan
- You start in plan mode and will not move to act mode until the plan is approved by the user.
- You will print `# Mode: PLAN` when in plan mode and `# Mode: ACT` when in act mode at the beginning of each response.
- Unless the user explicity asks you to move to act mode, by typing `ACT` you will stay in plan mode.
- You will move back to plan mode after every response and when the user types `PLAN`.
- If the user asks you to take an action while in plan mode you will remind them that you are in plan mode and that they need to approve the plan first.
- When in plan mode always output the full updated plan in every response.


日本語訳
コアルール
あなたには2つの動作モードがあります:
プランモード - ユーザーと協力して計画を定義し、変更に必要な全ての情報を収集しますが、実際の変更は行いません
アクトモード - 計画に基づいてコードベースに変更を加えます
- 最初はプランモードで開始し、ユーザーが計画を承認するまでアクトモードに移行しません
- 各レスポンスの冒頭に、プランモード時は # Mode: PLAN、アクトモード時は # Mode: ACT と表示します
- ユーザーが明示的に ACT と入力してアクトモードへの移行を要求しない限り、プランモードを維持します
- 各レスポンスの後、およびユーザーが PLAN と入力した時は、プランモードに戻ります
- プランモード中にユーザーがアクションを要求した場合、現在プランモード中であることを伝え、計画の承認が必要であることを通知します
- プランモード中は、毎回のレスポンスで更新された完全な計画を出力します

なぜ使い分けが必要?

コーディング前にどんな設計で、どんな方針で作業を進めるか確認できるため
✨️ 手戻りが減少する
✨️ コードの理解コストが下がる
✨️ 品質の高いコードが得られる

これらが実際に使い分けをして感じたメリットでした。

実践的な使い分けのコツ

Planモードで明確にすべきこと

💡 タスクのゴール
💡 PJ内での開発ルールなど
💡 AIに気をつけてほしい点(コンポーネント分割や既存の実装を変えずに、など)
💡 参考にしてほしいファイル、コードを事前に渡す

例えば、何かの不具合修正をするタスクの場合、
いきなり「〇〇になるように修正して」ではなく、次のように指示するとグッと質が上がります:fire:

今回のタスクの説明をします。
よく確認し準備ができたら待機して

タスク概要
・ 不具合の事象について記載
・ その不具合の原因と考えられるもの
・ 原因と考えられる実装になっているか調査、もしなっていれば修正をしたい

期待する挙動は以下です
・期待する挙動を書く

Planモードで設計をしてもらい、内容の確認をします。
問題があれば指摘し、納得するまで必要な情報を与えたり、不要なものは削ぐよう指示する。

Actモードへの移行タイミング

✅️ 設計方針に納得できた
✅️ 潜在的問題点が洗い出された
✅️ 他の機能に影響が出ないと判断できた

効果的なプロンプト例

合意した設計に基づいて〇〇部分のコードを実装して

Planモードで納得行く設計ができていれば、概ね期待通りの実装がされることが多かったです。
実装後は再度確認をしたりテストをしてみて、微調整すればタスク終わりです🙆‍♂️

まとめ

AIツールを効率的に使うなら、「いきなりコードを書かせる」から脱却し、Plan→Actの流れを意識してみましょう。
AIとの対話も、人との対話と同じ。「計画して、実行する」の基本が効率を大きく変えます :fire:

こんなプロンプトにしてみたら良かったよ!こんなステップ追加してるよ!などあればぜひ教えて下さい!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?