すごいと噂の「ChatGPT」を、遅ればせながら、試してみた。
生成される文章はかなり自然で、会話の流れを理解して追加質問も適切に答えてくれるのは見事だ。しかし、質問に対して適切に答えてもらうにはコツが必要なうえ、意図的なゆらぎによって文章が変わるため、質問への回答内容も変わってしまうこともしばしば。しかも、正しい回答にたどり着くとも限らない。初期テクノロジーならではの甘さがあるが、そこが面白いとも言えるサービスだ。
今回は、筆者が試したやりとりと、その果てにたどり着いた、意外な(?)結末を紹介しよう。
PCトラブルの質問で、ChatGPTは筆者と同じ正解を見つけられるか?
つい最近、知り合いから、Windowsで「vcruntime140_1.dllがない」というエラーが発生して困っているという相談を受けた。
これは、多くのアプリで利用されているVisual C++再配布可能パッケージに含まれるDLLが見つからない状態になっていると起こるもので、昔からあるトラブルだ。大抵は、古いパッケージのアンインストールと最新版の再インストールで修正される。しかし、今回は[インストールされているアプリ]から古いパッケージを削除しても、見えないパッケージが削除されずに残ってしまっていたようで、最終的にMicrosoftが配布しているトラブルシューティングツールを使って、非表示になっていた古いランタイムを強制削除することで解決した。
▼参考
プログラムのインストールまたは削除がブロックされる問題を解決する
今回、この問題についてChatGPTを利用し、どのような回答文章を作成してくるのかを検証してみた。
ちなみに、ChatGPTについて簡単に紹介しておくと、自然言語によるチャット(対話)を実現するAIサービスとなる。日本語のリクエストでPythonのコードを生成し、改善してくれる事例など見事なものだが、一般的な質問や情報を検索する用途でも利用できる。今回は、このChatGPTを利用してインターネット上にあふれるQ&Aやトラブルシューティングコンテンツから、正解にたどり着けるかどうかを検証してみた。
ログを貼り付けるのが簡単だが、あまりにも長いと放棄される
最初に断っておくと、ChatGPTをトラブルシューティングに活用するのであれば、エラーメッセージやエラーコード、ログそのものを(テキストで)提示するのが、もっとも確実だ。
もちろん、具体的な解決策を引き出すには、そこからさらに会話を重ねる必要があるが、最初の入りとしては、具体的な状況を提示する方が早い。
ログが長すぎると、「エラーなんてないぞ」と開き直ることがあるので、こちらである程度読み取って、ピンポイントで提示する必要がある。それでも、ログの意味が分からないというケースでも役立つ。
ログを使わず会話だけで回答にたどり着くことを目指す
エラーメッセージやログを提示するのでなく、自然な会話だけで回答にたどり着けるかを検証してみた。以下、会話の例を紹介する。
会話1:状況を説明する
まずは状況を説明する。アプリ(今回問題が起きたのは音楽ソフト)のインストール時に表示されるエラーを正確にではなく、あいまいな表現で入力してみたが、ランタイムライブラリがないという状況をきちんと分析できている。
会話2:困っている状況をもう少し具体的に説明する
続いて、トラブルの状況をもう少し説明する。今回は、古いランタイムが残ってしまっていることが原因なので、「インストールしてあるのにエラーが起こる」と質問してみる。すると、最新バージョンをインストールするなどの解決策が提示された。
会話3:最新バージョンをインストールしても解決しないことを伝える
実際の状況としては、最新バージョンをインストールしようとすると「Microsoft Visual C++ 2019 X64 Minimum Runtime」のインストールでエラーが発生するのだが、少し意地悪く、このあたりをあいまいにして「最新版をインストールしてもエラーが発生する」と質問を重ねた。すると、システムを修復するなどの案が示された。
会話4:ちょっと誘導してみる
このままでは話が核心にたどり着きそうにないので、古いランタイムが完全に削除できていないのではないかというこちらの推測を提示して、会話を誘導してみる。すると、今回実際にトラブルを解決したのと同じツール(ChatGPTの回答ではFixit Toolと表記)が、候補として提示された。
Visual C++ランタイムのエラーから、この解決策へとたどり着くのは、Googleなどのウェブ検索では困難だ。事例が少なく候補として後半になる上、海外サイトの情報を参考にする必要があるケースが多いため、たどり着きにくい。
同じ答えが返ってくるとは限らない
さて、このように上記の例では、誘導によって、運よく回答にたどり着いたが、ChatGPTの面白いところは、同じ質問をしても、同じ回答がされないばかりか、流れも変わってしまうことだ。
たとえば、上記の最初の質問だが、以下のようにタイミングを変えると回答も変わる。
ある程度のゆらぎを持たせることによって、自然な会話を生成するためだと思われるが、検索で同じ結果にたどり着かない可能性があるというのは、なかなか興味深い。
しかも、上記の会話に続けて、さらに具体的に質問を重ねてみたが、先ほどの例以降、何度やっても自らが提示した「Fixit Tool(トラブルシューティングツール)」を提示しなくなってしまった。
より具体的に、コントロールパネルからランタイムを全て削除したこと、Microsoft Visual C++ 2019 X64 Minimum Runtimeのインストールエラーが発生することなどを伝えたり、「クリーンアップツール」とヒントを与えたりして誘導しても、ツールを提示しなくなってしまった。
ChatGPTに自らが過去にした回答を突きつけ、反省させる
いろいろ聞き方を変えながら試行錯誤してみたのだが、最初に「Fixit Tool(トラブルシューティングツール)」が提示されて以降、まったくChatGPTが、同じツールを提示することがなくなってしまった。
仕方がないので、ズバリ聞いてみることにした。
すると、何ということでしょう! ChatGPTは、つい先ほど自ら提示したFixit Toolでは「問題は解決できない」と言い切るのだ。
こうなると、こちらも意地になってしまう。さっきできると言ったのだから、その事実を突きつけてみると、今度は、あっさり「申し訳ありません。先ほどの私の答えは誤りでした」と訂正したのだ。
そして、丁寧にダウンロード用のリンクを提示してくるので、そこにアクセスしてみると。Visual C++再配布可能パッケージのダウンロード先が表示された……。
ここで、思わず筆者は、「おいっ!」と画面に声を出して突っ込んでしまった。
謝罪しつつ、自分の意見を曲げず、Fixit Tool(トラブルシューティングツール)ではないリンクを堂々と提示してくるとは……。
なので、さらに追い打ちをかけるため、自らが提示したツールをダウンロードするためのリンクを貼り付けてみた。
すると、「そうですね」とあっさり認めて開き直った。すごいなChatGPT、もしかして人間相手に遊んでるのか? もうお手上げだ。
これから育つ
以上、話題のChatGPTで遊んでみた。というか、すっかり遊ばれた印象だが、おそらく、このような面白会話は、発展途上の今だから楽しめるものなのだろう。
いろいろなユーザーが質問を繰り返し、学習を重ねていけば、すっかり真面目なAIになってしまうのだと思われる。
なので、今のうちに体験してみることをおすすめする。今回のケースはレアかもしれないが、Googleのような検索エンジンが過去のものと感じられる未来感も十分感じられる。