GitHub Copilotの能力を最大限に引き出すためのヒントとは GitHubが紹介:関連性が高く有用なコード提案を生成するための戦略
GitHub Copilotのコード補完機能を最大限活用するためには、できるだけ多くのコンテキストを提供する必要がある。本稿ではテキストエディタでより多くのコンテキストを提供するためのヒントを紹介する。
GitHubは2024年3月25日(米国時間)に公式ブログで、コード補完機能を活用して良質なコード提案を得るために、豊富なコンテキストを提供することの重要性を訴えた。本稿では、同ブログの中からコンテキスト提供に関連する内容に焦点を当て、紹介する。
コンテキストの重要性
大規模言語モデル(LLM)は提供されたコンテキストに基づいた予測をするよう設計されている。つまり、入力やプロンプトによるコンテキストが豊富であれば、予測や出力の質は向上する。
そのため、「GitHub Copilot」などのコード補完機能を使う場合は、できるだけ多くのコンテキストを提供する方法を学ぶことが重要であるとGiHubは述べている。プロンプトウィンドウでモデルに全てのデータを提供する必要がある「ChatGPT」とは異なり、エディタにGitHub Copilotをインストールすることで、アシスタントは作業中のコードからコンテキストを推測することができる。そして、そのコンテキストを使ってコードの提案を行う。GitHubがブログで紹介した、GitHub Copilotにエディタ上でより多くのコンテキストを与えて、適切で有用なコードを引き出すために必要なヒントは下記の通り。
関連ファイルを開く
ファイルを開いておくと、GitHub Copilot にコンテキストが提供される。追加のファイルを開いておくと、GitHub Copilotが提案を行う際に、追加ファイルのコンテキストを利用してより良い提案ができる。しかし、ファイルが閉じられていると、GitHub Copilotはエディタでそのファイルの内容を見ることができない。
GitHub Copilotは、エディタで現在開いているファイルを見てコンテキストを分析し、サーバに送信するプロンプトを作成し、適切な提案を返す。
GitHub Copilotがプロジェクトの全体像を把握できるようにするには、エディタで幾つかのファイルを開いておく必要がある。チャットインタフェースで[#editor]を使用することで、Visual Studio Code(VS Code)やVisual Studioで現在開いているファイルのコンテキストをGitHub Copilotに追加で提供することもできる。コンテキストの切り替えや次のタスクに移るときは、不要なファイルを閉じる。
トップレベルのコメントを付ける
作業中のファイル内のトップレベルのコメントは、GitHub Copilotが作成する作業の全体的なコンテキストを理解するのに役立つ。特に、AIアシスタントに定型コードを生成してもらいたい場合はコメントを付ける。
必要なものについての詳細を記載し、できるだけ多くの情報が含まれるように、適切な説明を提供する。これにより、GitHub Copilotがより適切な提案を提供し、何をすべきかの目標を与えるのに役立つ。例があると、特にデータを処理したり文字列を操作したりする場合の大きな助けとなる。
インクルードとレファレンスの設定
作業に必要なinclude、importsやモジュールの参照は、特定のバージョンのパッケージを扱う場合は手動で設定する。
GitHub Copilotによる提案はあるが、どの依存関係を使用するかは自分で決めておいた方がいい。また、どのフレームワークやライブラリ、そのバージョンを使ってほしいかをGitHub Copilotに伝えると、提案を作成する際に役立つ。
これは、GitHub Copilotを新しいライブラリのバージョンでスタートさせるのに役立つことがある。古いバージョンのコードをデフォルトでGitHub Copilotが提案する場合、より新しいライブラリのバージョンに切り替えて始めることは有用な手順といえる。
意味のある名前を付ける
変数や関数の名前は重要だ。[foo]や[bar]という名前の関数があると、GitHub Copilotはその名前から意図を推測することができず、適切に補完できない。
GitHub Copilotからより大きな価値を得るには、適切なコーディングプラクティスの実践が重要だ。GitHub Copilotはコーディングとイテレーションを高速化できるが、プログラミングの古いルール「ごみを入れればごみが出る」が適用されることは覚えておきたい。
具体的で適切な範囲の関数コメントを書く
コードにコメントを付けると、GitHub Copilotがより適切な提案を提供する助けになる。
関数名は分かりやすく長過ぎないものにする必要があるため、関数にコメントを追加することはGitHub Copilotが必要とする詳細を補うのに役立つ。GitHub Copilotの機能の一つに、プログラミング言語で関数やメソッドのコメントに使用される正しい構文を判断し、コードの動作に基づいてコメントを作成してくれるというものがある。最初の変更としてコメント文の詳細を追加すると、GitHub Copilotがコードで何をしたいのか、その関数とどうやりとりしたいのかを判断するようになる。
[@workspace]エージェントを使う
VS CodeやVisual Studioを使用しているのであれば、さらに先へ進むためにエージェントを利用する方法もある。例えば[@workspace]エージェントはワークスペース全体を認識しており、関連する質問に答えてくれる。そのためGitHub Copilotが提供するコードの出力に対して、より多くのコンテキストを提供できる。
参照用の関連ファイルを添付する
Visual StudioとVS Codeでは、[#file]を使用して、GitHub Copilot Chatが参照する関連ファイルを添付できる。これにより、GitHub Copilotの範囲がコードベースの特定のコンテキストに限定され、より良い結果が提供される。
ファイルを参照するには、コメント欄に[#]を入力し[#file]を選択すると、ファイルを選択するポップアップが表示される。コメント欄に[#file_name.py]と入力することもできる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- GitHub、「GitHub Copilot」の活用方法や組織への展開方法を学べるコースを無料公開
GitHubは、GitHub Copilotの活用方法や組織への展開方法を学べるコンテンツを無料公開した。組織のリーダーが抱きがちな疑問を理解する手助けになるとしている。 - Windows Copilotで「働き方の新時代の推進」、Microsoftが語る3つの戦略
Microsoftは2024年3月に開催されたデジタルイベントで、Copilotや新しいSurface for Business、Windows Cloud PCといったデバイスを通して、顧客のビジネス全体で、AIの安全かつ効率的な活用を推進すると発表した。 - Microsoft、「Visual Studio Code」の「January 2024」を公開 音声コマンド「HeyCode」でCopilot Chatと対話が可能に
Microsoftはクロスプラットフォームエディタ「Visual Studio Code」の最新版「January 2024」(バージョン1.86)を公開した。音声コマンドによるチャットやウィンドウ別のズーム変更ができるようになった。