はじめに
普段はCopilotよりもChatGPTを使ってプログラミングしている者です。
偶々、こんな記事を見つけました。
記事の内容をざっくり要約すると、
ChatGPT課金者限定でDeep researchを使って、自分のGitHubリポジトリのコードを解析できます。
接続したリポジトリ(privateも可)内のコードを取得して、質問に対して該当箇所を読み解いて引用付きで回答してくれます。
これまでは(というか昨日までは)、いちいちコードをZip化してアップロードしていましたが、その手間がなくなりそうです。
Copilot無課金勢の自分からすれば、これは最高の機能では?と思い、さっそく試してみました。
導入手順
事前にChatGPTで多要素認証を済ませておく必要があります。
手順
- 右端のアイコン
- 設定
- セキュリティ
- 多要素認証の有効化
1. ChatGPTをGitHubに接続する
https://github.com/apps/chatgpt-connector/installations/select_target
上記のURLにアクセスし、「ChatGPT Connector」をインストールします。
その後、ChatGPTに読み込ませたいリポジトリを選択してください。
2. リポジトリのインデックスを作成する
ChatGPTからリポジトリを利用するには、GitHub上でリポジトリのインデックスを登録する必要があります。
特にPrivateリポジトリは、初期状態でインデックスが作成されていない場合が多いため、必ずこの作業を行ってください。
GitHubの検索バーで
repo:{username/repo_name} import
を実行し、インデックスを作成してください。
※ インデックスの作成には5~10分ほどかかります。
3. Deep researchで読み込むリポジトリを選択する
ChatGPTでDeep researchを選択し、右端の下矢印から情報源としてGitHubを指定します。
入力欄で読み込みたいリポジトリ名を検索し、表示されたリポジトリを選択してください。
なお、この際リポジトリは複数選択が可能です。
※ 読み込みたいリポジトリが表示されない場合は、上述のインデックス登録がまだ済んでいない可能性があります。
PrivateリポジトリをDeep research
実際にDeep researchがプライベートリポジトリをきちんと読み込めているのかを確認するため、いくつか質問してみました。
※なお、後述する Ymmy833y/NippoMaker は公開しても差し支えのないリポジトリです。
プライベートリポジトリなので内容の妥当性は自分にしか判断できませんが、調査結果は期待通りのものでした。
READMEに記載していない技術スタックについても、package.json などから自動的に抽出して回答してくれているようです。
また、Issueの内容をもとにコード修正も依頼してみました。
「共通処理を使ってほしい」や「routesにロジックを書かないで」といった点など、いくつか気になる指摘はありましたが、修正の方向性自体はほぼ正確だったように感じます。
なお、こうした指摘については、これまでにも一度で完璧なコードが出てきた試しはないので、「まぁそんなものか」と思っています。
さいごに
今回Deep researchを試したリポジトリは小規模で、IssueやPRの数も30件ほどしかありませんでしたが、ざっくりとした質問にも関わらず、わずか5分ほどで関連するコードや修正箇所を的確に特定してくれたのには驚きました。
それに、今まで毎回ファイルをZip化してアップロードしていた手間が省けて、とても快適です。
Deep researchの利用頻度が減っていたことで回数制限が最大まで残っていましたが、この調子だとあっという間に使い切ってしまいそうです。
まだ「Deep research × GitHub」機能はβ版ということで、今後も改良されていく余地がありそうですが、正式リリースが待ち遠しい限りです。