-
Notifications
You must be signed in to change notification settings - Fork 0
MS_GitHubCopilotPracticeExam
- 戻る(GitHub資格Copilot)
- GitHub Copilot - 学習ガイドPDF
- GitHub Copilot MS Learn Collections
- GitHub Copilot模擬試験
-
以下、模擬試験をやって、説明できるようにしておくべきトピックを列挙。
-
先ずは、https://ghcertified.com/practice_tests/ から
- 問題数を指定してスタート。
- 全問空送り+採点後に個別にチェックしても良い。
-
問題数が少ないので、
-
Devopstronaut で補足。
https://devopstronaut.com/github-copilot-exam-questions-and-answers-17bd66c05c41 -
トピック毎、GitHub Copilot MS Learn Collectionsで補足
-
- GitHub Copilot = AI ペア プログラマー
- GitHub Copilot によってコーディングが速くなったと答えた開発者の割合は 90%
- 各 IDE のエクステンションから利用するのが最も一般的で簡単
- IDE:VS、VS Code、Azure Data Studio、JetBrains IDEs(IntelliJ とか)、
Vim/Neovim、Xcode、Eclipse - CLI のインストール:
gh extension install github/gh-copilot
移行メモ(略記): 元ページの「Aze Data Studio」は
「Azure Data Studio」の脱字と解して補った。
補足(Azure Data Studio は終了): なお Azure Data Studio 自体は
2026 年 2 月に提供終了が告知されている
(AzureのNotebookを参照)。
後継は VS Code の MSSQL 拡張機能である。
-
GitHub Copilot Editor 構成ファイル:
.github/copilot-instructions.md(Markdown ファイル) -
コンテンツ除外:GitHub のリポジトリ・組織の設定から除外パスを設定
- プライバシーを考慮したさまざまなプラン
(リポジトリ・組織の除外パスの事?)を提供。 - 除外ファイルは「コードの補完/提案」「コードレビュー」に利用されない。
- IDE によっては除外ファイルからのセマンティック情報も
使用されてしまう(完全に無視できない) - コンテンツの除外は即座に適用されない(30 分ぐらいの遅延がある)
- プライバシーを考慮したさまざまなプラン
補足(
copilot-instructions.mdは主流になった): 当時は
「Editor 構成ファイル」という位置づけだったが、現在は
リポジトリ全体に効くカスタム指示として広く使われている
(コーディング規約、使用フレームワーク、レビュー観点などを書く)。
パス単位で分けたい場合は.github/instructions/*.instructions.mdに
applyToを指定する方式もある。
GitHub Copilotも参照。
LLM で一般的なチャット・インターフェイスだけでなく、
インタラクティブにコーディングを行うことを支援する機能が多い。
-
コード行補完:記述中の周辺コンテキストに基づいて
プロンプトなしで提案(ゴーストテキスト)を提供 -
チャット・ビュー:メニュー・バーにある [チャットを開く] から、
もしくは「Ctrl + Alt + I」 -
インライン・チャット:コンテキスト・メニューの [Copilot] →
[Editor Inline Chat] から、もしくは「Ctrl + I」 -
クイック・チャット:VS Code のコマンド パレットで Chat: Open Quick Chat、
もしくは「Ctrl + Shift + Alt + L」? -
スラッシュ・コマンド:
/testsなど、
プロンプトで要求するアクションを手短に明確にできる。 -
スマート・アクション:クリックするだけでワークフローに強力なショートカットを提供
-
CLI:シェル用
-
gh copilot explain:コマンドの説明を取得 -
gh copilot suggest:コマンドの提案を取得
-
GitHub Copilot が調査する範囲と達成する目標を指定
-
ユーザ入力
- コード行補完の場合はユーザ入力なしで記述中の周囲のコード行・コメントを使用
- 現在ファイルと関連ファイル、チャット履歴のコンテキストを分析
- 関連ファイル:エディタで開いているファイル、隣接ファイル、リポジトリ、
URL、ファイル パス - チャット履歴:一時的にメモリに保持され、使用後に破棄され、
ディスクには書き込まれない。
-
参照やコマンド
- 環境参照(
@workspace、@vscode、@terminal) - スラッシュ・コマンド(
/generate、/help、/doc、/explain、/fix、
/optimize、/tests、/new、/newNotebook、/clear) - 環境参照とスラッシュ・コマンドを組み合わせるときは
「@workspace /explain: ...」のようにして使う - プロンプト中でチャット変数(
#editor、#selection、#file、
#terminalSelection、#terminalLastCommand?)
- 環境参照(
移行メモ(助詞): 「環境参照とスラッシュ・コマンドは組み合わせるときは」を
「環境参照とスラッシュ・コマンドを組み合わせるときは」に修正した。
-
コード補完の受入は TAB キー
-
Command palette から
- 選択中のコードを更新する提案は「受入」「破棄」「再実行」から選択して
コーディングを続行。 - 複数のコード補完が提案された場合、左矢印または右矢印を選択して
各提案を確認。
- 選択中のコードを更新する提案は「受入」「破棄」「再実行」から選択して
-
複雑なコード生成:非手続き型処理(正規表現、SQL、LINQ)
-
コード変換:プログラミング言語 → 別のプログラミング言語
-
テストコード生成
- VS Code のテスト エクスプローラーの目的:
ユニット テストの実行とデバッグ、テスト実行の結果の表示、
ワークスペースでのテスト ケースの管理。 - ユニット テストの Arrange、Act、Assert セクション:
ユニット テストをセットアップ、実行、検証のフェーズに
構造化するために使用される。 - ユニット テストのアサーション:引数・戻り値のチェックに分解でき、
無効なデータの処理の防止は引数のアサーション、
関数の成否は戻り値のアサーション
- VS Code のテスト エクスプローラーの目的:
-
修正コード生成
-
バグの修正
-
改善の修正
品質、信頼性、性能、セキュリティ、または、スケーラビリティ、
ユーザビリティ、ポータビリティ
-
-
リファクタリングのコード生成
リファクタリングは、読み易さを向上させ、複雑さを簡素化し、
モジュール性を高め、再利用性を向上させ、
管理しやすく保守しやすいコードベースを作成する。- 考慮事項:読み易さ、複雑さの軽減、モジュール性と再利用性、拡張性など。
- 複雑さの軽減(内部構造、モジュール性と再利用性、拡張性を改善し、
理解、保守、拡張を容易にする) - 読み易さの向上(複雑さの軽減、モジュール性の向上、再利用性の向上)
移行メモ(助詞): 「無効なデータが処理の防止は」を
「無効なデータの処理の防止は」に修正した。
- コードの説明
- レビューとコメント
- ドキュメント生成
- デバッグ支援
- 例外処理改善:例外で機密情報を公開しないようにし、
可能な限り最も具体的な例外をキャッチし、例外を飲み込まないようにする。
移行メモ(誤字): 元ページの行末が「〜しないようにする**・**」と
中黒になっていたため句点に改めた。
-
安全な迅速な伝送とコンテキスト収集
エディタで開いているタブの周囲のコード、ファイル、コンテンツを考慮。 -
プロキシフィルター
- プロンプト・インジェクションなどのブロック
- 有害な言葉のテスト、関連性のチェック、迅速なハッキングの試みの検出
-
毒性フィルタリング
- 生成内容に問題が入らないようにフィルタリング
- 個人データのフィルタリング機能:個人データを積極的にフィルタリング。
-
LLM によるコード生成
-
後処理と応答の検証
-
コード品質、一致する公開コード(オプション)のチェック
パブリック・コード・マッチング機能は、数か月ごとに更新される
公開 GitHub リポジトリのインデックスとコードの提案を比較して一致を検索。 -
パフォーマンス・ベンチマークとメモリ使用量の最適化、有害な言語、関連性、
-
コードの品質(セキュリティの脆弱性を含む)、一意の識別子、
およびオプションの公開コードマッチング
-
-
提案の伝達とフィードバックループの開始
ユーザーのアクションに基づいて学習/改善 -
以降繰返しコード生成機能を改良。
補足(重複検出フィルタ): 「一致する公開コードのチェック」は
学習ガイドの Domain 7 にある duplication detector filter のことで、
提案が公開リポジトリのコードと 150 文字程度以上一致した場合に
その提案を抑止する設定である
(組織・個人の設定で ON/OFF できる)。
ライセンス上の懸念を減らすための仕組みで、
「IP 補償(IP indemnity)」を受ける前提条件にもなる。
GitHub Copilot Business
-
サブスクリプションのアクセス許可
プロファイル ドロップダウン メニューの組織で設定- 組織内の現在および将来のすべてのユーザーにアクセスを許可
- 組織内の特定のユーザーにアクセスを許可
- GitHub の REST API を使用してアクセスを許可
-
Copilot メトリック API:組織メンバーから使用状況の指標を収集する
- 過去 28 日間のデータ
- アクティブユーザー数とエンゲージメントユーザー数
- 言語と IDE 別の内訳
- 企業、組織、チームの指標を表示するオプション
-
自己署名証明書による VPN プロキシ サポート
GitHub Copilot Enterprise
- 組織が独自のコードベースを使用してトレーニングする、
パーソナライゼーションのレイヤー - ドキュメント セットで内部コードとドキュメントのカスタム コレクションを作成し、
提案を特定プロジェクトとドメインに合わせて調整 - LoRA:事前トレーニング済みモデルの各レイヤーに、
完全なオーバーホールなしでトレーニング可能な要素を追加する方法 - プル リクエスト サマリー:コード変更に基づいて
プル リクエストの簡潔な概要を自動的に生成 - 請求サイクル中のシート使用率 = 使用シート数 ×(経過日数 / 請求サイクルの合計日数)
- 有料/無料:今は制限付きの無料版が提供されている。
- Microsoft の責任ある AI に関する 6 つの主要原則:
公平性、信頼性と安全性、プライバシーとセキュリティ、包括性、透明性、説明責任
補足(6 原則は Domain 1 の中心): 学習ガイドの Domain 1
(Responsible AI、7%)は、ほぼこの 6 原則の理解を問うものである。
「公平性・信頼性と安全性・プライバシーとセキュリティ・包括性」の
4 つが実装上の原則、
「透明性・説明責任」の 2 つがそれらを支える基盤、
という構造で覚えると整理しやすい。
-
GitHub Copilot Practice Test :: GitHub Certified
GitHub Copilot 模擬試験 :: GitHub 認定
https://ghcertified.com/practice_tests/copilot/ -
GitHub Copilot 試験の質問と回答 - Devopstronaut
https://devopstronaut.com/github-copilot-exam-questions-and-answers-17bd66c05c41 -
本 Wiki 内
Tags: .NET開発, 構成管理ツール, CI, BI/AI
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。