Gemini Code Assist
作成日時:2025-07-15
更新日時:2025-07-15
概要
Gemini Code Assist | AI coding assistant
- 個人利用であれば無料
- ファイルやフォルダーを参照して回答してくれる
- プロンプトの履歴を保持している
- Agentic Codingではなく、copilot
- ただし設定で後述のAgentモードに切り替えることも可能。
- Agentモードならば、MCPも使用できる。
コンテキストウィンドウ
AIが対話の文脈を記憶しておくための領域。
チャットが長くなってコンテキストウィンドウがいっぱいになると、古い情報を消す(忘れる)。
この問題への対応は下記。
- 新しくセッションを開始する
- 区切りのいいところで切る。
- タスク(または質問事項)は小さく分割すると、区切りが良くなる。
- 再度、コンテキストを渡す
- 忘れられた内容を再度プロンプトに含めて送信する。
Agentモード
Gemini Code Assistの設定で、Agentic Codingも可能。
詳細は公式ドキュメントを参照すること。
Use agentic chat as a pair programmer | Gemini Code Assist
ルール
回答精度を上げるために、ルール(または文脈、コンテキスト)を読み込ませる。
事前にコンテキストやルールを記載した文書を準備しておく。
ルールの自動読み込み
現状、チャット開始時に特定のルールファイルを自動で読み込む公式機能はない。
(ただし、Geminiが「関連性が高い」と判断したファイルは自動で読み込むことがある)
明示的にルールを適用させたければ、チャット開始時にその文書を読むように依頼する。
ただし、Agentモードの場合、ワークスペースルートや各ディレクトリにあるGEMINI.md
ファイルを自動的に探して読み込む。.htaccess
のように、階層的にルールを適用させることができる。
例えば、プロジェクトのルートに全体的なルールを記載したGEMINI.md
を配置し、
各サブディレクトリに固有のルールを記載したGEMINI.md
を置く、といった運用が可能。
個人的な運用例
私はこの機能を模倣し、プロジェクトルートの直下にGEMINI_ROOT.md
を作成した。
全体的なペルソナやルール、そして「各ディレクトリにGEMINI.md
が存在すれば、それを参照する」という指示を記述。
ルールの効果を高める
下記のように記載する。
- 重要度を明示的に
- Key-Value形式
- ペルソナ
Geminiに参照してほしくないファイルを指定
デフォルトでは、.aiexclude
ファイルか.gitignore
ファイルに記載されているパターンにマッチするファイルは参照されない。
VS Codeの設定(Ctrl
+ ,
)からContext Exclusion
で検索すると、関連設定が表示される。
Context Exclusion File
: 除外パターンが記載されているファイル名を指定する。デフォルト値は.aiexclude
。Context Exclusion Gitignore
:.gitignore
の内容で参照除外するかどうかのフラグ。
.aiexclude
と.gitignore
の両方に設定がある場合、.aiexclude
が優先される。
これらに加えて、ルールファイルに「XXXは参照しないでください」と明示的に記載することも有効。
トラブルシューティング
VS Codeが重い
メモリは3GBくらい使われるし、CPUはたまに80%を超える。
これはGeminiがインデックス作成のために多くのファイルを監視することが一因と考えられる。settings.json
で下記のように監視対象から不要なディレクトリを除外することで、改善する場合がある。
対象フォルダーは適宜設定されたし。
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true,
"**/.hg/store/**": true
},
"search.exclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/*.code-search": true
}
(WIP)Microsoft Defender Antivirus
たまにCPU使用率が跳ね上がる。
GeminiのプロセスとMicrosoft Defenderの「リアルタイムスキャン」が衝突している可能性がある。
対象フォルダーやプロセスを、Microsoft Defenderの監視対象外にすれば改善される可能性がある。
ただし、セキュリティリスクを伴う。
Gemini Code Assistの設定で、Local codebase awareness
をOFFにすれば改善される可能性がある。
ONだとローカルコードベースのファイルを監視して、インデックスを作成しているらしい。
この処理がMicrosoft Defenderと衝突している可能性があるので、OFFにすればこの問題は発生しない。
Gemini Code Assistの回答の精度は低くなる。
→ダメだった。Microsoft Defenderは動くし、回答の精度もかなり下がった。
WSL + Docker + VS Codeか。
ローカルフォルダーとはリンクさせず。
Gitを介してやり取りするか。