動かせるものだけが、勝手に直る
文章を書く人工知能のことを、大規模言語モデルという。英語で large language model、その頭文字をとって LLM とも書く。オープンAIの GPT、グーグルの Gemini、アンソロピックの Claude が、それにあたる。以下ではモデルと呼ぶ。
モデルにできるのは、確率で並べることだけである。文章と、その仲間であるプログラム。それと画像。それしかできない。
にもかかわらず、プログラムを書かせる道具は、かなりの部分を任せて放っておける。確率で選んでいるのだから外すはずなのに、放っておける。なぜか。
外れているのは、同じである
まず、外れないわけではない。
書かせたプログラムは、そのままでは動かないことがよくある。名前を間違える、必要な手続きを飛ばす、存在しない機能を呼ぶ。文章を書かせたときに存在しない本の題名が出てくるのと、同じことが起きている。
一発で正しいものが出てくるようになったから使えるようになった、ということではない。
コードは、外れたことが機械に分かる
違うのは、そのあとである。
プログラムは、動かせる。動かせば、間違っていれば止まる。止まったときには、どこで止まったかが文字で出てくる。書いた側の意図と関係なく、機械の側が「これは駄目だ」と判定する。
文章にはこれが無い。書かれた文章を機械に渡しても、正しいかどうかは分からない。事実が違っていても、話の筋が通っていなくても、文字列としては何の問題もない。動かして確かめる、という操作が存在しない。
だから、ループが組める
判定が機械にできると、繰り返しが自動になる。
書かせる。動かす。止まったら、その止まった理由をそのまま次の入力に足して、また書かせる。動かす。まだ駄目ならまた足す。
これを何度か回すと、通るところまで行く。確率で選んでいるので一発では当たらないが、外れたことが分かるなら、当たるまで引き直せばいい。人は見ていなくてよい。
プログラムを書かせる道具がやっているのは、これである。モデルに書かせて、外側で走らせて、結果を戻して、また書かせる。モデルの出力を、そのまま人に見せずに、いったん機械が受け取って検査する。
モデルの外回りを、ハーネスと呼ぶ。ハーネスの仕事は、記憶を持つことだけではない。出力を検査して、外れていたら戻す。この輪を作ることの方が本体だと思う。
文章の側では、この輪が閉じない
同じことを文章でやろうとすると、途中で切れる。
書かせる。ここまではいい。次に、動かす、にあたる操作が無い。誰が判定するのか。別のモデルに読ませて採点させる、という手はあるが、その採点も確率で選ばれた文字列である。正しさを測る仕組みがどこにも入っていないので、それらしい採点が出てくるだけになる。
だから、文章の側では、最後に人が読む。読むまで、間違っているかどうかが誰にも分からない。
これは、道具の作りが悪いのではない。判定できるものが無いところに、自動の輪は作れない。
見分け方
何を任せて放っておけるかは、この一点で決まると思う。
出力の正しさを、機械が判定できるか。
できるなら、放っておける。プログラムがそうだし、計算結果を検算できる場合もそうだし、決められた形式に収まっているかを確かめる場合もそうである。外れたら戻す輪を作れば、確率で外すことは問題でなくなる。
できないなら、人が受け取る場所を作る。文章、判断、宛先の選定、公開してよいかどうか。ここに自動の輪を作ると、外れたまま進む。しかも、外れたことは見た目に出ない。
二種類で足りている
できることは、文章と画像しかない。それでも足りているのは、文章の中にプログラムが入っているからだと思う。
プログラムは、動かせる。動かせるものは、確率で書かせても輪で締められる。そして、動かせるものを書けるということは、判定の仕組みそのものを書けるということでもある。
確率で外す機械を、確率で外さない仕組みに変えていく作業が、いま実際に起きていることの大半だと思う。