生成AI時代に大切にしてきたいこと
ChatGPTが登場したのが2022年11月。そこから、3年とちょっと経った。特に2025年はCoding Agentの台頭により、競争が白熱し、プログラミングの仕事は生成AIに奪われるのでは?と考えた人は多いと思う。情熱プログラマーでもオフショア開発の脅威があったことは書かれていたし、今は生成AI vs 人間みたいな構図に見えている。そんな生成AIプログラミング時代において、人間のプログラマとして人間と仕事をする上で大切にしていきたいことを見つけたので書き留めておく。
専門性は失われた?
プログラミングに限らず、生成AIは様々な分野に応用され始めた。画像生成なんかは顕著な例で、1分も待てばそれっぽい画像が生成できるわけで、絵描き師さんたちは四苦八苦だと思う。プログラミングも同様で、生成AIがコードを書いてくれるようになった。特に0→1のフェーズであれば、書かなければいけないコードの量も多いが、生成AIは疲れない。人間が書くなら1日かけても終わらないコードも、成AIなら10分もあれば書けてしまう。0→1フェーズが終わったプロダクトでも生成AIの活用は進んでいる。ちょっとした機能開発やバグ調査、修正となると、非エンジニアもAIエージェントを使いこなし、プルリクエストを作成できてしまう。
そうなると、専門性は失われたのか? という疑問が湧いてくる。
個人的にはまだ「No」だと思っている。 まだというのは、今の進化のスピードを見ると、正直不安な気持ちの現れだと客観視している。失われつつあるあるか?であれば、Yesだと思う。コードはAIが書くが人間がレビューする。もしくは、AI活用の進んだ組織であれば、AIがコードを書き、AIがレビューしているかもしれない。ただ、最終的な意思決定は人間が行う。AIが提案したコードをそのまま受け入れるのか、修正するのか、そもそも採用しないのか。これらの判断は人間が行う。AIはあくまで道具であり、責任も取れないし、意思決定を行う主体ではない。というのが、現時点での自分の考え。
AIを使うのは楽をしている?
1811年から1817年頃、産業革命による生産の効率化によって低賃金、失職、技能職の地位低下などの影響を受けた労働者階級が使用者である資本家階級への抗議としてイギリス中・北部の織物工業地帯で起こした機械破壊運動である。
人は新しい技術が出てくると反発することは歴史が語っている。生成AIも漏れずにその対象である。「AIを使うのは楽をしている!」という人もいるだろう。確かにAIを使うことで楽をしている。楽をするのは悪いことだろうか?コーディング(実装)の時間が圧倒的に減ったことで、人間は他のことに時間を使うことができるようになった。また、アイデアを検証するためにプロトタイピングすることが、非常に楽になった。結果として、より多くのアイデアを試すことができるようになり、より良い選択肢を選べるようになったり、不確実性を減らすことができるようになったと感じている。
エンジニアリングの目的は問題解決だ。そのプログラムを使ってできなかったことができるようになったり、時間をかけてしていたことが簡単にできるようになることで価値を生み出す。プログラミングが好きな人からしたら興味のない話なのかもしれない。この文脈からすると、自分は「プログラミングの本質は課題解決なのだから、圧倒的物的生産性で課題解決を加速させるAIを使うのは当然であり、楽をしていることは悪いことではない」と考えている、と思うだろう。自分も楽をするのは悪いことだと思わない。寧ろ、いいことだと思う。ただ、AIにプログラムを書かせることはつまらないとも感じている。 何か分からないことがあって、調べて、試行錯誤して、バグを潰してようやく思い通りに動くようになった経験があるからそう思うのだと思う。この記事を読んでいる人の中にも頷いてくれる人がいるんじゃないだろうか。普段は企業に所属して、事業課題のためにプログラムを書いているが、それを建前にして自分の知的好奇心を満たしているんだろうな。
AIコーディング時代に大切にしたいこと
専門性は失われつつあるだろう。とはいえ、これまでその専門性を武器にしてきた人として大切にしていきたことがある。それは リスペクト だ。何を今更?と思うかもしれないが、AI時代がディープになればなるほど、相対的に人間らしさが求められるし価値も上がると思う。
正直なところ、コードレビューをしていて「これ、AIが書いたんだろうな」と思うときはある。それは何が理由か言語化できてはいないが、なんとなくそう思うときがある。ただ、それが本当かどうかはレビュイーに直接聞くしか無いし、それが重要なわけではない。重要なのは、そのプルリクエストで変更したコードがやりたいことと一致しているかである。だから、「生成AIで書きましたよね?」とも聞かないし、生成AIで書いているから書き直せとも言わない。ただ、そのコードが正しいか、保守性があるか、セキュリティ的に問題がないか、パフォーマンス的に問題がないか、チームのコーディング規約に沿っているか、などを見てフィードバックをするし、品質を満たしていないとしたら指摘する。
ここで想像してほしいことがある。自分が自分の頭で考えて書いたコードが、より専門性の高いレビュアーにとって品質が低く見えて「生成AIで書かれたコードはレビューしづらいので、ちゃんと自分で考えて書いてください」と言われたらどう感じるだろうか? 絵描き師さんがアップロードした絵が「それ、AIで作ったんでしょ」と言われるのと同じである。気分のいいものではない。
そんな理由で、生成AI時代に自分はリスペクトを大切にし、人間らしさで勝負していきたい。