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)をプログラミングタスク用に微調整したバージョンだ。
GitHub Copilotは英語以外の言語も理解できる。例えば、次の例では、スペイン語の「importar」というコメントを英語の「import」だと理解して素早く補完し、コメントに書かれている通りに、必要なライブラリをインポートしている。
さらにGitHub Copilotは、英語から他の言語への翻訳もサポートしている。次の例は「answer」「question」「date」という単語をさまざまな言語に翻訳できることを示した“MilMikDev”氏のツイート動画だ。
GitHub Copilotを使うと、ルックアップデータの辞書を作成できる。例えば、「2文字のISOコードとそれぞれが表す国名の辞書を作成する」というコメントを付け、最初の数行のコードを書くと、GitHub Copilotが期待通りの結果を生成してくれる。
記述したコードに対してテストを書くことは、ソフトウェア開発ライフサイクルの中で重要なステップだが、退屈な場合もある。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のブログ記事
GitHub Copilotを使えば、正規表現を試すプレイグラウンドで時間を費やしたり、開発者向けのQ&Aサイト「Stack Overflow」で正規表現について調べたりする手間がかからない。コメントや関数名を書くことで、GitHub Copilotによる正規表現を用いたパターンマッチングを生成できるからだ。
一部の開発者は、就職の面接を準備するために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がその関数を正しく完成させている。
ツイートを送信する際にTwitterアプリケーションを使うのは当たり前だが、IDEからツイートするのも楽しいだろう。GitHub Copilotでツイートを送信する方法の解説を、GitHubがDev Communityサイトに投稿している。
「Vim」初心者の開発者は、このエディタを終了しようとして苦労することがよくある。これは非常にありふれているため、インターネットミームになっているほどだ。GitHub CopilotはVimのフォーク版であるNeovimで利用できるので、Brian Douglas氏による次の動画のように、GitHub Copilotを使ってNeoVimを終了できる。
「GitHub Copilot Labs」は、GitHub Copilotのアクセス権に付属する補完的な拡張機能だ。サイドバーから使用でき、コードをあるプログラミング言語から別の言語に翻訳したり、コードスニペットについてのステップ・バイ・ステップの説明を得たりできる。
新しいコードベースを把握するのは容易なことではない。だが、GitHub Copilot Labsの「LANGUAGE TRANSLATION」(言語翻訳)機能により、コードスニペットを慣れ親しんだ言語に翻訳し、「EXPLAIN」(説明)機能を使って理解することで、複雑なコードブロックを理解しやすくなる。
Copyright © ITmedia, Inc. All Rights Reserved.