HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

AIに知恵はなく、あなたにもない

AI Has No Wisdom and Neither Will You (alexn.org)

90 pointsby dimonomid95 コメント

要約

AI、特にLLMは、コードの保守性やアーキテクチャの質といった、即座に測定できない長期的な価値を理解できません。これらの品質は熟練したエンジニアの直感に依存するため、AIはそれらを学習できません。AIへの過度な依存は、開発者が間違いから学ぶ機会を奪い、熟達への道を閉ざすため、注意が必要です。

全文翻訳

過去1ヶ月だけでも、「2025年以降コードを書いていない」「コードレビューは死んだ」「人々はもうコードを読まなくなった」といったフレーズを耳にしました。確かに業界は変革していますが、コードを読んだり書いたりすることをやめるという罠に陥る人々や組織は、それを自らの危険を冒して行っているにすぎません。事実、雰囲気でコーディングされたプロジェクトは、時間とともに維持不可能な混乱へと陥ります。その理由は単純ですが、修正が難しいのです。コードの保守性と優れたアーキテクチャには、適用できる良い測定基準がありません。なぜなら、悪いアーキテクチャや維持不可能なコードの影響に気づくまでには、数ヶ月、あるいは数年かかるからです。私たちは確かに悪いコードを定義できます。読みにくく、理解しにくく、将来何が起こるにしても進化させにくいコードです。あるものを変更するとプログラムが非常に非決定的な方法で壊れたり、変更箇所から遠く離れた別の場所でロジックが壊れたりするような、いわゆる「バタフライ効果」に似たコードです。機能を追加するのが大変な作業となるようなコードで、複数の場所でコードを変更し、すべてをパッチすることを忘れてしまい、結果として一貫性が失われます。設計の不変条件が不明確で、その作者がもはやそれを保護し、ある程度の整合性を確保するためにいないようなコードです。テストが難しく、モックが必要で、実装の詳細を露呈し、壊れやすいテストにつながり、最終的に意味のあるリファクタリングを妨げるようなコードです。それでも、悪いコードに気づくには時間がかかるという事実は知っています。数ヶ月、数年です。もちろん、経験豊富なソフトウェアエンジニアはコードの臭いを嗅ぎ分ける鼻を持っており、悪い影響が観察されるずっと前に行動を起こすことができます。熟練した開発者、専門家は、汗と涙、長時間デバッグや本番環境の問題修正に費やした努力によって築かれた直感に頼り、過去の過ちを繰り返さないと誓います。これは、すべてが文脈に依存するため、厳格なルールのリストにすることはできない種類の直感です。専門家は、初心者の生産性を向上させるのと同じルールやレシピには適合しません。専門家はルールに従わず、ルールを作ります。そして、ここに問題があります…まず、AIはコードが保守的であることの意味についてトレーニングされていません。例えば、強化学習には、数ヶ月や数年ではなく、即座に測定可能な報酬信号が必要です。AIは初心者向けのルールブックからルールを学びます。AIは、実際のコードからパターンを認識しますが、正直に言って、実際のコードのほとんどはかなり悪いです。保守可能なコードのために定義できるフィットネス関数はありません。少なくとも、私たちが識別できるようなものは。そうでなければ、それはすでにリンターに組み込まれているはずです。AIがコードを「単純化」するのがどれほどひどいか気づきましたか?はい、最先端のモデルです。関数を適切に定義することさえできず、実際には再利用可能ではない小さな関数に分割することを選択します。大きな関数から小さな関数を抽出するのは、大きな関数を理解するために抽出された小さな関数の実装も読む必要がある場合、非常に悪い選択です。再利用可能で明確な関数を定義することは芸術形式であり、習得に時間がかかる芸術です。多くの開発者は、ドレイファスモデルにおける「上級初心者」のままであり、良い、明確な、再利用可能な関数を定義できませんし、現在のAIもできません。人々がまだコントロール下にあり、これらの間違いから学ぶのであれば、これはそれほど悪くないでしょう。しかし、人々がコードを書いたり、読んだりするためにAIに依存する傾向が見られます。そのような人々は決して熟達に達しません。なぜなら、彼らはもはや選択をせず、コーディングにおける間違いに対する責任を取らず、それらの間違いから学ばなくなるからです。今間違いを犯しているのはAIであり、AIはその間違いから学びませんし、コーディングのためにAIに依存している人々も学びません。やれやれ!誤解しないでください。LLMは素晴らしいツールだと思います。私はラッダイトではありません。私はAIを日常業務に統合し、同僚に私が学んだことを教えています。私たちが対処しなければならない、退屈で魂を吸い取るような仕事のすべてをAIに任せることを喜んで行っています。効率性の向上も楽しんでいます。しかし、結局のところ、それは単なるツールであり、他のすべての革命と同様に、その光もいつか衰えるでしょう。私の意見では、すでに衰えています。なぜなら、現在のテクノロジーニュースは率直に言って退屈だからです。人々は予測をするのが非常に下手です。未来は私たち全員を驚かせるだろうと信じています。しかし、私自身の予測をします…将来、ますます多くの企業が「AI不使用」ポリシーを競争上の優位性として誇らしげに宣伝するようになるでしょう。そして、彼らは正しいでしょう。「しかし、自動化された組立ラインは常に効率的だ」と人々は言います。ただし、ソフトウェア業界は特別です。なぜなら、私たちは常に大規模な自動化を行ってきたからです。私たちがやることすべてが自動化です。LLMだけがその手段ではありません。文脈によっては、実際には気を散らすものになる可能性があります。「コーディングは解決されていない」というのは、意味のある意味では決してありません。確かに、LLMにC/C++コンパイラを構築するように指示することはできます。あるいは、GCCやLLVMをクローンするだけで、さらに良いC/C++コンパイラを無料で入手できます。そして、同じCRUDアプリケーションを再発明するよりも、私たちの時間とリソースを費やすより良い方法があるかもしれません(人間のニーズと欲求は無限であり、新しい目標の不足はありません)。人々や企業がその使用について責任を持たなくなれば、結果が生じるでしょう。更新日: 2026年9月22日 | 執筆者: Alexandru Nedelcu タグ: AI | オピニオン 関連記事 # Copyright is Dead AI | オープンソース | オピニオン 2026年3月6日 Boring Tech May Become Irrelevant Tech AI | FP | オピニオン | プログラミング | 言語 2026年3月5日 Programming Languages in the Age of AI Agents AI | FP | オピニオン | プログラミング | 言語 2025年11月16日