プログラミング
コーディングは解決されていない
Coding is not solved (blog.alexewerlof.com)
要約
この記事は、LLM(大規模言語モデル)の台頭にもかかわらず、コーディングという分野はまだ解決されていないと主張しています。ソフトウェア開発のコストの大部分は、LLMが現在苦戦している保守、信頼性、セキュリティ、スケーラビリティといった非機能要件(NFR)に費やされており、AIは人間のように責任を問うことができないため、高リスク分野には不向きです。LLMは有用なツールですが、特に論理や複雑なシステムが関わる場合、人間のエンジニアの代わりにはなりません。
全文翻訳
コーディングは解決されていない
トークン販売業者によって推進される一般的な言説に異議を唱える
Alex Ewerlof
2026年9月26日
免責事項:これから読む内容は多くの意見であり、その多くは参照を含んでいますが、一部は過去4年間にわたるAIの構築とAIシステムの構築における私の個人的な経験の結果です。いずれにせよ、認知バイアスには注意してください。ある議論があなたの信念体系に合致しないからといって、残りが無効であるとは限りません。また、私はAIに反対しているわけではないことを upfront に言っておきます。私の仕事に注目しているなら、私がLLM搭載コーディングツールの早期採用者であるだけでなく、独自のハーネスを構築し、これらのトピックを教え、LLM搭載製品を構築してきたことを知っているでしょう。これはAIへの恐怖ではなく、「コーディングは解決された」という、そしてエンジニアリングはもはや「センス」の問題であるという、無思慮な言説に異議を唱えることです。
更新:誰かがこれをHacker Newsに投稿し、2位まで上がりました。
2026年9月29日現在、473ポイント、476コメントを獲得し、圧倒的に肯定的なフィードバックを得ています(そのコミュニティではやや珍しいことです)。これは、議論のこの側面に多くの人がどこにいるかを示しています。
ソフトウェアを理解していないことを、文字を使わずに教えてください!!!
「LLMはまともなコードを書ける」と主張する人々は、コードがどのように機能するかを理解していません。確かに、生成ははるかに安価ですが、大規模に本番環境でソフトウェアを実行した経験がある人なら誰でも、保守、信頼性、セキュリティ、スケーラビリティなどがコストの大部分を占めることを知っています。これらは一般にNFR(非機能要件)として知られています。
NFR
Alex Ewerlof・2024年4月22日
続きを読む
私の経験では、機能要件(コードが何をすべきか)さえもまだ解決された問題ではありません。読まない人ほど自信があるという、ダニング・クルーガー効果が働いています。
ハードウェアとシステムエンジニアリングの2つの工学学位を持つベテラン開発者として、コードを読むことを厳密に必要としない4種類の製品を挙げることができます。
パーソナルソフトウェア:個人的な問題を解決するため、自動化、DIYパッチなど。
POC(概念実証):技術的な実現可能性と製品の実行可能性を実証するため。
使い捨て自動化:予算が結果の検証のみを許可する場合。例えば、画像のレビューは通常、人間にとっては簡単なタスクです。
武器化されたAI:リスクを認識し、意図的にターゲットを狙って損害を与えるため。
共通点に注目してください:最初の3つはリスク許容度が高く、最後の1つは固有のリスクを武器化します(そして、インターネットに接続されたエージェントの爆発半径を考えると、最後の1つでさえ厳格な制御が必要だと主張します)。
ソフトウェアエンジニアを雇用して支払う必要があるほとんどのソフトウェアは、リスク許容度が低いです。
✅ ヘルスケア
✅ 金融
✅ 自動車
✅ 防衛
✅ 発電所
✅ 航空
✅ 製造業
…間違いが命、お金、または法的結果をもたらす可能性のある場所では、説明責任が必要です。
説明責任 vs 責任
Alex Ewerlof・2024年11月29日
続きを読む
しかし、それは二者択一ではありません。
コードを理解し、手入れするのに費やす時間は、リスク許容度の関数です。そしてリスク許容度は、ビジネスセクター(言及したように)だけでなく、以下の関数でもあります。
スケール:消費者が多すぎると、小さな障害が大きな損害を引き起こす可能性があります。
回復力:タイトな結合は連鎖的な障害につながる可能性があります。
封じ込め:コンパートメント化、サンドボックス、分離、バルクヘッド、およびその他の多くのパターンが障害を封じ込めることができます。
オブザーバビリティ:エラーに早く気づき、その周りのデータが多ければ多いほど、早く修正でき、エラーコストを削減できます。
購読する
AIは説明責任を負うことができない
いかなる結果も被ることができません。AIにできる最悪のことは、電源を切ることです。そして、トレーニングデータのために人間の感情を模倣しているように見えても、AIはそれを「気にかけ」ません。AIは死ぬこともありません。刑務所行きや罰金に苦しむこともできません。AIを罰することはできないため、AIは決して説明責任を負うことができません。
法的な観点から、AIは責任を負うことができるツールにすぎません。人間が説明責任を負います。
だからこそ、アメリカ大統領はこう言います。
私たちのガードレールは司法省です — ドナルド・トランプ
彼の不人気さは十分に承知しており、個人的にはファンではありませんが、彼がそれを彼のために綴らせたのか、それとも彼自身が思いついたアイデアなのかは別として、彼は一理あります。また、これは「人工知能」を「超知能」と改名した人物でもあります(確立された用語である人工超知能、またはASIと混同しないように)。
理解していないことに対して責任を負うことはできません。その理解は、システムの動作について推論し、AIが必然的に失敗したときにそれを修正するための鍵となります。
もしあなたが遊びでやっているなら、LLMは素晴らしい仕事をします。だからこそ、「コーディングは解決された」という言説の最も攻撃的な提唱者の多くは、何も示すものがありません。Anthropicは誤ってClaude Codeをリークしました(さらに調査したところ、多くの欠陥があることが判明しました)、そして彼らのステータスページはオレンジが新しい緑を示しています!
管理職にいるなら、リーダーとして行動し、エンジニアの声に耳を傾けてください。彼らが品質を気にかけているなら、彼らは「SaaSocalypse」を乗り越えるためのあなたの切り札です。
なぜコーディングは解決されていないのか?
一般的な言説とは対照的に、コーディングは現在の世代のLLMが引き継ぐ最後の分野の1つです!!!
詳しく説明させてください。
コーディングは論理に関するものです。コンパイラのエラーを扱ったことがある人なら誰でも知っているように、コンピューターはあなたがどれだけ正しいと思っているかなど気にしません。論理的に間違っていれば、コンパイルされません。構文が正しくても、実行時エラーがあります。
LLMがコードの記述に成功している理由は、エラーをLLMにフィードバックし、ほとんどのエラーが解決されるか隠されるまでループするフィードバックループを作成したからです。LLMはカンニングもできるし、する可能性があることを覚えておいてください。
LLMは、自然言語に関連するタスク(ソーシャルメディア投稿、レポート、記事などの作成)ではうまくやれますが、コードに関しては、Rを「Raspberry」という単語で数えるのに苦労したり、洗車に行くことを提案したりするのと同じエンジンが、他の論理的誤謬も露呈します。
LLMは確率的で確率的です。それらを論理的に近づける唯一の方法は、従来のコード(ハーネスと呼ばれる)でラップし、テストを実行し、その他の多くのテクニック(CoTなど)を使用することですが、根本的な問題は残ります。LLMは論理と量に苦労します(入力が大きく、コンテキストウィンドウがより多く使用されるほど、精度は低下します)。
LLMがコードを生成したり、既存のコードベースを保守したりできないと言っているわけではありません。それらはツールとして有用であり、その能力はSカーブで増加しています。より高価なモデルが価格上昇率ほど生産的であるとは限らない、収穫逓減点があります。
私の投稿にAIはありません。この投稿のために、私は文字通りホワイトボードにこれを落書きしました。人間は視覚的なパターンの不一致を見つけるのが得意ですが、コードに関しては、ベテラン開発者でさえ一目では問題を見逃す可能性があります。
LLM生成ソフトウェアで十分だと主張する人々:
❌ 何年もコードを書いていない
❌ コードに比喩的に6本の指があったとしても、それを見つけられない!
❌ 良いものの基準が低い
❌ 品質やNFRを気にしない
❌ Sカーブの理解に苦労している
✅ 正直:AIは彼らよりも実際に良いコードを書いている
しかし、それをプロの産業全体にまで拡大するには、シンパシーのあるAIと過ごしすぎた人々にしか見られないレベルの無思慮さが必要です。
AIの過剰使用
私は誰かのワークフローやツールボックスを変えるためにここにいるのではありません。どうでもいいことです。
しかし、私は実験台になるのにうんざりしています!
私が求めているのは、あなたの仕事をきちんとやり、半端な製品を定価で出荷しないことです。
私が気にかけているのは、私が支払っているサービス(GoogleとGitHub、あなたたちのことですよ)が、信頼性と説明責任を速度よりも優先していれば避けられたであろう愚かなバグで劣化していることです。
AnthropicのBoris Chernyは、「コーディングは解決された」という言説の最も声高な提唱者の一人です。多くの証言によると、Claude Codeはその彼のイデオロギーの啓示です。
Claude Codeを実行すると、Bunのヘルプメニューが表示されます。
Claude Code CLIバイナリインストーラーはサイレントにデ