[AIDD Lv.1]コマンドとコンテキストの追加でCopilotチャットを使いこなそう!
AI に任せても「思った通りに直らない」――その原因は文脈不足かもしれません。
GitHub Copilot Chat にはAIにコンテキストを渡す方法が色々用意されています。
効率よくAIに情報を伝えるために、GitHub Copilotに用意されている方法を知っていきましょう。
チャットモード
Askモード
いわば「隣の先輩に聞く」スタイル。開いているファイルや選択範囲がそのまま文脈になり、処理の意図やエラー原因を即座に解説してくれます。コードに手を加える心配が一切ないので、調査・質問フェーズでまず試すべきモードです。質問の書き方はふだん話しかける感覚で十分ですが、「いま見ている行を基にロジックを説明してほしい」といった具体的なリクエストを添えると回答がいっそう的確になります。補足情報が欲しいときは #selection を付け足して狭い範囲に絞り込むと、巨大なクラスの中でも「そのメソッドだけ」にフォーカスしたアドバイスが返ってきます。
Editモード
選択したコードを対象に「ここをリファクタリング」や「ロギングを追加して」など自然言語で指示すると、差分(diff)として提案が返ります。提案は VS Code の通常の diff ビューと同じ形式で確認できるため、不意に別ファイルを書き換える心配がありません。変更量が多いときは段階的に複数回に分けて指示するとレビュー負荷が下がり、コミット履歴も散らかりません。スタイル修正やテスト専用ログの挿入など、細かな手直しの“すき間”を自動化する用途に向いています。
Agentモード
“自律エージェント” が複数ファイルにまたがる修正、ビルド、テストまで自動実行します。README・設計書・テスト方針など 豊富なコンテキスト を与えるほど精度が向上する仕組みなので、Add Context ボタンで関連文書を惜しまず添付しましょう。コード生成のスコープが広いぶん想定外の影響も起こり得るため、専用ブランチを切って CI を通過するまでメインブランチにマージしない運用が安全です。初回は小さなリポジトリで試すと、エージェントの提案傾向を掴みやすくなります。
コマンド
@ の使い方
@workspace を付けるとリポジトリ全体を横断検索し、@vscode はエディタ設定やショートカットの質問に強い“環境の達人”を呼び出します。@terminal はチャット上からシェルを実行する代理人を示し、ビルドコマンドや Lint の実行結果を素早く確認したいときに重宝します。複数の専門家を同時に指名すると、検索からコマンド実行まで一気通貫で行えるため「コード位置も対処方法もまとめて教えて」という丸投げスタイルが実現します。
# の使い方
#file や #selection、さらには #changes といったチャット変数は、AI に与える文脈をピンポイントで指定する仕組みです。たとえば「#MyFile.ts #line42-60 を最適化して」と書けば、その 20 行だけが話題に上るため、長大なソースを丸ごと渡すよりもトークンを節約しながら高精度な回答を得られます。スプリント直前の駆け込み修正など、時間を削りたい場面で威力を発揮します。
/ の使い方
スラッシュコマンドは定型作業を一言で呼び出すショートカットです。/explain は選択コードの動作を自然言語で要約し、/fix は潜在的なバグを検知してパッチを提示します。/tests と書けば仕様と実装を解析して単体テストを生成します。新しいコマンドは拡張機能の更新で追加されることがあるため、ときどき /help を実行し一覧を見直しておくと最新機能を取りこぼしません。
コンテキストの追加
エディタを開く
開いているタブをまとめて共有する機能です。レビューを依頼したいファイルが複数あるときにワンクリックで一括送信でき、都度ファイル名を入力する手間が省けます。表示順はタブの並びが維持されるため、読んでほしい順番をエディタ側で調整するだけで自然な流れのレビューが始まります。
ファイルとフォルダー…
検索ウィンドウにファイル名やフォルダー名を入力し、候補から選択する方式です。深い階層にある設定ファイルや、普段は閉じているユーティリティクラスなども素早く追加できるので、巨大なモノレポでも迷子になりにくくなります。
スクリーンショット ウィンドウ
画面キャプチャを撮影してそのまま AI へ渡す手段です。UI バグの相談や CSS のズレを説明するとき、文字だけでは伝わりにくい情報を補完してくれます。Vision 対応モデルが有効な場合は、画像内のテキストやレイアウト構造を解析して原因を推測することも可能です。
ソース管理…
コミット前後の差分をまとめて共有する方法で、git diff の内容を AI が理解できる形で渡します。「この変更は適切か」「コミットメッセージを生成してほしい」といったレビュー要望を一手に引き受けてくれるため、プルリクエストの品質向上に直結します。
手順
テストファイルや呼び出し階層など、コードの実行経路を自動検索してリストアップします。ユースケース全体を俯瞰するときに便利で、依存関係の抜け漏れ防止にも役立ちます。生成された一覧はそのまま開発ドキュメントに貼り付けられるほど整理された形式で出力されます。
問題…
VS Code の Problems ビューに表示されるビルドエラーやリンタ警告を、行番号付きで一括追加する機能です。エラーメッセージと該当行が結び付いた状態で渡るため、AI は単なる文字列検索より正確に原因を分析できます。警告が大量に出たときは最初にこの機能で一覧を共有し、重大度順に修正を指示すると効率的です。
記号
関数やクラス、定数などのシンボルを単位として追加します。巨大ファイルの中から対象シンボルだけを取り出せるため、「このメソッドの引数チェックだけ改善してほしい」など局所的な要望に向いています。結果を見比べたいときは、別のシンボルを続けて追加して比較すると改善案の妥当性を判断しやすくなります。
ツール
#codebase による全文検索、#fetch での Web 参照、#vscodeAPI へのアクセスなど、多様な補助ツールを GUI から呼び出せます。チャット変数を覚えていなくてもメニューから選ぶだけで済むため、新しく参加したメンバーが学習コストをかけずに戦力化できます。頻繁に使うツールはお気に入り登録しておくと、次回以降の選択が数クリック短縮されます。
まとめ
Ask で疑問を投げ、Edit で局所修正、Agent で一括作成――そのたびに 適切なコンテキスト情報をAIに渡してみてください。
コンテキスト情報の有無で精度の違いを実感できるはずです。
コンテキストを適切に扱い、AIDD Level 2 を目指しましょう。
知識は武器とかけまして、レゴブロックと解く、その心は?
知識のひとつひとつは小さなレゴブロック
でも、組み合わせれば世界を変えるアイディアをカタチにする武器になる!
また Knowledge Oasis でお会いしましょう。
案内人は koふみ でした。
