← 기사 목록
日本語https://qiita.com/tags/ai/feed

Cursor の Agent モードを使いこなしたら「的外れな提案」が消えてコーディングが 3 倍速くなった話

추출된 키워드

24
Agent モード·5Cursor·5コーディング·4@Codebase·4.cursor/rules/·4Context 設定·4Chat モード·4pay-per-call-mcp·3リファクタリング·3Codebase indexing·3@Terminal·3@Git·3@Web·3@Docs·3Tailwind CSS·3TypeScript·3clsx·2cn·2S3·2zod·2ErrorBoundary·2Reactコンポーネント·2Server Component·2dark mode·2

원문

7,281
Cursor の Agent モードを使いこなしたら「的外れな提案」が消えてコーディングが 3 倍速くなった話

この記事で紹介する Cursor Agent に pay-per-call-mcp を追加すると、Web検索・企業調査・インボイス検証を Cursor が自律で実行できます。

この記事でわかること

  • Cursor の Agent モードと Chat モードの根本的な違い
  • 「的外れな提案ばかり」を解消する Context 設定のコツ
  • Agent に長い作業を任せて放置するための指示の書き方
  • .cursor/rules/
    でエージェントの行動ルールを事前定義する方法
  • 実際に導入してコーディング速度が 3 倍になった具体的な使い方

はじめに

Cursor を使い始めたとき、一番困ったのは「的外れな提案」でした。

自分: このコンポーネントをリファクタリングして

Cursor: (プロジェクトと関係ない別のファイルを参照して)
        こんな実装はいかがでしょうか?

自分: そこじゃなくて...

コンテキストを正しく渡せていなかっただけでした。

Agent モードと Context 設定を整備したところ、的外れな提案がほぼゼロになり、長い作業を丸投げできるようになりました。

Chat と Agent の違い

Chat モード
  ↓
  コードを提案する(自分で適用する)
  1つの質問に1つの回答
  コンテキストは自分で @指定

Agent モード
  ↓
  コードを自分で書いて適用する
  複数のファイルを連続して変更する
  必要なファイルを自分で探す
  コマンドも自動実行する

Agent は「やっといて」が通じる。Chat は「どうすればいい?」を聞く場所。

Before / After

Before(Chat モードで毎回コンテキスト指定)

自分: @Button.tsx @types.ts @theme.ts
      このコンポーネントを dark mode 対応にして

Cursor: (提案を出す)
自分: (手動でコードを適用)
自分: @Input.tsx @Select.tsx も同じように対応して
Cursor: (別の提案)
自分: (また手動で適用)

→ 30分

After(Agent モードで丸投げ)

自分: src/components/ 以下の全コンポーネントを
      dark mode 対応にして。
      Tailwind の dark: プレフィックスを使うこと。
      変更したファイルの一覧を最後に報告して。

Cursor Agent: (自律的に全ファイルを変更)

→ 5分、自分は別の作業

「的外れな提案」をなくす 3 つの設定

1. @Codebase で全体像を渡す

❌ 的外れになりやすい
「この関数をリファクタリングして」

✅ コンテキストが通る
「@Codebase この関数をリファクタリングして。
  プロジェクト全体のパターンに合わせること」

@Codebase
を入れると Cursor がインデックスを検索して関連ファイルを自動で参照します。

2.
.cursor/rules/
でプロジェクトルールを事前定義

毎回「〇〇の形式で書いて」と言わなくていいように、ルールファイルを作ります:

.cursor/rules/
├── always.mdc          ← 常時適用(5個まで)
├── components.mdc      ← src/components/** に自動適用
├── api.mdc             ← src/api/** に自動適用
└── database.mdc        ← DB操作時に参照
---
alwaysApply: true
---

# 絶対ルール

1. TypeScript の any 禁止
2. コンポーネントの Props は interface で定義
3. Tailwind CSS のみ使用(styled-components 禁止)
4. Server Component デフォルト(use client は最小限)
---
globs: ["src/components/**/*.tsx"]
---

