AIに育児記録をレポートさせてみた!
はじめに
最近、子どもが生まれ、育児記録をぴよログというアプリでつけています。
せっかくなので、ぴよログに記録した内容を AI にレポートさせようと思いました。
プロセス概略図
本プロセスの簡単な流れは以下のとおりです。
- ぴよログの育児記録を Google Drive の特定のフォルダに定期エクスポート
- 育児記録 DB 保存プログラムで Google Drive にある育児記録を取得し、MongoDB Atlas に保存
- AI エージェントが MongoDB Atlas から育児記録を取得し、レポートを生成
- レポートを LINE に通知
現在、一日一回、前日の育児記録のレポートを生成するようにしています。
もうちょっと詳しく
ぴよログの育児記録の Google Drive への定期エクスポート
ぴよログの育児記録はMacroDroidというアプリで、23 時 55 分に当日の育児記録を Google Drive の特定のフォルダにエクスポートするようにしています。
MacroDroid は Android の自動化アプリで、特定の時間に特定のアクションを実行することができます。
使っていない Android 端末を使って、定期的に育児記録をエクスポートするようにしています。
育児記録 DB 保存プログラム
育児記録 DB 保存プログラムは、Google Drive にある育児記録を取得し、MongoDB Atlas に保存するプログラムです。
このプログラムは Node.js の Docker コンテナイメージの AWS Lambda で実行しています。
そして、このプログラムを Amazon EventBridge を使用して、定期時刻にこのプログラムを実行するようにしています。
エクスポートされたぴよログの育児記録は非構造化データになって形式になっているので、LLM に JSON 形式に変換させて、その JSON データを MongoDB Atlas に保存するようにしています。
AI エージェント
レポート生成には自作の AI エージェントを使用しています。
この AI エージェントが MongoDB Atlas から育児記録を取得し、レポートを生成しています。
この AI エージェントも Node.js の Docker コンテナイメージの AWS Lambda で実行しています。
この AI エージェントはMastraというフレームワークで作成しています。
Mastra は内部で Web アプリケーションフレームワークであるHonoが使用されており、本 AI エージェントは Web アプリケーションとして動作するようになっています。
そのため、AWS Lambda で本 AI エージェントを動かすために、AWS Lambda Web Adapter を噛ませています。
この AI エージェントに対し、Amazon EventBridge API destinations を使用して、定期的にレポート生成の API に対し、 HTTP リクエストを送信し、育児記録のレポートを生成するようにしています。
なぜ MongoDB に育児記録を保存するのか?
エクスポートされたぴよログの育児記録は非構造データであるため、フィルタリングや集計を行うのが難しいです。
また、LLM に効率よくデータを扱わせるためにも構造化データに変換したいと考えました。
そこで、
- JSON ライクな形式で保存できる
- スキーマレスであるため、データの変更に柔軟に対応できる
という理由から、育児記録を MongoDB に保存することにしました。
使用技術ピックアップ
MongoDB Atlas
MongoDB Atlas は MongoDB Inc.が提供する MongoDB のマネージドサービスです。
MongoDB を AWS、Azure、Google Cloud などのクラウドプロバイダー上で簡単にセットアップ、運用、スケーリングすることができます。
本サービスは無料プランがあるので、気軽に試すことができます。
Mastra
Mastra は TypeScript で作る AI エージェントのフレームワークです。
エージェント、ツール、ワークフロー、RAG(外部知識検索)、メモリ、評価など、AI エージェント開発に必要な機能を基本部品として提供されているので、開発を効率よく行うことができます。
今回のアプリケーション規模ならば、Mastra を使用するのは過剰ですが、最近、Mastra の勉強をしていたのと、MCP 等のツール連携で機能強化も考えているので、Mastra を使用することにしました。
おわりに
育児記録を AI にレポートさせることで、育児記録をしっかりするようになったり、振り返り・分析がしやすくなり、妻にも喜んでもらえました。
また、今回、Mastra を使用して AI エージェントを作成しましたが、開発が非常に効率よく行えました。
まだまだ、改善の余地があるので、不具合等を修正しつつ、機能追加も検討していきたいと思います。
参考記事
Discussion