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

コードは安い。話を聞かせてください。

2026年1月30日原文(nadh.in)

概要

  • LLM(大規模言語モデル)によるコーディングツールの登場で、従来のソフトウェア開発は根本的に変化
  • 開発プロセスの労力・コスト・スキル要件が劇的に低減
  • 従来のコード品質指標や努力の価値が揺らぎ、プロジェクト評価基準も変化
  • 人間とAIが生成するコードの境界が曖昧になり、ソフトウェアの価値観が再定義されつつある
  • 今後の開発者の役割やソフトウェア文化の変容が不可避な時代に突入

ソフトウェア開発の終焉:LLM時代の到来

  • LLMコーディングツールの普及により、数十年続いた従来のソフトウェア開発手法の終焉
  • Linus Torvaldsの「Talk is cheap. Show me the code.」という格言の時代背景と意味
  • かつては、アイデアの実現自体が高コスト・高スキル・高労力の象徴
  • 複雑なシステム開発に伴う予期せぬ困難やトレードオフ、アーキテクチャの度重なる変更
  • 物理的・生理的制約(集中力、時間、体力)が開発のボトルネック
    • 複数人開発特有のコミュニケーション・調整コスト
  • 多くのアイデアが実現されず、無限のウィッシュリスト化
  • 25年間の開発経験を経て、AIによるコーディングが「手作業より遥かに優れている」現実
  • FOSS、インターネット進化、ツール・プラットフォームの変遷を体験した開発者視点
  • コーディングスタイルや価値観の変化、LLMの登場による根本的なパラダイムシフト

コード品質・プロジェクト評価の変容

  • 従来のコードベース評価指標(年齢、コミット頻度、フレームワーク、ドキュメント品質など)の崩壊
  • LLMによるREADME、ドキュメント、UI、コード整理の自動生成
  • 「美しいリポジトリ=良質」とは言えない時代
  • コードの出自や運営体制、作成者の信頼性を重視する必要性の高まり
  • 一見完璧な成果物ほど「低労力・一発生成」の疑念
  • 専門的な解析なしには真の品質を見極めにくい現状

労力と成果の再定義

  • 従来、1万行の良質なコードは長期間の努力・反復・スキルの証明
  • LLMは数秒で同等のコード生成、テストやデプロイまで自動化可能
  • 人間の専門性とLLMの組み合わせで高品質な成果物も実現可能
  • 個人開発者の「やりたかったことリスト」を現実化できる時代
  • 労力・思考・感情コストが劇的に減少し、自由度の高い創造的活動へシフト
  • 「プログラミング=90%思考・10%タイピング」が現実に

コードの価値と「スロップ」問題

  • 誰でも瞬時に大量のコードを生成できる時代の「コードの価値」再考
  • 人間によるコードも多くが「ジャンク」レベルであり、AI生成との境界が曖昧
  • 医師や土木技師のような厳格なライセンス制度が存在しないソフトウェア業界
  • 現実世界を支える多くのシステムが、実は質の低いコードで構成
  • AIスロップ(低品質AI生成物)への警戒心と、形式的な美しさとの皮肉
  • 人間の創造性・不完全さ・個性があってこそ価値が生まれる文化的側面
  • 無限に生成可能な成果物の「価値の希薄化」問題

今後のソフトウェア開発と開発者像

  • AIによる自動生成が前提となる時代のプロジェクト評価軸の再構築
  • 開発者の役割が「生成」から「設計・検証・運用・監督」へシフト
  • コードの「誰が・なぜ・どのように」作ったかというプロセス重視の傾向
  • ソフトウェア文化・コミュニティ・価値観の再定義が不可避
  • AIと共存する新たな開発者像の模索と、創造性・人間性の再評価

Hackerたちの意見

「話は安い」という元のフレーズは、「たくさんのことを言うのは簡単だけど、その言葉には本当の価値がないことが多い」という意味で使われることが多いよね。だから、この巧妙な見出しは、コードはその話よりもさらに価値がないって言ってるわけだ。それだけで、著者の作品からは予想される無知さが見える。記事を読んでみたら、やっぱり私の疑念が確認されたよ。

これは直接的に逆転した内容だね。

どこまで読んだ?彼らはそのフレーズのかなり特定の文脈での使い方(リーナス、2000年)を指しているんだよ。

ヘッドラインに過剰に反応してると思うよ、あれはただのジョークだから。記事の内容からは、著者がコードについて無知だとは思えないし、調べてみれば、かなりの数のオープンソースへの貢献があることが分かるよ。要するに、2000年には良いデザインを良いコードで支えるのがすごくコストがかかったけど、今はずっと安くなったってこと。だから、デザインが良いことがより重要だってことだね。ほんとそれだけ。

