GitHub Copilot and Copilot X Introduction @yuhattor
エンジニアの強い味⽅!の活⽤⽅法とテクニックYuki HattoriCustomer Success Architect @GitHub Japan
View Slide
本⽇のアジェンダ資料による説明 Demo / QA01 0320 分20 分02今後のCopilotとは10 分
外部連携とAPI安全なソフトウェアをビルド‧スケール‧リリースできるAI原動の開発基盤コラボレーション⽣産性セキュリティスケールAI原動
Copilotで開発業務が55%速く20,000+ の企業にて 採⽤済み繰り返し作業の精神的労⼒が87%低下75% のエンジニアがより満⾜利⽤者数が
⾃分のプロジェクトに特化したコード提案を提⽰コメントをコードに変換繰り返しコードの⾃動補完代替⼿段の提⽰
⼈気のコードエディタ向けの拡張機能Visual Studio CodeVisual Studio neovimAll JetBrains IDEsIntelliJ IDEA, WebStorm, PyCharm, Rider, etc.
概要GPT3.5turboPUBLICDATA⽂脈提案
GitHub.comCopilotProxy1. 認証及びライセンス確認4. 提案の受信IDE ワークスペース2. Copilot⽤トークン受信OpenAIGPT3.5Turbo3. ⽂脈(プロンプト)送信IDE 拡張機能認証
Copilot Proxy Service提案OpenAIGPT3.5Turbo⽂脈(プロンプト)IDE ワークスペースIDE 拡張機能GitHub 所有 Azure テナントデータの流れ• 認証• 感情分析(暴⼒的な表現検知等)• セキュリティフィルター• 感情分析• ⼆重検知OSSフィルター
提案採⽤率 Copilotが⽣成したコードの割合46%35%
エンジニア数70% 78%2時間 41分 1時間 11分完了した割合完了までの平均所要時間我々は95⼈の開発エンジニアを集め⼆つのグループに分けましたJavascriptでウェブサーバーを定義するタスクを与えました50 45CopilotありCopilotなし
Copilot Chat⽂脈を認識したCopilotとのChatGPT式チャット機能コード解説修正コードの提案 コードに対する質問への回答単体テストの⽣成Copilot Chatはエディタ内にある既存コードやエディタで選択されているコード部分に基づいて単体テスト⽤のコードスニペットを⽣成することが可能。Copilot Chatは選択されているコードに対して⾃然⾔語で対象のコードの性能や意図が含まれた解説⽂を⽣成することが可能。エラーや問題の⽂脈に応じてCopilotChatからバグに対する修正コードや解決案を提案することを補助することが可能。特定のコード問題に対して助けや補助をCopilot Chatにお願いすることが可能で、返事は⾃然⾔語またはコードスニペットとして受信可能。可読性向上開発⾔語間の変換Copilot Chatは⼀つの開発⾔語から別の開発⾔語に変換することを補助することが可能。Copilot Chatは抜けているコメントの追加やより適切な変数名の提案等でコード全体の可読性向上を補助することが可能。
Copilot Chat⽂脈を認識したCopilotとのChatGPT式チャット機能/explain 選択されたコードの仕組みを解説/fix 選択されたコードの問題点に対し修正⽅法を提案/help GitHub Copilotに関する⼀般的なヘルプ/tests 選択されたコードに対して単体テストを提案/vscode VS Codeに関する質問への回答/clear セッションをクリアするスラッシュコマンド
GitHub Copilot X
今後のGitHub Copilotリファクタリング (コード翻訳)コードレビュー (コード解説)ドキュメント化今後のGitHub Copilotユニットテストコードエラー検知デバッグコードレビューAI による Pull Request現在のGitHub Copilotコメントをコードに変換繰り返すコードを補完代替⼿段を表⽰1計画2分析3設計4実装5テストと統合6メンテナンスXエディタを⾶び出しSDLC 全体を AI で⽀援
AIが⽀援する未来のソフトウェア開発Copilot for Pull Requestsin Pull RequestでAI支援用タグ追加PR内の変更点に応じて開発エンジニアに対し書いている途中で自動的に文書を提案必要に応じて自動的に警告を行いテストを提案
AIが⽀援する未来のソフトウェア開発Copilot for Docsドキュメント内容に基づいたAIが生成する質問に対する回答以下のドキュメントに対応:• GitHub• React• Azure• MDN• 将来的にはお客様指定のドキュメントにも対応
ターミナル内でCopilotを活⽤Copilot for the CLIターミナル内でコマンドを提案3種類のシェルコマンド:• ?? – 一般的な CLI• git? – git に特化した CLI• gh? – GitHub に特化した CLI生成された提案を見直して実行
GitHub Copilot Futureコードやドキュメントから、ユニットテストを自動生成TestPilotCodespaces上に存在するすべてのコードを使うことで提案を改善GitHub Copilot for*Your* Codebaseキーボードを使わずにコードを書くCopilot Voicehttps://githubnext.com/
https://resources.github.com/copilot-trust-center/