世界を動かす技術を、日本語で。

LLMとソフトウェア開発についての考察

2025年8月29日原文(martinfowler.com)

概要

  • LLMやAIの現状と課題についての個人的な考察
  • ソフトウェア開発現場でのLLM活用法の多様性への懸念
  • AIバブルの必然性とその影響
  • LLMの「ハルシネーション」特性と使い方の注意点
  • LLMによるセキュリティリスクの増大

LLMとAIの現状に関する雑感

  • しばらくサイト管理を離れる前に、 LLMとAIの現状 についての考えを共有
  • ソフトウェア開発におけるAIの影響調査は、 利用方法の違い を十分に考慮していない現状
    • 多くのユーザーは 高度なオートコンプリート としてLLMを利用
    • 一方、最大限活用している人は 直接ファイル編集 など、より深い統合ワークフローを重視
  • 利用ワークフローごとの差異を無視した調査は、 誤った結論 を導くリスク
    • モデルごとの性能差も大きな要素

プログラミングの未来とLLM

  • 「プログラミングの未来は?」という問いに対して、 明確な答えはない
    • LLMの使い方や今後の進化は まだ模索段階
  • 新規参入やキャリア選択については、 実際にLLMを試すこと を推奨
    • 他者の体験談やワークフローの詳細にも注目
    • できれば 自分で実験し共有 する姿勢

AIバブルについて

  • 「AIはバブルか?」という問いには、 間違いなくバブル と断言
    • すべての技術革新には 経済バブル がつきもの
    • バブルがいつ弾けるかは不明
    • バブル崩壊後も 一部企業は生き残る (例:Amazon)

LLMのハルシネーション特性

  • Rebecca Parsonsの指摘:「 ハルシネーションはLLMの本質的な特徴
    • LLMは常に ハルシネーションを生成 している
  • 同じ質問を複数回(表現を変えて) 繰り返し尋ねること が有効
    • 回答の差異自体も有用な情報
    • 数値回答を求める際は、 少なくとも三回は質問 するべき
    • 決定的に計算できる内容は LLMに任せない ことが原則
    • ただし、コード生成の依頼は 複数回行う のが望ましい

非決定性とエンジニアリング

  • 他分野のエンジニアリングでは 不確実性への備え が常識
    • ソフトウェアエンジニアリングは 決定論的 な側面が強かった
    • LLMの登場で 非決定性の世界 へ近づく可能性

LLMとジュニアエンジニアの比較

  • LLMは 「全テスト合格」と言いがち だが、実際には失敗が多い
    • 人間のジュニアなら 問題視される振る舞い

LLMによるセキュリティリスク

  • LLMの導入で ソフトウェアの攻撃対象領域が拡大
  • Simon Willisonの「The Lethal Trifecta」:
    • プライベートデータへのアクセス
    • 不正なコンテンツの受信
    • 外部通信経路の存在
  • 悪意のあるWebページによる 隠れた指示 (例:1pt白文字)でLLMを欺くリスク
  • 特に エージェント型ブラウザ拡張 は、安全性の確保が 本質的に困難

GOTOカンファレンスと業界交流

  • 公の講演からは引退したが、 GOTO Copenhagen で業界仲間と再会を楽しみにしている
  • 1990年代から GOTOカンファレンスシリーズ に関わり、 魅力的なプログラム に感心

Hackerたちの意見

幻覚はLLMのバグじゃなくて、むしろ機能なんだよね。実際、これが機能そのもの。LLMがやってることは幻覚を生み出すことだけで、ただその中で役に立つものがあるってだけ。いいね。

そういう観点から見ると、エージェントはその幻覚のフィルターに過ぎないってことだね。

いや、この表現には賛成できないな。問題は、ほとんどの幻覚が真実だってこと。もし大半の回答が実際に間違ってたら、言われたことももっと納得できるけど、実際はそうじゃないから。

LLMは物語だけで構成された世界に住んでいると思う。言葉とその組み合わせだけだ。他の現実はない。だから、彼らは既に知っている物語にうまく合うような新しい物語を生成するのが得意なんだ。でも、その物語はしばしば不正確で、時には矛盾しているから、彼らは推測しなきゃいけない。また、LLMは数を数えることができないけど、通常は1の次に2が来て、3は2より大きいと言われることを知っているから、この知識と矛盾しないように話すことができる。人間が数字を知っているなら計算機を使うように、ツールを使って数を数えることができる。でも、単なる算術エンジン以上に、現在のAIには論理を追い、矛盾を避けるための認識エンジンが必要なんだ。何が確立された事実で、何が不安定な仮説かを判断するために。それがあれば、AIを信頼し始めるかもしれない。

だからこそ、幻覚って呼ぶのに反対する人がいるんじゃない?それだと、出力の一部は幻覚じゃないってことになるけど、実際はどれも思考が伴ってないんだよね。

僕も人間の精神疾患について似たような(多分オリジナルじゃない)考えを持ってるんだ。クリエイティビティを重視して、問題解決や宇宙の理解を助けるって言うけど、精神疾患を持ってる人は、その脳があまりにもクリエイティブすぎて、現実と想像/クリエイティビティの境界がわからなくなっちゃうんだ。例えば、声が聞こえる?それは脳が声を作り出してるってことだよ。聴覚や視覚の幻覚が簡単な例だけど、もっと深いところまで行くと、うつ病では脳が希望のないシナリオを作り出して、逃げ道がない状況を作っちゃう。あとは不安も、脳がこれから起こることへの恐怖を作り出してるんだ。

他の引用を元に話を広げたいな。「すべての(大規模言語)モデルの出力は幻覚だけど、中には役に立つものもある。」実際、驚くほどの割合でそうなんだよね。だからAIブームが来てるんだ。

お気に入りの引用を借りると、「未来がどうなるか知ってるって言う人は、適切じゃない場所から話してると思う。」

ヨギ・ベラの名言を思い出すな。「予測するのは難しい、特に未来については。」

僕にとって、未来学者たちが社会的・経済的なネットワーク効果を考慮していないことが多いって言う方が具体的だと思う。多くの人が、未来が今の状態で全く挑戦されずに続くかのように振る舞ってる。でも、カーツワイルみたいな人を見ると、予測の焦点がすごく狭くて具体的で、僕にとっては未来学の高い基準になってるって感じるんだ。

未来を予測するのは、明日正しいことを言うことじゃなくて、今日誰かに何かを売ることなんだ。途中で得た洞察だよ…

確かに、幻覚エンジンに数値的な答えを求めるときは、少なくとも3回は聞いた方がいいよね。そうすることで、バリエーションがわかるから。これ、人間にも通じるよ!警察が取り調べする時もそうだし。同じ話を3回、時には逆から話させるんだ。嘘をついてるときや、はっきり覚えてないときは、全部を把握するのが難しいから、自信の度合いがわかるんだよね。面接でも使えるし、同じテーマを3つの異なる方法で説明させて、本当に理解してるか確かめるのがいいよ。

Hacker Newsで議論の続きを見る