🎱

【考察】【ChatGPT】ChatGPTの可能性・問題点を徹底考察

2022/12/11に公開

はじめに

今回の記事では、最近話題のChatGPTの可能性と問題点をそれぞれ徹底考察する。本記事で述べられていることはあくまで一個人の見解に過ぎない参考程度に読んでいただければ幸いである

ChatGPTとは

ChatGPTとは、アメリカのサンフランシスコにある、AI開発を主な事業とするテック企業OpenAIが開発したチャットボットである。ユーザは簡単な質問や要望を入力するだけで、それに対する的確な回答を自動で出力するのだ。私のTwitterでも、このツールを取り上げたことがある。

https://twitter.com/Nameless_SN/status/1601411425842647040

ChatGPTの最大の特徴は、例えば「素数を判定するPythonの関数を作って」というように、簡単にプログラムに関する質問をコード付きで的確に返答してくれることである。単にコードを生成できるのではなく、プログラミングに関して以下のようなことができる。

  • コードのドキュメント生成
  • リファクタリング[1]
  • 単体テスト[2]
  • データベースの設計

このように考えると、ChatGPTはコードや設計に関する質問にも対応できるのだ。私たちプログラマーにとって、この特徴は最大の特徴と言えるだろう。

余談だが、Qiitaの記事「ChatGPT使い方総まとめ」によれば、他にも、ChatGPTは以下のようなことができる。

  • Wikipediaのような記事の作成
  • タスクリスト・スケジュールの作成
  • 任意の文章の要約
  • 箇条書きを文章へ変換、文章を箇条書きへ変換
  • 物語の生成

このように、ChatGPTはユーザの多種多様な命令に応じた的確な回答を自動で出力する。

ChatGPTの可能性

前章では、ChatGPTの概要と特徴を簡潔に説明した。ChatGPTはユーザの命令に応じて的確な回答を自動で出力してくれる画期的なサービスである。ChatGPTにはどのような可能性があるのだろうか?

作業時間の短縮

ChatGPTの可能性として第一に挙げられるのが、作業時間の短縮である。これだけ述べてもわからないので、具体例を箇条書きで示す。

  • ブログで、特定の専門用語に関する記事や内容の要約を手動で書く必要がなくなる。
  • エンジニアリングで、リファクタリング、テスト、デバッグや設計に対する時間を短縮できる。開発業務により集中できるようになる。
  • 手動でタスクを管理したり、大きなタスクを分解したりする手間が省ける。
  • 技術記事の一部の内容(例えば、プログラムや専門用語の説明)をChatGPTに任せることで、技術記事をより短時間でネット上に公開できる。
  • 文章を自動で出力できるので、文章を書くのが苦手な人でも楽に文章を作れる。
  • 小説のシナリオを一から考える必要がなくなり、執筆に注力できる。

このように、ChatGPTは私たち人間の作業時間を短縮できる可能性がある。当然だが、作業時間を短縮できれば使える時間が増える。私たち人間の時間を増やしてくれるという点で、ChatGPTは非常に魅力的なサービスと言える。

ChatGPTの問題点

前述の内容を考慮すると、ChatGPTにはメリットだらけで可能性にあふれていると考える人も少なくないだろう。ところが、ChatGPTには以下のような問題点がある。

専門的すぎる、あるいは正解がない質問に対応できない

ChatGPTの問題の一つとして、専門的すぎる、あるいは正解がない質問に対応できないことが考えられる。ChatGPTは機械学習で習得したデータをもとにユーザの質問に回答する。故に、十分に学習できない内容を質問している場合や明確に答えがない質問をしている場合、支離滅裂な回答が返ってくることがある。

【専門的すぎる、あるいは正解がない質問の例】

  • 青キジの「だらけきった正義」と赤犬の「徹底的な正義」、どっちが正義としてふさわしいの?[3]
  • CORS[4]の決定的な問題とその解決策について話して

実務で発生する複雑な問題に対応できない

ChatGPTには実務で発生する複雑な問題には対応できない。私たちプログラマーが実務で直面する問題は、例えば「Pythonでクラスの書き方がわからない」というような明確に答えがわかるものではない。様々な要素や原因が関連している。

「実務でぶつかった問題をChatGPTに投げかけたら的確な回答が返ってくる」というようなことを考えている人も少なくないだろう。ところが、ChatGPTは機械学習で得られたデータを基に回答しているのに過ぎないそして、機械学習で得られるデータには限りがある

ChatGPTは我々プログラマーが遭遇する複雑な問題には対応できない。

対応できる質問量に限度がある

ChatGPTは対応できる質問量に制限がある。ChatGPTはAIが文章を分析して理解する。AIが文章を理解できる量には限界がある。それ故に、質問の文章が長かったり多かったりすると対応できなくなる。

タイムラグが発生しやすい

2022年12月11日現在、ChatGPTは無料で公開されている。非常に人気の高いサービスであるゆえに、ダウンタイムやラグが発生することが珍しくない。

おわりに

今回の記事では、最近話題のAIサービスであるChatGPTの可能性・問題点を個人の独断と偏見で考察した。

【ChatGPTの可能性】

  • 作業時間の短縮

【ChatGPTの問題点】

  • 専門的すぎる、あるいは正解がない質問に対応できない
  • 実務で発生する複雑な問題に対応できない
  • 対応できる質問量に限度がある
  • タイムラグが発生しやすい

ChatGPTは作業時間を大幅に短縮できる強力なツールである。今回の記事を通して、少しでもChatGPTの可能性や問題点について理解していただければ非常に幸いだ。

参考サイト

https://openai.com/blog/chatgpt/

https://www.nature.com/articles/d41586-022-04383-z

https://www.codingem.com/chatgpt/

https://qiita.com/sakasegawa/items/82069c97a1ee011c2d1e

https://app-story.net/chatgpt-error/

脚注
  1. リファクタリング(refactoring)は、ソフトウェア開発において、プログラムの動作や振る舞いを変えることなく、内部の設計や構造を見直し、コードを書き換えたり書き直したりすることである。参照:e-words ↩︎

  2. 単体テストは、ソフトウェアやシステムの開発時に行うテスト手法の一つで、単一のプログラム部品(モジュール)を対象に行うテストである。ユニットテストコンポーネントテストとも呼ばれる。参照:e-words ↩︎

  3. ONE PIECE公式サイトを参照。 ↩︎

  4. CORS(Cross-Origin Resource Sharing)とは、Webサーバに特殊なHTTPヘッダ項目を追加することで、送り出したWebページ上のスクリプトがWebブラウザから別のサーバへアクセスできるようにすること。参照:e-words ↩︎

GitHubで編集を提案

Discussion