はじめに
私事ですが、最近はAIエージェントに開発を任せすぎています。
特に実装はほとんどAI任せで、自分は完成したコードを軽くレビューするだけ。大まかな仕組みは説明できても、細かな実装判断や設計の根拠までは深掘りできていません。
良くないとはわかっているのに、AIが優秀すぎてなかなかやめられません。
やめられない原因は、「このままAIに頼り続けたらどうなるのか」を想像できていないからではないか。
そこで今回は、AIに頼り続けた場合の最悪の未来を想像し、自分に危機感を植え付けることにしました。さらに、そこから抜け出すためのAIとの向き合い方も考えてみます。
想定読者
- AIエージェントに実装を任せている新人・ジュニアエンジニア
- AIに頼りすぎるのは良くないと思いつつ、なかなかやめられない人
AIに頼り続けた5年後の最悪の未来
新人エンジニアとして配属され、実装や設計の多くをAIエージェントに任せ続けたらどうなるのか。1年後、3年後、5年後の最悪の未来を想像してみました。
1年後:成果物だけが増えていく
- AIエージェントを使い、1年間で数十件ものIssueを完了させる。
- 開発スピードが速く、先輩からも「仕事が早いね」と評価される。
- 技術ブログも次々と公開し、周囲からは勉強熱心なエンジニアだと思われている。
- しかし、自分がマージしたコードのアーキテクチャを説明できない。
- 「ここの処理どうなってる?」と聞かれるたびに、AIに確認する。
- AIが作成したテストが何を保証しているのか、実はよくわかっていない。
- バグが発生しても、原因の仮説を立てる前にAIに調査を丸投げする。
- 技術記事を何十本も公開しているのに、その内容を自分の言葉で説明できない。
- それでもAIが問題を解決してくれるので、仕事が止まることはほとんどない。
AIのおかげで成果物は増え、先輩からの評価も悪くない。技術的な理解はあまり深まっていないものの、まだ経験1年だし、これから理解できるようになるだろうと楽観視している。
3年後:経験年数と実力が乖離する
- 経験3年目になり、設計や後輩指導を任される機会が増える。
- しかし、設計会議で意見を求められても、一般論しか話せない。
- 「なぜこのアーキテクチャを採用したんですか?」と聞かれても、根拠を説明できない。
- 後輩のPRをレビューしても、表面的な指摘しかできず、重要な設計上の問題を見逃す。
- システム障害が発生しても、モジュール間の依存関係がわからず、調査を主導できない。
- エンジニアの友人と技術の話になっても、実務で使っているはずなのに議論についていけない。
- 周囲にも技術的な理解の浅さが伝わり始め、重要な設計判断を任されなくなる。
- 同期がリードエンジニアとして活躍する一方、自分の仕事は1年目とほとんど変わっていない。
- 危機感を覚えて自力で実装しようとするが、どこから手をつければよいのかわからない。
- 結局、開発スピードを落とせず、再びAIエージェントに頼ってしまう。
3年間も開発してきたのに、自分の実力は1年目からほとんど変わっていない。周囲との差に焦り、今からでも成長したいと思うが、AIへの依存が当たり前になってしまい、どう抜け出せばいいのかわからない。
5年後:エンジニアとしての居場所を失う
- 5年目になったのに、自分のプロダクトのアーキテクチャすら十分に説明できない。
- テックリードを期待されても、設計方針を決められず、技術的な議論を主導できない。
- 後輩の技術的な相談に答えられず、いつしか誰からも相談されなくなる。
- チームの設計レビューでも、自分の意見がほとんど求められなくなる。
- 複雑な障害が起きても、自分で原因を追えず、ほかのエンジニアの判断を待つしかない。
- AIエージェントがさらに進化し、これまで自分が担当していた仕事の多くが自動化される。
- 会社は、AIを使いながら技術的な判断もできるエンジニアを中心に開発体制を再編する。
- 自分に任せられる仕事が減り、最悪の場合、人員削減の対象になる。
- 転職活動を始めるが、技術面接で経験5年に見合う設計力・問題解決能力を示せない。
- ポートフォリオには大量の成果物があるのに、自分がどんな技術的課題を解決したのか説明できない。
- AIに指示を出して成果物を作ること以外、自分に何ができるのかわからなくなる。
AIに任せ続けた結果、技術的判断力も問題解決能力も身につかず、エンジニアとしての居場所まで失ってしまった。5年間で大量の成果物を作ったはずなのに、自分には何も残っていない。「俺、この5年間、何をしてたんだろう」と、取り戻せない時間を後悔する。
なぜ、こんな未来になってしまうのか?
もちろん、これは最悪の想像です。ただ、今の開発を続けていれば、十分に起こり得る未来だと思っています。
その原因は、大きく2つあると考えました。
1. AIに成長機会まで奪われる
従来、自分でコードを書くには、仕様やデータ構造、モジュール間の依存関係、例外処理など、さまざまなことを理解する必要がありました。わからないことがあれば、調べたり試行錯誤したりしなければ先に進めません。
しかし、AIエージェントは自分が理解していない部分まで補い、コードを完成させてくれます。
つまり、成果物の完成と自分の理解が切り離されたわけです。
(先日のqiita conferenceでもt_wadaさんが同じことを言われてましたね。)
成果物は完成する一方で、本来自分が考え、試行錯誤することで得られたはずの学習機会までAIに奪われてしまいます。
2. AIに対して受け身になる
AIは自然な文章で、もっともらしい回答を返してくれます。特に自分が詳しくない分野では、ついその回答を信じてしまいがちです。
「AIがこう言っているから正しいのだろう」と、自分で考える前に判断を委ねてしまう。
これを繰り返すことで、自分で仮説を立て、検証し、判断する機会が減ってしまいます。
その結果、次の3つの能力が育たない可能性があります。
| 能力 | 学習機会を失う原因 |
|---|---|
| 技術的判断力 | 設計や実装の判断をAIに任せる |
| 問題解決能力 | 自分で仮説を立て、検証する機会が減る |
| 将来の競争力 | 能力が育たないまま経験年数だけ増える |
AIを「因縁のライバル」として扱う
では、どうすればAIへの甘えを断ち切れるのでしょうか。
自分なりに考えた答えが、AIを同じチームにいる「因縁のライバル」として扱うことです。
AIは優秀な部下ではなく、因縁のライバル
「AIは優秀な部下」という例えをよく耳にします。
ただ、私の場合、この考え方ではどうしても頼りすぎてしまいます。優秀な部下だからこそ仕事を任せたくなるし、成果を出してくれるほど信頼してしまうからです。
そこで、あえてAIを自分の仕事と成長機会を奪いにくる、超優秀なライバルだと考えることにしました。
しかも、同じチームにいる因縁のライバルです。
仕事では協力する。でも、自分が将来身につけたい能力では、絶対に負けたくない。
「お前には絶対に主導権を渡さん。俺の領域では負けんぞ」
それくらいの対抗心を持って接してみようというわけです。
因縁のライバルとの付き合い方
具体的には、AIに頼る場面を次の3つに分けます。
| 状況 | AIへの態度 |
|---|---|
| 自分で理解している作業 | 「これ俺できるから、お前やっとけ」 |
| 自分ではわからないこと | 「悔しいけどわからん。ヒント寄越せ」 |
| 自分の考えがあること | 「俺はこう思う。お前はどうや?勝負しようや」 |
例えば、アーキテクチャを設計する場合。
最初からAIに丸投げするのではなく、まず自分で設計案を考えます。そのうえでAIにも提案させ、自分の案と比較します。
「ほんまにこの設計が最適なんか?」「この依存関係、将来問題にならんの?」「俺の案の方がシンプルちゃう?」
AIの案の方が妥当だとわかったら、なぜ自分の案が劣っていたのかを理解し、次は自分で判断できるようにする。
AIの回答は、思考の終了ではなく、勝負の開始。
これまでAIに答えを出してもらって終わりにしていたところを、自分から勝負を仕掛ける機会に変えることが大事なのではないでしょうか。
おわりに
仕事である以上、品質の高い成果物を早く作ることも重要です。そのため、AIを使わずにすべて自分で実装するべきだとは思いません。
ただ、将来エンジニアとして成長したいなら、自分が身につけたい能力までAIに任せたくはありません。
それでも、これからは 「絶対にお前には負けへんぞ」 というプライドを持って、AIと向き合っていきたいと思います。