GitHub、Copilotでより高い精度のコードを生成させる方法を指南。関連ファイルを開く、トップレベルのコメントを書くなど

今回は「GitHub、Copilotでより高い精度のコードを生成させる方法を指南。関連ファイルを開く、トップレベルのコメントを書くなど」についてご紹介します。

関連ワード (作成、文字列、補完等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


GitHubは、AIがコードの生成を支援してくれるGitHub Copilotを使いこなすテクニックを示した記事「How to use GitHub Copilot in your IDE: Tips, tricks, and best practices」を公開しました。

How to use GitHub Copilot in your IDE: Tips, tricks, and best practices

記事の中で、プログラマが意図したコードを高い精度で生成AIに生成させるためのテクニックがいくつも紹介されています。これらのテクニックはCopilotに限らず、生成AIを用いてコードを生成させる際の参考になると思われます。

この記事では、紹介されているテクニックのポイントをまとめてみました。

GitHub Copilotでよりよいコードを生成するためのポイント

生成AI活用の基本として説明されたのは、大規模言語モデルを用いた生成AIでは、コンテキスト(文脈)に基づいて予測を行うように設計されているため、生成AIに対する入力やプロンプトがコンテキストに富んでいるほど良い出力が得られる、という原則です。

それゆえ、GitHub CopilotおよびGitHub Copilot Chatを利用する際には、いかに多くのコンテキストをそれらに伝えるかが重要になるわけです。

Open your relevant files(関連するファイルを開いておく)

GitHub Copilotはエディタで現在開いているファイルを見てコンテキストを分析するため、関連するファイルは開いておきましょう。また、不必要なファイルは閉じておきましょう。

Provide a top-level comment(トップレベルのコメントを書く)

作業中のファイルにトップレベルのコメントを書いておくと、GitHub Copilotが全体的な背景を理解しやすくなります。特にデータを処理したり文字列を操作したりする場合は、操作の例があるとかなり役立ちます。

トップレベルのコメントを書く

Set Includes and references(インクルードや参照を設定しておく)

作業に必要なinclude/importsやモジュール参照、特に特定のバージョンのパッケージを扱う場合にはそれらをあらかじめ設定しておくことで、GitHub Copilotがサジェストを作成する際に役立ちます。

Meaningful names matter(意味のある命名は重要)

関数にfooやbarという名前をつけると、GitHub Copilot は名前から意図を推測できないため最適な補完を行うことができません。

Provide specific and well- scoped function comments(具体的かつ適切なスコープの関数のコメントを書く)

関数名はその関数の十分な説明にならないため、関数のコメントはGitHub Copilotが知る必要のある詳細な情報取得に役立ちます。またコード中の具体的で短いコメントは、GitHub Copilotがより正確にコンテキストを理解するのに役立ちます。

Provide sample code(サンプルコードを示す)

GitHub Copilotにサンプルコードを提供することで、あなたが何を求めているかを判断するのに役立ちます。また、現在のコーディング標準やプラクティスに基づいた提案を返すのにも役立ちます。ユニットテストは、個々の関数/メソッドレベルでのサンプルコードを提供できる手段です。

元記事では上記の詳細についてや、GitHub Copilot Chatを活用するためのテクニックなども紹介されています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
セールスフォース、非営利団体向けクラウドサービスなど開始
IT関連
2021-06-08 07:45
Instagramがロシア国営メディアをシェアしたユーザーに警告、ロシアとウクライナのユーザーのフォローリストを非表示に
IT関連
2022-03-10 14:18
「モバイルSuica」リニューアル OS間の移行に完全対応、AndroidならモバイルPASMOと共存可能に
企業・業界動向
2021-02-11 10:20
2026年までに検索エンジンは生成AIのチャットボットにシェアを奪われ、利用が25%減少する。ガートナーの予想
機械学習・AI
2024-03-14 01:39
火災から3カ月 ルネサス、半導体生産能力が100%復旧
企業・業界動向
2021-06-26 02:47
センコーグループ、出張・経費管理SaaSを採用–改正電帳法対応で業務を標準化・スリム化
IT関連
2022-05-15 12:40
職業としてのセキュリティ–セキュリティ人材の未来とは?
IT関連
2023-08-25 09:10
サムスン、2nm製造プロセスのロードマップを示す–2025年に量産開始へ
IT関連
2023-06-29 09:51
欧州のReventが気候・健康・インパクトに特化したファンドで約78億円のハードキャップを達成
IT関連
2022-02-24 11:26
スバル、SCMソリューション導入で需要計画の最適化へ–米国法人で効果を実感
IT関連
2023-08-04 23:35
クラウド関連の製品/サービスへの投資継続で成長を加速–サイオス・喜多社長
IT関連
2023-01-12 05:18
無人運航船プロジェクトMEGURI2040が世界最長距離の無人運航成功、北海道苫小牧-茨城県大洗の約750キロ・約18時間航行
IT関連
2022-02-09 17:12
Stack Overflowがプログラミング分野で最も人気のサイトになった理由–CEOに聞く
IT関連
2022-11-17 05:46
暗礁に乗り上げ、迷走するDX–デジタルシフトウェーブの鈴木社長に解決策を聞く
IT関連
2023-02-01 15:19