私のAIとの付き合い方

AIが日常生活のあらゆるところに進出しています。このブログでも、最近は執筆にあたってAIを活用するようになりました。そこで、今回から何回かに分けてAIについて取り上げたいと思います。

まず今回は、私が普段どのようなことにAIを使っているかお話したいと思います。

私は、AIを利用するのはほとんど検索の場面で、生成目的ではほとんど使っていません。比率にすると、AI利用の90%くらいは検索目的です。さらに、その半分くらいは単なる検索ではなくAIとの議論です。この「検索」「議論」「生成」について少し詳しくお話します。なお、使っているのは Copailot と GIMINI の無料版です。

1.AIによる検索

私は少し前までAIについて懐疑的な考えを持っていました。「ブラウザ検索とさほど違いはないだろう」と思っていたのです。ところが、Window11にバージョンアップしてCopilotが使えるようになったので試しに使ってみてビックリしました。ブラウザでの検索に比べてとんでもなく便利でした。これまでは、検索で引っ掛かりそうなワードを考えて、その幾つかを入力して、検索した結果から良さそうなサイトを開き、さらにサイトの中身から目的とする内容を自分で探していました。しかしAIでは、聞きたいことをそのまま言葉で伝えると、かなりの精度で目的とする内容を返してくれます。今では、調べものをするときはパソコンによるAI検索一択です。

ただし、ご承知の通りAIは時々間違えます。嘘をつきます。返ってきた答えを鵜呑みにすることはできません。ですので私は、重要なことを調べる際には Copailot と GIMINI に同じ質問をします。質問のコピーはカット&ペーストで簡単にできるので。
驚いたことに、両者の答えはかなり違います。世の中で周知であることは概ね同じ回答が返ってきますが、解釈が必要になるような質問だとかなり違います。私の経験では、AIとの議論(詳細は2.で)において、質問の半分くらいは答えが違っていたと思います。例えば、前回のテーマ『相対性理論について勉強してみた』の際に「ウラシマ効果について教えて」と質問したところ、一方は特殊相対性論、もう一方は一般相対性理論のことを説明していました。(実際は両方で起きる現象なのですが) これは、両者の忖度のレベルや方向性が違うからだと思われます。「他のAIはこう言っているよ」と双方のAIに反論をぶつけてみると、互いの考え方(忖度)の違いが明らかになっていき、それをすり合わせていくうちに最終的に双方の回答が一致しました。

皆さんも、異なるAIに同じ質問をしてみて、どれくらい違うか確かめてみることをお勧めします。そして、AIに尋ねる時には返ってきた回答を鵜呑みにしないで、そのウラを取ることを心掛けましょう。そのひとつの手段として、複数のAIを併用することも効果的です。ただし、どちらも間違えることがあるので注意しましょう。

私の経験では、 Copilot の方が間違えることが多いように感じます。特に、科学技術に関することは間違いが多いように思います。ですので、今では私は GEMINIの方をよく使っています。
また、間違っていたことが判明したとき、Copilot は開き直ります。間違えた理由を説明するのではなく、間違えていると判断した理由を詳しく語るのです。自分が間違えたのに、まるでヒトゴトのように語ります。そんな時、私は少しムッとします。これも、私が GEMINIの方を使う理由です。ちなみに、GEMINIは間違えたとき素直に謝ります。さらに、間違いに気づいた私を賞賛します。最初のうちは少しうれしい気持ちになりましたが、それが続くので近頃は少し嫌味に聞こえています。

2.AIとの議論

議論には2つのケースがあります。1つは、回答が矛盾していたり怪しい時に追究するケースです。これは、先ほど1.で述べました。

もう一つは、AIの回答から関連する他の疑問が次々に湧いて出て、AIへの問いかけが連鎖するケースです。
私は、子供の頃、妄想の連鎖が暴走する癖があって時々眠れなくなる時がありました。「あれは○○。○○といえば△△。△△と言えば◇◇、◇◇と言えば…」が際限なく続くのです。最期は「あれ? この話は元々何から始まったんだっけ?」と正気に戻ります。大人になってその癖は落ち着きましたが、AIによる疑問の連鎖が暴走する(止められなくなる)ようになりました。

