この記事はあくまで個人の見解ですので、会社を代表してとか、誰かにやってほしいとかそういうもんじゃないです。そういう考え方もあるんだな、ぐらいの参考になればとても嬉しいです
こんにちは、豊濱です。
ディップ株式会社で執行役員CTOをやっていますが、冒頭書いたように立場がどうとかではなく、自分がAIというものについて考えていることをお話したいなと思います。
本当は遊んでたUbuntuやSwaggerの話をと思ってたんですが、 @waka_is_me が同日に記事をかいてくれていたので、テーマを揃えてみました。
現状
自分が感じていることをまずは書いてみます。
去年までできなかったサポートができるようになった
Qiitaご覧になってるみなさんに説明するまでもないですが、生成AIのおかげで、コーディング支援、検索の代替、ブレスト・壁打ち、いままで人間同士でないとできなかったことが、ある程度(人間をサポートできるレベルまで)できるようになった、と感じます。
高校生のとき、ちょうど第二次AIブームの終わりぐらいの時期で、自宅のパソコンで人工知能っぽいものを作ってた世代ですが、もしあの頃に2023年の現状を見たとしたら、映画の世界としか思えないぐらいの進化を遂げてるなと(もちろん他の色々な技術も進化しまくってますけど)。
優れたインターフェイス
個人的には、自然言語であらゆる対話ができる(ように見えている)インターフェイスの登場が非常に大きかったなと思います。専門性がないと扱えなかったモノが、広くあまねく届けられるようになった、という変革。
今後確実に定着していく
いまは「AIを使う」「生成AIを活用する」みたいな段階ですが、インターネットやスマートフォンのように、世の中に定着・浸透して、いちいちAIって言わないぐらい自然に使う世界がやってくると思います。思いますじゃなくて確実に。
AIという言葉の意味がめちゃくちゃひろい
それだけに、各々がAIときいたときの言葉の意味・解釈が違うんだろうなとも感じます。
言い換えると、現状ではとても定義が曖昧で、チャットUI上で自然言語でやりとりできるものだったり、大規模言語モデルそのものを指したり、炊飯器のマイコン機能だったり、人によって定義が違うなという印象を受けます。
期待値が各々違う
となると、当然「AIを使った何か」に対しての期待値も各々変わってくるわけで。
なんでも正確に答えてくれる万能さを求める人や、そういうものが2日もあれば作れちゃうんでしょという人、あくまでいままでの機械学習、深層学習の延長と捉え、ちゃんと時間をかけて教えないとちゃんと答えない、という期待値の人、さまざまな見方があるなとこの半年〜1年感じました。
エンジニアは何をすべきなのか
そんななか、いまエンジニアと呼ばれる人は何をすべきなんでしょうか。
何ができるのか正しく理解する
(正しく、って表現も語弊があるのかも)
今年、世の中にAIと呼ばれるものがたくさんでてきました。Web周りのエンジニアリングではAWS、GCP、Azureなどのクラウド、大企業、SIer、小規模な会社問わず、どのプレゼン、イベント、発表を聞いても「AI」というワードが必ずありました。
そんな各社や各サービスが謳う「AI」が同じ定義なわけないですし、目的や思想が違うので「何ができるのか」も全然違う、というのを理解することが大事だなと。
特殊な例かもしれませんが、先日、軍事レベルの機密情報を扱う企業のかたとお話したときに、当たり前ですが「SaaS型の生成AIは使えない」と仰っていたのを聞きましたが、そうなるとローカルマシンで動く生成AIで何ができるのかを理解して、目的に合ったものを選択するという必要が出てきたりしますし、そういう理解と選択ができると強いんだろうなと。
自身が学習してレベルアップする
おそらく、2024年も「(生成)AIを活用したプロダクト」というフレーズはたくさん使われるでしょう。
でも、めちゃくちゃ定義が広いだけに、要求を出している人たちも何を作りたい、何を達成したいのかわからない(しっかり定義できていない)こともより多くなると思います。
そういう状態を「あいまいな要求・要件だから作れない」と言うのも正解の1つですが、エンジニアだからこそ、その曖昧さを具体化できることもたくさんあるのかなと考えてます。
- このプロダクト・サービス・商品で何を達成したいのか
- それは本当にAIと呼ばれるものを使うのがベストなのか
- 作ったあとの様々なランニングコストがどれぐらい大きくなるのか
AI周りの技術や知識はこれまで以上に広く深いので、学習コストも大きくなりますが、それだけに身につけたときに達成できるものも大きいんではと思います。
なるべく早く動くものを作って期待値を合わせる
これはWebプロダクトに限った話かもしれませんが、動くもの見ないと体感できない割合が非常に大きくなったなと思いました。
生成AIはとくに「こういう操作をすれば必ずこう返ってくる」ではなく、「何が返ってくるかわからない」ので、作ってる人たちも、ユーザも、ステークホルダも、操作したその場その場で印象や捉え方が違ってくるだろうなというのを強く感じました。
となると、どこまで行っても「全員が100%納得するというのは無理な要求」なので、どこでバッサリ切るかを意思決定するためにも、なるべく早く動くものを作って期待値を合わせる、というのが必要なんだろうなと思いました。
まとめ
結局、これまで求められているものづくりとかわんねーじゃん、ってことかなと思います。
ただ、これまでのWeb開発よりも共通認識がとりづらく、期待値が大きく違い、そこから出せる成果もまた読みづらいのは確実です。
自分はこの先もエンジニアと呼ばれ続ける職種で生きていきたいと思ってますが、
- いままで以上に「作るだけではダメ」で
- 「なにが目的で、なにを達成したいのか」を理解して
- それに見合ったものを作れる引き出しを増やして
- はやく、やすく、うまく作る
というのが大事だなと考えてます。
頭の中を整理しだすと止まらなくて締め切りすぎちゃいましたが(言い訳)、本年もありがとうございました。2024年もよろしくお願いいたします。