Feedback Loop

エンジニアの日記帳。ものづくり、プログラミング、読書などについて書いてます。

AI機能を作るときの考え方 2024年9月

2024/09/12

ChatGPTが登場してからAIが身近になり、エンジニアとしてもAIを活用した機能を作りやすくなった。例えば文章を自動でカテゴリ分けしたり、画像に何が写っているかを判定したり。こういった内容自体はChatGPT以前の機械学習でもずっとできていたことだが、新しいのは素人でも扱えるようになったこと。機械学習を勉強したプロが半年かけて作っていたようなものを、素人が1週間くらいで作れる。短く作れると改善のサイクルも回しやすい。AI活用がとても身近になっている変化だと捉えている。

私は10年ほどiPhoneアプリを作るエンジニアをしていたが、AppStoreが登場した初期の頃のような熱狂を感じる。加速度センサを使ってスマホでかめはめ波を打てるアプリが流行るなど、新しい技術が楽しまれる感じ。初期の頃に名を馳せたアプリがそのまま生き残っていることはほとんどないと思うけど、それでも黎明期からモバイルにチャレンジしていた会社・個人は早めにノウハウやフィードバックを得られ、今でも良いアプリを作っていたりする。

モバイルアプリ市場は成熟してきていて、かつては個人で作ったアプリが注目されたりそこから会社が生まれたりしたけど、今は大企業がちゃんと資本を投下して質の高いアプリを作り、それが莫大な費用でマーケティングされる。こうなると個人のエンジニアとしてはチャンスは狭い(ゲームはまた別)。初期のうねりというか、大きな会社が参入するか迷っているようなタイミングの方が個人としてはやれることが多くて面白い。iPhone登場で誰もが一台コンピュータを持ち歩くようになってマップやSNSが隆盛したように、AIでも同じような生活変化が起きる。

ChatGPTのリリースが2022年11月。まだ2年もたっていないが、GoogleやMetaなど他社もそれに追随し、いろいろなモデルや関連する技術が開発されている。流れが早すぎて専門にしていない人間が完璧に追い続けるのは難しい。AIを専門にしていない自分のような人間は大局の流れを掴みにいくのが良いとおもっていて、モデルの性能はどんどんあがるしコストはどんどん下がる。今できないことが1年後には当たり前にできるようになる。今時点のAIでできることに捉われすぎず、「こういう未来になったら良いよね」と考えながらプロダクトや新機能を考える。例えばChatGPTのモデルでも色々あるが、安く抑えるために性能の低いモデルで頑張るよりは、一番性能の高いモデルで動かして何ができるかを考える方が今後に効いてくる気がする。ちなみに自分としてはフォーマットの変換が面白いと思っていて、テキスト→絵に変換する「ドット絵日記」や、テキスト→音声に変換する「zenncast」「castmake」を作った。AI関連のニュースは追うだけではなかなか肌感で理解しづらいと思っていて、手を動かしながら学ぶのが良い気がする。作りながらプロンプト(AIに指示する文章のこと。指示の仕方によって出力がかなり違うので工夫する余地がある)や周辺技術への理解を深めていく方法は自分にあっていると感じる。

日常で使っているいろいろなツールにAIが組み込まれていくが、まったく使わないようなものも多い。そういう機能は「AIでできること」をベースに企画されたものなのかなと思う。先に課題があり、それを解決するためにAI技術が使われるのが望ましい。ただ「AI搭載」とか謳えるとマーケティング的に強かったりするのもあるし、AI活用の知見を早めから溜めておけばいずれ良いAI機能が作れるとも思うし、ここらへんは何が良いとは一概に言えない。個人としては課題解決の手段としてのAI活用を意識していきたいと思っている。