
コンテキストとは?
- インテントコンテキスト は、ユーザーがモデルに何をしてほしいかを定義する。たとえば、システムプロンプトは通常、モデルにどう振る舞ってほしいかを示す高レベルの指示として機能する。Cursor で行う「プロンプト」の大半はインテントコンテキストだ。「そのボタンを青から緑に変えて」は明示的なインテントの例で、処方的な指示になる。
- ステートコンテキスト は、現在の状況を記述する。エラーメッセージ、コンソールログ、画像、コードの断片を Cursor に渡すのは、状態に関するコンテキストの例だ。これは命令ではなく、記述的だ。
Cursorでコンテキストを提供する
- パターンがないのにパターンマッチしようとして幻覚が発生し、予期しない結果になる。これは、十分なコンテキストが与えられていないときの
claude-3.5-sonnet
のようなモデルでよく起きる。 - Agent がコードベースを検索したり、ファイルを読んだり、ツールを呼び出したりして、自力でコンテキストを集めようとする。強力な思考系モデル(たとえば
claude-3.7-sonnet
)はこの戦略だけでもかなり進められるけど、最初に適切なコンテキストを渡すことでその後の軌道が決まる。
@ 記号
Symbol | Example | Use case | Drawback |
---|---|---|---|
@code | @LRUCachedFunction | 生成したい出力に関連する関数・定数・シンボルがどれか分かってる | コードベースに関する深い知識が必要 |
@file | cache.ts | 読む/編集すべきファイルは分かってるが、ファイル内の正確な場所は分からない | ファイルサイズによっては、手元のタスクに無関係なコンテキストが大量に含まれることがある |
@folder | utils/ | フォルダ内のすべて、または大半のファイルが関連している | 手元のタスクに無関係なコンテキストが大量に含まれることがある |

ルール
/Generate Cursor Rules
を使って生成することもできる。プロンプトの応酬が続いた長い会話があるなら、あとで再利用したくなる有用な指示や一般的なルールがきっと見つかるはず。

MCP
- 社内ドキュメント: 例: Notion、Confluence、Google Docs
- プロジェクト管理: 例: Linear、Jira

自己収集型コンテキスト
- コードの必要な箇所に print(“debugging: …”) を追加する
- ターミナルでコードやテストを実行する

重要なポイント
- コンテキストは効果的なAIコーディングの土台で、「意図(何をしたいか)」と「状態(何があるか)」で構成される。両方を伝えると、Cursorがより正確に予測できる。
- 自動のコンテキスト収集だけに頼らず、@記号(@code、@file、@folder)を使ったピンポイントなコンテキスト指定で、Cursorを狙い通りに誘導しよう。
- 繰り返し使う知識はルールに落とし込んでチーム全体で再利用し、外部システムとつなぐならModel Context ProtocolでCursorの機能を拡張しよう。
- コンテキストが不足しているとハルシネーションや非効率を招き、無関係なコンテキストが多すぎると信号が薄まる。最適な結果には適切なバランスが重要。