The New Stackの記事は、ACM(Association for Computing Machinery)のTechnology Policy Councilがまとめた報告をもとに、AIによるコーディングの“構造的な失敗”を取り上げています。
見出しの「AI systems do not understand」はかなり強い言い方ですが、これは煽りではなく、かなり本質を突いていると思います。
AIはコードを“理解しているように見える”ことはあります。でも実際には、文脈や目的、システム全体のつながりを人間のように把握しているわけではありません。ここを取り違えると、便利さがそのまま危険さに変わります。
記事が扱う中心テーマは、いわゆる vibe coding です。
これは、厳密な設計や検証よりも「なんとなくAIに指示して、雰囲気でコードを作る」ような開発スタイルを指します。言い換えると、速い。とにかく速い。でも、その速さの代わりに、エンジニアリングの基本が抜け落ちやすい。そこが怖いところです。
ACMの報告が問題視しているのは、単に「AIが間違えることがある」というレベルではありません。もっと根っこが深いです。
本来、ソフトウェア開発では次のような工程が大事です。
ところがAI中心の“vibe coding”では、こうした工程が省略されやすい。
「動いたからOK」で先に進んでしまうわけです。
これは個人的にかなり危ないと思います。短期的には気持ちいいんですよ。
でも、あとからバグが見つかったり、仕様変更に耐えられなかったり、誰も触れないコードが増えたりする。結局、将来の自分か別の誰かがツケを払うことになります。
AIが生成したコードには、脆弱性(ぜいじゃくせい、つまり攻撃される弱点)が入り込むことがあります。
たとえば入力チェックが甘かったり、権限管理が雑だったり、依存ライブラリの扱いが不適切だったりします。
もちろん、人間のコードでも脆弱性は出ます。
でもAIは「安全にするための文脈」まで自動で保証してくれるわけではない。ここを過信すると、見た目は立派でも中身がスカスカ、ということになりかねません。

maintainabilityとは、ざっくり言うと「あとから直しやすいか」「他人が読んで理解できるか」です。
AIはそれっぽく動くコードを大量に出せますが、プロジェクト全体の設計思想に沿ったコードを書くとは限りません。
結果として、初速は速いのに、半年後には誰も触りたくないシステムになる。
これ、現場ではかなり“あるある”です。しかもAIが関わると、「誰がこのコードを書いたのか」すら曖昧になりやすいので、余計に厄介です。
ここはかなり重要な指摘です。
報告は、AIコーディングの広がりが junior developer の育成パイプラインを弱める可能性を警告しています。
なぜかというと、若手が学ぶべきなのは「正解のコードを出すこと」だけではないからです。
本当は、
を、実際に手を動かしながら学ぶ必要があります。
AIに丸投げすると、この学習機会が減る。
これは単なる教育論ではなく、将来の業界全体の体力の問題だと思います。便利な自動化が、人間の基礎体力まで削ってしまうなら、長期的にはかなりまずいです。
この一文、かなり象徴的です。
AIは大量のコードや文章からパターンを学びます。
でもそれは、意味を人間のように理解しているのとは違います。
たとえば「この関数はここで例外を投げるべきか」「この変更は他のサービスにどう波及するか」といった判断は、システム全体の文脈がないと難しい。
つまりAIは、**“考えているように見える出力”はできても、“責任を持って理解している”わけではない**。
ここを勘違いすると危険です。
私はこの点が、AI開発ブームの中でいちばん大事な論点ではないかと思います。
AIはあくまで強力な補助輪であって、運転手そのものではない。なのに、気づくと「補助輪に全部運転させている」状態になりがちなんですよね。

そこまで単純な話ではありません。
AIコーディングには、もちろん大きな利点があります。
要するに、使い方次第ではかなり強いです。
ただし、記事が伝えているのは「便利だからこそ、基本を飛ばすな」ということだと受け取りました。
個人的には、AIは「雑に使うと事故るツール」の代表格になりつつあると思います。
Excelより危険、というと言い過ぎかもしれませんが、少なくとも“コードを書けるAI”は、見た目以上にシビアに扱う必要があるでしょう。
この話が面白いのは、単なる技術ニュースではなく、開発文化そのものへの警告になっている点です。
AIが普及すると、開発は速くなります。
でも速くなるほど、確認・設計・レビュー・教育の価値が逆に上がる。
この逆転現象を忘れると、表面上は生産性が上がったように見えて、実は組織のリスクが増えるだけ、ということになりかねません。
ACMのような団体がこうした指摘をするのは、かなり意味があると思います。
「AIはすごい」で終わらせず、何が失われるのかをちゃんと見ようとしているからです。
この記事が伝えているのは、AIコーディングへの単純な賛否ではありません。
本質は、「AIがコードを書けること」と「ソフトウェアを責任持って作れること」は別物だ、という点です。
便利さに浮かれていると見落としがちですが、ソフトウェア開発は“書く”だけでは終わりません。
設計し、確かめ、守り、直し続ける必要があります。
AIはそこを全部肩代わりしてくれる存在ではない。むしろ、基本を雑にすると問題を増幅させる可能性がある──この警告は、かなり現実的で重いと思います。
参考: “AI systems do not understand”: New report flags systemic failures in AI coding