自分達はミスするのに、AIはミスするなって何様なの
たまに書きたくなるじいさんの妄言シリーズです。
生成AIをビジネス用途に使う場合、ハルシネーションを含むAIの間違いのためになかなかうまくいかないという話しがよくあります。
間違いを本当のように言い出してしまうAIは最終的に仕事に使いにくいよねという記事もよくあります。
また、原理的にLLMからハルシネーションを除去できないのではないかという話しも出てきています。
人と思考の仕組みが近いであろう生成AIでミスしないなんてことはそもそも出来る訳ないと思います。ミスしないことが出来る方法があるなら、人のほうが先にやってます。
でも、一方でシンプルな知識問い合わせ、シンプルな論理課題は正しく答えるのに、少し課題が複雑になるとハルシネーションはなかなか抑えられません。これではビジネスに使うのは難しいかも、、と思うのも無理ないところです。
そもそもなんでAIが間違わないと思ってしまったの
昔の人はコンピュータ的なものを総称して電子計算機と呼んでました。計算機は前提として間違わないことを期待されている。生成AIもだいたいはコンピュータシステム上に乗っかかってる。
だから普通の人にとっては「ソフトウエアは間違わない。AIソフトウエアは賢いのになんで間違えるの」となるでしょう。誰もExcelが計算を間違えるとは思わないでしょう(実際には誤用や誤差はありますが)
ぱっと見、AIとソフトウエアが全然別の前提のものには見えないから、ソフトと同じように間違わなく見えるのです。
ソフトウエアは間違わない神話
AIは現状ソフトウエアの一種の扱いで、そしてソフトウエアが(バグを除けば)間違わない と思われてしまっているからです。
数値計算には厳密にルールがある。ソフトウエアには処理の手順がある(たとえ手順書がなくてもプログラムがプログラム言語で書かれている以上、固定的に手順を記述したものです)。間違いが入る要素などない。
バグは手順の書き間違えであり、手直しを続けていけばいつかはなくなる。
そしてバグがなくなればソフトウエアは絶対間違わない。
本当にそうでしょうか?
(注:当初はここでソフトウエアの誤りはなくならない ということを細かく話ししようと思ったのですが、今回は本筋ではないので言及しません。自分のブログに昔そのあたりを書いてたような気がしたのだが見つからない。。)
方法はともあれ、人や社会は使っているソフトは間違いを出さないことを当然のように思って使います。間違わないことを強く期待されているのがソフトウエアです。
AIはソフトウエアの上に作られていますが、AIの仕組みはソフトウエアの方法論である手続きや手順で作られているのではなく概ね統計機械です。
統計機械ということは量子コンピュータとも似てるところがあるってことですかね?
そぐわない用途に使うことがそもそも間違い
Excelなみに計算を間違わないことが大事というなら、そもそも生成AIをビジネスに使うというのが間違いです。量子コンピュータで勘定系銀行業務とか誰も言い出さないでしょ。
でもそれなら間違うはずの人間がなんで社会を回せているのでしょうか。
リカバリーする機械
人は間違いだらけだけど組織や社会システムはそれでも回ります。
人だって間違えてはならない業務には、多人数で多重にチェックします。でも今回はそこが要点ではないです。
人が責任を持って行うというのは、間違えないという意味だけでなく、間違ったらそれをリカバリー出来るという意味も含まれています。
それは単に「ごめんさない」だけではなく、
先日間違えた資料を修正しました。差し替えをお願いします。
先日お伝えした内容に誤りがありました。そのため当日の会議の結論には誤りがあります。再打ち合わせのスケジュールをお願いします。
先日の情報には誤りがありました。よって製造品はすべて欠陥があり破棄と再製造が必要です。本件で発生した損害に関して関連部署と相談中で近日中にご連絡いたします。 うんぬん・・・
「組織、社会が間違わない」とは「間違ったときに復旧、謝罪、賠償や示談、再発防止、方針の再構築まで自身で完了させる」を含んでいる。でもAIに賠償の決済なんてまだ無理でしょ。
本来AIに期待されていることは「間違わない」ではなく「間違ってもリカバリーできる」ことのほうだと思っています。
知性だというのだったら「提出後に間違いを見つけたら、それを修正して間違いによって影響を受けた部分をすべて解決して状況を回復するアクションを取れる」くらいになるべきです。
間違わないということはソフトウエアがやってくれればよい
今まで起きたことのない未知の間違いであっても、その間違いを理解して修正し、システムを元の動作に修復する仕事をAIがやってくれれば、それは間違えないことより強力です。
そうしたら安心して仕事を任せられるでしょう。でもLiving bookたるLLMにはそれはまだ遠そうですよね。。でもAGIまたはその先のAIにはその線を期待されていると思いますよ。
間違わないということが主題ならばその仕事はソフトウエア(手続き機械、関数機械)にやらせればよいのです。なんならAIにソフトウエアを書かせるという方向でもよいと思います。
実際AIを使ったプログラミング支援はもっとも盛んな領域です。
単にプログラマだから生成AIにある程度理解があるという点だけでなく、プログラムの間違いを検出して修正するという技術はデバッグ/テストとしてもう数十年以上の経験がある分野です。AIの間違いにも寛容だと思いますし、ここで経験を積むのはAIの間違いを減らす技法を見つけるのによい試みなのだと思います。
喋る機械
ところで、現在のAIが仕事に使えないという話しは「頻繁に間違えるから」というのは本質でしょうか?
私は現場ビジネスが会話系生成AIに求めているのは「問題を賢く思考して解決する」というのは求めていなくて、「相手(客)がどのような言い回しで会話してもそれを適切に受け答える」という部分だけという気がしています。
今AIにやらせようとしている仕事は、まだ定型作業が多いはずです。ある課題をAIに与えて、それが「間違い」と人が即座に下せるのなら、その課題にはすでに「想定回答」があるということです。
企業の定型作業は今の時代だいたい「手順マニュアル」があります。つまり手順マニュアルにない答えは基本的に「間違い」です。
だから「ハルシネーション」(=未調整の思考/連想)の部分はいらないと言っちゃうのです。
人だって問い合わせを受けたときに、本題と関係ないことを想起してしまうことはあります。「(この人の名前笑える。。)」でもそんな失礼なことは言わないと抑止できます。思い浮かべる以上に抑止するのは高度な思考が必要です。だったら何も考えないほうがよいとも言えます。
であれば問い合わせ応答システムに多弁な返答はいらない。喋らせるからボロが出るのです。
かっこつけて多弁に返答する必要はないのです。でも言っていることの理解までは高度に解釈する必要がある。
言ってることを理解まではして、手順マニュアルの出力結果を選ぶだけにして余計なことは考えない。
という機能を既存システムのフロントエンドに欲しいわけです。
最近ヒットしたマンガ・アニメにそんなのありましたよね。。
AI/人工知性と上段に構えず、受け答えのみで状況適用力のみがある新しいユーザインターフェースコンポーネントというのは需要としてあると思います。
であればLLMを賢くするのではなく、それっぽく応答する専用のテキストシステムとして改良していく方向もあると思います。
LLMを育てる方向は一つではない
言語で人っぽい応答をするだけのUIコンポーネント
トラブルに対して問題解決をしてシステム/社会をリカバリーし一定に継続する問題解決/恒常性機械
高度な推察をして今まで存在しなかったものを生み出す創造機械
きれいに3つに切り分けられる訳ではないのですが、AIはこれらそれぞれの目標に対して特化して進化させていくべき時期が近いのかもしれません。
以前も少し書きましたが3が一番儲かるのだと思います。ただこうやって書くと3は勝手に発案するだけでよいので、実現が難しいのは2かもしれませんね。
1は課題として易しいので、間違えないことを過度に期待されてますが、それでも3つともAIは間違うなというのは仕組みから言って無理な話と思います。
1に相当する部分はmi-serverにもあります。mi-serverはnode-redからの定期作業として、時報みたいなことをやらせている部分があります。
ここは時報の言い換えをして、聞き慣れさせない、飽きさせないを実現していれば十分な部分です。
でも時報の言い換えをしてくださいという単純な用途でさえ、たまに意味不明なことを言い出します。
temp=1指定なので無茶苦茶なことを言いやすく設定しているものの、単に確率の話しですからこういうことを言うこともあるということです。
mi-serverには「同一の定型入力文について、LLMに問い合わせずに以前に記録した10件くらいの結果の中からランダムで選択して回答する機能」があります。記録文もDBでdelフラグを付けて出さないようにすることも出来ます。
作った時点の目的はLLM APIのコスト削減の目的ですが、定型作業は結局LLMではなくソフトウエアにやらせた方が安心だと思います。
AIにソフトウエアを作らせる(返答パターンをAIに作らせて、運用はソフトウエアでやらせる)という様式です。
今はローカルLLMでやらせてますのでオフにしています。自分が時報を聞くだけの用途なら無茶苦茶な事を言うくらいのほうが面白いので。
AIに過度に誤りを許さないことは、AIの行く先を狭めるものだと思います。
社会でAIを育てていったほうがお得
現状のAIがまだ発展途上であるというのは仕方ないかもしれません。
でもどうすれば社会に適用していくことが出来るのでしょうか。
はじめて中国製品が入ってきたときと同じにすればよいのではないでしょうか。
中国製の製品が多量に入ってきた頃、皆こう思ったはずです。
いろいろ細かいところは不完全、でも品として使うことは出来る。そして何より安いので使う。そういう入り方がよいのだと思うのです。
資本が回れば製品は急速に改良されていく。結果、中国製品の品質は上がり、かなりの分野で勝てない品質になっている。
AIも多少の間違いは笑って許すくらいのスタンスで始められれば望ましいと思うのです(もちろん生命や安全がかかっていたりする部分は当面無理)。でも間違いがあるならその分安くしてくださいと言いたいですよね。「安かろう悪かろう」です。
売る側がなんで今の時点で「AIすごいです。お高いです。」という売り方をしているのか私はよくわからないです。初物にはお金をいとわないアーリーアダプターとそれをプロモーションして金勘定している人達がいるのでしょう。それともすべてを独占できたら一人勝ちで大もうけなので先行投資という皮算用をしたのでしょう。
新規分野を立ち上げるには投資が必要というのは確かなのでよい話しではあるのですが、バブルしてるのはいかがなものかなぁとは思います。
生成AIはまだ世に出て数年。いくらWikipediaをまるごと覚えていそうな知識を持っていても実践とトラブル対応経験がないような若者みたいなものです。何かをやらせるときは「はじめてのおつかい」のように後ろからみてやる必要は当面あると思うのです。