そう、元のフレーズには特定の意味があるよ。でも別の文脈では、「話す」ことがコードよりも重要な場合もあるんだ。ソフトウェア開発では、コードは開発者が頭の中に持ってる理解やモデルよりも実際には重要じゃない。コードは、あまり良い表現じゃないけど、プロセスの一種の排泄物みたいなもので、人間の解釈なしには意味がないんだ。たとえ運用上の価値があってもね。モデルは実装の一部ではなくて、ソフトウェアは人間の観察者なしでは純粋に文法的な構造に過ぎないから(それすらも、文法は心や言語に属するから、そうじゃないって言えるかも)。これはLLMの使い方に影響を与えるよ。

こういう盲目的な盛り上がりの記事が出るたびに、ここで同じような(よく考えられた)反論をよく見るけど、私がこの「エンジニアリングは終わった」という意見に対して一番異議を唱えたいのは、あまり見かけないことかも。もしかしたら私のビッグテック眼鏡のせいかもしれないけど、大きくて成熟した製品の場合、変更を本番環境に持っていくために必要な時間と労力を分解すると、実際のコードを書くことは… 10%、いや20%くらいのものじゃないかな?確かに、プロセスの他の部分に「エージェント」を活用することはできるけど、設計や仕様策定、実験、分析、反復のプロセスにおける彼らの価値は、コーディングプロセスに比べて劇的に低いんだよね(コーディングの重要性はすでに過大評価されてるし)。それに、会社全体でのコミュニケーションや調整については、通常それが本当の制約要因で、重いLLMの使用はほとんどの場合、状況を悪化させるだけ。こういう意見は、「ソフトウェア開発」が何を意味するのかについて、私とはまったく違う理解を持っているように感じるし、どう折り合いをつければいいのか分からない。はっきり言うと、これらのツールには絶対に役割があると思うし、適切な場面で使っていて、しばしば価値を得ているよ。間違いなく、これはこの分野の一部だ。でも、エンジニアリングの代わりになるという意見は、実際のユーザーがいる本物の製品をサポートしたことがない視点から来ているように感じる。

そうだね、いろんな意味で、私の主張は「コードは安い」というのは、実際にはみんなが思っていることの逆を意味しているってこと。ソフトウェアエンジニアリングは、ここ20年ほどで発展させてきた実践にもっと関係しているんだ。リーナスの観察は今でも当てはまるよ。君が提供したコードが、君が思っている通りに正確に動くことを示してみて。LLMに数行入力するのは簡単だけど、低レベルのコードを安全かつ効果的に変更する方法を正確に理解するのは別の話だよ。リズ・フォン=ジョーンズがLinkedInでHoneyCombのことについて話してたけど、彼女は悪いPRをリポジトリに落としたことで批判されたんだ。変更の提示の仕方をあまり考えていなかったからね。

こういう意見は、「ソフトウェア開発」が何を意味するのかについて、私とはまったく違う理解を持っているように感じるし、どう折り合いをつければいいのか分からない。君の言う通り、コーディングは全体の努力の20%未満だよ。私の経験では、10%が中央値に近いと思う。このことは、企業がLLMを適用してROIを追跡することで解決されるだろう。一年単位で見ると「まだ活用方法を学んでいる」と言えるかもしれないけど、数年経つと100倍の生産性向上の主張は崩れるだろうね。まだガートナーのハイプサイクルの上り坂にいるから、どれだけ早く失望の谷に落ちるか見てみたいな。

デザインドキュメントを書くのにもすごく便利で、これもSWEにとっては大きな時間の無駄なんだよね。

実は、君はこの作品の著者と全く意見が対立しているわけじゃないと思うよ。彼らは「ソフトウェアエンジニアリングは終わった」とは言ってない。彼らが言ったのは、> 「数十年にわたって行われてきたソフトウェア開発は終わった。」君は、コーディングを書くことがその技術の10-20%だと主張している。それは彼らも同じポイントを言っているんだ!彼らは残りの部分を「話すこと」としてフレーミングしていて、今はコードを書く部分がずっと安くなったおかげで、以前よりもさらに重要になっているんだよ。

Googleの「ソフトウェアエンジニアリング」って本では、ソフトウェアエンジニアリングとプログラミングの違いが説明されてるよ。主な違いは、ソフトウェアエンジニアリングはプログラミングよりも長い時間をかけて行われるってこと。この意味では、AIツールはプログラミングを速くするけど、ソフトウェアエンジニアリングを速くするわけではないんだ。

最近の経験がこれを示してるんだ。数週間、Claudeの助けを借りて新しいコードやリファクタリングをサクサク進めてたんだけど、その後の1週間は完全に停滞してる感じがして、今はまた高速度に戻った。真ん中で何が起こったかっていうと、自分が何をしたいのか分からなかったんだ。アプリケーションのための正しいデータモデルがまだ決まってなかったから、Claudeに何をしてほしいか言えなかった。で、その時に「もっとコード書いて」って言うと、すごく悪いことが起こるんだよね。

Hacker Newsで議論の続きを見る