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

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

関連ワード (人間、効率、向上等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


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

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

開発したのはDan Robinson氏。

Introducing qqbot, a variant of ChatGPT that lives in your IDE.

The cool thing about qqbot is that it knows your codebase.

You can ask it questions like:
– Where is xyz implemented?
– Where are the tests for this function?
– If I want to implement xyz, where do I start? pic.twitter.com/OF3EoA2ix4

— Dan Robinson (@danlovesproofs) January 3, 2023

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

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

qqbot can help you navigate a large codebase. pic.twitter.com/XbNrHACDHv

— Dan Robinson (@danlovesproofs) January 3, 2023

上記のツイートの画像下部にある「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によって作成され、どちらも有効だったと説明されています。

qqbot can draft code for you.

"Write me an example test for runQuery in lib/db.ts" –> two tests I hadn't thought to write, both of which work! pic.twitter.com/youOHV2eYp

— Dan Robinson (@danlovesproofs) January 3, 2023

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

qqbot can help you debug. pic.twitter.com/IuKJc96NSX

— Dan Robinson (@danlovesproofs) January 3, 2023

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

fig

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

fig

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

This is where code is headed. Your IDE should "know" your codebase, and the IDE experience will evolve towards guided, high context interaction with it.

Code isn't going anywhere, but we'll interact with it as more of a personalized entity, not a collection of text files.

— Dan Robinson (@danlovesproofs) January 3, 2023

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

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

Signup form here, if you're interested in trying it out. https://t.co/TNbbT7aGYl

— Dan Robinson (@danlovesproofs) January 3, 2023

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

qqbot is running on DigitalOcean, Neon, Pinecone, and of course OpenAI.

These platforms are getting crazy good and it's getting so, so easy to build things.

— Dan Robinson (@danlovesproofs) January 3, 2023

COMMENTS


Recommended

TITLE
CATEGORY
DATE
愛犬とのライフスタイルに寄り添うブランドを構築するFable
IT関連
2022-02-06 07:38
Shellの気候計画における柱はEV充電ステーション、バイオ燃料、水素転換、化学物質
EnviroTech
2021-02-20 10:39
Datadog、日本法人の社長に正井拓己氏が就任
IT関連
2024-02-10 15:38
NTTデータグループが業績発表、「NTT Ltd.」の統合が大きく影響
IT関連
2023-08-10 07:36
「オープンサイエンス」の拡大がイノベーションの促進につながる–NIIが目指す先
IT関連
2023-08-02 05:20
スペースXの次世代超大型ロケットブースターが完成間近
宇宙
2021-03-21 02:50
弾幕シューティングの2大タイトルがコラボ 「怒首領蜂」を手掛けるケイブが「東方Project」の完全新作ゲーム開発を表明 「極意を全て注ぎ込む」
企業・業界動向
2021-07-14 03:46
中央ろうきん、NECの「Digital KYC」を導入–顔認証で本人確認をオンライン化
IT関連
2022-07-31 04:08
ロシア関与、「VPNFilter」後継とみられるマルウェア「Cyclops Blink」–米英が注意喚起
IT関連
2022-02-26 00:19
Google、3月22日の大規模Androidアプリ障害の原因と対策を発表
アプリ・Web
2021-04-22 04:35
アニメ「東京BABYLON 2021」制作中止 「多数の模倣盗用があった」
くらテク
2021-03-30 16:26
PHPとSQLiteをWebAssembly化し、Webブラウザ上でWordPressを実行可能にしたデモをVMwareが公開
PHP
2022-08-22 15:40
プロeスポーツチーム「REJECT」運営元が3.6億円のシリーズA調達、トレーニング環境投資や新規事業開発加速
ゲーム / eSports
2021-04-27 12:09
Google、アプリ実行時に生成AIが適切なUIを構成し動的生成する「AI Generated UI」発表
Dart
2024-07-23 18:57