アソビュー! - Qiita Advent Calendar 2024 - Qiitaの6日目(裏面)です。
アソビューで座席指定システムのエンハンスに携わっている東郷です。
はじめに
エンジニアの皆さん、日々の仕事で技術に向き合う中で、「遊び心」を忘れてしまってはいませんか?
この記事では、私が業務外の余暇に取り組んだ自由研究の体験をもとに、気軽に技術の世界を探求する素晴らしさをお伝えできればと思います!
自由研究のきっかけ
社内コミュニケーション施策の一環で「Slackでどんな絵文字が使われているか」を調査した際、カスタム絵文字が1000種類以上も登録されていることに驚きました。その中にはユーモラスな絵文字も多く、「文脈に応じて最適な絵文字を返せたら面白いかも」と思ったのが自由研究の出発点です。
Slackリアクションツールの試作
このの自由研究では、OpenAIのAPIを活用し、Slackメッセージの内容に応じた絵文字を提案する仕組みを試作しました。完成版ではなく、アイデアを形にしてみる実験的な取り組みです。
大まかな仕組みは以下の通りです。
フローの説明
①② SlackメッセージをOpenAIに送信
OpenAIのAPIにSlackのメッセージを送信し、内容に応じた適切な絵文字を生成してもらいます。
例: 「母の日に体験ギフトを贈りませんか?」 → 🎁(ギフト)
③ カスタム絵文字との対応づけ
OpenAIが返却する標準絵文字に基づき、Slackで利用されるカスタム絵文字をマッチングします。
手法: Slack APIを使い、過去のメッセージで同時に使われたリアクションをクラスタリング。OpenAIが生成した絵文字と意味の近いものを返します。
例: 🎁 →
絵文字クラスタリングの様子
結果の表示
生成されたカスタム絵文字候補をリスト形式で取得し、確率的に高い順で候補を出せるようにしてみました。
自由研究から得た気づき
- 生成AIの可能性を実感
AIを活用することで、プログラムでは困難な「ニュアンス」や「文脈」を処理できる時代になったと感じました。 - AI導入に必要な工夫を学ぶ
実際にAIをサービスに組み込む際の課題や工夫点について、具体的なイメージを得られました。 - 生成AIの支援でスムーズな開発が可能
ChatGPTを活用することで、モデル構築の難しい部分をシンプルに実現できたことも大きな収穫でした。
その他の自由研究
動画をスライドに分割し、メタデータでアクセス可能にする試み
動画をスライド化し、後から検索できる仕組みを試してみました。動画はあるけどスライドが共有されていないLT会を後で見返す目的で作ってみました。メタデータを検索して対応するスライドの位置を返す仕組みが実現できたので、動画を直接扱うよりサイズやネットワークの面で扱いやすい場面があるかもと思いました。
テストデータ生成を簡略化するDSLの開発
テストデータを効率よく生成するためのドメイン固有言語(DSL)を開発してみました。生成AIを使ってダミーデータを作る場合、プロンプトが複雑になったり大量データを作ることはトークンの関係で難しい課題がありました。SQLライクに書けて、親子関係のあるテーブルのデータを整合性を保ちつつ、現実に近いダミーデータを返してくれて大量生成可能をコンセプトに作ってみました。
チャットで入力フォームを設定する試み
入力フォームの項目が多いと入力が大変と思うことがあります。チャットに日本語を入れたら反映してくれる機能をコンセプト実装してみました。OpenAIのStructured Outputsを利用してJSONスキーマを利用することでそれっぽく実現できました。今後管理画面などで使う機会があるかも。
自由研究の楽しさと発見
創造性が花開く生成AI活用
自由研究を通じて感じたのは、「生成AIを使ってアイデアをカタチにする」ことは楽しいということです。
日常業務では求められる「正確さ」や「効率性」から一歩離れ、「役に立つかわからないけどこんなことができたら面白そう」にフォーカスすることで、純粋に楽しめる創造のプロセスを堪能できました。
自分なりに工夫してやりたいことに近づける感覚は、子どもの頃に隠れてゲームがしたくてポータブルテレビにアダプターと洗濯バサミを駆使して無理やり接続した時の苦しみと喜びに似ています。(なんのこっちゃ)
自然に湧き出るモチベーション
生成AIがアイデアをカタチにしてくれることで次のアイデアが浮かんできたり、他の面白そうな分野と出会ったり、自由研究を進めれば進めるほど新しい自由研究のタネが見つかりました。
いつか詳しく調べてみたいなと思うことをストックするだけでも知識欲が刺激されます。
また、生成AIをテーマにしたコミュニティに参加し、他のエンジニアとアイデアを共有しながら遊ぶ機会が生まれたのも大きな収穫でした。
まとめ
自由研究を通じて、「技術を楽しむ心」「新しいスキルの獲得」「他者との共有による喜び」など、忘れていた気持ちを思い出すことができました。
「遊び心」はエンジニアとしての創造性や意欲を引き出す大きな原動力であると改めて実感しました。
アソビューでは、「生きるに、遊びを。」を実現するための良いプロダクトを世の中に届けられるよう共に挑戦していく様々なエンジニアを募集しています。
カジュアル面談のご希望も随時お受けしておりますので、お気軽にエントリーください! お待ちしております。