見出し画像

AIを使っても遅い人は遅い。でも、もっとヤバいことが起きていた


皆さんこんにちは。
現役IT執行役員のグイグイです⚡

少し前に、AI駆動開発の現場で起きたこととして、
「AIを一番使ったメンバーが、一番進捗が遅かった」
という話を書きました。

そこで書いたのは、AIを導入してもベーススキルの差は消えないという話です。

これは今でも変わりません。

Java、Spring Batch、JUnit、SQL、例外設計、ログ設計。こういった基礎がある人は、AIエージェントの出力を評価できます。評価できるから判断が速い。判断が速いから手戻りも少ない。

一方で基礎が弱い人は、AIの出力を判断できません。判断できないからまたAIに聞く。AIが直す。別のエラーが出る。またAIに聞く。そういうループに入りやすくなります。

前回書いたのは、そういう話でした。

ただ、現場をもう少し見ていて、もう一つ気づいたことがあります。

ベーススキルの差は消えていない。
でも、ハーネスを組んだAI駆動開発では、経験の浅いメンバーでも一定のアウトプットまでは到達できる可能性がある。

以前は「できるかできないか」だった差が、今は「速いか遅いか」の差に変わり始めている。

今回は、その話を書きます。


最初は、ベーススキルの差の話だと思っていた

今回のプロジェクトでは、6名の開発者でAI駆動開発を一斉にスタートしました。

最初の数日で見えてきたのは、かなり分かりやすい差でした。

JavaやSpringの経験がしっかりある人は、AIエージェントの出力を見てすぐに良し悪しを判断できます。

この修正でいいのか、テストケースは足りているのか、例外処理はプロジェクトの方針に沿っているのか、既存の実装パターンとズレていないか。こういったことを自分の頭で判断できるから、AIに任せるところと自分で見るところの切り分けができます。

一方で経験が浅い人は、AIが出してきたものが正しいのかを判断する土台が弱い。プロジェクトとしては判断しやすいようにチェックリストも用意していますが、そのチェックリストの意味を理解するところから時間がかかるのが実際のところです。

実際、チームの中でJavaとSpringの両方をしっかり経験しているメンバーは、当初3営業日で見ていた機能を2営業日で仕上げてきました。その後も順調に前倒しで進んでいます。

一方で最も苦戦していたのは、C#出身でJava経験がほぼないメンバーでした。AIクレジットの消費量も多い。進捗も一番遅い。分からないことをAIエージェントに投げて、出てきたものを自分で判断する前にまた聞き直す。そういう動きが見えていました。

ここだけ見ると、結論はシンプルです。

AIを使っても、ベーススキルの差は消えない。


でも、考えてみたら普通にすごいことが起きていた

ただ、この対比に引っ張られて、大事なことを見落としていました。

Java経験がほぼないメンバーも、新卒1年目でこのプロジェクトから社会人生活が始まったメンバーも、ちゃんとアウトプットを出していたんです。

当初3営業日で見ていた作業が5営業日になった。たしかに遅れています。

でも、Javaを書いたことがない人間が、5営業日でソースコードを書いて、JUnitテストを書いて、テスト実行まで完了させた。

普通に考えたら、これはかなりすごいことです。

しかも、出てきたソースコードも、少なくともレビュー前の段階で見る限り破綻していませんでした。むしろ思っていたよりきれいでした。

さらに大きいのは、そこで止まっていないことです。

新卒1年目のメンバーは、最初の1機能目こそ5営業日かかりました。
ただ、2機能目、3機能目に入ると、かなりスピードが上がってきています。

最初は5営業日かかったものが、だんだん3営業日の見込みに収まり始めている。

ここはかなり大きいです。

単に「未経験者でもAIを使えば何とかなる」という話ではありません。
1機能目でAIエージェントの使い方、プロジェクトの実装パターン、テストの書き方、レビュー観点を吸収し、2機能目以降で速度が上がっている。

つまり、立ち上がりの学習曲線そのものが短くなっているように見えます。

前回の記事では、AIを使ってもベーススキルの差は残ると書きました。それは事実です。

ただ、経験の浅いメンバーが何も出せていないわけではない。むしろ以前の現場感覚からすると、かなり早い段階で一定の成果物まで到達し、その後のキャッチアップも速くなっている。

ここは、ちゃんと分けて考える必要があると思いました。


昔ならこうはいかなかった

新卒1年目や未経験に近いメンバーがJavaの現場に入ったとき、昔なら何が起きていたか。

10営業日かけても、まともに動くものが出てくるか分からない。ようやく出てきたものをレビューしたら全然ダメで作り直し。先輩が横について説明して、直して、また説明する。

それが新人や未経験者が最初に味わう、ある種の通過儀礼でした。

現場の生産性という意味では、最初の数ヶ月はほとんど戦力としてカウントしづらい。そういう扱いになりがちでした。

今回起きていることは、そこが少し違います。

経験が浅くても、AIエージェントを使いながら一定の品質まで持っていけている。しかもソースコードだけでなく、JUnitテストとテスト実行まで含めて出てきている。

さらに、1機能目で終わっていません。

1機能目は5営業日かかった。
でも、2機能目、3機能目では明らかにスピードが上がっている。

これは、昔の新人の立ち上がり方とはかなり違います。

以前なら、最初の数機能はほとんど先輩の手戻り込みで進める感覚でした。本人が一つひとつ理解するまでに時間がかかり、プロジェクトの型を身につけるまでにも時間がかかる。

