📖

【第3回 AI Agent Hackathon 提出作品】 MindEcho ~AIと対話しながらつける日記~

に公開

はじめに

本記事はZenn主催によるオンラインハッカソンである「第3回 AI Agent Hackathon」への提出作品です。

突然ですが皆さんは日記をつけたことがあるでしょうか。
日記を書くという行為は、その時の感情や出来事をまとめ、気持ちや頭の中を整理するのにとても役にたちます。さらにそういったアウトプットをすることはストレスの軽減につながるという健康的なメリットも期待できます。また日々の活動を記録し振り返ることで、自身の変化や成長を実感することもできます。
その作業のお手伝いをしてくれるようなアプリが作りたい。
そんな思いから、AIと対話しながら日記をつけることができる音声入力日記アプリ「MindEcho」を作成しました。

課題と解決策

ペルソナ

・手軽に日記をつけたい人
・なにかを継続してしようとしている人もしくは継続している人
・漠然と不安になり夜眠れない人

解決したい課題

①継続的に手作業で日記をつけるのが面倒
②自分の思考や気持ちを整理するのが難しい

解決策

①音声入力で手作業工数の削減
 Speech-to-Textを利用し、ボタンを押すと音声で日記をつけるられるように設定
②VertexAiでchat形式の対話を実現
 AIとの対話形式でアウトプットし、最後に自動で要約させることで整理することができる

技術詳細

使用した技術

・フロントエンド : Firebase Hosting(web閲覧用)
・APIサーバー : Cloud Run(フロントとDBとGoogleCloudAPIとの連携)
・DB : Cloud Firestore(ユーザーごとの履歴管理)
・AI技術①: VertexAI(対話プロンプト返信及び入力データの要約)
・AI技術②: Speech-to-Text(音声入力を文字おこし)

アーキテクチャ

使い方

https://youtu.be/dUYPsxu5WSk

工夫した点

①構造化されたインタビュー形式の対話
感情分析とコンテキスト理解を組み込んだ適応的なインタビューシステムを実装しました。従来の機械的なパターンから脱却し、ユーザーの感情状態(positive/negative/neutral)を分析して、それに応じた共感的な質問を生成するようにチューニングしました。
このシステムでは、「今日は何がありましたか?」という定型的な質問ではなく、ユーザーの発言内容を分析して「それは素晴らしいですね!どんな瞬間が一番印象的でしたか?」のような、より人間らしく共感的な応答を生成できます。
また、過去の会話履歴を考慮した自然な話題展開により、唐突な質問転換を避け、流れのある対話を実現しています。

②Databaseの保存
日本語のユーザー名をbase64エンコードしてCloud Firestoreのコレクション名制限に対応し、YYYYMMDDHHMMフォーマットで一意のドキュメントIDを生成しています。
サーバー側でMapを使用したセッション管理により各ユーザーの対話履歴を保持し、AI機能で日記内容から12文字以内の読みやすいタイトルを自動生成できるようにしました。

③リアルタイムのフィードバック機能
音声録音中、音声処理中、AI応答生成中など各段階でユーザーに対してステータスがわかるようにフィードバックを送るようにしています。
タイピングインジケーターや視覚的な変化により、システムの状態を直感的に理解できるよう設計されています。

今後の改善点

・AIからの返信を音声化
Text-to-Speech機能を追加し、AIの応答も音声で返すことで完全な音声対話を実現したいと考えています。

・プロンプトエンジニアリングの最適化
ユーザーの感情や過去の対話履歴を活用したコンテキスト対応の質問生成を実装し、より共感的で自然な対話をできるようにします。

・過去日記を参照した継続対話
Cloud Firestoreに保存された過去の日記データを参照し、継続性のある対話や振り返り機能を追加することで、より豊かな日記体験を提供したいと考えています。

・長い録音音声への対応
現在の60秒制限を超えて、長時間音声の分割処理やリアルタイム音声認識ストリーミングを実装し、より自由度の高い音声入力に対応したいと考えています。

・日記の編集機能
日記の編集機能を追加し、利用者にとってより使いやすい日記体験を提供したいと考えています。

まとめ

最後までご覧いただき、本当にありがとうございました。
今回のハッカソンを主催いただいたZennの皆さま、そして運営に携わったすべての方々に心より感謝申し上げます。本記事や「MindEcho」が、日々の思考整理や心の支えに少しでも役立てば幸いです。
今後も改善と挑戦を続けてまいりますので、どうぞ温かく見守っていただければ嬉しく思います。

Discussion