🎂

【第1回 DX勉強会ハッカソン】社員の誕生日を祝うAIカレンダーが誕生!

2024/10/31に公開

はじめに

こんにちは!

株式会社アドバンテッジリスクマネジメント DX開発部に所属している2年目の諸橋です

2024年8月27日と8月28日の2日間、私たちの社内でDX勉強会を兼ねたハッカソンが開催されました🎉

今回のハッカソンのテーマは 「AIをハックしよう!」 というもので、AI技術を活用することが目的でした。
日常業務ではAI開発の機会が少ないため、とても新鮮で刺激的な経験となりました!

この記事では、私が参加したBチームでのプロジェクト活動について、具体的にどのような内容に取り組んだのかを詳しくお伝えしたいと思います!

メンバー紹介

本ハッカソンは A、B、C の3チームで開催されたのですが、私はBチームに参加していました。
Bチームのメンバーは、個性豊かな以下の3名で構成されていました。

  • ふくちゃん

    好きな食べ物はオムライス!チームのムードメーカーで、いつも明るく、場を盛り上げてくれる存在でした。

  • くまたさん

    好きな食べ物はうどん!冷静沈着で、論理的な思考が光るエンジニア。問題解決の際には的確なアドバイスをくれました。

  • 諸橋さん(私です)

    好きな食べ物はポテトサラダ!チームの一員として全力で取り組み、プロジェクトの進行に積極的に関わっていました。

それぞれの得意分野を活かしながら、チーム一丸となってプロジェクトを進めていきました。

プライバシー保護のため、それぞれが好きな動物のお顔にしています

何を作るのか

初回のミーティングでは、まず自己紹介を行い、その後に 「どんなものを作りたいか」 についてメンバー全員で話し合いました。

ここで意識したのは、AIはあくまで目的ではなく手段であるという点です。何を作りたいのか、その目的に合わせてAIをどのように活用していくかを考えることが重要でした。そこでまずは、普段の業務の中で「手間がかかっている作業」や「自動化したいプロセス」 について振り返ることから始めました。

話し合いを進めた結果、私が有志で参加している 社内のバースデー企画の業務を自動化するアイデアが浮かびました。

社内のバースデー企画業務の効率化

当社では、毎日誕生日を迎える社員がいれば、その方を祝う文化があります。

具体的には、Teams上でお祝いメッセージを投稿し、社員全体に共有しています。
また毎月、その月に誕生日を迎える社員をOutlookカレンダーに登録し、社員全員が確認できるようにしています。

この誕生日データは、常に最新の情報を保つため、入社・退職・休職の状況に応じて、誕生日データが更新されたCSVファイルを基に管理しています。しかし、 現状はこのCSVファイルを手作業で参照し、対象者をOutlookカレンダーに登録・削除しています。 このプロセスは煩雑で、ミスが発生するリスクもありました。

そこで、 CSVファイルを更新するだけで、バースデーカレンダーが自動作成されるようにすれば、 CSVファイルの更新のみでカレンダー作成が完了できると考えました!
また、2日間での実装が可能だとチームで意見が揃ったため、このプロジェクトを進めることにしました!


ハッカソンで実装する業務フローであれば、CSVデータを更新するだけで完了!

あれ、AIはどこで使うの???

大まかなサービスの方向性は決まったものの、ふと気づけば 「AI」 がまだ使われていないことに気づきました。

そこで、チーム内でAIをどのように活用できるかについて、ブレインストーミングを行うことにしました。いくつか挙がったアイデアは以下の通りです。

  • お祝いメッセージの自動生成
  • 誕生日の方と趣味が合いそうな社員をリコメンドする機能
  • 誕生日の方のプロフィール情報からニックネームを自動生成する機能

これらのアイデアの中でも、特に 「誕生日の方のプロフィール情報からニックネームを生成する機能」 がユニークであり、かつ実装も比較的簡単にできそうだという意見が出揃いました。最終的に、このアイデアを採用することになりました!

プロジェクト要件

■ ゴール

今回のプロジェクトのゴールは、 『バースデーカレンダーの開発』 です。社員の誕生日をカレンダー形式で表示し、AI技術を用いてお祝いをより楽しく、効率的にすることを目指します。

■ 要件

毎月の誕生日をカレンダー上で確認できる
誕生日データが更新されると、自動的にカレンダー内容も反映される
AIを使って、誕生日の方のプロフィール情報からニックネームを自動生成する

■ ページ構成

カレンダー画面のみ
先月・翌月ボタンを設置し、ユーザーが簡単に画面を切り替えられるようにする
カレンダーには、その月の誕生日を迎える社員の情報を表示する

■ ToDoリスト

