【後編】AI時代の品質重視エンジニア育成戦略

本記事は 2024/11/07 に開催されたイベントソフトウェア品質✕コード✕AI – AI時代のソフトウェア品質管理にどう向き合うかの内容をもとに執筆されました。

コード×AI ー ソフトウェア開発者のための生成AI実践入門」(以後「コードAI本 」)の著者である服部佑樹**と、森崎修司さん、和田卓人さん、山口鉄平さん、金子昌永さんが、AI時代の品質管理について議論しました。(以降敬称略)>

本記事は3部構成のうちの後編となります。


AIと共存するエンジニアスキルアップのポイント

服部:
エンジニアのAI利用というところでいうと、結局みなさんが考えるのは、「どうやってエンジニアを育成していけば、AIを使いこなせるようになるのか?」という点ですよね。これも必ずこうだとは言えないんですけど、「生成AIを使いこなせるのは上級エンジニアじゃないか」という話がある一方で、初級エンジニアでも学習観点で得るものが大きい、という話もあります。実はコードAI本にもそのあたりは書かせていただきました。 AI時代に求められるスキルセットとは何でしょうか?

山口:
そうですね、個人的に感じるのは、従来、エンジニアとしてスキルアップするために学習していく際、本・インターネット検索・人に聞く、という学び方が一般的でしたが、生成AI・AI技術の登場で新たな勉強手段が増えたと思います。特徴としては、従来よりもフィードバックが圧倒的に速い点が挙げられます。高速なフィードバックをもとにトライ&エラーを繰り返して学びを加速できるスキル、つまり「高速フィードバックループを活用できる力」が求められるわけではないですが、それがあると学びが加速すると思っています。今後、トライ&エラーを上手く回せる人がより伸びるのではないか、というのが私の考えです。

和田:
エンジニアのスキルセットという点では、山口さんのお話に近いですね。学習の手段が増え、めちゃくちゃ速い即時フィードバックを得られるようになったことは、人間の学習理論的にも非常に大事なポイントです。即時フィードバックは学びを加速します。ただ、AIが言っていることが正しいとは限らない。なので、学びを加速できる一方で、それを疑う、検証するマインドセットがセットで必要です。 今、各企業でも「AIがこう言っているから、このコードを書きました」というプルリクエストが増えています。学びの加速と疑う心、検証するスキルは裏腹の関係ですけど、両方大事。今はふわっと聞けるようになった分、キーワードを得やすくなり、それを起点にダブルチェックする。ChatGPTの回答とGoogle検索結果を比較して、微妙に違う点を自分で調べる、というような作業が必要です。そういうダブル・トリプルチェックで学びが加速すると思います。


品質×AI活用=未来型教育プログラムの設計指針

服部:
社内で、こういった教育プログラムを展開されたりしていますか?品質を重視したり、AIとやり取りした上で良いコードを書いていく、エンジニアのスキルセットを上げていくために、ジュニアの方々にどう学んでもらうか、何か取り組まれていますか?

金子:
組織が大きくなると必要性は増してくると思います。例として、Wikipediaが登場したとき、学生がそのままコピペでレポートを書いてしまう問題がありましたよね。同じようなことがソフトウェアでも起こりうると思います。 生成AI以前でもツールが出力した結果をそのまま使って、品質が担保されないケースはありました。例えば、ユニットテストを自動生成するツールで、ブランチカバレッジ100%のテストは生成できても、仕様に対応したアサーションが書かれていないのに「完璧だ」と信じてしまうようなことが現実にありました。つまり、生成物を鵜呑みにせず、自分できちんと検証する教育が必要になります。 先ほど和田さんがおっしゃったように、ふわっと質問できるようになった一方で、自分が知らなかった一時情報にもたどり着けるようになるなど、学びのプロセスが変わってきています。教育プログラムとしては、こうした「AIが示す情報を鵜呑みにせず、自分で検証する」姿勢や「期待値調整」を教えることが必要になると思います。

服部:
和田さんにもお伺いしたいです。和田さんは企業へのコンサルなどもされていると思うので、「どう教育していけばいいか」みたいな話題は身近ですよね。最近、そういった相談は増えていますか?どう対応されていますか?

和田:
そうですね。「生成AIによる学習支援やコーディング支援を全社レベルで導入すべきか?」という相談は増えています。基本的には「良いものですよ」と答えています。ただし、用法・用量を守る必要がある。不可逆な変化が起きているので、全社で変わる、慣れることが必要です。 慣れるには、日々使うことで期待値調整ができます。「これぐらいは任せられる、ここは怪しい」などの肌感覚が必要です。教育用途としては、即時フィードバックが得られるのは大きなメリット。「ふわっと聞ける」メリットも大きいです。ただ、期待値を上げすぎないことが大事ですね。 『コードAI本』もその期待値調整のためにとても役立ってます(笑い)。たいていのAI本は「これからAIが全部コードを書く」みたいな勢いですが、実際にはそんなことはない。そこをうまく期待値調整していくようなメッセージを伝えています。

