ハイスキルなエンジニアのプレミアム転職Findy(ファインディ)
事前スキルチェックで効率のいい転職活動を。IT/WEBエンジニアのスマートな転職活動ならFindy
https://findy-code.io/openai-career-summarize
本日は、「Findy」でプロダクトマネージャーをしている向さんのnoteを紹介します。
「ChatGPTエンジニアキャリアまとめβ」機能をわずか一週間たらずでリリース、Twitterでトレンド入りを果たすまでの経緯が綴られています。
また、現在弊社ではこんな面白い機能を一緒に考えてくれるプロダクトマネージャーを絶賛募集中です。
ご興味ある方はぜひご一読ください!
元記事はこちら
Findy IncでWebエンジニアの中途転職をサポートするプロダクト「Findy」でプロダクトマネージャーをしていますムカイ( @osk_kamui )です
2023年3月6日に「ChatGPTエンジニアキャリアまとめβ」という新機能を
爆速でリリースいたしました。
リリース前まではドキドキでしたが、一定エンジニアの方に楽しんでいただけたようで安心しております。
本稿ではプロダクトマネージャーがChatGPT(AI)を用いた機能を爆速で作ってみて気がついたいくつかの点について書きたいと思います。
ChatGPTを用いてエンジニアのキャリアをまるっと要約&二つ名が付くという機能です。
2023年2月24日(金)の午前、とあるMTGにて「ChatGPTで面白い事できそうなんですよ」→「やりましょう」という会話をきっかけに全ては動き出しました。
実は少し前よりChatGPT(というかLLM)が界隈を席巻しており、このビッグウェーブに乗るしかない!という気持ちで面白い事ができないかと考えていました。
ただし、流行りだからといって、何の課題も解決しない機能を提供するのはプロダクトマネージャーとしてあまりにもナンセンスというのは言うまでもありません。
そのためにも今の課題とChatGPTの良さをどう結びつけるかが非常に重要なポイントでした。
Findyのプロダクトマネージャーをしていると、エンジニアが抱える多くの問題に直面します。あまりに多すぎてここでは書ききれないのですが、その中でも私が常々課題だと感じているのが「アウトプット点在問題」です。
これは何かというと、エンジニアは表現の場が非常に多く、どうしてもそのアウトプットが点在してしまうという根深い問題です。
例えば、技術に関する事は個人ブログかQiita、Zenn、はてなブログという選択肢もあれば、登壇スライドはSlide Share、Speaker Deck、OSS活動はGitHub、自己表現はTwitterと枚挙にいとまがありません。
そしてそれらをまとめるのが非常に面倒なのです。
今まではこの課題に対して、自分で頑張るか、転職活動時にエージェントにサポートしてもらうか、といったくらいの選択肢しかありませんでした。
話はChatGPTに戻りまして、日々話題に上がっている理由の1つに、意図が汲めるというのがあります。この「意図を汲むことができる」をどう活用するか…勘のいい皆様ならお気づきかと思います、そうですChatGPTは点在するアウトプットをまとめることができるのです。
この瞬間、点と点が結びついたのです。
そうしてここに、エンジニアの点在するアウトプットをChatGPTがまとめることができれば、エンジニアの抱える課題が解決できるのではないか。という仮説が生まれたわけです。
ここからは作るだけ、というフェーズなのですが、実は正直この時点でかなりの焦りを感じていました。というのもChatGPTが連日トレンドに上がる中、いつ我々が二番煎じになるかわからない状態だったからです。
そこで思いついた解決方法は「爆速でつくる」でした。
結局はシンプルに行き着くわけです。
こうして開発が始まりました。
ここから怒涛の爆速開発なのですが、まずは最高のメンバーを紹介します。
プロンプトエンジニア 1名
ChatGPTに投げるプロンプトをまるっと担当。
とにかく出力結果を「いい感じ」かつ「安定した結果で取得する」ための入力をひたすらトライ&エラー。
バックエンドエンジニア 2名
ChatGPTとのつなぎ込みからI/Oに関わる設計実装を担当。
シンプルな見た目に反して作る箇所は多く、手際の良い分担&声掛け。
フロントエンドエンジニア 1名
コーディングからつなぎこみまで全てを担当。
とにかくやる事が多いのでスピード&スピード。
デザイナー 1名
本プロジェクトに関わる全てのデザインを担当。
ほぼ1日でメインデザインを決め、各種クリエイティブに反映&反映。
プラスでプロダクトマネージャーの私となります。
企画から仕様策定、法務確認などもろもろを担当しました。
もちろんPMMや広報、総務など多くの方に協力いただきました(感謝)
走りながら作る。一言でいうとこれになります。
とはいえ、ただ走りながら作るだけは良いものはできません。
そのため以下を心がけておりました。
まずは完成形を見える化した
とにかくデザインを最初に作ってもらいました。
というのも、今回まだ世界中で誰も見たこと無いものになるので、全員の認識を一致させる必要がありました。そういった時はやはりデザインの力。
画面デザインが上がってからはぐっと全員の解像度が上がりました。
ChatGPTの「らしい結果」を最速で目指した
今回最も不確実性が高かったのがChatGPTの返す内容でした。
そのため、専任でプロンプトを作ってもらい、ひたすら試行錯誤で完成形に近い形を最初の方に作ってもらいました。
時間がかかりそうな点は最初に終わらした
ただ機能を作るといっても、法務や稟議、予算確保など会社してやらないといけない部分も忘れてはいけません。そしてこの守るべきもの、経験上スムーズに行くことの方が少ないです。そのため作る事が決まった瞬間に各所に連絡をし進めました。
ハドルつなぎっぱで開発をした
リモート環境のメンバーがいる事もあり、重要な局面に際してはハドルをつなぎっぱなしにして開発を進めました。特につなぎこみや複雑な状態を管理する部分に関しては、すぐに質問を口頭で行える事は非常に有効でした。
ずっと繋ぎっぱなしは変にプレッシャーや集中できないという事になりかねないという事も理解してはいますが、本PJにおいては幸い全員が協力的に行っていただけました。
祈る時間を増やした
最後は祈り、半分冗談のようで本当に毎日祈っていました。そして意外と祈りは届くものです。
などなど、慎重かつ大胆に事を進めていきました。
以上、爆速で開発した結果、冒頭の通り2023年3月6日15時にリリースする事ができました🥳
わずか一週間足らずの開発期間、業界初の機能として世に出すことができました。
また、プレスリリースを出したPRTIMESでは旬速1位をいただきました。
その夜にはTwitterでトレンドに乗ることもできました。利用いただいた方、またシェアいただいた方ありがとうございました。
実際作ってみて世に出して見てわかった事がいくつかありました
ツイートされた一覧を見ていただくと伝わるかと思いますが、好意的に受け取っていただけた方の多さに驚きました。
もう少しネガティブな意見もあるかと思いましたが、意に反してここまで受け入れられているのかChatGPT恐ろしや…というのが素直な感想です。
ChatGPTは非常に汎化性能が高く自由度が高いです。
そのため、きちんとプロンプト(命令)を書けなければ想像を超えて自由な答えが返ってきます。
よってアプリケーションとして組み込む際は、自由度をどこまで許容するか、そのアウトプットを明確に描く必要が出てきます。
今回の例だと、「二つ名」と「キャリアまとめ」のアウトプットとなりますが、二つ名の場合「どれくらいの長さで」「何パターン」「どういう雰囲気」で出すのかというプロンプトを書いています。
自由度が高いからこそ、アプリケーションで何が実現したいのかという点から逆算してプロンプトを書く事の必要性を学びました。
上記と関連しますが、ChatGPTは汎化性能が高いからこそ一定の答えを返し続けるという事が難しいです。
当初は出力結果をどうにかして同じフォーマットで出せないかと試行錯誤をしていたのですが、短文、長文に関わらず同一フォーマットでのアウトプットは難しいことがわかり断念しました。
そのためアプリケーションで利用する際は、統一されない事を許容する、またはアプリケーション側で調整する、のどちらかが必要になります。
これは自戒の意味もこもるのですが、先の通り非常に汎化性能が高く何にでも使える気がするChatGPTなのですが、本当にChatGPTでないと駄目なのかという問いは常につきまといました。
結果ChatGPTが最も良い選択であるという事になるのですが、やはり
ChatGPT(に限らずなんでも)と課題はセットで考えないと正しい価値提供ができず、使われないものを生み出してしまう可能性はあったなと今も思っています。
最後に今後の課題について2点ほど
今回の仮説は半分正解、半分不正解という感じでした。
というのも、まとめられた情報がまだみなさん自身のものにはなっていないと感じたからです。トレンドに入り一定利用はされたものの、それはChatGPTの物珍しさもあったかと思います。
そのため、ここから先はもう一歩踏み込んで、課題をさらに解決する機能としての開発が必要と考えています。
あまり聞き慣れない言葉だと思いますが、意味としては「入力の内容に対し不誠実な内容を言語モデルが生成してしまう現象」を指します。
上記の「まだみなさん自身のものにはなっていない」という点は、このあたりからくるもので、こればかりは試行錯誤を繰り返すしかありません。
もしかすると解決方法がプロンプトかもしれませんし、入力情報かもしれません、はたまたモデルであれば自作していく事にもなります。
とはいえ、不誠実な状況を極力排除する事が課題の解決に繋がるとも考えているので、引き続きトライしていきたいと思っています。
以上、ChatGPTエンジニアキャリアまとめβを作ってみた話になります。
今後さらに増えてくるAIを用いた機能を作る際の一助になれば幸いです。
最後となりますが、Findyでは共に未来を作っていくプロダクトマネージャーを募集しています。