Bun×AI SDK×Cloudflareで構築するカスタム音声アシスタント - らてさんが明かす最新技術スタック
詳細情報
VRChatの熱気あふれる「個人開発集会」にて、らてさんが「LLM搭載音声アシスタントを作った」というテーマで発表されました。
今回は、その発表内容を詳細に掘り下げ、開発の裏側や技術的な挑戦、そして未来への展望を余すところなくお伝えします!
自己紹介:らてさんってどんな人?
まずは、今回の発表者であるらてさんについてご紹介しましょう。
らてさんは、普段からGitHubで活発に活動されており、技術に関する情報は開発用Twitter @RateteDevで、日常やゲームに関するつぶやきは別のTwitterアカウント@RateteRootで発信されています。
こちらのフォーマットであれば、多くのブログプラットフォームやマークダウンをサポートするサイトで自動的にリンクとして認識されます。
らてさんの技術スタック
らてさんの技術的なバックグラウンドも見ていきましょう。
好きなクラウドサービスはCloudflareとGoogle Cloud、得意な言語はTypeScriptとRust、そして愛用ツールはCursorとNotionとのこと。
これらのツールを駆使して、今回の音声アシスタント開発に挑んだようです。
プロジェクトの背景:なぜ音声アシスタントを作ろうと思ったのか?
らてさんが音声アシスタントを開発しようと思ったきっかけは、日々のちょっとした煩わしさの解消でした。
スケジュール管理や調べ物をする際に、いちいちチャットアプリを開くのが面倒だったとのこと。
「それなら、音声アシスタントに全部やってもらえばいいじゃないか!」という発想から、このプロジェクトがスタートしたそうです。
既存の音声アシスタントの課題
しかし、既存の音声アシスタントにはいくつかの課題がありました。
例えば、過去の会話の履歴を考慮できなかったり、複雑なタスクに対応できなかったりする点です。
課題の具体例:履歴を考慮できない問題
例えば、「明日の08:00と10:00にアラームを設定して」と指示した際に、既存の音声アシスタントでは「はい、では何時に設定しますか?」と聞き返されてしまうことがあります。
これでは、ユーザーは二度手間になってしまいます。
課題の具体例:複雑なタスクができない問題
また、「来週公開される映画で興味ありそうなのがあったら公開日をカレンダーに入れておいて」というような複雑なタスクは、既存の音声アシスタントではうまく理解してもらえません。
Web検索、カレンダー機能、メモリー機能などを組み合わせた高度な処理が求められるからです。
解決策:LLMとツール連携による音声アシスタント
これらの課題を解決するために、らてさんはLLM(大規模言語モデル)の高度な言語理解能力と、ツール連携(Function Calling)によるタスク実行能力を組み合わせた音声アシスタントを開発することを目指しました。
これにより、より自然で柔軟な対話と、複雑なタスクの自動化を実現しようとしたのです。
音声アシスタントの主要機能
この音声アシスタントには、様々な便利な機能が搭載されています。
カレンダー機能
テキスト、音声、画像から予定を追加・アップデートできます。
予定の重複チェックや空き時間の提案機能も搭載。
さらに、外部カレンダーとの同期も可能です。
TODO機能
タスクの追加、編集、完了管理が行えます。
自動リマインドや会話によるアナウンス機能も搭載。
遂行計画の提案も可能です。
ノート機能
Notionのようなノート機能が利用できます。
ユーザーの好みに合わせたノートの作成が可能です。
アラーム機能
テキストや音声コマンドでアラームを設定できます。
カレンダーと連携して自動的にアラームを設定することも可能です。
メモリー機能
会話履歴を保持し、文脈を理解します。
ユーザーの好みや習慣を学習し、過去の対話を活用した応答の改善を行います。
タスク機能
cronによるタスクの自動実行が可能です。
タスクの優先順位付けと実行順序の最適化、タスクの進捗状況の管理とレポート機能も搭載されています。
設定機能
使用するLLM Modelの選択、指示(Instruction)の変更、ツールの追加(OpenAPI、MCPなど)が可能です。
使用技術:Cloudflare Workers、AI SDK、Bun
この音声アシスタントは、最先端の技術を組み合わせて開発されています。
Cloudflare Workers
Cloudflareが開発しているFaaS(Function as a Service)を利用しています。
エッジロケーションで実行される軽量なサーバーレス関数であり、低レイテンシーと高可用性を実現します。
WebAssemblyのサポートにより、多言語に対応可能です。
AI SDK
Vercelが開発しているAIを使った開発をするためのライブラリです。
LLMとの対話を簡単に実装でき、ストリーミングレスポンスをサポートしています。
関数呼び出し(Function Calling)機能も搭載されており、TypeScriptによる型安全性を確保しています。
Bun
JavaScriptのRuntimeであるBunを使用しています。
Node.jsに代わる高速な実行環境であり、パッケージマネージャーとしても機能します。
ビルドツール、バンドラーとしても使用可能で、テスト実行機能も内蔵されています。
余談:Amazon Alexa+発表
AmazonからLLMを搭載した次世代の音声AIアシスタント「Alexa+」が発表されました。
らてさんの開発している音声アシスタントと完全に上位互換になりそうな点が興味深いですね。
今後の展開に注目です。
まとめ
らてさんの発表では、LLMを活用した音声アシスタントの可能性が示されました。
既存の音声アシスタントの課題を克服し、より自然で高度な対話を実現する未来が垣間見えたのではないでしょうか。
VRChatのようなコミュニティから生まれる技術革新に、今後も期待が高まります!
個人開発集会の他の発表もチェック!
個人開発集会の開催情報・参加方法

個人開発集会
開催日: 2025年03月13日
開催時間: 21:00 - 22:00
開催曜日: 木曜日開催周期: 隔週(グループA)
個人開発にまつわる話でワイワイする集会です。 個人開発をやっている方も初めてみたい方も大歓迎! 企画・技術・マーケティング・保守・運用など 技術的なことに限らない幅広い分野を想定しています。 個人開発に興味がある方はぜひ遊びに来てください!