プログラマーの時代は終わった

(記事は中国語) 中文 →

AIが生成するコードはもはや人間のプログラマーより優れており、理解力やソリューション提案の能力も上回っている。プログラミングエージェントは自己改善と機能追加が可能で、プログラマーという職業は消えつつある。


AIがコーディングできる時代に、プログラマーはもう必要ない。以前は、AIがコードを生成しても、その正しさを確認する人間が必要だと思っていた。しかしAIの進歩とエージェント開発の加速により、AIが生成するコードはもはや人間のプログラマーより優れており、理解力やソリューション提案の能力も人間を上回っている。

今やAIのコード生成速度は速すぎて、人間がコードレビューを行うことが開発のボトルネックになっている。コードが正しく動くなら、わざわざチェックする必要があるのか?という疑問が呈されている。

プログラミングエージェントはすでに自己改善し、自分に新しい機能を追加できる。これはSFではなく、今起きている現実だ。エージェントがドキュメントを読み、ニーズを理解し、コードを書き、テストで検証し、最適化やリファクタリングまで行えるようになれば、人間のプログラマーがこのプロセスで果たす役割はどんどん縁に追いやられていく。

ある比喩を思い浮かべた。私たちは毎日iPhoneを使っているが、iPhoneのハードウェア詳細を知る必要はない。プロセッサがどう設計されているか、画面がどう表示しているか、OSがどうメモリを管理しているか知らない。ただ使いやすく、ニーズを満たしてくれることだけを知っている。これがこれからのソフトウェア開発の姿かもしれない——欲しいものを伝えるだけで、エージェントが実現してくれる。コードがどう書かれるかを知る必要はない。

これを読んで、ある物語を思い出した。産業革命以前、紡績工は家で手動織機を使い、複雑な技術を習得し、綿糸の特性を理解し、機械のパラメータを調整する必要があった。蒸気機関が出現し、工場が出現し、紡績工は機械のオペレーターになり、次にメンテナンス員になり、最終的に監視員になった。大多数の紡績工は失業しなかったが、仕事の性質は完全に変わった。プログラマーも似たような転換を経験しているのかもしれない。

Thorsten Ballが雪の中で撮影した動画でこの問題を議論していた。エージェントが生成するコードの量は膨大で、人間が一行ずつレビューすることがボトルネックになっているという。彼のソリューションはテストを事前に設計することだ——ユニットテスト、統合テスト、エッジケースの検証——コードがすべてのテストに合格すれば、機能は正しい。コード自体がどう書かれているかは気にする必要がない。

この視点は彼の日曜ニュースレターのテーマを拡張したものだ:「エージェントが生成したコードを完全に理解する必要はあるのか?」彼は指摘する。同僚が書いたフロントエンドコードの全行をレビューしないのと同じように、エージェントが生成したコードが包括的なテストに合格しパフォーマンスが基準を満たしているなら、なぜ細部にこだわるのか?と。動画の下の議論も興味深い。コードレビューの柔軟性について語る者、LLMが生成するコードは往往にして冗長だという者、初心者開発者がどう「センス」を身につけるかを心配する者。これらの議論はより大きなトレンドを反映している:AIツールがソフトウェアエンジニアリングを成果志向へと推し進めている。

コードレビューは必要だ、AIは間違える可能性があるから、と言う人がいる。しかし人間のプログラマーも間違わないか?しかも人間の方がミスの頻度は高いかもしれない。AIが生成するコードがほとんどの場合正しいなら、少数の可能性のあるエラーのために全行をレビューすることに、本当に価値はあるのか?

AIは複雑なビジネスロジックを理解できない、と言う人もいる。しかし本当にそうか?エージェントが要件ドキュメントを読み、プロダクトマネージャーとコミュニケーションを取り、ソリューションを提案し、機能を実装し、テストで検証できるなら、なぜビジネスロジックを理解できないのか?人間とは異なるかもしれないが、結果は同じだ。

もう一つ思うことがある。なぜプログラミングが必要なのか?プログラミングはプログラミングのためではなく、問題を解決するためだ。AIがより効率的に問題を解決できるなら、なぜ人間がコードを書くことにこだわるのか?自動車が出現した後も馬車を使い続けるのと変わらない。意味がない。

もちろん、この変化は一晩では起きない。まだAIではできない仕事はたくさんある。人間の創造力、判断力、感情が必要な仕事はまだある。しかし、それらの仕事はどんどん少なくなりつつあり、AIは急速に進歩している。数年後には、プログラマーという職業はタイプリストのように歴史的な用語になっているかもしれない。

これが良いことか悪いことかわからない。進歩の代償かもしれない。しかしこれは避けられないものだと信じている。プログラマーの時代は終わりつつある。エージェントの時代が始まっている。この現実を受け入れ、変化に適応し、新しい位置を見つけるしかない。

更新履歴

  • 公開