服部:
私も、いわゆる「プロンプトエンジニアリングが世界を変える」的な本ではなくて、もっと現実的なトーンの本を書きたかったんですよね。最初は特に、コードを書いていない方ほど、AIに対する過度な期待があるので、期待値調整から入るのが大事だと改めて感じます。私もずっとそうやっています。


未来を拓く!AI×エンジニアリングの新たな可能性

服部:
最後に将来展望、まとめ的なものとして、これからどうなっていくのか、人間はどうあるべきか、あるいはGitHub側やAI側への要望など、伺いたいと思います。

山口:
難しいですね……。AIの道具としての利用は続くし、確実に良くなると思います。ただ、爆発的に世界が変わるかというと、そこまで期待していないのが正直なところです。領域によると思います。各所の作業や、人間がやらかしがちなミスをアシストしてくれる道具としては、より使えるようになるはず。

金子:
私が期待する未来としては、いまはSaaS型でサブスクする形が多いですけど、将来的にはオンプレで自己ホスティングできるようになってほしいです。自社固有の情報、プロダクト固有の情報、自分個人の情報をAIに与え学習させたり忘れさせたりできるようになれば、例えば20年分のリポジトリを学習させて問題解決に活用できるかもしれない。 また、テキスト以外も解釈できるようになってほしいですね。ビジュアルやバイナリ的なものも「いい感じに」解釈してくれれば、ソフトウェアエンジニアリングのプロセス全体を扱える時代が来るかもしれません。

森崎:
未来予測、難しいですね。ただ、これからは「なぜその出力が得られたのか」という根拠が説明されるようになることを期待しています。根拠がわからないと疑いが拭えないので。プロンプトを工夫すれば理由説明は可能ですが、モデル内部の説明可能性が高まれば、もっと頼れるものになる気がします。 根拠が示されない間は、完全には信じられないので「それっぽい回答の中に漏れがないか」を疑える力が必要。難しい問題を生成AIに聞いて、その回答が間違っていて、自分もその間違いに気づけないとなるとお手上げなので、そこは注意が必要。生成AIには固有の間違い方のパターンがあるので、それを理解しておくことも大事です。 私たちが行った実験でも、難しい問題ほど生成AIが間違い、人間もそれを信じ込んでしまう傾向がありました。これがしばらく続くのではないかと思います。

和田:
みなさんが言ったとおり、AIをどう理解し、期待値を調整し、疑うべき点は疑うことが大事です。学習のフィードバックが早くなったので、結果としては人間側の能力向上が必要になります。AIを使いこなすには、人間もより多くを学習し、検証しなければなりません。 今後、ソフトウェア開発者は増えるでしょう。それに伴い低品質なソフトウェアも増えると思いますが、それは問題解決できる人が増えることでもあります。新たな可能性が開かれるのであれば、悲観する必要はないと考えます。


AIとの協働について書いたコードAI本は好評発売中。 対談の皆様の著書や翻訳書もぜひご一読ください!

コードAI本、好評発売中

好評発売中! 生成AI時代のエンジニア必読書。AIを使ってどのようにコードを書いたら良いのかを学べる一冊です!

なぜ重大な問題を見逃すのか? 間違いだらけの設計レビュー第3版

レビューの研究に長年取り組む著者の森崎さんが、失敗レビューを防ぐワザの数々を紹介する一冊!

実践ソフトウェアエンジニアリング(第9版)

世界累積300万部を超えるベストセラーの最新刊。ソフトウェアエンジニアリングの「最良の手法」を解説!!(金子さん共同翻訳)

テスト駆動開発

テスト駆動開発の本質を実例を通して学ぶことができます。和田さん翻訳の言わずと知れた名書。

ソフトウェアテストをカイゼンする50のアイデア

アジャイル開発のテストを改善する50のアイデアを紹介。実践的なテスト改善ガイド。(山口さん翻訳)

開発にAI?もちろんゴリゴリ使ってますよ! —— 一流エンジニアのAI利用術
Older post

開発にAI?もちろんゴリゴリ使ってますよ! —— 一流エンジニアのAI利用術

一流エンジニアのAI活用方法について探ります!AIを使ったコード生成や英語サポート、AIツールの活用術など、実践的なアドバイスが満載です。

Newer post

一流エンジニアは、必ずしもプロンプトエンジニアリングの達人である必要はない。必要なのは「アンダースタンド」

プロンプトエンジニアリングの実態と限界について、コードAI本の著者である服部佑樹と、世界一流エンジニアの思考法を執筆された牛尾剛さんが対談しました。AI時代のエンジニア思考法について考察します。

一流エンジニアは、必ずしもプロンプトエンジニアリングの達人である必要はない。必要なのは「アンダースタンド」