AIエディタの「重さ」の正体を暴く:Cursorを極限までチューニングする技術
こんにちは。開発環境を最適化し、コーディング体験を「作業」から「思考の拡張」へと昇華させることに命を懸けているアーキテクトです。
最近、Cursorを導入して「爆速でコードが書けるようになった!」と喜ぶ一方で、「なぜか時々、猛烈にPCが重くなることがある」という相談をよく受けます。Cursorは単なるVS Codeのフォークではなく、内部でLLM(大規模言語モデル)のコンテキストを管理し、ローカルでRAG(検索拡張生成)を行うためのインデックスを常に構築しています。
この「賢さ」の代償として、リソース管理を怠るとPCは悲鳴を上げます。今日は、Cursorをただ使うだけでなく、「AIエディタの鼓動を制御する」ための、プロレベルのチューニング術を伝授します。
—
1. Cursorはなぜ「重い」のか?:プロセスの正体を見極める
Cursorが重いと感じた時、それは以下の3つのプロセスのいずれかが暴走しています。
1. `cursor-language-server`: コードの静的解析とAI用コンテキストの構築。
2. `embeddings-worker`: ローカルのコードベースをベクトル化し、AIが検索可能な状態にするタスク。
3. `extensionHost`: 既存のVS Code拡張機能との競合や、重いLSP(Language Server Protocol)の干渉。
まずは「どこで負荷がかかっているか」を可視化しましょう。Cursorを開いた状態で、コマンドパレット(`Cmd+Shift+P`)から “Developer: Open Process Explorer” を実行してください。
ここでCPU使用率が常に高いプロセスがあれば、それが犯人です。もし `embeddings` 関連が暴走しているなら、インデックスの再構築がループしている可能性があります。
—
2. インデックス管理:賢くサボらせる技術
Cursorの真骨頂である「コードベース全体を理解する機能(`@Codebase`)」は、裏側で膨大なベクトル計算を走らせています。大規模プロジェクトでこれを放置すると、CPUファンが唸りを上げます。
不要なファイルをインデックス対象外にする
プロジェクトルートに `.cursorignore` を配置し、AIが読み込む必要のない巨大なバイナリやログ、ビルド成果物を排除してください。これにより、`embeddings-worker` の負荷が劇的に下がります。
.cursorignore
AIが解析する必要のないディレクトリを指定してメモリを節約する
dist/
node_modules/
.log
.git/
build/
assets/
インデックスの再構築を制御する
もし、PCが重いタイミングでインデックスが走っているなら、`Cursor Settings > General > Codebase Indexing` から “Rescan” を手動で行い、CPUが落ち着いている夜間や休憩中に処理を完結させるのが、プロの戦略です。
—
3. 拡張機能の「断捨離」と依存関係の最適化
CursorはVS Codeの全拡張機能が使えますが、それが「重さ」の最大の要因になることもあります。特に、LSPが重複している場合が最悪です。
- 重複の罠: Cursor標準のAI機能と、同じ言語を解析する別の拡張機能(例:Prettierの過剰な設定や、重厚なLint系拡張)が競合すると、CPUはLSPのループに陥ります。
- 解決策: 「CursorのAI機能で代替できるものは、既存の拡張機能を無効化する」という判断を下してください。
以下の設定を `settings.json` に加え、拡張機能による不要なバックグラウンド処理を抑制しましょう。
{
// AIエディタの軽快さを損なわないための最適化設定
“editor.suggest.preview”: true,
“files.watcherExclude”: {
“/.git/objects/“: true,
“/node_modules/“: true,
“/dist/“: true
},
// AIの補完速度を優先し、重いLintを抑制する
“eslint.run”: “onSave”,
“prettier.enable”: false // フォーマットはCursorのAIに任せることでCPU消費を抑える
}
—
4. HelloWorld的な動作確認:AIの「重さ」をコントロール下に置く
最後に、Cursorが正常に、かつ軽量に動作しているかを確認する「HelloWorld」的なフローを紹介します。
1. プロジェクトを開く: `Ctrl+K` で、簡単な関数を生成させる。
2. プロセスの確認: 生成中に `Process Explorer` を開き、AIがどの程度のCPUを消費しているか確認。
3. 負荷の収束: 生成終了後、5秒以内に `embeddings-worker` がアイドリング状態に戻るかを確認。
もしここでCPU使用率が下がらない場合、それは「そのプロジェクトの構成が、AIにとって複雑すぎる」というサインです。その場合は、`.cursorignore` を精査し、不要なファイルを削ぎ落としてください。
—
最後に:ツールに振り回されるな、ツールを飼いならせ
Cursorは強力な武器ですが、武器は重すぎれば足枷になります。今日紹介した「インデックスの制御」と「プロセスの監視」をマスターすれば、あなたはAIの暴走に悩まされることなく、常に最高速度でコードを書き続けることができるようになります。
開発環境を最適化するプロセスそのものが、実は最も効率的なコーディングなのです。さあ、この設定を適用して、今すぐあなたのCursorを「世界で一番軽いAIエディタ」に仕立て上げてください。
何か不明な点や、特定のライブラリと競合して困っていることがあれば、いつでも聞いてくださいね。現場の戦友として、全力でサポートします。