NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

Cursor及びClaudeCodeのPlanモードを試す

はじめに

株式会社ネクストスケープ Chief Technology Office所属の小野塚です。

ここ最近、CursorとClaudeCode、それぞれアップデートがあり、色々と調べているところではありますが、最近公開されたCursorのPlanモード、そして、それに似たものとしてこれも先日公開されたinteractive question toolについて触れてみたいと思います。
どちらも出力品質を高めるため、要件に関する確認質問が行われ、それに対して答えていきます。
そうすると詳細な計画書が作成されますのでそれをレビューまたは編集し、準備ができたらその計画を元に作業を進めていくというものです。

CursorのPlanモード

まずはCursorから。
複雑なタスクを記述すると、Cursor が自動的に Planモードを提案してくれるそうですが、今回はAgent の入力欄で Shift + Tab を押して意図的にPlanモードに切り替えます。
下記赤枠部分はプルダウンになっているので直接切り替えてもOKです。

画像
いつもの私の記事ではToDoアプリをベースに試してきてましたので今回も例に漏れず、以下のようなプロンプトを投げてみます。
「ToDoリスト機能の仕様を作成してください。タスクの追加、完了チェック、削除機能を含めて、基本的なToDoアプリとして動作するようにしたいです。要件から実装タスクまで段階的に作成してください。」

画像
すると上のように質問が出てくるのですが、ちょっと文字が小さくて見づらいという方に以下にその内容を挙げておきます。

「ToDoリスト機能の仕様を作成する前に、いくつか確認させてください:
1.ToDoリスト機能の実装方法はどれがよろしいでしょうか?
 a) 単純なメモリ内保存(再起動で消える)で進める
 b) データベース(SQLite等)を使用して永続化する
 c) JSON/XMLファイルに保存する
2.UIの実装方法はどちらがよろしいでしょうか?
 a) 既存のRazor Pagesに追加する
 b) Web API + JavaScriptでSPA風にする
3.複数ユーザー対応は必要でしょうか?
 a) 不要(単一ユーザー向けシンプルなToDoリスト)
 b) 必要(ユーザーごとにToDoを管理)」

いきなり言われても。。という場合も有ると思いますので、その場合は以下のようにメリット・デメリットを更に聞いてみて深堀します。

画像
当然上記の選択肢のいずれも気に入らなければ更に相談して別の選択肢を考えてもらうこともできます。
では、実装方法は「b) データベース(SQLite等)を使用して永続化する」、2は「b) Web API + JavaScriptでSPA風にする」、3は「b) 必要(ユーザーごとにToDoを管理)」」で進めてもらうよう指示します。
すると以下のように上記の回答に基づいて実装計画が作られます


そして、その計画を実施しても良いかを聞かれますので以下の画面で右下の「Build」をクリックします。


そしてあとは今までのCursorでの実装と同様、アプリが作られて。。という形になります。
仕様駆動開発というほどではないかもしれませんが、作業を行う前に計画の策定・提案をCursorが行ってくれます。

ClaudeCodeのinteractive question tool

そして、Claude Codeの方ですが、こちらはバージョン2.0.21で実装された「interactive question tool」というものになります。

Shift+Tabを2回押すことでPlanモードに移行し、interactive question toolが動作するようですが、Planモードに切り替えなくても質問の内容によって、あるいは明示的に「interactive question toolで」、と依頼することで同様の対応となるはずです。

では、同じToDoアプリの作成をこのinteractive question toolで依頼します。
すると以下のように大項目とその下の各選択肢が表示され、それぞれを選んでいく形になります。


画面だけではわかりづらいかもしれませんのでもう少し文章で説明すると、大項目として

  • 機能範囲
  • データベース
  • UIデザイン
  • 追加機能

とあり、例えば「機能範囲」の選択肢として

  • 基本的なCRUD
  • タスクのカテゴリ分類
  • タスクの期限設定
  • タスクの完了状態管理

等があり、複数選択できるものはそれぞれにチェックを付けて。。といった形で細かく指定ができます。
一応他の大項目ごとの選択肢も挙げておきます。




ちなみに上記選択肢に追加したい場合は各大項目内の各選択肢の最後に「Type something」という選択肢があると思います。
選択肢に自身の希望のものがなく、何か独自の選択肢を追加したい場合はこの部分にそれを書き込んで選択すれば計画に含めてくれます。いわゆる自由記入欄ですね。

所感

いかがでしょうか。Claude CodeのPlanモードは元々Cursorのものとほぼ同様の機能だったと思うのですが、interactive question toolでは文字通り、よりインタラクティブになり、選択肢から取捨選択を行うことでClaude Codeとの意思疎通、認識の確認、指示の明確化がしっかり行えるようになった印象です。

ちなみにClaudeでは9月末にSonnet4.5が使えるようになり、今回もそれを使っての実装となりました。Claude Codeは比較的触る機会が少なかったのですが、今回ToDoアプリの作成はかなりスムーズに進んだ印象です。
今までのAIツールではビルドや実行時にうまくいかないことが1~2回発生しており、それを解消するために更に何らかのプロンプトを実行せざるを得なかったのですが、そういったユーザーの介在を一切必要とすることなく、実装からビルド・起動まで一気にこなしてくれました。
当社でもClaude Codeを利用する方は多く、さすがだなという印象です(私は主にCursor+Codexを使っています)。

「どれが一番優れている」ではなく、人間のチーム同様に個性がありますのでそれぞれに相談してみて進めていくといったことが必要なのかもと改めて思った次第です。
個人的にはレビュー時やセカンドオピニオンとして別のモデルを使うように意識しているのですが、更に視野を広げて利用した方が良いのかもしれませんね。

当社ネクストスケープはこのように生成AIを始めとした新しい技術・知識を日々取り入れており、Webサイト、スマホアプリ、Hololensアプリの開発をはじめ、CMSを利用したサイトの新規構築やリニューアルなど、お客様のニーズに幅広く対応いたします。お困りのことがございましたら、いつでもお気軽にお問い合わせください。

nextscape.net

(以下当社お問合せフォーム)

Microsoft Forms

当社では一緒に働いてくれる仲間を募集しています。是非以下のサイトよりお申込みください。

recruit.nextscape.net