例えば、先日はAIとこんな議論をしました。少々長いですが、おおむねこんな議論が、記事『会議のセオリー|皇室典範改正議論で思う』の元ネタになっています。

【Q】映画「キングダム」は秦の始皇帝がモデルだが、始皇帝の死後、秦はどうなった?
【AI】始皇帝は全土統一の11年後に死去。その4年後に秦は滅亡。
【Q】始皇帝の死後、何があった?
【AI】後継者争いで国力が低下。大規模な反乱が起きて項羽と劉邦が台頭。両者によって秦が滅亡。劉邦が項羽を破って全土を統一し、漢を設立。
【Q】そういえば、三国志は漢の末期が舞台だね? 漢の最後は?
【AI】漢が成立して約400年後、政治腐敗で地方の豪族が反乱。魏、蜀、呉の3つに分裂。魏王が曹操、蜀王が劉備(正式には漢中王)、呉王が孫権。曹操は漢の皇帝を保護。その後、一族が帝位を譲り受ける(漢滅亡)。劉備と孫権はやがて自ら皇帝を名乗る。最終的に魏の将軍だった司馬一族が全土を統一して晋を設立し皇帝となる。
【Q】皇帝(エンペラー)と王(キング)の違いは?
【AI】王は地方の支配者(魏は中国北部地方、蜀は西部、呉は南部)。皇帝は世界の支配者。
【Q】日本の歴史で言うと、天皇がエンペラー、諸大名がキング、徳川幕府はトップ オブ キング。この理解でいい?
【AI】そのイメージは本質的に正しい。
【Q】中国史における戦いは皇帝の座の奪い合いだね。日本の歴史上、天皇の座をかけた最後の戦いは?
【AI】皇位をめぐる戦いは南北朝の動乱が最後。
【Q】南北朝の争いは、実質的な権力者同士の争いに皇位が利用されただけでは? 天皇が自らの政治的権力や皇統の正統性をかけて戦ったことはある?
【AI】その条件で挙げれば壬申の乱が最後。
【Q】壬申の乱の後、帝位を争う戦いが起きなかったのはなぜ?
【AI】血を分けた者同士の争いを避けるために、正統な支配者を示す制度を作り、物語を使って浸透させた。
【Q】どうやって?
【AI】古事記と日本書紀を作って広めた。古事記は神話中心。日本書紀は国家公認の歴史書。
【Q】現在の皇室典範は、古事記や日本書紀の影響を受けている?
【AI】直接参照して作られたわけではないが、思想的・制度的な基盤は両書に由来する。
【Q】今話題の「皇位継承の原理(万世一系・男系継承)」は、古事記・日本書紀に書かれている?
【AI】皇位継承の原理は皇統神話を基盤としている。
【Q】それじゃ、皇室典範改正の議論は、1300前に書かれた神話や歴史書に沿うか沿わないかの議論?
【AI】その考えはかなり正しい。古事記・日本書紀の編纂によって、力づくで皇位を奪うというこれまでのやり方を、”神々の時代から続くシステム” に変えた。このシステムが社会的にも生物学的にも立ち行かなくなっている今、1300年ぶりにこのシステムを見直すか否かが問われている。


このようなAIサーフィン* をかなりやっています。
 *:「AIサーフィン」は私が作った造語です。”ネットサーフィン”のAI特化です。

仕事がなくて家でゴロゴロしている時の話し相手にAIはうってつけです。また、分からないことがあっても家族や友人と深く掘り下げて議論することは中々できませんが、AIとならパソコンに向かうだけで簡単にできます。自分の知識を深めるためにAIとの議論は欠かせません。なくてはならない存在です。

