IDEにChatGPTを統合、「この関数のテストコードはどこ?」「XXXを実装するならどう書けばいい?」など、AIでコードと対話できる「qqbot」登場

2023年1月11日

テキストから高度なイラストを生成するAIや、人間と自然な対話を可能にするAIが最近話題になっています。

この人間と自然な会話をするAIチャットの代表的なサービスであるChatGPTの派生サービス(Variant of ChatGPT)をVisual Studio CodeなどのIDEに統合し、開発中のコードについて「この関数のテストコードはどこ?」などと対話できる「qqbot」が登場しました。

開発したのはDan Robinson氏。

qqbotにより「XYZが実装されているコードの場所はどこ?」「この関数のテストコードはどこ?」「機能XYZを実装するとしたら、どう書けばいい?」などと人間が質問すると、まるでコードやIDEと対話しているようにチャットで返事をしてくれます。

特に大規模なコードベースを操作するときに有用とのこと。

上記のツイートの画像下部にある「QQBOT」ペインでは、ユーザーからの「このコードベースでPostgresのコネクションプーリングをしているところはどこ?」という質問に、AIが回答しているところが以下のように表示されています。

user: Where is the postgres connection pooling handled in this codebase?

qqbot: The postgres connection pooling is handled in the /Users/drob/qqbot/server/lib/db.ts file. The pool object is instantiated on line 11 with the PG_CONNECTION_STRING environment variable, and runQuery function is used to send queries to the pool.

また下記のツイートでは、runQueryのテストコードのサンプルを要求したところ、2種類のテストコードがチャットAIによって作成され、どちらも有効だったと説明されています。

デバッグにも有用で、下記のツイートではユーザーが「I'mgetting errors in the logs about postrres connection timeout. Where can I increase the timeout?」(ログにPostgresコネクションタイムアウトのエラーがあったのだが、どこにタイムアウトを増加させるところがあるかな?)と質問したところ。

1枚目の画面は、次のようにコードの場所をチャットで回答しています。

fig

2枚目の画面では、そのコードの場所のようです。

fig

qqbot開発者のDan Robinson氏は、「IDEはコードベースを知るべきであり、これからのIDE体験は、コードベースに対応したガイドによるハイコンテクストな対話へと進化していくだろう」としています。

AIがプログラミングを支援するサービスとしてはGitHubのCopilotが先行してサービスを提供しています。GitHubがコードエディタの中でコードをサジェストしてくれるのに対し、このqqbotのようにプログラマが開発中の大規模なコードベースを解析して理解し、プログラマが知りたいことや調べたいことをチャットで教えてくれるというのもまた、GitHub Copilotとは異なるアプローチでAIを用いてプログラミングの効率を大幅に向上させてくれそうなサービスに見えます。

qqbotは現在トライアルの申し込みを受付中です。

ちなみにqqbotは、DigitalOcean、Neon、Pinecone、OpenAIを用いているとのこと。DigitalOceanはクラウドサービス、OpenAIはChatGPTのベースとなるAIサービスです。NeonはおそらくRustでNode.jsアプリを記述するためのフレームワーク、Pineconeはベクトルデータのためのデータベースのようです。

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ 機械学習・AI / 開発ツール



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本