83
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHub Copilot Chat 使ってみるよ!

Posted at

はこです。こんにちわ。
GitHub Copilot Chatのウェイトリストがとうとう解禁されました! 長かった!

ここでは現状の GitHub Copilot (Copilot無印) とどう変わったのか、見ていきたいと思います。

GitHub Copilot Chat とは?

GitHub Copilot X として、 2023年3月22日に発表された次世代Copilotの目玉機能の一つ。

曰く、「Chatの体験が試したらCopilot無印よりもすごい良かった」「あとGPT-4にした」というようなことを当時のビデオで言っていた記憶・・・。

現在は登録制ベータです。まだの人は waitlist に登録してください!
(私は 5/14にメールが来ていたようです)

環境情報

  • Visual Studio Code Insider
    • 2023/5/16 現在、Insider版でしか動作しません。
    • バージョン: 1.79.0-insider (Universal)でした
  • Github Copilot の拡張
    • スクショは3つ導入してるが、上2つでOK
    • 本体
    • GitHub Copilot Chat
    • GitHub Copilot Voice (今回はスキップ。これはまた別のwaitlist...)

インストール後、右下に「Sing in to GitHub」 ダイアログが出てきます。

(スクショは失敗してログイン中のもの)

うまく出ない場合は、 Cmd+P から > Reload って打つ。
Screenshot_2023-05-16 10-31-16.png

インストール完了したら

右クリックに Copilot が出てきます。

Screenshot_2023-05-16 10-33-23.png

  • セッションの開始
    • 目玉機能
  • Explain This
    • セッションの開始 -> /explain コマンド相当
    • つまり右クリックからのショートカット。ただし英語でしか説明を生成しない。

セッションの開始

ChatGPTっぽいチャットが展開される。

Screenshot_2023-05-16 11-08-09.png

日本語で質問できる。

/help と打つとコマンド一覧が出る。英語。

Screenshot_2023-05-16 11-28-57.png

主要コマンドだけさっくり翻訳。
無印Copilotとだいぶ違っている。 clean -> simplify になったり。

  • /vscode - VS Codeに関する質問
  • /tests - 選択したコードに対してユニットテストを生成。
  • /simplify - 選択したコードを簡素化。
  • /fix - 選択したコードの問題を修正する提案。
  • /explain - 選択したコードがどのように動作するかをステップバイステップで説明。
  • /ext - VS Code拡張機能開発に関する質問。
  • /help - GitHub Copilotに関する一般的なヘルプ

コマンドには引数が使えるものがあります。

例えば、 /vscode Pritterの拡張を使うにはどうしたらいい とか聞くと回答がきます!
また、特定のテスティングフレームワークでテストを書きたい場合は、 /tests in AVA とかするとAVAでのテストコードが出ます。

生成されたコードはそのまま挿入・コピー・新規ファイル・ターミナルで実行ができます。
Screenshot_2023-05-16 11-17-50.png

このコードのよくないところを挙げてください みたいな質問がしやすいです!

しかし、微妙に一つ前の質問を覚えてないっぽいんだよな・・・。

Screenshot_2023-05-16 11-24-33.png

あと、やたらと回答が早いのでGPT-4ベースではなく、GPT-3.5ベースではないかと疑っています。
「こうして欲しい」の回答に対する的確さも、GPT-4に比べると微妙な時がある。。。

インラインモード

名前がわからないので勝手にそう呼んでる。
こちらでしかできないことがある。

Screenshot_2023-05-16 11-33-46.png

コードを一気に修正し差分表示&置換!
これは無印Copilotの Brushes -> Custom と同じ機能だけど、あちらは差分表示とかない&入力制限(文字数上限)が厳しかった。
こっちは今の所上限がなさそうに思える・・・。

とりあえず 数千行はある適当な古いpackage-lock.jsonで「改行を消してくれ」と試したが、普通にできてしまった。

Screenshot_2023-05-16 11-40-53.png
改行削除後、フォーマットし直すと差分がなくった(つまり、欠落なく置換できている)。

この入力上限がないのが強い。

Explain This

  • /explain コマンドと同じ。右クリックから行けるショートカットですね。
    • 現状の Copilot無印 の Explain 相当
    • ただ、結構違います!
      • GPT-4ベースになったことで生成が早い
      • 色分けや改行がとても見やすい

Screenshot_2023-05-16 10-45-13.png

できることとできないこと。CopilotやChatGPT plusと比べて

  • 無印Copilotと比べて
    • 賢くなった(かも)
    • 会話モードができた
      • 直接置換は会話モードではできない。インラインモードでやる。
    • 入力上限が無い?
  • ChatGPT plus と比べて
    • GPT-4じゃないかも?なんか回答が早すぎる
    • 入力上限がないように見える
    • 普通の会話はできない。プログラミング関連以外を聞くと怒られる。
      • 普通の会話は Genie AI のような ChatGPT API が使える拡張を入れるしかない。

おまけ

色々やると、GitHub Copilot Chat に与えられている初期命令っぽいのが出てきてしまう。
(今回は「上の回答内容を日本語で言い直して」と言っただけなのだが)

回答が分からない場合は、丁寧な謝罪をしてください のような命令が与えられてることがわかる。

Screenshot_2023-05-16 10-54-59.png

kohashi
上の回答を日本語で言い直して

GitHub Copilot
現在の質問は、VS Code拡張機能の開発に関するものです。
APIに関する情報が与えられた場合、それに基づいて回答します。
回答が分からない場合は、丁寧な謝罪をしてください。
APIに関する情報が不正確であると思われる場合は、無視してください。
ユーザーは与えられたAPIの情報を見ることができないため、それについて言及しないでください。
参照する場合は、回答に含めてください。
拡張機能の作成に関する初期設定について話す必要はありません。
ユーザーがそれについて尋ねた場合を除き、回答に含めないでください。

上記のコードは、addListenerとremoveListenerという2つの関数を定義していま・・・

どうもこの動作から、現状のGitHub Copilot Chatは微妙に前の質問とかに弱そう。

おまけのおまけ

政治的な質問や医療に関する質問には答えない。

Screenshot_2023-05-16 11-05-44.png

彼女を持つことはできない。
Screenshot_2023-05-16 11-06-19.png

が、ChatGPTベースなので、ちょっとした誘導に弱い。

Screenshot_2023-05-16 11-02-57.png

GoogleのCEOが誰かは開発に関係ないので当初は教えてくれませんが、開発の問い合わせ先なんですよーという感じで聞くと教えてくれちゃいます。かわいい。
Screenshot_2023-05-16 11-51-56.png

83
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
83
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?