AIにはプログラマーの美徳の1つである「怠惰」がないという指摘 – GIGAZINE


AI


AI時代のソフトウェア開発において、人間のプログラマーが持つ「怠惰」という美徳が失われる危険性を、ソフトウェアエンジニアのブライアン・カントリル氏が自身のブログで論じています。

The peril of laziness lost | The Observation Deck
https://bcantrill.dtrace.org/2026/04/12/the-peril-of-laziness-lost/

プログラミング言語のPerlの生みの親として知られるラリー・ウォール氏は『Programming Perl』で、プログラマーの3つの美徳として「怠惰」「短気」「傲慢」を挙げています。ここでいう「怠惰」とは単なる手抜きではなく、「将来の自分や他者の作業を減らすために、よりよい抽象化や単純な設計を考え抜く姿勢」を意味しています。

カントリル氏によると、この意味での怠惰は、実際には大きな知的労力を伴います。コードを書かずに問題を頭の中で何度も考え直す「ハンモック駆動開発」のような時間も、将来の負担を減らすために必要な作業だと位置づけています。


一方でカントリル氏は、過去20年ほどでソフトウェアを作る人の層が広がり、自分をプログラマーとは呼ばない人々も開発に関わるようになったと述べ、怠惰という言葉に込められていた皮肉や設計思想が伝わりにくくなり、「大量にコードを書くこと」を成果とみなす風潮が強まったと主張しています。

そして、LLMが登場したことでこの傾向がさらに加速しました。LLMは利用者の開発姿勢をより強い力で実行できるため、コード量を誇るような開発文化にとって「筋肉増強剤」のように働いているとカントリル氏は指摘。DTrace全体でも数え方によってはおよそ6万行程度だと補足し、単にコード行数を積み上げることの危うさを強調しています。文学作品を重さで評価するようなもので、コード量を生産性の指標として扱う発想は、初心者にも誤りが分かるはずだと述べています。

たとえば、Yコンビネータのギャリー・タンCEOが「1日3万7000行のコード」を書いたとX(旧Twitter)に投稿しました。


しかし、ポーランドのソフトウェアエンジニアであるgregorein氏がタン氏の「newsletter-blog-thingy」を調べた結果、1回のロードに複数のテストハーネス、Hello WorldのRailsアプリ、紛れ込んだテキストエディター、同じロゴの8種類のバリエーションなどが含まれていたとのこと。


カントリル氏は、個々の問題は修正可能だとしつつも、問題の本質はそれらのミスそのものではなく、「LLMを使って大量のコードを生成する方法論が余計なものを積み上げる方向に進みやすい点こそが問題」だと見ています。つまり、LLMにはプログラマーの美徳としての「怠惰」が本質的に欠けているというのがカントリル氏の主張。LLMにとって作業量には人間のようなコストがなく、将来の自分や他者の時間を節約しようとする動機もありません。

そのため、カントリル氏は、LLMを放置することはシステムをより良くするのではなく、既存の混乱の上にさらに大量のコードを積み重ねる可能性があると警告しています。コード行数のような見かけの指標には訴えやすい一方で、設計の単純さ、認知負荷の低さ、将来の保守性といった本当に重要なものを損なう恐れがあるというわけです。

カントリル氏は、「人間には時間や認知負荷という制約があるからこそ、複雑なシステムを前にして、より明快な抽象化や単純な構造を求める動機が生まれる」と述べ、「優れたエンジニアリングは制約から生まれるものであり、時間や負荷の制約を持たないLLMが自発的に同じ判断を下すことは期待できない」としています。


ただしカントリル氏は、LLMそのものを否定しているわけではありません。LLMはソフトウェアエンジニアリングにおける強力な道具であり、技術的負債への対処や開発上の厳密さを高めるために役立てることはできると述べています。カントリル氏は、LLMを人間の「怠惰」に代わる存在として扱ってはならないと強調し、「LLMは人間のよい怠惰に従わせるべき道具であり、単にコードを増やすためではなく、より単純で強力なシステムを作り、将来の開発者にも役立つ形で使うべき」だと論じました。

この記事のタイトルとURLをコピーする


ソース元はコチラ

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

関連記事