AIが書いたコードは、それでもあなたのコード。その責任を引き受けられますか?
AI-Written Code Is Still *Your* Code. Are You OK with That?
コーディングエージェントの登場で、ソフトウェアを「書く」コストはほぼゼロに近づいた。しかし、これまで当たり前だと思われてきた「自分のコードを理解する」という作業が、AIによって切り離されつつある。コードを書くことは、理解を強制するプロセスだったが、AIが代わりに書くことで、その理解が任意になってしまった。ソフトウェアを所有するということは、品質やセキュリティ、保守、運用に責任を持つことだ。AI生成コードを人間が理解できるようにすることを、設計の第一目標にすべきだと筆者は主張する。
AIは複雑性の工場になり得る。
HNでの議論
89- Retr0id
> AIが複雑性の工場になり得ることは明らかだ。
> 最近、AI時代においてソフトウェアを人間に理解しやすく保つことを第一級の設計目標にしたら、ソフトウェアはどうなるだろうかとよく考えている。
同感で、私も似たようなことを考えている。しかし、理解しやすく適切に構造化されたコードがどうあるべきかについて「新しい」ことは何もないと思う。それは昔と同じ原則だ。
エージェントが書いたコードの多くは、熱心な人間に少し過剰な刺激物を与えて、目標に到達するための最短経路を取るように頼んだら得られるであろうものに見える。これはおそらく、LLMがそれ以上うまくやるほど「賢くない」という結果に過ぎないが、インセンティブの問題もあると思う。ベンチマークや教師なし学習で、人間の理解しやすさにどう報酬を与えるのか?
- phoghed
> ソフトウェアを構築するとき、あなたはそれを所有する
いいえ、特に所有していません。私の会社が所有しています。そして、その会社はためらいもなく私を解雇するでしょう。
- nasretdinov
興味深いことに、「それをサポートしたいか」という問いは、私が覚えている限り、十分に大規模で成熟したプロジェクトでは常に主要な問いでした(「それを書けるか」ではなく)。
今や、大規模になることは基本的に解決された問題ですが、それでも長期的にはソフトウェアエンジニアリング業務のせいぜい10〜20%に過ぎません。雑務の一部をLLMに任せられることはありがたいですが、根本的に、大規模プロジェクトの開発が遅くなる主な理由は、大量のコードを迅速に書く能力の欠如では決してありませんでした。
- delijati
私たちは一周回って「ソフトウェアを人間に理解しやすく保つことを第一級の設計目標にしたら、ソフトウェアはどうなるだろうか」という問いに戻るでしょう。もしかしたら、決定的な結果を得るために擬似プログラミング言語を発明するかもしれませんね ;)
- eterm
はい、私は大いに問題ありません。AIは、以前は夢見ることしかできなかった規模の個人的な野心を可能にしました。
私は、簡単に座って考えを頭から書き出してコードにできるようなコーダーではありませんでした。それはごく一部の才能ある人に起こることだと見てきました。AIは彼らにとっては苛立たしいかもしれません。彼らにとってコーディングは決してボトルネックではなかったからです。しかし私にとっては、いつも分析麻痺に陥ってしまい、プロジェクトの最初の一行を書くこと自体が困難な見通しでした。
AIのおかげで、私はずっと欲しかったプログラムのエコシステム全体を構築できるようになりました。
コードは完璧ではありませんが、アーキテクチャ上の間違いを修正し、AIを十分な解決策に導くのに十分な理解はあります。