これは何?
GitHub Copilot WorkspaceというGitHubの最新AI機能が使えるようになったので使用感など書いていきます。
GitHub Copilot Workspace公式からテクニカルプレビューに申し込めます。
GitHub Copilot Workspaceはなにが違うのか
従来のGitHub Copilotでは,2024/12/25現在では以下の機能を使うことができます。
- エディタ上でのコードの提案
- Copilot Chatによ: チャットでAIに質問することができる
- プロンプトとして開いているコードやリポジトリ全体を入れることが可能
- コードの要約やテストコードの作成も可能
- 作成したコードをそのままソースに反映することが可能
- プロンプトとして開いているコードやリポジトリ全体を入れることが可能
- Copilot Explain
- チャットでAIに直してほしいところをいうと反映してくれる
- Copilot Chatよりも修正に特化しているのでスピーディーに編集できる
これだけでも,すごいのですが,Copilot Workspaceではより上流工程からAIアシスタントとコーディングできるのが特徴です。
GitHub Copilot Workspace公式に書いてあることをベースに抜粋しておきます。
- タスクの作成: プロジェクトの開始時になにをしないといけないかの計画の洗い出し
- 計画の立案: Issueを解決するための計画をリストで作成してくれる
- GitHub Copilot Workspaceで直接コードを実行できるらしい
Copilot Workspaceを実際に使ってみる
注意
公式のマニュアルリポジトリのVSCode用はこちらになります。現状全機能を試しているわけではないので,適宜こちらを参照してください。
ベースでは自分のアドベントカレンダーの題材にもしているリポジトリを使いました。
動作イメージ
-
あたらしいリポジトリを作ってもよいのですが,今回は既存のリポジトリを選びます。するとこのようなページが表示されます。
VSCodeで開きたい場合,VSCodeアイコンを押すとVSCodeで開けます。拡張機能のインストールやら言われたとおりやります。
(自分はこのアイコンがリポジトリを選ぶまで表示されないのにすぐに気がつけなかったので記載しておきます。) -
Taskを入力する ※2024/12/25現在では,VSCodeからの編集はできなさそう。
# Form認証機能を作成するための計画 ## 実装方針 - 認証画面はhtmlで作成する - localhost/formにアクセスした際に認証画面を表示する - ユーザが認証した場合,redisにある認証情報と照らし合わせる - 認証失敗の場合は再度認証画面を返し,認証成功ならリクエストを転送する
-
Implimented Selected Taskを押す
編集すべき箇所を比較でき,pull requestまで作成できる模様。
ちなみに各編集内容に関してもボタン一つで説明してくれる。More Options→Explain changes
現状ブラウザで作成したTask,Taskをもとに作成したBrainstormはVSCodeとsyncしますが,PlanはSyncしていなさそうです。
ローカルで動作検証などすると思うので個人的にはVSCodeからPlanを作成してImplimented Selected Taskを押すのが良さそうです。
ですが,自分の環境だと,VSCodeから実行した際に以下のエラーが出たので調査中
再度ブラウザからVSCodeで開くを実行するとpushするためのアイコンが現れました。
リモートにpushするのは嫌なので,チェックを外して実行するとブランチが変更され,ローカルに変更が適用されました。
どうやらブランチ名はブラウザで開いているGitHub copilot workspaceに紐付いているようでブランチ名を変更するとセッションが切れてしまいます。
TODO: 名前を指定する方法を調べる
感想
タスクを切るところから編集してpull requestまで全部やってくれるので,人間に必要なのはテストとレビューだけという状態になりました。
AIはこれからUIの戦いになるという話を聞いたことがありますが,デザインと機能が洗練されていてGitHubというプラットフォームは今後さらに使われるようになるだろうなと感じました。