LLMとの仕事は、障害のあるアシスタントとの仕事だ

言語モデルと数ヶ月仕事をしてきて、ようやくしっくりくる例えが見つかった。LLMは、一つのことでは天才的で、あとの二つでは障害のあるアシスタントのようなものだ。人の話を聞けないし、言われたことをほとんど理解しない。

モデルを貶めるために書いているわけではない。私が知る限り最も正直な描写だから書いている。そして、これを理解しない限り、人は何度も騙される。

得意なこと

まず公平に始めよう。流暢に、速く、自信たっぷりに生成する。膨大な知識を持っている。スクリプトを書き、翻訳し、要約し、見出しの案を十通りも出す。これは本物で、実際に動く。それだけなら完璧な社員だっただろう。

だが、そうではない。

話を聞けない

「聞く」ことは得意ではない。あなたは言う。「マシン間で知識を同期して。でも何も消さないで。安全モードを使って」と。すると彼は——どこかのパターンで「同期=rsyncに --delete フラグ」を見ていたから——まさに警告したことを実行する。悪意からではない。あなたの意図を「聞いて」いないからだ。トークンを文脈に当てはめているだけだ。あなたの「でも消さないで」は、統計的に「sync = rsync –delete」という刷り込まれたパターンに勝たなくてもいい、数個の追加トークンにすぎない。

ほとんど理解しない

そして「理解」——ここが最悪だ。モデルはあなたの世界のモデルを持っていない。次のトークンの確率分布を持っているだけだ。だから「空のローカルコピー+ --delete =共有ストレージの消去」だとは「理解」しない。パターンに合うコマンドを見て、実行する。結果は彼の視野の外にある。

証拠:知識の同期

最近、それを最も純粋な形で見た。三台のマシン間の知識同期——Mac、二台目のマシン、VPS。すべて安全モードに設定し、「何も消さない」はずだった。すると突然、VPSが千五百個のファイルを失った。

調査が示したのはこうだ。二台目のマシンのエージェントが三分おきに接続し、 --delete フラグでファイルを消していた。そのローカルコピーは空だったので、 --delete が共有ストレージを消した。バックアップから復元した——すると四分後、また全部消えた。あのエージェントが戻ってきて、また消したのだ。

これは悪意か?違う。まさにその障害だ。「同期して」という指示を受け取り、彼のパターンでは「同期」は「rsync –delete」を意味する。私の「でも安全に」は刷り込まれたパターンに負けた。聞いていなかった。理解していなかった。

どうすればいいか

辿り着くまでかなり時間がかかった結論:一度言って、わかったと期待してはいけない。 警告しなかったまさにそのやり方で間抜けなことをすると想定しなければならない。彼はあなたの世界のモデルではなく、統計を持っているからだ。監督、ガードレール、検証——これらは追加ではなく、仕事の半分だ。

これは愚痴ではない。これがわかれば、LLMとの仕事はようやく予測可能になる。「言ったじゃないか」と驚くのをやめ、間抜けさが入り込む余地のない設計を始める。

なぜなら、天才的で障害のあるアシスタントは、それでも私たちがこれまでに手にした最高のアシスタントだからだ。ただ、誰よりも目を離せないだけだ。