🐨

GitHub Copilot認定試験の対策

に公開

GitHub Copilotの認定試験を受験して合格したので覚えてる限りのテスト問題を共有します。

https://learn.microsoft.com/ja-jp/credentials/certifications/github-copilot/?practice-assessment-type=certification

出た内容

1. MicrosoftのAIの六つの規則

Q. AIシステムは人が理解できるようにするべきであるのは?
A. 透明性

========================================================

Q. AIシステムを全世界の人が平等に使用できるようにあるべきなのは?
A. 包括性

特に公平性包括性は間違えやすい印象
僕は

  • 公平性 ... AIモデルを作る段階の話(偏りのないデータ収集)
  • 包括性 ... AIモデルを使う段階の話(人種・性別・年代限らず使えるようにする)

2. AI(Copilot)について

Q. Copilotを使用することによってどんな効果がある?
A. 定型分のコードをCopilotが生成することで反復的な作業の軽減

========================================================

Q. Copilotが生成するコードで注意しなければいけないことは?
A. 創造的にコードを生成するため、人のチェックが必要

========================================================

Q. プロキシサーバーはどこの環境に立ち上がっている?
A. Microsoft Azure

3. プロンプトエンジニアリング

Q. Copilotに最適なコード生成をしてもらうためにプロンプトはどのように工夫したらいい?
A. 「詳細に」「明確に」「わかりやすく」

========================================================

Q. Copilotへ質問するときの工夫
A. 「変数(#selection)をつける」「関連コードをタブに開く」

4. プラン別の機能

Q. ナレッジベースはどのプランでできる?
A. Enterpriseプランのみ

========================================================

Q. プルリクエストの要約機能はどのプランでできる?
A. Enterpriseプランのみ

5. ユースケースごとのCopilotができること

Q. テストケース作成時にCopilotがしてくれること
A. 対象の関数やファイル内容に関するテストコードを生成してくれる

========================================================

Q. 言語のマイグレーション時にCopilotがしてくれること
A. コードやコメントを元に新しい実装方法への改善を提案

6. Copilotの各機能の使い方

Q. エディタ上で直接コードを修正するには?
A. インラインモードを立ち上げて、「/fix」を使用
A. 対象コードをハイライトして、右クリックして「fix copilot ...」を選択

========================================================

Q. GitHub Copilot CLIで提案を受けるためのコマンドは?
A. 「gh copilot suggest」

その他

1. 試験内容が古い

この方もおっしゃってる通り、試験内容は古いです。
https://zenn.dev/luxiar/articles/cca4135840c70e

Copilotを1~2年前から使っている人じゃないと分からない内容がけっこうありました。
例えばプランの名前が現在ではPro or Pro+ですが、試験では以前のIndivisualになってます。

あとAgentモードやモデルの選択機能、MCPやコードレビュー機能も全く出てきません。

2. 選択肢の文章の言い回しに注意

「~自動でできる」系はほぼ違います。
現在Agentモードが登場してて自動でやってくれるので、合ってるようにも思えます...
ただ試験を作成された時にはAgent機能がなかったので、以前のようにエンジニアがCopilotから出力された情報をコピペして反映していた前提になります。

日本語で試験受けたのですが、変な翻訳されてる箇所も特段なかった印象です。

最後に

  • 自動で何かやってくれるものではなくて、あくまでもCopilot(副操縦士)だから、決定判断は人間で行う必要があること
  • 革新的なコードや新しいアルゴリズムの創出などをやってくれるわけではなくて、反復的な定型コードの生成やコードの説明やリファクタリング案の提案をしてくれるもの

上記を大前提において試験に挑むのが良いかと思います!!

ヘッドウォータース

Discussion