脳をオフにしても意味がない時などない
There's no point at which turning your brain off will work (danluu.com)
要約
この記事は、LLM(大規模言語モデル)の利用において、ユーザーが「脳をオフにする」、つまりLLMの出力を無批判に受け入れてしまう傾向について論じています。LLMが進化しても、特に複雑なタスクや想定外の状況においては、人間の注意深い監視と判断が不可欠であり、この「脳をオフにする」アプローチは従業員にとって長期的には何のメリットもないと主張しています。
全文翻訳
2025年初頭、LLM[1]を使用する際に人々が「脳をオフにする」のを目にするようになりました。彼らはLLMに要約やコード作成などのタスクを実行させ、それが機能したと単純に思い込んでいました[2]。これは2025年初頭には一般的にうまくいかず、結果はしばしば非常に滑稽なものでした。
LLMが進化するにつれて、この傾向はさらに顕著になっています。人々はLLMにコードを書かせ、それが機能するとほぼ Assume(仮定)してしまいます[3]。人間が介在する場合でも、うまくいかなければLLMに問題解決を依頼します。Niklas Gruhnは、このようなアプローチのバリエーションを「ミートプロキシ(肉の代理)」と呼んでいます[4]。
ミートプロキシとしてforループを扱うことは、2025年初頭よりも改善されており、この方法で開発されたソフトウェアは時折、それらしく機能することもあります。私が使用したいと思えるほど、あるいは成功しているレベルではありませんが、2026年9月現在、ミートプロキシがいかに効果的であるかに感銘を受けています。LLMが進化し、ミートプロキシ開発が近い将来に「平均的な」[5]「品質の」[6]「ソフトウェア」[7]を生み出すようになる、あるいは人間を介さずに優れたソフトウェアを生成できるようになることも想像できます。
仮にそれが実現したとしましょう。その場合、企業がミートプロキシを雇用する理由は何でしょうか?企業はLLMをループで実行し、従業員を解雇できます。この方法論が従業員にとって機能する時点は存在しません[8]。
Max Bittker、Yossi Kreinin、Luke Burton、Thomas Dullien、Dennis Snell、Milosz Danczak、Peter Geoghegan、Jamie Brandonのコメント・校正・議論に感謝します。
-
この考えは1年半ほど前から抱いています。LLMが進化し、LLMとの対話で「脳をオフにする」時間が長くなるにつれて、この考えをより頻繁に抱くようになりました。 [戻る]
-
Luke Burtonは次のようなコメントをしました。
このようなことが可能であることは、行われている仕事の種類について、人々が考えている以上に多くのことを示していると思います。私がこのような仕事から離れるのは、タスクの価値が非常に低い場合、または失敗しても許容できる場合のみです。
価値の高いタスクでは、LLMが一発でそれらをこなせる確率ははるかに低くなります。私はQA、エンジニアリングマネージャー、アーキテクトの役割を担う必要があります。whileループはしばしばクランチタイムのように感じられます。何かを見落としたのではないかという nagging(しつこい)疑念があり、不適切に指定されたプロンプトが、やり直しが必要なアーキテクチャ上の選択につながる可能性があります。
もう一つの観察は、高いスループットが、私がシップするものの基準を上げるということです。以前はMVPをシップしてイテレーションしていたかもしれませんが、今ではエージェントが私の標準をはるかに超えるエッジケースを磨き上げ、探求しています。しかし、プロンプトで指示しない限り、それらを確実に実行することはありません。
おそらく、これは人々にとって不快な考えを抱かせるかもしれませんが、ミートプロキシの皆さんにお聞きしたいのは、エージェントがそれほど簡単にこなせるのであれば:1) 少し手を抜いていた可能性はありませんか? 2) なぜエージェントを、簡単にこなせるタスクのはるか先にまで押し進めないのですか?
私たちは、「ハンズオフ」自動化に非常に適していると思われることを行っています。それは、[編集済み]をBazelでビルドするために変換することです。エージェントを使っても、数ヶ月かかっています。このタスクには、無形の、指定が難しい要件がたくさん埋め込まれています。エージェントにそのラインを歩かせるということは、絶え間ない監督を意味します。「これをBazelに変換して」というプロンプトを与えて立ち去ることは、少なくとも数ヶ月先、おそらく数年先、そしておそらく決して実現しないでしょう。意思決定のポイントが多すぎ、未知の未知数が多すぎます。
例えば、コードに遭遇し、それがなぜそのように機能するのかはっきりしないが、その知識が取るべき行動を大きく変える、という状況はどれくらいの頻度で発生しますか?それは開発体験を変えるかもしれませんし、顧客がすでにそれを使用しているかどうか分からないかもしれません。どのようにして、その状況をミートプロキシで乗り越えるのでしょうか?
逆に、あるステークホルダーと、自分が行ったことをレビューすると、「ああ、あれ?あれは必要なかったんだ。もう使っていないよ」と言われることがあります。特定の要素を保持する必要があるという誤った仮定に基づいて、どのような決定が下されたのでしょうか?
[Lukeのコメント終了、私のコメント]。エージェントが分布外(out of distribution)のことに遭遇した場合、意思決定が必要であることがより明白になります。そのマイナーな例は、エージェントが異なるプログラミング言語をどれだけうまく使用するかを比較したときであり、エージェントは学習している言語であっても、主流言語ほど得意ではありませんでした。より分布外の例は、ボードゲーム(特にチェスや囲碁のような古典的なゲームではなく、現代的なゲーム)をプレイしようとするときです。一般的に、Lost CitiesやDominionのようなゲームでは、最先端のモデルとハーネスは、そのゲームを合理的にプレイできるが、そのゲームをプレイしたことがない人間よりも劣ります。ゲームについてエージェントに尋ねると、ゲームについて多くのことを知っており、ゲームを理解していない人にはもっともらしく聞こえるが、理解している人には明らかに間違っていることを言うことができます。最近、新しいプレイヤーと一緒にDominionをプレイしましたが、彼はゲームを理解するためにChatGPTを使うことが学習とプレイに役立つと考えていました。私はこれに懐疑的で、おそらく彼を悪化させるだろうと示唆しました(私の知る限り、それはそうでした)。数ゲームプレイした後、ChatGPTが彼に何を伝えているかを確認したところ、半分は正しく、半分は間違っていましたが、間違っている部分は、一般的なゲームプレイのヒューリスティックを使用する、ゲームをうまくプレイする人よりも悪い方向へ導いていました。ちなみに、公開されている情報は十分にあるので、プレイしたことがない人でも、例えば5時間かけてゲームについて読み、利用可能な情報を確認すれば、もし事前の読書をすれば(プレイ中に参照を使用することが許可されている場合、おそらく30分)、そのゲームで簡単に99パーセンタイル以上になれると思います99パーセンタイル以上のスキル。それは楽しくないと思うので、誰にもお勧めしませんが、エージェントは検索やAPIクエリを実行できることを考えると、分布外の問題に取り組む際の人間とエージェントの今日のギャップを示しています。私の知る限り、次の大きなモデルリリースでこれが逆転するかもしれませんが、今日のギャップはまだかなり大きいです。
いずれにせよ、私の言いたいことは、コーディングタスクを実行している場合でも、エージェントが合理的な人間と比較して非常に悪く振る舞う分布外の質問に遭遇することがよくあるということです。今日、全体的に良い結果を得たいのであれば、これらのケースに気づき、対処する必要があります。
[戻る]
3. 単に物事がうまくいくと仮定した場合に何が起こるかの例としては、このケースがあり、エージェントは(時々)テストに過度に適合したり、このケースではエージェントがメトリックに過度に適合したりします。エージェントは評価(eval)形式の問題でより多くの不正行為を行うという理論を聞いたことがあります。それが本当かどうかは分かりませんが、たとえそれが本当だと仮定し、私の仕事や個人的なプロジェクトでは、ほとんどの人よりも評価形式の指示を作成する傾向があるとしても、評価形式ではないものを作成しない他の人々が、指示を書いてエージェントを自由に動かしたときに(私は最小限の監督でうまくいったことがありますが、それはエージェントをかなり制限したためであり、ほとんどの人が行うよりも評価形式に近づきました)、同じ問題(実際にはより深刻な場合もある)に遭遇するのを見てきました。
思考をLLMにアウトソースした人々からのソフトウェアを試すと、深刻な問題があります。このようなことがうまくいくと私に言った人もいますが、そのソフトウェアはしばしば[ここで議論されている基準によれば、機能しないレベル] (https://danluu.com/bug-blind/)でした。
くだらない例を挙げると、あるプログラミングの思想的指導者がTwitterで「プログラミングは解決された」と宣言しているのを見ました。なぜなら、彼はあらゆる種類の(プログラミング)分野でプロジェクトを試したが、Claudeは専門家と同じようにすべての問題を解決できたからです。私は彼のGitHubを実際に確認し、私が調べたすべての例(ゼロではない数)は、機能しないか、非常にうまく機能しませんでした。これは、ボードゲームAIを作成していたときに、私のAIが対戦できる既存のAIを探していたときに実際に遭遇したことです。彼のAIはAlphaZeroスタイルのボットでしたが、LLMに単純なミニマックスヒューリスティックボットを書くようにプロンプトし、LLMをしばらくループさせてヒューリスティックスコアリングを微調整させたものよりも弱かったです(このゲームでは、これは平凡なAlphaZeroスタイルのボットによって打ち負かされるはずです)。
もう一つのくだらない例を挙げると、標準的なフロー(実際の商用製品の)に従うと無限ループに陥りました。脱出することは技術的に可能でした(ほとんどのプログラマーはおそらく脱出方法を見つけられるでしょう)が、典型的なユーザー(プログラマーを対象としていないこのソフトウェアの場合)は、おそらく脱出できず、主要な機能を使用できなかったでしょう。
ちなみに、私は自分で「自分用」の品質のソフトウェアをたくさん作っていますが、実際の製品であれば「基本的に機能しない」と評価するでしょう(例えば、私がripgrep検索を高速化するためにエージェントに構築させた正規表現エンジンや、一部のプロジェクトでエージェントのイテレーションループを高速化するためにエージェントに構築させたこのRustインタプリタは、どちらも使用すべきではありません)。ここで述べたように、データ分析のためにエージェントをループで実行し、完全に間違った結果を生成させて、それを修正するように指示するのが非常に価値があると感じています。しかし、自分の狭いユースケースのために機能するソフトウェアを作成し、それを「間違った方法で扱えば」機能しないことを知っていること、あるいは修正する間違った作業を生成することと、機能しないソフトウェアを大量に作成した後でプログラミングは解決されたと宣言すること、あるいは同様に商用製品にその品質のものを投入することとの間には違いがあります。
この投稿のドラフトを読んだ後、この短い考えを公開する価値があるか尋ねたところ、Thomas Dullien(別名Halvarflake)は、「良い投稿だ!はい、公開してください。なぜなら、私が『LLMはすべてのプログラミング問題を解決しない』と言うたびに、人々は私を変人のように見ますが、私は彼らをそう見ます」と言いました。そして偶然にも、このドラフトを終えた後、Gary Bernhardtがツイートしているのを見ました。「実際の剤の出力と、それについて人々が言っていることを対比するのは非常にシュールだ。日常的な変更では、私のレビューはしばしば差分を元のサイズの25%にカットする。無駄なテスト、パラノイア、逆論理がたくさんある。それからTwitterを読んで、『コーディングは解決された』と」そして「私がそれをツイートしてから1時間後の例:データベースURLの管理を修正するように指示した。NPMスクリプト内に直接if文を追加し、CIでインラインJavaScriptスクリプトを実行する条件付きNode呼び出しを追加した。差分は約20個のハンク。修正後:+0行、+1単語」。
ThomasやGaryのようなソフトウェアに対する態度を持つ人なら、しばらくの間そう感じてきたと思います。しばらくの間、LLMの生産性について最も大きな主張をしている多くの人々が、私が知っている誰よりもはるかに多くの価値を得ているのではないかと疑問に思っていましたが、ここで議論したように、より多くの証拠が入ってくるにつれて、人々は自分自身を欺いているだけだと確信が深まりました。ボードゲームの例で好きなのは、結果として得られるAIの良さを測定できることです。極限では、A > B > C > Aというようなロックペーパーシザーズのような状況を作り出すことができますが、それが単なるAIのナンセンスであれば、客観的に見て非常に明白です。同様に、商用ソフトウェアでも、会社の関係者と話したり、自分でデータを見たりして、コンバージョン率が低い、チャーン率が非常に高い、ユーザー満足度調査で非常に高い不満レベルが報告されている、などの事実を知ることができます。
もう一つくだらない例を挙げると、最近の投稿で、誰かが私の間違いについて condescending(見下すような)コメントとともにChatGPTのファクトチェックを送ってきましたが、もちろん私はすでにChatGPTで投稿をファクトチェックして実際のエラーを修正していたので、残っていたのはChatGPTのエラーだけでした。一般的に、この種の(私のものだけでなく、誰かのコンテンツに対して)偽陽性率(精度)は低く、偽陰性率(再現率)は平凡です。少し頭を使えば、これらのファクトチェックを実行する価値はまだあると思いますが、偽陽性のリストをスキル化することは、ドラフト投稿をさらに人間が読むように依頼するよりもはるかに安価です。
さらに別のくだらない例として、tpatcekが最近言及したトピックがありますが、LLMに褒められて、自分がやった仕事が良いと思わされてはいけないということです(彼は特に執筆について言及していましたが、これは他の種類の仕事にも当てはまります)。もしあなたが上記のGaryやHalvarflakeのような態度を持っているなら、これは言うまでもないことですが、一部の人々はこれを知りたくありません(これを知らないためには、本当に気づかないように努めなければならないと思いますが)。なぜなら、私は人々が自分の仕事の良さを正当化するために、ある種のLLMによるお世辞を使っているのを見るからです。LLMがあなたの仕事を天才的だと言ったり、あなたの議論が議論相手の議論を徹底的に打ち破ると言ったりする日が来るかもしれませんが、私たちは今日、その点から十分に離れています(正確さの点では、これは時間の経過とともにどれだけ離れているかの予測ではありません)ので、自分の仕事や議論についてのLLMの puff piece(お世辞)を使用してその良さを正当化している人は、ほとんどの場合、脳をオフにした兆候であり、仕事や議論が貧弱であることのかなり強いシグナルです。
[戻る]
4. 彼の投稿では、人が基本的にwhileループやforループとして機能するケースを技術的には言及していませんが、私がますます目にするその行動も、投稿の精神に沿ったものです。 [戻る]
5. 創業者や大株主などにはこれが当てはまるかもしれませんが、私が個人的にこれまで人々がこれを行っているのを見てきたのは、職場で働く従業員や、これがどれほどうまく機能するか、ソフトウェアは解決されたなどと主張している個人的なプロジェクトに取り組んでいる人々であり、雇用されているソフトウェアエンジニアにとってソフトウェアは解決された問題であるということを示唆しています。
「私たちは皆時代遅れになるのだから、なぜ諦めないのか?」という別の議論もあるかもしれませんが、人間の時代遅れが非常に近いと保証されない限り、この議論は私には逆のように思えます。もしあなたが経済的に退職する準備ができているなら、脳をオフにすることができますが、それはいつでもできたことであり、手を抜いてあまり何もしていない人がたくさんいました。もしあなたが退職する準備ができていないなら、より多くのお金を得られることをすることができますが、それはおそらく脳をオフにすることには関わらないでしょう。時代遅れにならない未来では、お金を稼ぐために急ぐ特別な必要はありませんが、時代遅れがすぐに来ると考えてお金を稼ぐ必要があるなら、今こそお金を稼ぐために急ぎ、脳をオフにすることの反対をすることです。「一生懸命働いたり、正しいことをしたりしても、給料が上がるわけではないから、なぜやる必要があるのか」というような考え方がありますが、これは私には非常に間違っているように思えます。なぜなら、私は問題を見つけてそれを修正することで昇給やボーナスを得てきたからです。私の友人たちも同様の経験をしています。ただし、良い仕事を評価しない非常に機能不全な場所にいる場合を除き、その場合はそこを離れて別の場所に行きます。
「慣性のため、LLMがプログラマーを置き換えるのに十分なほど良くなった後、ミートプロキシで済ませられるウィンドウが存在するだろう」というような別の議論があるかもしれません。現実的に考えて、企業が人を解雇することにどれほど熱心であるかを考えると、これも逆のように思えます。つまり、もしあなたの目標が可能な限り少ない仕事で済ませることなら、そのための最良の時期は過去でした。もしあなたが大企業の社員とこの種の事柄について話したことがあるなら、文字通り仕事に来ない(リモートワークもせず)人が何年もかかって解雇されるという話がたくさんあります。ここ数年はそのような話はあまり聞いていませんが、私がいたチームの一人がこれを行い、私の記憶が正しければ(以前は数字を知っていましたが、今では正確に覚えているか分かりません)、彼が引退して給料をもう少し稼げると思ったときに、ただ出勤をやめただけで、解雇されるまでに6ヶ月かかりました(これはパンデミック前、リモートではない会社でのことです)。私の友人が別の会社で経験したことでは、2年かかりました。誰も解雇の手続きを開始することさえせず、その後、段階的な警告の遅いプロセスを経て、最終的に解雇されました。私の友人は、マネージャーが、もし彼らがシステムをゲームしようとして、少しだけ働いているふりをして出勤していたら、それは新しい時計を開始し、彼らを解雇するにはさらに時間がかかっただろうと言っていたと述べました。もし彼が有能な怠け者であれば、当時の状況では無期限にその職を維持できたでしょう。企業がなぜこのような状態にあったのかは分かりませんが、企業はAIをこの状態から脱却するための口実として利用しているようで、現在および近い将来は、努力せずに価値を提供せずに職を維持しようとする人々にとって、非常に長い間でも最悪の時期です。間違いなく、それで済む企業もあるでしょうが、もし何もせずに給料を受け取りたいのであれば、それは長い間できていたことです(おそらく、文字通り仕事に全く姿を見せないという完全なモンティにはならないでしょう)が、近い将来よりも容易な環境で。