顧客相談ロールプレイアプリや、テキスト校正機能を制作しました! 【毎月開催の社内ハッカソン】

「ソニックガーデンをちょっと良くする」をテーマに参加者を募った社内ハッカソンを3/7(金)に開催しました。
10組19名が制作したアプリや機能を、AI活用アイデア・実用度・完成度の3軸で評価し合った今回。制作された作品を、AI要約した発表内容の書き起こしと共にランキング形式でご紹介します。
目次
【1位】AI校正、ミーティングAI校正、関連タスク紐付け機能

特に完成度に注力し、今回はSonic(※)に新機能を追加しました。
(※…ソニックガーデンで内製している、プロジェクト管理&お客さんとのコミュニケーションツール)
まず、雑にテキストを入力してから「AIによる校正」ボタンを押すと、自動でテキストの内容を校正し、書き直してくれる機能を追加しました。スレッドの内容を参照しているので、投稿者に合わせた内容のテキストを作成してくれます。
次に、Sonicの基本設定の中に「定例ZoomのミーティングID」という新しい項目を追加しました。お客さんとの定例終了後に、ミーティングの要約を掲示板に自動投稿してくれます。この時、プロジェクトと関係のない雑談の内容が残らないように、Zoomで生成されるAI要約を、さらにAIを使い校正しています。
また、定例の間にSonic上に追加されたタスクは「関連タスク」として、ミーティング要約の下に自動で表示されるようになっています。これらの機能は、今後リリースする予定です。
(※…ソニックガーデンで内製している、プロジェクト管理&お客さんとのコミュニケーションツール)
まず、雑にテキストを入力してから「AIによる校正」ボタンを押すと、自動でテキストの内容を校正し、書き直してくれる機能を追加しました。スレッドの内容を参照しているので、投稿者に合わせた内容のテキストを作成してくれます。
次に、Sonicの基本設定の中に「定例ZoomのミーティングID」という新しい項目を追加しました。お客さんとの定例終了後に、ミーティングの要約を掲示板に自動投稿してくれます。この時、プロジェクトと関係のない雑談の内容が残らないように、Zoomで生成されるAI要約を、さらにAIを使い校正しています。
また、定例の間にSonic上に追加されたタスクは「関連タスク」として、ミーティング要約の下に自動で表示されるようになっています。これらの機能は、今後リリースする予定です。
【2位】N2JK Roleplay

今回は、新入社員や若手社員が、ソニックガーデンのサービス「納品のない受託開発」の顧客相談に対応する経験を積むためのロールプレイアプリを開発しました。このアプリは、AIが顧客役となり、様々な難易度のシナリオで顧客対応をシミュレートすることができます。
アプリはGoogleアカウントでログイン可能で、すぐに使い始めることができます。ロールプレイは、顧客の難易度に応じて三つのレベルに分かれていて、最も簡単なレベルでは、顧客が「納品のない受託開発」というサービスについて内容を理解し、共感してくれているシナリオから始まります。中間のレベルでは、顧客がサービスをあまり知らない場合の対応。そして最も難しいレベルでは、顧客が納品がないことにリスク、懸念点を感じている場合の対応を想定しています。
ロールプレイはチャット形式で進められ、AIが顧客情報を生成した後、会話が始まります。また、アプリには履歴保存機能とランキング機能があり、ユーザーは自分の成績を他の社員と比較することができます。これにより、社内での競争も楽しむことができます。
将来的には、テキスト入力ではなく音声入力にも対応させたいと考えています。このアプリが、若手社員が顧客対応のスキルを磨くための有効なツールとなることを期待しています。以上が今回作成したアプリの紹介です。皆さんのフィードバックをいただきながら、さらに改善を重ねていきたいと思います。
アプリはGoogleアカウントでログイン可能で、すぐに使い始めることができます。ロールプレイは、顧客の難易度に応じて三つのレベルに分かれていて、最も簡単なレベルでは、顧客が「納品のない受託開発」というサービスについて内容を理解し、共感してくれているシナリオから始まります。中間のレベルでは、顧客がサービスをあまり知らない場合の対応。そして最も難しいレベルでは、顧客が納品がないことにリスク、懸念点を感じている場合の対応を想定しています。
ロールプレイはチャット形式で進められ、AIが顧客情報を生成した後、会話が始まります。また、アプリには履歴保存機能とランキング機能があり、ユーザーは自分の成績を他の社員と比較することができます。これにより、社内での競争も楽しむことができます。
将来的には、テキスト入力ではなく音声入力にも対応させたいと考えています。このアプリが、若手社員が顧客対応のスキルを磨くための有効なツールとなることを期待しています。以上が今回作成したアプリの紹介です。皆さんのフィードバックをいただきながら、さらに改善を重ねていきたいと思います。
【3位】tsukuru gem
チームメンバー:中谷、登川

