やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

ChatGPTがついた嘘をはじめて見抜けなかった

以前より「嘘は嘘であると見抜ける人でないと(ChatGPTを使うのは)難しい」と言われています。
例えば「スラムダンクはサッカー漫画です」というような、明らかな嘘であれば簡単に見抜くことが出来ることができますが、微妙な嘘の場合はどうでしょうか。

先日、業務中にChatGPT(バージョンは3.5)に「Rubyで配列がソート済みかどうか判定したい」という旨の質問をした所、以下の答えが返ってきました。

ChatGPT: Rubyで配列がソートされているかどうかを判定するには、Arrayクラスのsorted?メソッドを使用することができます。

( ´ω` )…ChatGPTは賢いなぁ

sorted?というメソッドは存在しない

この回答を元に配列に対してsorted?を実行してみたところ、エラーが発生しました。

lst = [1,2,3,4,5]
puts lst.sorted?

# Main.rb:4:in `<main>': undefined method `sorted?' for [1, 2, 3, 4, 5]:Array (NoMethodError)

# puts lst.sorted?
#         ^^^^^^^^
# Did you mean?  sort

sorted?というメソッドはArrayクラスには実装されていないとのことです。
まさか...と思いRubyのArrayクラスのドキュメントを見てみると確かにsorted?は存在していませんでした。

docs.ruby-lang.org

いかにもありそうなメソッドであるという点と、Rubyの場合にbooleanの値を返す関数には?を付与する慣習があるため、Rubyに実際に存在するメソッドだろうなと思い込んでしまいました。この嘘に気づけなかったのが悔しいですが、Arrayクラスに定義されているメソッドを全て記憶している人も稀だと思うので、同じように嘘だと見抜けない人は多いのではないでしょうか。

今は鵜呑みにしない

プログラムの場合、実行すればエラーになったり...と嘘であることに気づくことができますが、他の分野だと自信がありません。今でもGoogle検索の結果からコピペする行為は一般的ですが、今後、ChatGPTによってより楽にコピペができるのでしょう。

その際に回答を鵜呑みにせず「本当に正しい情報なのか」と吟味する姿勢をもたねばならないと感じました。
しかし、ChatGPTをはじめとしたLLMは日々、進化しています。いつの日か人間の検証すら不要になる時がやってくるのかもしれません。試しにChatGPTのバージョンを4にして再度、質問をしてみた所、sorted?メソッドの話は登場せずに、期待通りの回答をしてくれました。

少しでも「ええな〜」と思ったらイイネ!・シェア!・はてなブックマークを頂けると励みになります。