← blog
2026.08.02

コードが書けるのは、コードが文章だからである

これまで

文章を書く人工知能のことを、大規模言語モデルという。英語で large language model、その頭文字をとって LLM とも書く。オープンAIの GPT、グーグルの Gemini、アンソロピックの Claude が、それにあたる。以下ではモデルと呼ぶ。

モデルは文章を書くのが得意である。これは当たり前で、もともと翻訳のために作られたものだからだ。

分かりにくいのは、そこから先である。なぜ、プログラムまで書けるのか。

プログラムも文章である

プログラミング言語というのは、人が読み書きするために作られた記法である。単語があり、並べ方の規則があり、上から順に読む。

モデルの側から見ると、日本語と何も変わらない。次に来そうな記号に確率をつけて、一つ選ぶ。それを繰り返す。文を作っているのか、プログラムを作っているのかを区別してはいない。

しかも、プログラムの方が易しい。日本語より規則が厳しく、書いてよい形が少ないからである。ここに開き括弧があれば、いつかどこかに閉じ括弧が来る。この命令の次に来られるものは限られている。選択肢が狭いほど、次を当てるのは簡単になる。

だから、コードが書けることを、賢さの証拠として読むと外す。人間の仕事の中でも高度な部類に見えるが、モデルにとっては規則の厳しい文章というだけである。

図を作るプログラムを、一晩で書かせたことがある。速かったのは、モデルが優秀だからではなく、書かせたものが文章だったからである。

画像も、確率で並べている

画像も出せる。仕組みは少し違って、砂嵐のような雑音から始めて、少しずつ形に寄せていく。文字を一つずつ足していくのとは手順が違う。

ただ、確率で決めている点は同じである。だから、同じ癖が出る。

同じ指示を二度出せば、違う絵が返る。指の本数が合わないことがある。看板の文字が読めない字になる。どれも、次に来そうなものを選び続けた結果として説明がつく。うまい絵描きが間違えた、のではない。

逆に言うと、それしかできない

ここが本題である。

モデルにできるのは、確率で並べることだけだ。並べられる形に落ちているものは扱えるし、落ちていないものは扱えない。賢さの問題ではなく、構造の問題である。

たとえば、同じ入力から必ず同じ出力が返ること。これは並べる仕組みの外にある。確率で選んでいる以上、選び直しが起きる。

たとえば、材料に無い値を出さない、という保証。無いなら止まる、という動作が仕組みの中に無い。次に来そうな数は、材料が無くても計算できてしまう。

たとえば、実際に何かを実行すること。検索するのも、ファイルを開くのも、外側のプログラムがやる。モデルが出すのは「この道具を使え」という文字列だけである。

三つとも、賢いモデルが出れば解けるという種類の話ではない。並べる、という動作の外にあるからだ。

賢さの軸で見ると、読み違える

賢く見えるのは、確率で並べられるものが、人間の仕事のかなりの部分を占めているからだと思う。文章、翻訳、要約、下書き、プログラム、絵。並べてみると、まあまあ人間らしい仕事に見える。

それでも、できることの範囲はそこで決まっている。伸びしろがあるのは、上手さの方であって、種類の方ではない。

だから、これは頼めるか、と考えるときに、難しいか易しいかで見ると外す。並べられる形になっているかどうかで見る。

そして、並べられない部分は、外側で人が組むことになる。

近いところ — 意味でつながる考えと作品
考えていること
読み書きしかできない
プログラミング/記法/記号 が重なる
作ったもの
自動でメールに返事するAI
手を動かした実物