@kyanny's blog

My thoughts, my life. Views/opinions are my own.

GitHub Copilot/Copilot Chat の Suggestions matching public code が効いてるか確認する

コレ、あるいはコレのこと。

GitHub Copilot policy: Suggestions matching public code

フィルタが動作してて推薦候補がブロックされてるのか、フィルタと無関係に推薦候補がないのかパッと見だとわからなくて不安な場合は、意図的に公開コードと一致する推薦をさせてみると、ちゃんと動作してる様子を観察できる。

非公式・無保証。パラノイア気味な人のための気休めです。

GitHub Copilot

フィルタが効いてる場合

  • [INFO] [streamChoices] [Timestamp] solution N returned. finish reason: [stop] というログがいっぱい出る
  • Completion panel に Synthesizing 0/10 solutions とだけ表示されて補完候補が一つも出ない

GitHub Copilot: suggestions are blocked by the filter

フィルタが効いてない場合

  • [INFO] [streamChoices] [2024-01-05T10:01:30.368Z] solution 3 returned. finish reason: [null] というログがいっぱい出る
  • ↑の直下に [INFO] [solutions] [2024-01-05T10:01:30.369Z] Open Copilot completion: [ (以下コードが続く) というログがいっぱい出る
  • Completion panel に Suggestion 1, Suggestion 2, ... と補完候補が表示される

GitHub Copilot: code snippets are suggested

GitHub Copilot Chat

フィルタが効いてる場合

  • Sorry, the response matched public code so it was blocked. Please rephrase your prompt. Learn more. というメッセージが出て出力が止まる

GitHub Copilot Chat: response was blocked by the filter

フィルタが効いてない場合

  • Sorry, the response matched public code so it was blocked. というメッセージが出ない

GitHub Copilot Chat: response was generated

感想

  • Copilot Chat のほうがフィルタ効いてる場合の結果がわかりやすい
  • Copilot はフィルタがブロックしたことをもっとわかりやすく表示して欲しい(おれはまだ本当にブロックされてるのか信じきれていない)
  • 所属企業がフィルタを有効化してる場合に、動作検証のために一時的にでもフィルタ無効状態にする良い方法がない(不便)