GitHub Copilot
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[GitHub]]
---[[GitHub Actions]]
---GitHub Copilot
--[[AzureのAI系サービス]](生成AI)
---[[Azure OpenAI Service]]
---GitHub Copilot
* 目次 [#q071777b]
#contents
*概要 [#g8154126]
-AIがコードを自動的に生成し、開発者の生産性を向上させるツ...
-LLM(GPT-4)とIDEを繋ぐ、ExtensionとBridge機能から構成さ...
-殆どの重要な機能は、プロンプトのコントロールと出力の検証...
**ユースケース [#r172099d]
いずれも、GPTのコードやテキストの生成機能を用いている。
***コード生成 [#ec0a95b3]
-生成(Chat的な生成)
--プロンプト:質疑、コメント、テストケース、コードテンプ...
--生成内容:提案、エラー修正、リファクタリング(冗長性の...
-自動補完で生成(IntelliSense的な生成)~
コンテキスト、型推論、APIドキュメント、カスタム
***テストコード生成 [#j40a30d2]
[[コード生成>#ec0a95b3]]の中でも、特殊なユースケースで、~
プロンプトにテスト対象コードを入れ、テストコードをChat的...
-単体テストの生成
-統合テストの生成
-テストカバレッジの向上
***翻訳(GPTの翻訳能力を活用) [#i341f7df]
-コメントの翻訳
-コードの翻訳
--ドキュメント生成
--プログラミング言語間の変換
**メリット [#j69794ca]
***IDE内で完結 [#ua845572]
-[[GitHub Copilot]]はIDE内で全てが完結。
-WebブラウザとIDEを行き来する必要がなく快適に利用可能。
***高精度のコード生成 [#pb638c08]
AIが提示するコードの精度が高く、品質向上に寄与する。
***生産性向上 [#r0cd131d]
日々の開発をスムーズに進めコーディング速度をアップする。
*詳細 [#v222859c]
**機能一覧 [#ma7bd01b]
***コード・サジェスチョン [#m5c6aca0]
-AIがコードのサジェスチョンを提供。
-適切なコード断片を自動的に示す。
***インライン・チャット [#o86a9dd8]
-コードを書いているファイルの中で[[チャット>#c7cbc89b]]機...
-プログラムのベースを新規作成したり、部分的な処理を追加し...
***チャット [#c7cbc89b]
-コードの生成や修正に関する指示をチャット形式で行う。
-AIとの対話を通じて、コードを効率的に作成できる。
***フィルタリング [#wacd5a8a]
-プロンプト・フィルタリング(ユーザーからCopilotへの指示)
--意図しているユースケースかどうか判断する
--
-提案フィルタリング(Copilotからユーザーへの答え)
--オフトピック・フィルタ~
意図しない回答/ユースケースとになっていないかどうか
--パブリックコードとのマッチングフィルタ
---Copilotには、「Publicコードとの一致を防ぐ」という機能
---パブリックコードと一致し、この機能がON(Block)になっ...
---パブリックコードと一致していて、ユーザーがそれを許可す...
--品質、脆弱性フィルタ
---SQLインジェクションやハードコードされたシークレットな...
---このフィルタに引っかかった場合、その旨を知らせる回答を...
-毒性フィルタ
--ヘイトスピーチや差別、自傷などの内容
--中にもさらに2つのフィルタがある。
---LLMとして判別するもの
---あらかじめリストアップされたキーワードとのマッチング
**設定の仕方 [#y09afe8f]
***アカウントに紐付ける [#lc851e5d]
GitHubのアカウントに権利を付与(個別契約や会社契約に紐付...
***IDEにExtensionをインストール [#t773d667]
Visual Studio CodeにGitHub Copilot系のExtensionをインスト...
***IDEからログイン [#cef558bc]
-GitHub CopilotのExtensionから、GitHubにログイン(OAuth系)
-GitHub CopilotのExtensionから、GitHubのWebAPIにアクセス...
***プロキシ環境下での追加設定 [#o88cb786]
Settings.jsonに以下の様な設定を追加
"http.proxyStrictSSL": false,
"http.proxy": "http://<ユーザ名>:<パスワード>@< プロキシ...
「http.proxy」のユーザ名、パスワードはプロキシサーバの設...
**使い方 [#ab291ed7]
***ワークスペースを開く [#yece8b21]
-VS Codeではワークスペースと呼ばれる、フォルダ単位で開く。
-[[GitHub Copilot]]ではワークスペース内のソースコードを参...
-参考になる関連ソース・ファイルは、ワークスペース内に格納...
***IntelliSense [#s9f73cd3]
-CopilotはIDEで用意されている補完機能のように自動で候補を...
-候補はグレーアウトされた状態で表示され、Tabを入力するこ...
***候補を提案させる。 [#j0243c74]
「Ctrl + I」で対話形式でのプロンプトからコードを生成させ...
***複数の候補を提案させる。 [#k5239984]
「Ctrl + Enter」で10の提案を表示する別のパネルが開く。
**雑感 [#ff850ec9]
[[タイタニックデータセットのデータ分類問題をGPTを使って描...
(当然と言えば当然だが、)同様のことが、他のGPT系Chatサー...
***GPT性能 [#f791a580]
-基本的に、コードの提案は実用レベルに達している。
-ただし、あくまでサンプルコードとしての扱い(脆弱性、ライ...
-コレは、ググったサンプルコードの扱いと同じなので、今更感。
-また、ある要件に対して、どのようか仕様をくむべきか?と言...
GPTでは回答できないケースもある(タイタニックデータセット...
***IDE組み込み [#dc24b0d8]
IDE組み込みの場合、
-IntelliSense的な利用が最も意味が在りそう。
-IDEとGPT(Web)間の行き来が不要と言う点は、コーダー的に...
-また、様々なコマンドが用意されているが、これらを使いこな...
***プロンプティング [#m1f1dde7]
他のGPT系Chatサービスとの差別化ポイント
-Chat的に使う場合は、他のGPT系Chatサービスとの差別化ポイ...
-ただし、プロンプティングがブラックボックス化されているこ...
***フィルタリング [#u925667d]
他のGPT系Chatサービスとの差別化ポイント
-GitHub Copilotには[[フィルタリング>#wacd5a8a]]が実装され...
-ただし、[[フィルタリング>#wacd5a8a]]から得られるベネフィ...
-銀行系システムなどでWeb参照なども禁止されるようなシステ...
*参考 [#w29da51c]
-[GithubCopilot]今より活用するためのtips / 裏側~
https://zenn.dev/airiswim/articles/624cc7ba04575d
-GitHub Copilot のセキュリティ・ライセンスに関する懸念の...
https://zenn.dev/miyajan/scraps/3567cee380280c
-GitHub Universe ~Copilotのウラ側!コードが提案されるまで...
https://aadojo.alterbooth.com/entry/2023/11/11/23540000
-Github Copilot のコード脆弱性管理の舞台裏 | HackerNoon~
https://hackernoon.com/ja/GitHub-%E3%81%AE%E3%82%B3%E3%83...
-GitHub Copilot’s Security Filters Don’t Work~
https://codeium.com/blog/github-copilot-security-scanning...
----
Tags: [[:.NET開発]], [[:構成管理ツール]], [[:CI]], [[:BI/...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[GitHub]]
---[[GitHub Actions]]
---GitHub Copilot
--[[AzureのAI系サービス]](生成AI)
---[[Azure OpenAI Service]]
---GitHub Copilot
* 目次 [#q071777b]
#contents
*概要 [#g8154126]
-AIがコードを自動的に生成し、開発者の生産性を向上させるツ...
-LLM(GPT-4)とIDEを繋ぐ、ExtensionとBridge機能から構成さ...
-殆どの重要な機能は、プロンプトのコントロールと出力の検証...
**ユースケース [#r172099d]
いずれも、GPTのコードやテキストの生成機能を用いている。
***コード生成 [#ec0a95b3]
-生成(Chat的な生成)
--プロンプト:質疑、コメント、テストケース、コードテンプ...
--生成内容:提案、エラー修正、リファクタリング(冗長性の...
-自動補完で生成(IntelliSense的な生成)~
コンテキスト、型推論、APIドキュメント、カスタム
***テストコード生成 [#j40a30d2]
[[コード生成>#ec0a95b3]]の中でも、特殊なユースケースで、~
プロンプトにテスト対象コードを入れ、テストコードをChat的...
-単体テストの生成
-統合テストの生成
-テストカバレッジの向上
***翻訳(GPTの翻訳能力を活用) [#i341f7df]
-コメントの翻訳
-コードの翻訳
--ドキュメント生成
--プログラミング言語間の変換
**メリット [#j69794ca]
***IDE内で完結 [#ua845572]
-[[GitHub Copilot]]はIDE内で全てが完結。
-WebブラウザとIDEを行き来する必要がなく快適に利用可能。
***高精度のコード生成 [#pb638c08]
AIが提示するコードの精度が高く、品質向上に寄与する。
***生産性向上 [#r0cd131d]
日々の開発をスムーズに進めコーディング速度をアップする。
*詳細 [#v222859c]
**機能一覧 [#ma7bd01b]
***コード・サジェスチョン [#m5c6aca0]
-AIがコードのサジェスチョンを提供。
-適切なコード断片を自動的に示す。
***インライン・チャット [#o86a9dd8]
-コードを書いているファイルの中で[[チャット>#c7cbc89b]]機...
-プログラムのベースを新規作成したり、部分的な処理を追加し...
***チャット [#c7cbc89b]
-コードの生成や修正に関する指示をチャット形式で行う。
-AIとの対話を通じて、コードを効率的に作成できる。
***フィルタリング [#wacd5a8a]
-プロンプト・フィルタリング(ユーザーからCopilotへの指示)
--意図しているユースケースかどうか判断する
--
-提案フィルタリング(Copilotからユーザーへの答え)
--オフトピック・フィルタ~
意図しない回答/ユースケースとになっていないかどうか
--パブリックコードとのマッチングフィルタ
---Copilotには、「Publicコードとの一致を防ぐ」という機能
---パブリックコードと一致し、この機能がON(Block)になっ...
---パブリックコードと一致していて、ユーザーがそれを許可す...
--品質、脆弱性フィルタ
---SQLインジェクションやハードコードされたシークレットな...
---このフィルタに引っかかった場合、その旨を知らせる回答を...
-毒性フィルタ
--ヘイトスピーチや差別、自傷などの内容
--中にもさらに2つのフィルタがある。
---LLMとして判別するもの
---あらかじめリストアップされたキーワードとのマッチング
**設定の仕方 [#y09afe8f]
***アカウントに紐付ける [#lc851e5d]
GitHubのアカウントに権利を付与(個別契約や会社契約に紐付...
***IDEにExtensionをインストール [#t773d667]
Visual Studio CodeにGitHub Copilot系のExtensionをインスト...
***IDEからログイン [#cef558bc]
-GitHub CopilotのExtensionから、GitHubにログイン(OAuth系)
-GitHub CopilotのExtensionから、GitHubのWebAPIにアクセス...
***プロキシ環境下での追加設定 [#o88cb786]
Settings.jsonに以下の様な設定を追加
"http.proxyStrictSSL": false,
"http.proxy": "http://<ユーザ名>:<パスワード>@< プロキシ...
「http.proxy」のユーザ名、パスワードはプロキシサーバの設...
**使い方 [#ab291ed7]
***ワークスペースを開く [#yece8b21]
-VS Codeではワークスペースと呼ばれる、フォルダ単位で開く。
-[[GitHub Copilot]]ではワークスペース内のソースコードを参...
-参考になる関連ソース・ファイルは、ワークスペース内に格納...
***IntelliSense [#s9f73cd3]
-CopilotはIDEで用意されている補完機能のように自動で候補を...
-候補はグレーアウトされた状態で表示され、Tabを入力するこ...
***候補を提案させる。 [#j0243c74]
「Ctrl + I」で対話形式でのプロンプトからコードを生成させ...
***複数の候補を提案させる。 [#k5239984]
「Ctrl + Enter」で10の提案を表示する別のパネルが開く。
**雑感 [#ff850ec9]
[[タイタニックデータセットのデータ分類問題をGPTを使って描...
(当然と言えば当然だが、)同様のことが、他のGPT系Chatサー...
***GPT性能 [#f791a580]
-基本的に、コードの提案は実用レベルに達している。
-ただし、あくまでサンプルコードとしての扱い(脆弱性、ライ...
-コレは、ググったサンプルコードの扱いと同じなので、今更感。
-また、ある要件に対して、どのようか仕様をくむべきか?と言...
GPTでは回答できないケースもある(タイタニックデータセット...
***IDE組み込み [#dc24b0d8]
IDE組み込みの場合、
-IntelliSense的な利用が最も意味が在りそう。
-IDEとGPT(Web)間の行き来が不要と言う点は、コーダー的に...
-また、様々なコマンドが用意されているが、これらを使いこな...
***プロンプティング [#m1f1dde7]
他のGPT系Chatサービスとの差別化ポイント
-Chat的に使う場合は、他のGPT系Chatサービスとの差別化ポイ...
-ただし、プロンプティングがブラックボックス化されているこ...
***フィルタリング [#u925667d]
他のGPT系Chatサービスとの差別化ポイント
-GitHub Copilotには[[フィルタリング>#wacd5a8a]]が実装され...
-ただし、[[フィルタリング>#wacd5a8a]]から得られるベネフィ...
-銀行系システムなどでWeb参照なども禁止されるようなシステ...
*参考 [#w29da51c]
-[GithubCopilot]今より活用するためのtips / 裏側~
https://zenn.dev/airiswim/articles/624cc7ba04575d
-GitHub Copilot のセキュリティ・ライセンスに関する懸念の...
https://zenn.dev/miyajan/scraps/3567cee380280c
-GitHub Universe ~Copilotのウラ側!コードが提案されるまで...
https://aadojo.alterbooth.com/entry/2023/11/11/23540000
-Github Copilot のコード脆弱性管理の舞台裏 | HackerNoon~
https://hackernoon.com/ja/GitHub-%E3%81%AE%E3%82%B3%E3%83...
-GitHub Copilot’s Security Filters Don’t Work~
https://codeium.com/blog/github-copilot-security-scanning...
----
Tags: [[:.NET開発]], [[:構成管理ツール]], [[:CI]], [[:BI/...
ページ名: