はじめに
ソーイ株式会社 村上です。
「AIにコードを書いてもらう」という体験はすでにご存知の方も多いと思います。
複数のAIが同じ指示に対してそれぞれ独立した実装を生成し、あなたが最良のものを選ぶ——そんな体験ができるのが、Cursor 2.0で導入されたマルチエージェント機能です。
機能追加後、使いこなせていないなと感じていたため改めて調べてみました。ソーイでの開発業務でも、UIの実装パターンを複数案比較して提案したい場面があり、マルチエージェントが活用できないかと考えました。
この記事では、シンプルなタスク管理ツールを題材に、マルチエージェントを使った開発の練習を行います。
シンプルなTODO機能を開発します。技術スタックはAI Agentにおまかせします。
この記事を読むと、以下のことができるようになります。
- Cursor 2.0のマルチエージェント機能の仕組みが理解できる
- 複数モデルの実装結果を並べて比較・選択する方法がわかる
なお、この記事ではGitの基本操作(init, commitなど)とターミナル操作に慣れていることを前提としています。
1. マルチエージェントとは?
1-1. 従来のAI支援との違い
これまでのAIアシスタントは「1対1」の会話モデルでした。あなたが指示を出し、1つのAIが順番に処理をします。
Cursor 2.0 のマルチエージェントを使うことで、自分がやり直すケースを短縮できます。
| 従来の使い方 | マルチエージェント | |
|---|---|---|
| 処理の仕方 | 1つのAIが逐次処理 | 複数のAIが独立して並列実行 |
| 結果 | 1つの実装が出来上がる | 複数の実装候補が同時に出来上がる |
| 選択 | 出てきたものを使うかそこから修正する | 最良の実装を自分で選べる |
1-2. CursorとClaude Codeのマルチエージェントの違い
マルチエージェントはCursorだけの機能ではありません。AnthropicのCLIツール Claude Code にも同名の機能があります。両者の違いを最初に理解しておくと、Cursorの特徴が掴みやすくなります。
| Cursor | Claude Code | |
|---|---|---|
| 操作環境 | GUIエディタ | ターミナル(CLI) |
| エージェントの役割 | 同じタスクを複数モデルで並列実装し比較 | タスクを役割分担して協調実行 |
| 結果の統合 | 人間が最良の実装を選んでマージ | メインエージェントが自動集約 |
| 向いている用途 | 実装品質を比較したいとき | 大規模タスクを自律的に分解・処理したいとき |
この記事で扱うCursorは「複数の実装候補を並べて人間が選ぶ」スタイルです。GUIで視覚的に比較できることが特徴です。
1-3. 技術的な仕組み
マルチエージェントは内部で git worktree を使っています。
git worktreeとは「同じリポジトリを複数のディレクトリで同時にチェックアウトする」仕組みです。これにより各エージェントが互いに干渉せず独立して作業できます。
project/ ← メインディレクトリ(main ブランチ)
project-worktree-1/ ← エージェント1用(agent-1 ブランチ)
project-worktree-2/ ← エージェント2用(agent-2 ブランチ)
project-worktree-3/ ← エージェント3用(agent-3 ブランチ)
project-worktree-4/ ← エージェント4用(agent-4 ブランチ)
4つのエージェントを起動すると、上記のように4つの独立したディレクトリが生成されます。
マルチエージェントを使うにはGit リポジトリが必須です。git init されていないプロジェクトでは設定をONにできません。
過去にworktree機能についてハンズオン記事を書いているので参考にしてください。
https://qiita.com/sugumura/items/232710ff53c87c10eaba
2. 事前準備
2-1. 必要なもの
-
Cursor 2.0以上 インストール済み
- 記事ではCursor 2.6.1を利用
- Git
2-2. Gitリポジトリの初期化
マルチエージェントには Git が必須です。プロジェクトフォルダで以下を実行してください。
mkdir multi-agent && cd multi-agent
git init
touch README.md
git add .
git commit -m "initial commit"
2-3. Agentモードと「Use Multiple Models」の有効化
- Cursorのチャットを開く
- モデル選択のプルダウンをクリック
- 「Use Multiple Models」をONにする
- 並列実行したいモデルにチェックを入れる
2-4. Cursor allowlistにコマンドを追加する
マルチエージェントがターミナルコマンドを自動実行する際、許可されていないコマンドはブロックされます(allowlist=許可リスト)。プロジェクトで使うコマンド(npm など)をallowlistに追加しておく必要があります。
設定手順:
- Cursor の設定を開く(Cmd+Shift+P / Ctrl+Shift+P)
- 「Cursor Setting」と入力
- 「Agents」を開く
- 「Allowlisted Commands」に
npmを追加する
allowlistに追加しないと、エージェントがコマンドを実行しようとするたびに確認ダイアログが表示されます。自動で進めたい場合は追加しておきましょう。
2-5. .cursor/rules ファイルの設定
.cursor/rules はプロジェクトのルートに置くファイルで、Cursorのエージェントに対する「事前説明書」として機能します。ここに書いた内容はすべてのエージェントが参照するため、複数のエージェントを並列実行するマルチエージェントでは特に重要です。記述した規約が全エージェントの出力に反映され、モデルによって書き方がバラバラになる問題を防げます。
設定できる主な内容:
- プロジェクトの概要・目的
- 使用する技術スタック
- コーディング規約(命名規則・コメント言語・型定義の方針など)
- 禁止事項(
anyの使用禁止など)
今回のプロジェクト向けのサンプルです。
# プロジェクト概要
シンプルなタスク管理ツールです。
# コーディング規約
- コメントは日本語で書く
- 型定義を必ず書く(any 禁止)
- エラーハンドリングを必ず実装する
.cursor/rules はGitで管理するのがおすすめです。チーム全員が同じルールのもとでAIを使えるようになり、コードレビューで毎回指摘していた内容をあらかじめ防げます。
3. マルチエージェントでタスク管理ツールを作る
Step 1:指示を送信する
以下をそのままコピペして送信してください。
シンプルなタスク管理ツールを作ってください。
必要な機能:
1. タスク一覧ページ
- タスクの追加(テキスト入力)
- 完了チェック(チェックボックス)
- タスクの削除
2. 集計ページ
- 総タスク数
- 完了タスク数
- 未完了タスク数
- 完了率(%)をカード形式で表示
ページ切り替えはシンプルなタブUIで実装してください。
技術スタックはおまかせしますが、ローカルで動かせるものにしてください。
Step 2:各エージェントが並列で動く様子を確認する
送信すると、サイドバーに複数のエージェントが同時に動き始める様子が表示されます。各エージェントをクリックするとそれぞれの進捗を個別に確認できます。
- 上部に選択したモデル名が並んで表示される
- 各エージェントが独立したworktreeブランチで作業している
- 速いモデルと遅いモデルで完了タイミングが異なる
- モデルによってユーザに実装確認される場合がある
Step 3:実装を比較して最良のものを選ぶ
全エージェントが完了したら、それぞれの実装を見比べます。
今回それぞれの初回実行時までのUI表示を掲示します。
今回の実行のケースですが、プロンプト送信からSonnet 4.6のみ操作側の実装内容の確認なく実行まで行われました。
Step 4:エージェントのコードを確認する
サイドバーで確認したいエージェントを選択し、ブランチ名隣の「...」をクリックします。「Open terminal worktree」または「Open new window in worktree」で確認できます。
Step 5:採用するブランチをマージして後片付けする
気に入った実装をApplyボタンで適用します。
不要となったエージェントはメニューから「Delete」ボタンで削除します。DeleteするとそのエージェントのWorktreeブランチごと削除されます。
採用した実装のエージェントをDeleteすると、Applyした変更ごと消えてしまいます。必ずApplyが完了してからDeleteしてください。
4. マルチエージェントを使うときのポイント
.cursor/rules をGitで管理すれば、チーム全員が同じルールのもとでAIを使えます。命名規則・コーディング方針など、コードレビューで毎回指摘していた内容を書いておくと全エージェントの出力品質が揃います。
まとめ
この記事では、Cursor 2.0のマルチエージェントを使ってタスク管理ツールを作る流れを解説しました。
- マルチエージェントは「複数のAIが独立して並列実装し、最良を選ぶ」仕組み
- git worktreeにより各エージェントがブランチ単位で独立して動くため、ディレクトリが複数生成されるのは正常
- マルチエージェントには Git リポジトリが必須
-
.cursor/rulesを用意するだけで全エージェントの出力品質が揃う
UIやモックを素早く作りたい場面で特に力を発揮します。短時間で複数の実装案を同時に見比べる体験は、AIコーディングならではの体験だと感じました。複数のモデルを使った比較が気軽にできるのは、日々更新されるAIモデルを活かせるCursorの強みです。PoCを行う場合にぜひ使いたい機能でした。
お知らせ
技術ブログを週1〜2本更新中、ソーイをフォローして最新記事をチェック!
https://qiita.com/organizations/sewii









