Open7

[Scrap] GitHub Copilot のイベントに参加した感想・メモ

へぶんへぶん

GitHub Copilot が読み込む情報

GitHub Copilotが読み込む情報は以下の通りで、トークン数の制限が許す限り上から順番に Context に埋め込まれるとのこと。

  1. 言語マーカー:使用されているプログラミング言語情報
  2. パスマーカー:プロジェクト内の現在のファイルへのパス情報
  3. 隣接タブ:他の非アクティブなオープンタブ上のデータ
    a. 隣接したタブから順番に Context に挿入されるそうです。最大20タブまで。
  4. 兄弟関数:現在のカーソル位置の後のデータ
  5. 回収:コードベース中の、他の場所のコード
へぶんへぶん

Tips

  • 重要なタブを開く
  • Comment をちゃんと書こう
    • 3つの S (Single, Specific, Short)を意識しよう
へぶんへぶん

OpenAI の API の各パラメーターについて、もっと知ったほうが良さそう

  • OpenAI の API のパラメーターについて理解すること
  • 各パラメータを調整することで何が実現できるのか、事例ベースで知っておくとより良さそう

Copilot では以下のことをやっているらしい

  • Completion のパラメーターである stopとか suffixをうまく使っているらしい
    • Python が \n が二回出てきたら止めるような制御
へぶんへぶん

Copilot Internals

以下は GitHub Copilot のファンが、VSCode の GitHub Copilot の拡張をリバースエンジニアリングして、内部実装を分析した記事。
https://thakkarparth007.github.io/copilot-explorer/posts/copilot-internals