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

【後編】世界一流 ✕ コード ✕ AI – AI時代のエンジニア思考法を探る

本記事は 2024/10/08 に開催されたイベント「世界一流 ✕ コード ✕ AI – AI時代のエンジニア思考法を探る!」の内容をもとに執筆されました。

コード×AI ー ソフトウェア開発者のための生成AI実践勉強会」(以後「コードAI本」)の著者である服部佑樹と、「世界一流エンジニアの思考法」を執筆された牛尾剛さんが、AI時代のエンジニア思考法について対談しました。(以降敬称略)

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


プロンプトエンジニアリングの実態と限界

服部:最近、プロンプトエンジニアリングへの期待が高まっていますが、実際のところどうなんでしょう。私個人としては、そこまで信頼していないんですよね。

牛尾:私もまったく同感です。実際、トークン数が多くなるとすぐに嘘をつき始めますからね。ちょっとした表現の違いで出力が大きく変わってしまう。これって本当に信頼できるツールなのか?という疑問が残ります。

服部:私も本の中で書いたんですが、プロンプトエンジニアリングって、ある意味でロジカルシンキングに似ているんですよ。ロジカルシンキングにもMECEとか、あとは4P、3Cみたいなフレームワークがありますよね。確かに知っておくと便利ですが、それを毎回使うわけじゃない。プロンプトエンジニアリングも、そういったマインドセット的な位置づけなんじゃないかと。

最近、学術的な意味における狭義のプロンプトエンジニアリングと、ビジネスにおける広義のプロンプトエンジニアリング内容が混ざってきていて、それが中途半端なプロンプトエンジニアリング論として広まっているような気がします。 モデルが頻繁にアップデートされる中で、細かい技法を覚えても意味がない可能性がありますよね。

牛尾:むしろ、トークン数を減らすとか、そういった基本的なアプローチの方が重要だと思います。

服部:ただ、トークン数が増えれば増えるほど精度が落ちていくというリサーチ結果もありますからね。

牛尾:ほんとそうですね。私の経験でも、大量のテキストをクエリした結果を扱う際は、出力を安定させるのに苦労しました。最終的には必要最小限のプロンプトだけを使うようになりましたね。

服部:例えば、Goldman Sachsが社内ナレッジを学習させた独自のAIプラットフォームを構築しているという話もあります。各社「プロンプトエンジニアリング」を超えて、自社のナレッジをうまく活用する方向に進んでいるように見えますね。

牛尾:そうですね。でもそういった云々の前にまず重要なのは、組織がAIツールを「使いたい人が使える状態」にすることだと思います。全員に強制するのではなく、使いたい人が簡単に使える環境を整備する。

服部:なるほど。セキュリティの問題とか、申請手続きとか、そういった障壁を極力減らすということですね。

牛尾:そうです。エンジニアが「使いたい」と思った時に、すぐに使える環境があれば、自然と活用は広がっていくはずです。生産性の高い人は既存の方法で続ければいいし、AIツールを使って効率を上げたい人は使えばいい。そういう柔軟な環境作りが大切だと考えています。


チームの底上げ - AI時代のエンジニアスキル向上とは

服部:チームとしてのスキルの底上げについて、様々なアプローチがありますよね。私が観察してきた中では、社内チャンピオンを立てる方法や、トップダウンでリスキリングプログラムを実施するケース、さらには小規模チームでの知見共有など。特に最近は、モブプログラミングを通じてAIプロンプトの書き方やファイルの参照方法を実践的に学ぶような取り組みも見かけます。Microsoft ではどんな感じなんでしょうか?

牛尾:実は、私たちのチームでは組織だった教育というのはあまりないんですよ。せいぜい「ドキュメントをちゃんと書こう」みたいな、ふわっとした取り決めくらいです。ただし、環境面では恵まれていて、例えばGitHub Copilotは入社初日から使える状態になっています。

服部:なるほど。つまり、学びたい人が自由に学べる環境を整備する、というアプローチですね。