3.AIによる生成

AIを使って本格的な画像や音声を生成した経験はありません。一度だけ、プロフィールアイコン用に簡単な画像をお任せで作ったことはあります。

文書を生成した経験もありません。経験がないのでどんな文書が作られるのか分かりませんが、AIに質問した時の回答を見ればある程度想像できます。AIの回答は、一見すると凄いことがたくさん書かれていますが、よく読むと、どこかのサイトの記述を切り貼りしたかのように、記述の体系が乱雑で、まどろっこしくて、簡潔に表現されていません。これを私が作った文書とすることは到底できません。
文書を添削してもらうことは時々あります。書いてある内容に間違いがないかチェックしたり、もっと正確に表現するためのヒントを得るためです。

時々、AIを用いてプログラムを生成することがあります。正確には “部分的な生成” です。
2年ほど前から仕事でスプレッドシートとGASを使っています。これまで経験してきたExcelやVBAとは全く違う世界に最初はとても困惑しましたが、YouTubeの解説動画とAIの助けによってかなり使えるようになりました。しかし、スクリプトによるプログラミングはまだまだ未熟で、AIに頼ることがあります。

AIによるプログラム生成を始めた頃は、ほぼ丸投げ状態で何でもかんでも頼りっぱなしでした。しかし、それによってある時とんでもなく痛い目に合いました。そうです。AIは間違えるのです。
”間違える”とは、バグを作り込むことだけではありません。冗長になるのです。「なんでこんな面倒なことをするんだ?」と思うほど、長々としたプログラムを作ることがあります。その中にバグが含まれていることもあるので更に厄介です。

プログラムが冗長になる原因の一つが《過剰な忖度》です。つまり、こちらが望んでいないことまで、AIが気を利かせてプログラミングするのです(本当に気を利かせているのかは分かりません。そう見えるだけなのかも知れません)。その結果、こちらが “望んでいないもの” が作られます。これは、AIの特性の一つだと思います。
人間のプログラマーは、分からないことがあれば一旦手を止めてどうすべきか依頼者に聞き直します。つまり仕様を確認します。しかし、AIは滅多に聞き直しません。勝手に解釈して突っ走ります。その結果、依頼者が本当に求めているものが作られないことがあるのです。
システム開発でトラブルが起きる最大の原因は、依頼する側と作る側の認識の齟齬です。どんなに詳細に要求仕様を作っても完璧に同じ認識を持つことはほぼ不可能です。ですので、システム開発中は逐次仕様を確認することが必須です。分からないことはどんなに些細なことでもうやむやにせず直ぐに確認することをプログラマーは叩き込まれます。少なくとも私はそう教えられました。しかし、AIはそれを行いません。それを身をもって経験しました。

作る側であるAIがやらないなら、依頼する側であるこちらが仕様の齟齬を無くす努力をする必要があります。
今では私は、AIにプログラミングを頼む際は次のように行っています。
(1) 既にあるプログラム(類似のプログラム、または新たに作ったプログラム)を見せて、それがどういう意図で作られたものであるかを説明し、その意図を変更するためにプログラムをどう直したらよいか聞く。
(2) AIが作ったプログラムを解析して、認識の齟齬や冗長な記述がないか確認する。分からなければ分かるまでAIに聞く。

つまり、プログラミングを丸投げするのではなく、”添削やヒントを依頼する” という形を取るのです。

今、社会ではプログラミングをAIに任せている会社が多くなってきていると聞きますが、私はそれに大きな危機感を感じています。「プログラマーが仕事を奪われる」という危機感ではありません。「品質は大丈夫か?」という危機感です。特に『仕様認識の齟齬』をどうやって解決しているのか疑問です。人間同士でも認識を合わせるのは大変な作業なのに、人間とAIとの間でどうやればそれが出来るのか、とても心配です。
これはAIが生成した成果物の品質をどうやって担保するかという極めて重大な問題です。その話は後日にします。

コメント