春告げ抹茶ホイップ

LLMがプログラムを書くこととコンパイラが機械語を出力することのアナロジー

「コンパイラを信頼してアセンブリを手で書かなくなったように、未来のプログラミングは自然言語を元にプログラムを吐き出す LLM の層ができたのだ」という話を信頼性とかの文脈で述べているような手合とかは割と無視して良いと思っている。


この手の発言は「コンパイラがアセンブリを出すが人間がアセンブリを確認していない」と「LLM がプログラムを出すが人間がプログラムを確認していない」というところを「ある道具が出力するものを確認せずに人間が受け入れる」という点で同一視できるということ、そしてその同一視ができるから LLM にプログラミングを任せることができるという内容だろう。

この「LLM にプログラミングを任せることができる」という結論について、「プログラムを書かせるのを任せる開発フローが作れる」という意味で使っているなら良いが、世の中には「プログラミングを任せても十分信頼性がある」という主張につなげているのは如何なものかと思う。


同一視することはある観点を捨ててある観点だけを取り出して抽象的に見ることである。

例えば小麦粉 1kg と鉄の粉 1kg について考えてみよう。 これは両方 1kg という量を持っていて、1 という数という抽象的な概念を使って同一視できる。

この同一視をすると何ができるかというと、小麦粉 1kg と小麦粉 1kg を合わせると小麦粉が 2kg になることと同じ演算が鉄の粉でもできるはずであり、鉄の粉 1kg と鉄の粉 1kg が存在したときに合わせて鉄の粉が 2kg と言えるはずだ、というような小麦粉の量に関する演算が鉄の粉でも同様に働くことを述べることができる。

これはこの同一視が量に関する性質をうまく捉えた同一視だったから、一方でできる量の足し算という演算がもう一方でもできると述べることは意味が通っていた。

しかし、小麦粉の粉 1kg と鉄の粉 1kg が存在し 1kg という単位で測ることができるから小麦粉からパンを作れるように鉄の粉からパンが作れるという推論は意味をなしていない。

1kg という量の単位を持っているという点で同一であるということから同じような量の演算ができるということを言うのは問題ないが、1kg という量の単位を持っているという点で同一であるということからパンを作れるという性質も同じだと言い出したらお前は何を言っているのだとなる。


「コンパイラが機械語を出力するが人間が機械語を確認していない」と「LLM がプログラムを出すが人間がプログラムを確認していない」というところを「ある道具が出力するものを確認せずに人間が受け入れる」という点で同一視できるというのはその通りだ。

そしてその同一視から言えるのは、そういう「出力を人間が全部確認せず受け入れるワークフローというものが生まれる」ということくらいまでのように思う。

その同一視から、「コンパイラの信頼性と LLM の信頼性が同一である」というような結論あるいはそういう結論を元にしているような追加の主張を出しているのは、小麦粉からパンを作れるから鉄の粉からパンが作れるというような論理的なズレが存在しているように思う。

一体何の観点で事象を同一視しておりそれによって何を類推で主張できるのか、というところがズレているのに気がつけないような人の言っていることは気にしても仕方がないとは思う。 ちゃんとした論理的な議論ができない人の言うことなど気にしても仕方ない。


もちろん実際問題として人間がプログラムを書くよりも LLM にプログラムを書かせた方がセキュリティ的なバグが少なく安全であるということが言えるかもしれないけどね。

ただしその安全性の根拠は LLM がコンパイラと同じ使われ方をするからではなく、様々な調査から AI の書くコードのセキュリティの安全性が一定の水準であると言われたからなはずである。 根拠になっていない同一視を根拠として語っている時点であまりろくな議論ではないように思う。

Series

Cited By

Webmentions