牛尾:そうなんです。例えば、O’Reilly Online(旧Safari Books Online)やPluralsightが見放題だったり。最近知ったんですが、New York Timesまで読めるんですよ。自分で契約してたのに知らなかった(笑)

服部:かなり充実した環境ですね!

牛尾:結局のところ、チーム内でもAIツールの使用頻度はバラバラなんです。例えば私や同僚のPaulは積極的に活用していますが、別の同僚のBalaは興味はあるものの、まだあまり使っていない。でも、それでいいんじゃないかと思うんです。AIはあくまでもツールですから。


AI時代の一流エンジニアとは

服部:そうなると、AI時代の世界一流エンジニアは、必ずしもプロンプトエンジニアリングの達人である必要はないということですね。

牛尾:そうですね。むしろ重要なのはアンダースタンド「理解力」だと思います。例えば、AIが時々嘘をつくということを理解していないと痛い目に遭います。実際、私も経験があるんですよ。

服部:どんなことがあったんですか?

牛尾:つい最近のことなんですが、AIが生成したコードをプルリクエストに含めたんです。メインのコードパスだから、もし問題があってもすぐに見つかるだろうと思って、あまり厳密にテストしませんでした。ところが…

服部:何が起きたんですか?

牛尾:HTTPメソッドの「POST」を「POTT」と書いていたんです。人間だったら絶対にこんな間違い方はしない。だからこそ、レビューでも誰も気づかなかった。人間は「HTTPメソッドなんて間違えるわけない」と思い込んでいるから、そこを見落としてしまうんです。

服部:「想定外の間違い方」というわけですね。

牛尾:そうなんです。結局、パッチを当てることになって面倒なことになりました(笑)。これも、AIを使う上で重要な学びでしたね。

AI時代の一流エンジニアに求められるのは、プロンプトの書き方よりも、ナレッジが必要です。 もう今の時代、AIを使わない手はないですよね。生産性が劇的に向上するわけですから。そう、重要なのはナレッジです。AIツールも、操作する側がちゃんと理解していないとダメなんです。 これはアーキテクチャ的に適切かどうかの判断など。実際に運用してみて初めて分かることもあります。そしてAIの特性を理解した上での適切な活用方法が重要なのかもしれません。

それって地道な勉強や実際のコーディング経験、運用でひどい目に遭った経験から得られるものなんですよ。 AIは面倒な作業をどんどんリプレイスしてくれますが、イノベーティブな部分は依然として人間がやるしかない。

服部:現在の言語モデルは結局のところ次の語を予測するモデルですからね。

牛尾:そうそう。文脈に沿ったものしか出せないわけです。だから、これからの時代に最も価値のある人材というのは、AIの特性をしっかり理解した上で、適切に活用できる人なんじゃないかな。「このAIが書いたコードはOK」「これはダメ」としっかり判断できる人が求められると思います。

服部:ツールは進化し続けますが、エンジニアとしての本質的な能力の重要性は変わらないということですね。 ありがとうございました!


AIとの協働について書いたコードAI本は好評につき重版決定。 そして牛尾さんの「世界一流エンジニアの思考法」も絶賛発売中です。 AI時代のエンジニア思考法について、さらに深く学びたい方は、両書をお手に取ってみてください。

世界一流エンジニアの思考法

超巨大クラウドの開発の最前線で学んだ思考法とは?〈生産性爆上がり〉の一流仕事術

コードAI本、好評発売中

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

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

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

生成AI活用でエンジニアの学びを加速し、品質を底上げする新時代のスキルセットと教育プログラムの在り方を探ります

Newer post

AI × モブプログラミングで生み出す次世代の開発スタイル - 知識共有の最前線

モブプログラミングとAIの組み合わせが、チームの学習と開発にどんな相乗効果をもたらすのか?川口さんへのインタビューを通して、その本質を探ります。

AI × モブプログラミングで生み出す次世代の開発スタイル - 知識共有の最前線