おはようございます。Yoshihiro NAKAHARAです。
今日は、AIの出力にゆらぎが発生することについて考察します。
AIユーザの多くは、AIの出力が安定しないということで、AIの出力を安定させるために、細かなパラメータ調整やプロンプトエンジニアリング等で苦労されています。
これらの方は、AIの出力が安定しないことを悪(バグ)である、と考えています。
しかし、AIのゆらぎは本当にバグなのでしょうか?
いいえ、これはバグではなく、仕様なのです。
何故仕様と言えるのか、解説します。
AIは、基礎理論が確率統計に基づいており、内部で数百億・数千億といったパラメータで動作しています。
これはどういうことかというと、大雑把な言い方をすれば、数百億・数千億ものサイコロを振っているのと同じなのです。
単純に考えて、同じ数字が出る可能性は限りなくゼロに近いのがおわかりいただけるのではないでしょうか。
つまり、AIが確率統計で動いている以上、ゆらぎが発生するのは当然であり、必然でもあるのです。
私が、KakeiBon by Rustプロジェクトで、なぜ1ヶ月でAIによるコード生成が35,000行overを実現できたのか。またバグもゼロにできたのかというところに繋がってくるのですが、私自身のやり方(方針)として、AIによるコード生成は関数単位で考える。またInputとOutputだけOKであれば、関数内でどういうロジックで実装されていても構わないという事に尽きます。
つまり関数内の実装は気にしない、というよりそんな事に気を回す時間があるなら、その時間をテストケース作成に充てる事に注力しています。
これが、私がAIによる出力のゆらぎを受け入れ、AIを100%使いこなしている理由です。