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
ポケモンGO、2日間の「イーブイ」大量発生 進化方法の一時的な変更に注意
くらテク
2021-08-13 18:00
グーグル・クラウド、2022年の事業方針を発表–目指すはDX推進のプラットフォーム
IT関連
2022-04-08 22:19
VMwareが独立、デル傘下からスピンオフ。その理由は、デルが借金を早く返したいから
Dell
2021-04-16 09:09
Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
Cloudflare
2022-09-22 17:35
SOMPOひまわり生命保険と日立、がん検診レコメンドサービスを実証
IT関連
2022-04-05 12:21
「熱中症警戒アラート」が出るとスマホにプッシュ通知 Yahoo! JAPANアプリで
くらテク
2021-07-30 06:17
マイクロソフト、3月の月例パッチ公開–「Edge」レガシー版サポート終了も
IT関連
2021-03-10 14:33
ロシア拠点のハッカー集団「DarkSide」が米石油パイプライン攻撃に関与の可能性–狙いは
IT関連
2021-05-11 15:36
伊ソリューションベンダー、富士通のAIスコアリング基盤活用でグラフXAIサービス提供
IT関連
2021-08-12 12:22
「ハングリー精神と謙虚さ」を持って顧客を支援–ServiceNowが取り組むビジネス課題
IT関連
2023-05-19 04:39
ロシア国営宇宙企業、英政府らが買収した米OneWebの衛星打ち上げを拒否
IT関連
2022-03-04 22:39
複数ブロックチェーン間の取引を実現する相互運用性プロジェクト「YUI」がHyperledger Labsプロジェクトとして承認
ブロックチェーン
2021-06-09 21:53
今、その役割が注目されている活動家的なデベロッパーの台頭
パブリック / ダイバーシティ
2021-03-06 03:02
マイクロソフト、法執行機関からのデータ開示要請が増加–半期レポート
IT関連
2021-04-20 12:49