# Reactコンポーネントルール

- export default でエクスポート
- ファイル名とコンポーネント名を一致させる
- Props の型は ComponentProps という名前にする
- エラー境界は ErrorBoundary コンポーネントを使う

3. 最初に「確認してから進む」を伝える

Agent が間違った方向に走り出すのを防ぐ指示:

「src/api/user.ts をリファクタリングしてください。

始める前に:
1. 変更対象のファイルと変更内容の概要を教えてください
2. 影響を受けるファイルがあれば一覧を出してください
3. 確認が取れたら進めてください」

Agent に長い作業を丸投げする指示の型

型 1:複数ファイルの一括変更

「以下の変更を src/components/ 以下の全ファイルに適用してください:

変更内容:
- className の文字列を cn() ユーティリティ関数でラップする
- import に clsx を追加する

条件:
- すでに cn() を使っているファイルはスキップ
- TypeScript エラーが出たら止めて報告

完了したら変更ファイル数を教えてください」

型 2:新機能の実装(一気通貫)

「ユーザーのプロフィール編集機能を実装してください。

仕様:
- フォーム: 名前、メールアドレス、アバター画像
- バリデーション: zod を使う
- API: PATCH /api/users/:id
- 成功時: トースト通知を表示

参考:
- 既存の @src/components/forms/LoginForm.tsx のパターンに合わせる
- API は @src/api/auth.ts の書き方に合わせる

テストも合わせて書いてください」

型 3:バグ修正(調査から修正まで)

「以下のバグを調査して修正してください:

症状: ユーザーがプロフィール画像をアップロードすると、
      2回目以降のアップロードがキャッシュされた古い画像を表示する

調査してほしいこと:
1. 画像の URL 生成ロジック
2. キャッシュの扱い方
3. S3 への upload 処理

修正前に原因の仮説を説明してから進めてください」

よく使う @ コマンドの使い分け

コマンド使いどころ
@Codebase
プロジェクト全体を検索してほしいとき
@ファイル名
特定のファイルを参照させるとき
@Docs
ライブラリの公式ドキュメントを参照させるとき
@Web
最新情報を検索させるとき
@Git
最近の変更を参照させるとき
@Terminal
直前のターミナル出力を渡すとき

Agent を止めるタイミング

Agent に丸投げするとき、止めどきを事前に伝えておくと暴走しません:

「以下の作業をしてください:
...

以下の場合は作業を止めて確認を求めてください:
- 変更ファイルが 10 個を超える場合
- テストが失敗した場合
- 変更内容が仕様と異なると思う場合
- .env ファイルや設定ファイルを変更する必要が出た場合」

まとめ

設定効果
@Codebase
を使う
プロジェクト全体を把握してから提案
.cursor/rules/
で事前定義
毎回の指示が不要
「確認してから進む」を伝える間違った方向への暴走を防ぐ
完了条件と中断条件を明示長い作業を安全に丸投げ

Agent は「何でもやってくれる便利なもの」ではなく「ルールと文脈を整えると一気に賢くなるもの」です。最初の 10 分を投資して設定を整えると、あとは止まらなくなります。

よくある質問(FAQ)

Q. Agent モードはどこから使えますか?
A. Cursor のチャット欄の左上にある切り替えボタン、または

Cmd+Shift+I
で Agent モードに切り替えられます。

Q. Agent が勝手にコミットしてしまいます
A.

.cursor/rules/
alwaysApply: true
のルールに「git commit は必ずユーザーの確認を取ること」と書いておくと防げます。

Q. @Codebase が遅いです

A. インデックスを作成中の場合があります。

Cursor Settings → Features → Codebase indexing
で状態を確認してください。大きなリポジトリは初回インデックスに数分かかります。

Q. Chat と Agent どちらを使えばいいですか?
A. 「どうすればいい?」は Chat、「やっといて」は Agent が向いています。複数ファイルを変更する作業は Agent 一択です。