役割分担と使用技術の決定:2時間
仕様の詳細決定:6時間
開発環境の構築:2時間
実際の開発作業:10時間

■ 使用技術

フロントエンド: Vue.js
バックエンド(AI部分): ChatGPT API(GPT-3.5 Turbo)
データベース: CSVファイル
バージョン管理: GitHub

成果物

① カレンダー表示

🎉制限時間内に、無事にカレンダー機能の開発を完了することができました!

サーバーを起動すると、以下のような誕生日カレンダーが表示されます(デモデータを使用しています)。

その月に誕生日を迎える社員が自動で抽出され、名前と顔画像がカレンダーに表示される仕組みになっています。データ更新時も自動でカレンダーに反映されるため、常に最新の誕生日情報を確認することが可能です。

② AIによるあだ名の生成

カレンダー画面の左上に設置した 「AIニックネーム生成」 ボタンを押すと、名前の下に自動であだ名が表示される機能を実装しました!


ダンシングアーチャー・・・どんな人なのか気になりますね笑

この機能では、社員の プロフィール情報 に基づいてAI(GPT)がユニークなあだ名を作成します。具体的には、以下の情報をChatGPTに渡してあだ名を生成しています。

名前は「${user["名前"]}」
趣味は「${user["趣味"]}」
学生時代の部活は「${user["学生時代の部活"]}」
お気に入りの本・映画・アニメは「${user["お気に入りの本・映画・アニメ"]}」
好きな食べ物は「${user["好きな食べ物"]}」

これらのステータスから、2つ名を一つだけ作ってください。
文字数は12文字程度。回答は二つ名だけでいいです。
何も囲まず、素で出力してください。

このテンプレートに沿って、user[] に入っているユーザーデータ(名前、趣味、好きな食べ物など)を渡し、ChatGPTがその情報をもとに12文字程度のあだ名を生成します。ニックネームには、社員の個性が反映されており、場合によっては思わず笑ってしまうようなユニークなものも誕生しました!

工夫点

ここからは、ハッカソンに参加する際に私たちBチームが意識した工夫点についてお伝えします!

工夫点① Figmaで事前にデザインを作成

一つ目の工夫は、ハッカソン開催前にFigmaで画面デザインを事前に作成していたことです。

今回、新卒のふくちゃんがFigmaを使って、せっせとデザインをまとめてくれました!

デザインが事前に共有されていたおかげで、当日はFigmaを参考にしながら画面実装を進めることができたため、開発作業にかかる工数を大幅に削減できました!

この経験から、ハッカソンのような短期間の開発でも、画面デザインを最初にきちんと作成しておくことの重要性を改めて学ぶことができました!


顔画像が素敵なおじさまでチームが和やかになりました!

工夫点②対面で会話しながら進めた

オンライン・対面は自由でしたが、チームBは全員出社し、対面でハッカソンに参加しました!
チームメンバーが行き詰まったときや、手が空いているときにはすぐに情報を共有し、一緒に解決策を考えることができたと思います。このようなコミュニケーションの取り方が、プロジェクトの進行をスムーズにし、チーム全体の士気を高める要因となりました。

普段の業務はオンラインが中心なので、こういったハッカソンでの開発形式は新鮮で楽しかったです!

新卒のふくちゃんも開発の楽しさを実感してくれたようで何よりでした!


機能の実装方法について活発な意見が飛び交いました!

工夫点③否定せず、楽しみながら進める!

チーム運用では、否定的な言葉を避け、ポジティブな雰囲気で進めること😄を意識しました!

アイデア出しから当日までの準備においては、お互いの意見を尊重し、感謝の気持ちを持ちながら進めることを心がけました。これにより、チームの結束が高まり、より良い成果を生む環境が整いました。

当日はお菓子を持参し、チーム全員でシェアしながら作業を進めました。お昼を一緒に食べることで交流を深め、楽しい雰囲気の中で取り組むことができたのも大きな成果です🥪!

振り返り

他チームとの共有時、社員についたニックネームを見て笑ってもらえたりしてうれしかったですね。

実際に今バースデー企画に本成果物を取り入れており、その結果として作業の効率化が進んだことを実感しています!
これまで手作業で誕生日データをOutlookに登録・削除していたため、どうしてもミスが発生するリスクがありましたが、今ではデータを更新するだけで自動的に反映されるので、ミスを予防しつつ、安心して作業ができるようになりました。

なにより楽しくチームメンバーと楽しく開発できたことが一番良かったと思います!

おわりに

ハッカソンは好評だったので次回も開催予定です!

次回はもっとチャレンジングな開発に取り組むため、私自身もITを学ぶことに力を入れたいと思いました👍

最後まで読んでいただき、ありがとうございました!

ARMテックブログ

Discussion