AIペアプログラミング「GitHub Copilot」を試したくなる! 8つの便利な利用法がこれだ:非英語話者のサポート、辞書作成、コードテストなど
GitHubはAIペアプログラミングツール「GitHub Copilot」の楽しく有益な8つのユースケースを紹介した。コードのテストに役立てることはもちろん、不慣れなプログラミング言語を慣れ親しんだプログラミング言語に翻訳するといった使い方もできるという。
GitHubは2022年9月14日(米国時間)、2022年6月に一般提供を開始した「GitHub Copilot」について、楽しく有益な8つのユースケースを紹介した。
GitHub Copilotは「Visual Studio Code」「Visual Studio」「Neovim」、JetBrainsの一連の統合開発環境(IDE)などで拡張機能として使用できるAIペアプログラミングツールだ。GitHubは「AIペアプログラマー」とも呼んでいる。
開発者がコードを入力している間に、編集中のファイルや関連ファイルのコンテキストを分析し、個々の行や関数全体の候補を提案する。「Python」「JavaScript」「TypeScript」「Ruby」「Go」「C#」「C++」などのプログラミング言語に対応している。
GitHub CopilotはOpenAIが開発した新しいAIシステム「OpenAI Codex」を利用して機能する。Open AI CodexはOpenAIが開発した強力な自然言語処理モデル「GPT-3」(Generative Pre-trained Transformer 3)をプログラミングタスク用に微調整したバージョンだ。
(1)英語が母語でない開発者をサポートできる
GitHub Copilotは英語以外の言語も理解できる。例えば、次の例では、スペイン語の「importar」というコメントを英語の「import」だと理解して素早く補完し、コメントに書かれている通りに、必要なライブラリをインポートしている。
さらにGitHub Copilotは、英語から他の言語への翻訳もサポートしている。次の例は「answer」「question」「date」という単語をさまざまな言語に翻訳できることを示した“MilMikDev”氏のツイート動画だ。
(2)ルックアップデータの辞書を作成できる
GitHub Copilotを使うと、ルックアップデータの辞書を作成できる。例えば、「2文字のISOコードとそれぞれが表す国名の辞書を作成する」というコメントを付け、最初の数行のコードを書くと、GitHub Copilotが期待通りの結果を生成してくれる。
(3)コードをテストしやすい
記述したコードに対してテストを書くことは、ソフトウェア開発ライフサイクルの中で重要なステップだが、退屈な場合もある。GitHub Copilotはパターン認識とパターン補完に優れているため、単体テストやビジュアルリグレッションテストなどを書くプロセスを加速できる。
GitHub Copilotをテストに使うための学習リソースとして、GitHubは次の3つのWebサイトを挙げている。
・Using GitHub Copilot to Automate Tests(GitHub Copilotによるテスト自動化)、Colby Fayock氏のApplitoolsでのブログ記事
・Make Testing Easy with GitHub(GitHubでテストを容易に)、GitHubのApplitoolsでのウェビナー
・Writing Better Tests with AI and GitHub Copilot(AIとGitHub Copilotでより良いテストを作成)、CodeCovのブログ記事
(4)正規表現によるパターンマッチングがたやすい
GitHub Copilotを使えば、正規表現を試すプレイグラウンドで時間を費やしたり、開発者向けのQ&Aサイト「Stack Overflow」で正規表現について調べたりする手間がかからない。コメントや関数名を書くことで、GitHub Copilotによる正規表現を用いたパターンマッチングを生成できるからだ。
(5)技術面接の準備に役立つ
一部の開発者は、就職の面接を準備するためにGitHub Copilotを利用している。その方法は次の通りだ。
・まず、GitHub Copilotを使わずに問題を解いてみる
・問題を解いているときに、ひどく行き詰まって落ち込んでしまったら、GitHub Copilotを有効にし、問題の良い解き方のアイデアを得る
・その後、GitHub Copilotが生成したコードを削除し、GitHub Copilotを無効にして、新しい情報を踏まえてもう一度解き方を考えてみる
この方法により、めげそうなときでも立ち直れる。メンターや仲間がいなくても、投げ出すことなく、新しい視点が得られる。GitHub Copilotはいわば、デジタルメンターになるのだ。
チェスのプレイヤーがスキルアップのためにAIエンジンと対戦するように、開発者もAIによって自分と違う問題解決アプローチに触れることで、問題解決力を磨くことができそうだ。
アルゴリズム問題の解決にGitHub Copilotを利用する方法の解説を、GitHubがDev Communityサイトに投稿している。次の例では、「write a binary search algorithm」(二分探索アルゴリズムを書く)というコメントと、関数の1行目を書くと、GitHub Copilotがその関数を正しく完成させている。
(6)ツイートを送信できる
ツイートを送信する際にTwitterアプリケーションを使うのは当たり前だが、IDEからツイートするのも楽しいだろう。GitHub Copilotでツイートを送信する方法の解説を、GitHubがDev Communityサイトに投稿している。
(7)Vimを簡単に終了できる
「Vim」初心者の開発者は、このエディタを終了しようとして苦労することがよくある。これは非常にありふれているため、インターネットミームになっているほどだ。GitHub CopilotはVimのフォーク版であるNeovimで利用できるので、Brian Douglas氏による次の動画のように、GitHub Copilotを使ってNeoVimを終了できる。
「How do I exit vim?」(vimを終了させるにはどうする?)というコメントを書き、GitHub Copilotを使ってNeoVimを終了させる(クリックで再生、Brian Douglas氏の動画)(提供:GitHub)
(8)Copilot Labsで新しいコードベースをナビゲートできる
「GitHub Copilot Labs」は、GitHub Copilotのアクセス権に付属する補完的な拡張機能だ。サイドバーから使用でき、コードをあるプログラミング言語から別の言語に翻訳したり、コードスニペットについてのステップ・バイ・ステップの説明を得たりできる。
新しいコードベースを把握するのは容易なことではない。だが、GitHub Copilot Labsの「LANGUAGE TRANSLATION」(言語翻訳)機能により、コードスニペットを慣れ親しんだ言語に翻訳し、「EXPLAIN」(説明)機能を使って理解することで、複雑なコードブロックを理解しやすくなる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Microsoft、AIモデルが生成したコードの正確性を向上させる「Jigsaw」を紹介
Microsoftは、AIモデルによるプログラムコードの生成性能を向上させる新しいツール「Jigsaw」を紹介した。 - GitHubが、AIペアプログラマー「GitHub Copilot」を個人開発者向けに一般提供開始
GitHubは、同社がAIペアプログラマーと呼ぶコーディング支援ツール「GitHub Copilot」を、個人開発者向けに一般提供開始した。企業向けのライセンスは、2022年中に提供開始するという。 - GitHubは開発者の生産性向上に、どの程度役立っているのか
ソフトウェア開発者の活動をまとめた年次レポート「The State of the Octoverse 2021」をGitHubが発表した。さまざまな統計情報が分かる他、レビュー人数がどの程度であれば最も生産性が上がるのかといった疑問にも答えを出している。
関連リンク
- 8 things you didn’t know you could do with GitHub Copilot(GitHub Blog)
- GitHub Copilotを正式リリース(GitHubブログ)
- GitHub Copilotドキュメント
- Using GitHub Copilot to Automate Tests(GitHub Copilotによるテスト自動化)
- Make Testing Easy with GitHub(GitHubでテストを容易に)
- Writing Better Tests with AI and GitHub Copilot(AIとGitHub Copilotでより良いテストを作成)
- アルゴリズム問題の解決にGitHub Copilotを利用する方法
- GitHub Copilotでツイートを送信する方法