はじめに
エンジニア歴3年目です。AIが当たり前に開発現場に入ってきたタイミングでエンジニアとしてのキャリアを歩み始めたので、「AIなしの開発」をほとんど経験していません。
そんな自分が最近いちばん実感しているのが、タイトルの通りです。AIのおかげで1人でも何でも作れるようになった時代だからこそ、経験のある先輩と一緒に手を動かす時間に価値がある、という話を書きます。
AI開発での、初心者が感じた変化や問題を起点に、それの解決策の1つとしてモブワークの話をしたいと思います。
変化:AIによって「速く・たくさん」作れるようになったが・・・
以前は、1つ実装するのに調べながら進める必要がありました。作れる量は、そのまま知識と経験の量に比例していて、初心者が試せるパターンはせいぜい1つか2つでした。
今は違います。AIに頼めば短時間で実装が出てきますし、初心者でも動くものがすぐにできます。実装パターンをいくつも並べて比較することもできます。設計から実装まで、1人で最後まで作りきれてしまう。
これは間違いなく良いことです。ただ、同時にひとつの変化が起きています。1人で完結できてしまうので、人と一緒に作業する機会が自然と減っていくということです。
問題:実装はできるが、どれが正解・・・?
AIは案をいくつも出してくれます。とにかく速く動く案、あとから直しやすい案、よく使われているやり方。
問題はここからで、どれも動くんです。動くものが3つ並んでいて、初心者にはどれを選べばいいのかの判断基準がありません。
結果どうなるかというと、「最初に動いたもの」や「なんとなく良さそうなもの」を選んでしまいます。そのときは問題なくても、あとから効いてくることがあります。
足りないのは作る力ではなく、選ぶための観点です。
身につけるべきは、実装の細かい知識ではない
AIが担ってくれる領域と、人が持っておくべき領域は、だいぶはっきり分かれてきたと感じます。
AIが担ってくれる領域は、言語やライブラリの細かい書き方、定型的なコードの実装、エラーの原因調査と修正、実装パターンの列挙あたりです。
一方で人が持っておくべきなのは、解決したい問題は何かを見極めること、要件に合う設計方針を決めること、出てきた案の良し悪しを判断すること、将来の変更や運用まで見通すことです。
そして厄介なのが、後者はAIに聞くだけでは身につきにくいということです。AIは聞かれたことには答えてくれますが、「そもそも何を聞くべきか」は教えてくれません。観点を持っていない人は、その観点について質問することができないからです。
AI時代、作業のリズムと人の関わり方が変わった
ここが本題です。
AIを使った開発は、リズムが変わりました。以前は常に手を動かしている状態でしたが、今は「AIに依頼する」「待つ」「出てきたものを確認する」という流れになっています。
つまり、待ち時間が生まれたわけです。
そして、一緒に作業するときの形も変わりました。
| 手を動かすのは | まわりの人は | |
|---|---|---|
| これまで | メンバーの1人だけ | 手が空くので、横で見ているだけになりがち |
| AI時代 | AI | 誰の手も塞がらないので、全員で一緒に考えられる |
従来のモブプロは、1人がキーボードを持って、残りが横から口を出す形でした。手を動かす人が1人しかいないので、どうしても「見ているだけの人」が出ます。
でもAIが手を動かしてくれるなら、全員が考える側にまわれます。人数が増えても誰の手も塞がりません。
この待ち時間、1人で待ちますか。それとも先輩と待ちますか。
待ち時間に、先輩とモブする
具体的に何が得られるのか、2つあります。
a. AIの提案に、経験者の観点をもらう
AIが出してきた設計を、2人で見ます。
1人だと「動いたからOK」で通してしまうところで、先輩から「この観点で聞き返してみて」と教えてもらえます。そうすると、答えではなく問いの立て方が手元に残ります。次に1人でやるときも、同じ問いを自分で立てられるようになる。
ここがいちばん大きいと思っています。答えだけもらっても、次に応用できません。
b. 経験者のAIの使い方を、横から見る
これは意外と機会がないものです。
同じ依頼をしても、前提の伝え方で出てくる結果が変わります。先に決めておくと後が楽になる設定もあります。出てきたものをそのまま採用せず、どこで疑って聞き返すか。
こういうのは、ドキュメントに書かれているわけでもなく、聞かれない限り誰も説明しません。横で見ていると自然に分かります。
そしてこれは、開発に限った話ではないはずです。AIを使って仕事をしている人なら、職種を問わず同じことが起きていると思います。
モブは「やろう」だけでは始まらない
ここまで「モブしよう」と書いてきましたが、正直なところ、これは仕組みだけで実現するものではありません。
「モブプロを導入します」と決めて日程を押さえたところで、気まずい空気のまま時間だけが過ぎることもあり得ます。逆に、制度として決まっていなくても自然に始まるチームもあります。
違いは何かというと、普段からの関係性だと思っています。
後輩の側から見ると
困ったり迷ったりしたときに、気軽に聞ける相手がいるかどうか。
「こんな初歩的なことを聞いていいのか」「今忙しそうだから後にしよう」と考えているうちに、結局1人でAIに聞いて、なんとなく動いたものを採用してしまう。これが積み重なると、さっきの「観点が身につかない」状態がそのまま続きます。
先輩の側から見ると
新しく知った情報を共有してくれるかどうか。「ちょっと一緒にやってみようか」と声をかけてくれるかどうか。
これは義務でやるものではないので、そういう行動が自然に出る関係性があるかどうかに尽きます。
自分の環境の話
自分は、この点で恵まれていると思っています。
困っていたら聞ける。先輩の側からも、新しい情報を共有してくれたり、ちょっと一緒に手を動かそうと言ってくれる。そういう個人間の関係性があるのが、自分の環境の強みだと感じています。
これは仕組みで作ったものではなく、日々のやりとりの積み重ねでできているものです。だから他のチームにそのままコピーできるものでもないのですが、モブが機能するかどうかは、この土台があるか。というチームの話にもかかっているというのは共有する価値があると思っています。
もし今「モブをやってみたいけど声をかけづらい」と感じているなら、いきなり大がかりなモブを組むより、AIを待っている数分間に画面を見てもらうくらいから始めるのがいいかもしれません。ハードルが低く、相手の時間も奪いません。
おまけ:待ち時間には、雑談も生まれる
AIが実装している間は、話していても手は止まりません。
昔こんな失敗をした、という話。いま気になっている別の技術の話。普段あまり話さない人とも話せる。
自分はこの時間、けっこう雑談が多くなってしまいます。決してサボっているわけではありません。AIが働いてくれています。
そして、さっき書いた「関係性」は、たぶんこういう時間から作られています。雑談ができる相手には質問もしやすい。質問しやすい相手とはモブもしやすい。地続きです。
まとめ
1人で広い範囲をこなせる時代だからこそ、人と一緒にやる時間に価値があると思っています。
- 経験者が何を見ているかを、その場で学べる
- お互いのAIの使い方から、新しい発見がある
- AIを待っている時間を重ねているだけなので、コストは思ったより小さい
- そして、それが成立するかどうかは普段の関係性にかかっている
まずは30分、先輩とAIの画面を一緒に見るところから始めてみてはいかがでしょうか。