今回は、AIエージェントとハーネスがあることで、最初の機能を作る過程そのものが学習の場になっているように見えます。

今までの現場感覚からすると、かなり大きな変化です。


AIだけ渡してもこうはいかない

ただし、これは「AIがすごい」で片づける話ではありません。

AIエージェントに「この機能を作って」と投げれば、未経験者でもそれなりに成果物が出せる。そんな単純な話ではありません。

今回のプロジェクトでは、AIエージェントを自由に走らせているわけではありません。

プロジェクト共通のコーディング規約、ログ・例外・テスト・SQL・命名・クラス構成に関するルール、機能単位の仕様を記述したSPECSファイル、AIエージェントに依頼する際の手順、出力結果を人間が確認するためのチェックリスト、テスト実行・静的解析・レビュー観点まで含めた検証の流れ。

こういったものを組み合わせて、AIエージェントが作業ループを安定して回せる状態を作っています。

いわゆるハーネスです。

AIエージェントは、仕様を読み、コードを変更し、テストを実行し、エラーを見て修正し、また検証する。このループを回します。

そのループを安定させるために、制約、手順、観測点、検証方法をあらかじめ組んでおく。

プロンプトを頑張る、という話ではありません。
AIに丸投げする、という話でもありません。

AIエージェントが動ける環境そのものを設計する話です。

今回の現場で未経験に近いメンバーが一定のアウトプットを出せているのは、AIそのものの性能だけでなく、この環境設計があるからです。

逆に言えば、ここがない状態でAIだけ渡しても、今回のようにはならないと思います。

AIが間違える。人間が判断できない。またAIに聞く。文脈が汚れる。何となく動いたように見えるものが出てくる。でも、本当に正しいかは誰も分からない。

そういう現場になるはずです。


差は消えていない。でも、前提が変わっている

ベーススキルの差が消えたわけではありません。

経験がある人は3営業日で終わる。
経験がない人は5営業日かかる。

この差は普通にあります。

むしろAIを使うほど、その差は見えやすくなると感じています。

AIの出力を評価できる人、修正範囲を切り分けられる人、仕様とコードとテストをつなげて見られる人、エラーを見て原因の当たりをつけられる人は速い。そこが弱い人は時間がかかる。

ただ、今回の話で重要なのは、スキル差そのものではありません。

以前なら、経験がない人は「できるかできないか」のレベルで詰まっていました。

何日かけても動くものが出てこない。出てきても作り直し。レビューで大量に差し戻し。結局、先輩がかなり手を入れる。

それが今は「速いか遅いか」の差になりつつある。

3日でできる人がいる。
5日かかる人もいる。

でも、どちらも最終的には成果物を出している。

さらに、5日かかった人が、次の機能でもずっと5日かかっているわけではありません。
2機能目、3機能目に入るにつれて、明らかに速度が上がってきている。

ここが明らかに以前とは違います。

これまで新人や未経験者は、最初の数ヶ月は仕方ないコストとして見られがちでした。最初は時間がかかる。レビューも重い。教育コストもかかる。それが当たり前の感覚だったと思います。

ハーネスを組んだ上でAIエージェントを使うことで、この前提が変わり始めている。

いきなりベテランと同じ速度になるわけではありません。判断力も設計力も仕様理解も急には身につきません。

ただ、最初から一定のアウトプットを出しながら、次の機能で速度を上げていける可能性がある。

これは新人や未経験者の立ち上がり方を変える可能性があります。少なくとも、今回の現場ではそう見えています。


今回の件でわかったこと

前回の記事では、AIを使ってもベーススキルの差は消えないと書きました。

今回はその続きです。

ベーススキルの差は消えない。
そこは変わりません。

ただ、ハーネスを組んだ上でAIエージェントを使うと、経験の浅いメンバーでも一定のアウトプットまでは到達できる可能性がある。

そして、そこで終わらない。

1機能目で5営業日かかったメンバーが、2機能目、3機能目ではスピードを上げてきている。
つまり、AIエージェントとハーネスは、最初のアウトプットを補助するだけではなく、立ち上がりの学習曲線そのものにも影響している可能性があります。

差そのものがなくなったわけではなく、前提が変わってきている。

今回これが起きているのは、普通のエンタープライズ開発の現場です。

その現場で、未経験に近いメンバーがAIエージェントとハーネスを使って、ソースコード、JUnitテスト、テスト実行まで持っていけている。

ここは記録しておく価値があると思いました。

もちろん、すべてのプロジェクトで同じように再現できるとは思いません。

仕様が曖昧で、ルールもなく、レビュー観点もなく、ただ「作って」と投げるだけなら、現場は壊れるはずです。

AIを入れれば新人が即戦力になる、という話ではありません。

AIエージェントが正しく動ける構造を、人間側がどこまで設計できるか。

AI駆動開発の実務では、そこがかなり重要になっていると思います。

AI駆動開発は、まだ始まったばかりです。

きれいごとではなく、現場で起きていることを、引き続きそのまま書いていきます。


#AI駆動開発
#生成AI
#AIエージェント
#エンジニア育成
#新人エンジニア
#システム開発
#ソフトウェア開発
#開発現場
#Java
#現場のリアル

いいなと思ったら応援しよう!

グイグイ ⚡ 圧倒的AI実務家 この記事が少しでも役に立ったと思ったら、サポートいただけると励みになります!