systemのスペックを書く際に、より効率的にテストケースやデータ作成できればと思い、「tsukuru」というGemを開発しました。
具体的に、まずRSpecの作成ができます。「tsukuru:rspec」と打ち込むと、「RSpecテストケースの内容を詳しく記述してください」と表示されます。そこに文章で、例えば「管理者が商品をCRUDする」などどのようなテストを作りたいかを指定すると、作りたいテストに対して必要だと思われるファイルをプロジェクトからピックアップし、そのファイル情報を元にRspecファイルを作成してくれます。
作成されたものは、修正したい点はありつつ、雛形としてはかなり良いものができたと思います。さらに、同じ原理でREADMEも作ることができます。またオプションとして、ユーザーが「tsukuru」に対して独自のプロンプトを定義できる機能があります。これにより、テストの細かいカスタマイズが可能になります。
技術的には、OpenAIを使いました。その中でfunction callを多用しましたが、思ったように動かなく苦労もしたので、今後はRAGを使って、精度を高める方法も考えていきたいです。
具体的に、まずRSpecの作成ができます。「tsukuru:rspec」と打ち込むと、「RSpecテストケースの内容を詳しく記述してください」と表示されます。そこに文章で、例えば「管理者が商品をCRUDする」などどのようなテストを作りたいかを指定すると、作りたいテストに対して必要だと思われるファイルをプロジェクトからピックアップし、そのファイル情報を元にRspecファイルを作成してくれます。
作成されたものは、修正したい点はありつつ、雛形としてはかなり良いものができたと思います。さらに、同じ原理でREADMEも作ることができます。またオプションとして、ユーザーが「tsukuru」に対して独自のプロンプトを定義できる機能があります。これにより、テストの細かいカスタマイズが可能になります。
技術的には、OpenAIを使いました。その中でfunction callを多用しましたが、思ったように動かなく苦労もしたので、今後はRAGを使って、精度を高める方法も考えていきたいです。
【4位】テキスト入力支援 & AI校正機能

今回のテーマは、AIを利用してテキストコミュニケーションを改善することです。ソニックガーデンでは日常的に行われるテキスト入力ですが、入力に時間がかかることや、分かりやすい文章を作成するのが難しいことに課題間がありました。
そこで、文章をリアルタイムで予測し、入力を支援するGoogle拡張機能を開発しました。入力中にテキスト候補を提示し、タブキーを押すとそのテキストが追記される仕組みです。例えば「お世話になっています。先日の打ち合わせの件ですが」と入力した後に、「ご検討いただいた内容についてご意見をいただけますでしょうか?」のような続きのテキストを提案します。
さらに、入力が完了した文章をより理解しやすくする、校正機能も開発しました。文章を入力後、「校正例を表示」のボタンをクリックすると、サイドパネルに結果が表示される仕組みです。
これらの機能は、Webブラウザ上で動くAIであるWebLLMを使っています。ChatGPTなどのAIチャットの多くが、インターネット経由でOpenAI APIが使われている一方、WebLLMの場合は自分のパソコンやスマホの中で直接AIが動きます。使用料がかからないので、より気軽にAIを使えるのが良い点だと思います。以上です。
そこで、文章をリアルタイムで予測し、入力を支援するGoogle拡張機能を開発しました。入力中にテキスト候補を提示し、タブキーを押すとそのテキストが追記される仕組みです。例えば「お世話になっています。先日の打ち合わせの件ですが」と入力した後に、「ご検討いただいた内容についてご意見をいただけますでしょうか?」のような続きのテキストを提案します。
さらに、入力が完了した文章をより理解しやすくする、校正機能も開発しました。文章を入力後、「校正例を表示」のボタンをクリックすると、サイドパネルに結果が表示される仕組みです。
これらの機能は、Webブラウザ上で動くAIであるWebLLMを使っています。ChatGPTなどのAIチャットの多くが、インターネット経由でOpenAI APIが使われている一方、WebLLMの場合は自分のパソコンやスマホの中で直接AIが動きます。使用料がかからないので、より気軽にAIを使えるのが良い点だと思います。以上です。
【5位】AIコードレビュー機能の改善

僕は「code rabbit(※)」というツールの改善に取り組みました。
(※…Github上のPull RequestについてAIがコードレビューを行ってくれるサービス)
このツールを使う中で、「Link_to メソッドで使用しているパスヘルパーが正しいか確認してください」などをはじめとした、問題の特定や解決策を示さない微妙なコメントも多い印象を受けていました。ユーザーにとってはあまり役に立たないと感じたので、改善することにしました。
改善点としては、「GPT-4o」から「o3-mini」に使用するAIを変更し、プロンプトも改善しました。改善後の結果を見てみると、以前はプロジェクトに対して1つか2つのコメントがあっただけでしたが、今回は約20個のコメントがつきました。以前と比べて約半分のコストで済むようになり、コストパフォーマンスも向上しました。
コメントの質に関してはまだ完全には満足する結果ではないので、今後も改善を続ける予定です。
(※…Github上のPull RequestについてAIがコードレビューを行ってくれるサービス)
このツールを使う中で、「Link_to メソッドで使用しているパスヘルパーが正しいか確認してください」などをはじめとした、問題の特定や解決策を示さない微妙なコメントも多い印象を受けていました。ユーザーにとってはあまり役に立たないと感じたので、改善することにしました。
改善点としては、「GPT-4o」から「o3-mini」に使用するAIを変更し、プロンプトも改善しました。改善後の結果を見てみると、以前はプロジェクトに対して1つか2つのコメントがあっただけでしたが、今回は約20個のコメントがつきました。以前と比べて約半分のコストで済むようになり、コストパフォーマンスも向上しました。
コメントの質に関してはまだ完全には満足する結果ではないので、今後も改善を続ける予定です。
ソニックガーデンでは、「『遊び』こそ、向上心を生み出す源泉になる」という考えのもと、毎月社内ハッカソンを開催しています。開催の意図については、代表・倉貫のブログで詳しく語られていますので、興味のある方はご覧ください。
遊びから始まるプログラミング 〜 ハッカソンが育む文化と成長
ソニックガーデン主催の「ツクってアソぶハッカソン」へのご参加もお待ちしています!
執筆:小澤未花
編集:髙木咲希・小野寺ちひろ・岡田森