見出し画像

【対談企画#3】AIジョブサーチ開発メンバーの取り組み

Caratが2023年11月にリリースをしたLLMを活用した対話型求人検索サービス「AIジョブサーチ」。LLMを用いてAIと対話するように求める求人を探せるサービスとして、日々プロダクト開発を行っているが、今回はAIジョブサーチに関わる正社員エンジニアの脇山に対して松本がインタビューを行いました。Caratで働くエンジニアメンバーの取り組みや、AIジョブサーチの未来について対談を通しての考えを本記事でまとめています。

<対話者>
松本(@Na0KiMatsumoto
脇山


Caratに入社するまで

松本:本日はよろしくお願いします。最初に自己紹介からお願いできますか。

脇山:大学を卒業し、新卒から4年弱は経理業務効率化のSaaS開発をしていました。担当はフロントエンド、バックエンド、インフラなどフルスタック気味に経験してきました。
前職の会社がM&Aされた時期とLLMが盛り上がり始めたのがちょうど同じ時期でした。その頃からLLMでプロダクト開発をしたいと思っており、LLMをメインで扱う仕事を探していた中でCaratの求人を見て興味を持ちました。
そして会社を知る中でLLMの業務内容だけではなく、会社のバリューの1つである「Be Healthy」にも共感しました。売上を上げていくだけではなく、社会へ価値貢献をしていくという会社の姿勢に惹かれて入社を決めました。

▼詳細は入社エントリへ

入社してから現在まで

松本:ありがとうございます。AIジョブサーチが2023年半ばから取り組み始めて2023年11月に正式リリースをしているので、入社時期もリリースタイミングと近しい時期でしたね。 脇山さんは2023年10月に入社して約半年が経ちましたが(※2024/03時点)、これまでどのような業務に携わってきたか教えてもらえますか?

脇山:入社してから現在までAIジョブサーチのプロダクト開発に携わっています。主な担当としては新規機能開発が中心となっています。
チーム構成としては代表の松本さんがPdMを担当し、デザインを小倉さん、あとは僕を含め4名のエンジニアが関わっています。僕や斎藤さんがフルスタックで関わっていて、望月さんがフロントエンドを中心に担当しています。

脇山

松本:脇山さんが入社してからこれまではほぼ同じメンバーでプロダクト作りを進めていますね。入社してからはまず何を担当していましたか?

脇山:入社してからはまず、内部のコードやリポジトリをきれいにすることで、開発をしやすい環境を作ることに着手しました。

松本:なるほど。最初にそこから着手し始めたのはなぜですか?

脇山:どの組織でも起きる課題だと思いますが、技術負債で開発の速度が落ちていくという兆候がAIジョブサーチにもありました。LLMを開発する上で、もっといいUXがこのままだと目指しにくいということをCTOの斎藤さんと1on1で話をして構造変更(リファクタリング)を分担して実行しました。分け方としては、LLM以外の構造変更に関しては私がメインで起案と実行をしました。目的は開発イテレーションを早くして価値を最速で届けるためです。リファクタリングに関しては基本的に斎藤さんメインで起案されて、私の持っていた課題などを話した上で共同で実施していました。

松本:後回しにしがちだけど、とても大事な点ですよね。技術負債のコントロールに取り組めているのはプロダクトにとっても会社の文化にとっても良いことだと感じています。基盤を整えた後からは何に取り組んでいますか?

脇山:LLMの基盤を整備した後から、現在までは新規機能開発に取り組んでいます。プロダクト開発においてはチーム内であたりまえ機能と、LLMを使ったコア価値機能の開発を担当を分担して取り組んでいます。

あたりまえ機能とは、求人サービスとして必要不可欠な機能と定義しています。例えば、お気に入りの求人登録機能や、LPを見えやすくしていくなど、ユーザーに見える部分で機能開発や改修を加えています。

コア価値機能とは、LLMを使っての求人のセールスポイント生成など、AIジョブサーチのUVPに当たる機能と定義しています。例えば、不適合な求人をユーザーに表示されないように改善したり、ユーザーが入力した自然言語の文字列をどのようなキーワードに変換するかといったことを行なっています。技術的には、ユーザーが入力した文字を適切なキーワードに分解をして、自社で持っている条件マスタと合致するもの、似ているものを紐づけて寄せていくことを行っています。

直近はフロントエンドが手薄になっていて、これから入っていただく方にはフロント部分の当たり前機能を中心に主導して開発を進めていってもらいたいなとチームで話しあっています。

AIジョブサーチ開発の面白さや難しさ

松本:AIジョブサーチの開発に携わる面白さを教えて頂けますか?

脇山:いくつかありまして、1つはLLMを使うと、機械学習モデルの構築やソースコードを沢山書くことでロジックを実現していた箇所をショートカットできる点は開発者経験として良いなと感じています。あとはLLMを使っていく中で、これまで複雑過ぎてできなかったことができるようになってきています。例えば音声やビデオを使って将来的に求人を提供できるのではないかというのも妄想しながら取り組めるのは面白い点ですね。

jobi※の返信を作るところも以前であれば人間が何パターンも準備してかなり大変な機械学習を使う必要があったのが、今はプロンプトを数行書いただけで実現できています。
あとは、行動ログやユーザーインタビューをもとに、ユーザーにとってベストプラクティスとなる機能の追加開発を行える点も面白さのひとつです。

jobi はAIジョブサーチで対話をしてくれるマスコットキャラクターです

松本:LLMに関係ないプロダクト観点だと、例えばAIジョブサーチでは元はあえて求人の表示件数を絞っていたのですが、ユーザーニーズとしては数を見たかったというのがあって、表示件数や提案件数を増やしていこうと改善しましたね。
他にも、削除ボタンとかは最初はチャットで削除と送ってもらえれば良いかと思っていたけど、ボタンタップの方が便利だよね、というのもユーザーの声から出てきて設置しました。

脇山:デザインについても、デザイナーの小倉さん含めたミーティングで意見を出して案が採用されることもあるので、プロセスに参加できる点にも面白さを感じます。自分の意見を反映しながらプロダクト開発にかかわれる環境です。

松本:逆に難しさとしてはどういったことがありますか?

脇山:先ほどLLMでショートカットできると話した反面、これが難しさに繋がることもあります。
ハルシネーション※の制御にも課題はありますし、プロンプトを修正した時に、現状だとその後の応答にも数十秒かかってくるので、通常の開発よりも検証できる回数が少なくなってしまいます。

あとはUXとLLMがトレードオフになることもあります。ユーザーに刺さる応答を最速でできるのが理想ですが、現在だと時間がかかってユーザーを待たせてしまったり、最上のUXをまだまだ提供できていません。ChatGPTからの応答で数十秒かかることが多いので、自社でコントロールできる領域ではないのですが今の枠組みだと難しそうだなと感じます。

そのような課題もあり、自社でコントロールできるLLMを持つことで改善の速度が速くなったりユーザーさんにいいUXを提供できるのではないかと考えており、自社の環境にオープンソースのLLMをカスタマイズした自社独自のLLMを導入できるか検証を進めている最中です。

※ハルシネーションとは、人工知能(AI)が事実に基づかない情報を生成する現象のことです。

松本:自社環境でLLMを構築する必要性は今後どこかでは必ず出てきそうですね。今もハルシネーションの見極めには人海戦術で1つ1つ人間の目で見にいったりしているし、めっちゃ大変な作業を進めていますよね。プロンプトをちょっと変えたらダメになったとか。

脇山:これまでもプロンプトを1行変えただけで、jobiが求人検索モードに入ってもらいたいのに、お待ちくださいの返答から全く進まなくなったこととかありましたね。AIの判断がどう返ってくるかわからない一つの事象でした。対策としては検索モードに自分たちで切り替えるように制御を入れて問題なく進められました。

あとは大変さでもあり面白さですが、フロントエンドについては技術負債のコントロールがまだ追い付いていない状態です。バックエンドはだいぶ進めてきましたが、フロントエンドはシニアなメンバーがおらず、コントロールしようと改善に努めていますがベストなものかは不確かです。やれることはまだ沢山あるので面白いと思いますし、今後入社される方に期待したい点の1つです。

今後取り組みたいこと

松本:今後取り組みたいことについて教えていただけますか?

脇山:いくつかあって、1つは先ほどの話に繋がりますが、ハルシネーションなのかユーザーに沿った内容で出力されているかを現在は人力で確認しているので、自動化して効率化することや定義づけをしっかりと行っていきたいです。

自社ドメインにあったLLMや自然言語を使った機械学習を開拓したいと思っていて、今だとアルバイトと正社員は全然違う言葉だと思いますが、HR領域だと近しい言葉だよねと扱われていて、そのせいで不適合な検索が出てしまうこともある。HRドメインにあった正しい言葉の位置付けを定義していきたいと思っています。

あとはプロダクトの先の姿として、人間のエージェントに近いUXを提供していけるのではないかと考えています。従来の求人サイトにできていなくて、うちができることは複雑な条件を聞きながら検索ができることです。LLMを使えばそこから人間が求人紹介をするようなUXを提供していけるのではないかと考えているので、仮説検証やUXの提供が出来たらなと考えています。

松本:プロダクトビジョンとしてAI人材エージェントはありますよね。ただそこに向かうにはプロセスが必要で、まずは現在取り組んでいる仕事探しや求人検索、そこから応募したらレジュメの添削や面接対策なども必要になるかもしれない。あとは応募をした後の会社の情報収集をしたり、エージェントが現在行なっているものをプロダクトで提供していけるよう取り組んでいきたいですね。

松本:最後に、今後Caratに入社してくれる未来の仲間へメッセージをお願いします。

脇山:興味関心を持ってくれた方は、新たな価値を発明し続けるというのをミッションにチャレンジしていきましょう。新しい技術が好きな方には向いている職場だと思っています。また、LLMを使ったサービスでイケているものがあまりないと感じているので、弊社が業界の標準やロールモデルになっていきたい。そのようなチャレンジにワクワクする人と一緒に働いていきたいと思っています。ぜひよろしくお願いします!


記事を読んで興味を持ってくださった方、Carat では未来の仲間を積極採用中です。
今回インタビューの中心となったAIジョブサーチの開発チームでもエンジニアを募集しています。まずはカジュアル面談から始めますのでお気軽にご応募ください!


この記事が気に入ったらサポートをしてみませんか?