>100 Views
September 30, 26
スライド概要
2026-09-30 に開催された TechLunch で発表したスライドになります。
高橋克己(たかはしかつみ) 株式会社KDDIウェブコミュニケーションズ CPaaSエバンジェリスト グローバル・インターネット・ジャパン株式会社 代表取締役 フルスタックエンジニア
Gemini Live を用いた AI 電話番をリリースした話 Gemini Live を用いた AI 電話番をリリースした話 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 自己紹介 jobs: - company_name: グローバル・インターネット・ジャパン株式会社 title: 代表取締役CEO - company_name: 株式会社KDDIウェブコミュニケーションズ division: コミュニケーションDX本部 title: エバンジェリスト name: 高橋克己(Katsumi Takahashi) nickname: "□い芸人" hobbies: - 料理 - 江戸前鮨 interest: - VibeCoding - MCPサーバー - 音声ボット social: x: "@_katsumi" facebook: katsumi.takahashi 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 作ったもの AI 電話番「Denwaban」 — かかってきた電話に AI が出る 用件を聞いて、担当者に取り次ぐ / 伝言をあずかる 通話の録音・文字起こし・要約を自動で残す 2026 年 6 月リリース 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 デモ 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 Gemini Live API の仕組み 従来の音声ボットの構成(パイプライン方式) 音声認識(STT) ➔ LLM思考 ➔ 音声合成(TTS) の多段 処理 各段階の遅延が累積し、会話に不自然な「間」が発 生 Gemini Live API(Speech To Speech方式) 音声ストリームを直接やり取り(End-to-End) WebSocket で双方向ストリーミング 割り込み(Barge-in)がプロトコルに載っている 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 電話との繋ぎ込み Vonageを利用 CPaaS(Communications Platform as a Service) 電話やSMSなどのコミュニケーションをAPIで提供す るサービス 電話網 ➔ Vonage ➔ 自社サーバ の経路 着信 Webhook ➔ NCCO で WebSocket へ接続 音声は 16kHz PCM の双方向ストリーム(電話は 8kHz で収音) 転送・録音の扱い 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 全体構成 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 先に言っておきたいこと Agent Platform(旧 Vertex AI)ではなく AI Studio 経由で使 っています 使いたい Live モデルが Agent Platform の GA に無かった GA 版は 2.5 Native Audio 系 / 最新の Flash Live は未提供 型定義にはあるのに、実際には通らないパラメータが ある 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 商用リリースまでの道のり 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 実運用が始まった瞬間に、事象が全部出た 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象① 文字起こしが、韓国語になる 日本語の通話なのに、韓国語やポルトガル語として書き 起こされる 5〜6 通話に 1 件。「たまに」ではなく常態化していた // 言語を固定しようとすると… config: { languageCodes: ['ja-JP'] } // → 1008 で切断。SDK の型定義にはあるのに通らない 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象① の解決策 通話が終わってから、録音を日本語特化の音声認識にかけ直す 録音は発信者と AI が別チャンネルに分かれている ➔ 話者の推測が要らない 発信者側の発話を丸ごと差し替える 引き換えに、メールと連携先への通知が 1〜2 分遅れる (音声認識には、ElevenLabs を使っています) 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象② 黙る。しかも、エラーが来ない ある通話で、AI が 8 分 40 秒 何も返さなくなった WebSocket は生きている。 close も error も来ない こちらのログは 1 行も出ていない その間、発信者はずっと話しかけていた 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象② の解決策 「AI から生きている証跡が来なくなってからの経過」を測る 発信者の無音では拾えない(発信者は喋っている) 「音声チャンクが届いたか」でも拾えない(届いてはいる) ➔ 最後に何かが来た時刻を持ち、経過を毎秒見る タイマーを内部に持たせない。 tick(now) を外から叩く形にした 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象③ 指示どおりに喋ってくれない 「承りました」を、必ず読み違える ×「ご予約をちょうりました」 「〜と挨拶をしてください」と書くと、言い換えられる 「その趣旨で挨拶して」と読まれてしまう 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象③ の解決策 読み方の指示を通話ごとに、指示文の末尾へ後置する 挨拶は区切り線で囲って「一字一句そのまま」 と書く 効いたかどうかは、測る 漢字のまま 指示なし 4/6 指示あり 0/6 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 事象④ FC を定義したのに呼ばない // 呼ばれない(中身の定義がない OBJECT) { "name": "call_webhook", "parameters": { "type": "OBJECT", "properties": { "endpoint_name": { "type": "STRING" }, "params": { "type": "OBJECT" } }, "required": ["endpoint_name"] } } // 呼ばれる(params を STRING + JSON説明に変更) { "name": "call_webhook", "parameters": { "type": "OBJECT", "properties": { "endpoint_name": { "type": "STRING" }, "params": { "type": "STRING", "description": "JSON文字列: {¥"k¥":¥"v¥"}" } }, "required": ["endpoint_name"] } } 中身( properties )の分からない OBJECT を含む関数は一度も呼ばれない 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 GCP で踏んだ小ネタ 1011 Resource has been exhausted — 同時 1〜2 セッションでも出 る(Previewモデルの闇) ➔ 増枠ではなく張り直しで対処。数秒の無音で済む Cloud Run の CPU throttling — 応答を返した後の処理が止まりうる ➔ 通話後の要約・文字起こしが影響を受ける preview モデルはバージョンを固定できない — 挙動が変わる前提で監 視する ➔ gemini-3.8-liveがGAとして発表された(ただ、動作が不安定なので 現時点では未採用) 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 Cloud Run の CPU throttling デフォルトでは「リクエスト処理中のみ」CPU が割り当てられる 起きる現象 切断・レスポンス返却後に CPU が極小に絞られる(Throttled) バックグラウンドの「文字起こし・要約処理」が停止・極端に遅 延 最悪の場合、完了前にインスタンスが破棄(Scale to 0) 対策(前者を採用) 「常に CPU を割り当てる(CPU always allocated)」 を有効化 または Cloud Tasks / Pub/Sub 等で非同期ジョブを外だし 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 まとめ リリース後、3ヶ月間でわかったこと 1. 繋ぐのは簡単。難しいのは「黙る・化ける・従わない」への対処 2. 通信の秘密と個人情報の扱い 3. 観測を先に作る。 起きたことに気づけないのが一番こわい 4. プロンプトの修正は、効いたかを測って初めて対策になる 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 これから 音声認識の精度(電話の 8kHz という上限とどう付き合うか) 割り込みの扱い(周囲の音を発話と判定してしまう問題) SIP 直収による遅延の改善 gemini-3.8-live への対応 OpenAI の GPT-Live-API (済) 2026-09-30 @TechLunch17
Gemini Live を用いた AI 電話番をリリースした話 ご清聴、ありがとうござ いました 2026-09-30 @TechLunch17