生成AIの進歩に伴い、市場を席巻するチャットボット製品の大幅な成長を目の当たりにしてきました。同時に、音声AI も進化し、AIとのスムーズな会話が実現可能になりました。インバウンド・アウトバウンドの通話、専門サービス、コンパニオンアプリなど、何を構築するにしても、音声は体験の中核を担い、コンバージョンにとって重要です。通話中にAIで不快な経験をしたことは誰にでもあるでしょう。ロボットのような声、ぎこちない沈黙、長いレイテンシ 、そして操作のためにボタンを押す必要 があること。これらは総じて体験の人間のように自然な質を損ない、時にはユーザーをいらだたせます。
音声AIと人間の違いとは?
優れた音声体験の構築方法に入る前に、人間が通常どのように会話でやり取りするかを振り返ってみましょう。私たちは話者交代が起こる際に<200ms のレイテンシで対応し、必要に応じて相槌を打ち、相手が発言を終えるタイミングを無意識に理解し、相手の意味と感情を理解し、文中にフィラーワードを入れ、遮られたら話すのをやめます……挙げればきりがありませんが、ここで私が伝えたい本質的なポイントは、私たちがシンプルでスムーズな会話をしているとき、その裏側では実に多くの小さなメカニズムが働いているということ、そして機械がこれらすべてを考慮して人間のように振る舞うのは極めて難しいということです。
優れた会話型音声AIの構築はなぜ難しいのか?
よく寄せられる質問の一つが、なぜRetell APIを使わなければならないのか、というものです。ASR(音声認識)、LLM、TTS(テキスト読み上げ)をつなぎ合わせるだけで音声会話を構築できるのでは?
ええと、時間があるなら、ぜひやってみて、シンプルなつなぎ合わせのアプローチでどこまでいけるか試してみるべきです。自前で音声システムを作る方々から聞く一番の問題は、レイテンシを削減するのが難しいこと。二番目に見られる問題は、シンプルな構成では割り込み処理の実装が難しいこと。三番目に見られる問題は、エージェントの応答が人間らしく聞こえるほど会話的でないことです。これらすべてに対処するために、優れた会話型音声AI体験に必要なコンポーネントと、行うべき作業の概要を見ていきましょう。
1. 連携 :ウェブフロントエンド、またはTwilioやVonageのようなプログラム可能な通信ツールと連携し、ユーザーの音声を取得します。
2. オーディオバイトとストリーミングプロトコルの取り扱い :さまざまなフロントエンド(ウェブ、電話)からのユーザー音声は、異なるエンコーディングやフォーマットで届き、異なるストリーミングプロトコルで送信されます。オーディオバイトは操作が難しく、扱うのに時間がかかるため、これは骨の折れる作業です。音声信号を扱うエンジニアに聞いてみれば、誰もが同じことを言うでしょう。
3. 音声の理解: スムーズな会話にとって不可欠な、音声からのさまざまなシグナルがあります。
テキスト: 通常はASR(非同期音声認識)から生成され、ストリーミングである必要があり、可能な限り高速かつ正確である必要があります。感情: 相手の感情状態を理解することは、人間が会話で良い応答をするために不可欠です。音声信号の品質: 背景ノイズがあるか、エコーがあるか。話者ダイアライゼーション :複数の人が話している場合、話者の識別を行い、誰があなたに話しかけていて誰がそうでないかを特定する、など。トナリティやその他の話者固有の特性。 一時停止: ユーザーが話すのをやめたかどうか。通常はVAD(音声活動検出)から推定されます。
4. 話すかどうかの判断 :相手がまもなく発言を終えるのか、すでに終えたのか、応答を待っているのか、それとも考えをまとめるために一時停止しているだけなのか、などを理解します。この判断を生成するには、テキスト、感情、トナリティ、一時停止、その他の音声入力を組み合わせる必要があります。
難しいのは、相手を個人的によく知らない場合、ユーザーはどこでも会話を終えられるということで、AIはそうした突然の終了に備えなければなりません。 ユーザーが予期せず話し続けることは、AIがそのまま聞き続けて話す判断を撤回できるため、それほど問題ではありません。
5. 応答の生成 :ユーザーの発言に対して良い応答を生成することは難しく、非常にシナリオ固有です。この部分を行う方法はさまざまで、各ユースケースに合わせてカスタマイズされるため、ここではシンプルな応答生成のフローを一つだけ紹介します。
RAG (検索拡張生成):ドキュメント、データ、ナレッジベースなどをベクトルデータベースに埋め込み、その中から関連情報のみを取得します。この関連情報が、LLMに入力されるプロンプトの一部になります。LLM :ファインチューニングされた自己ホスト型モデル、またはプロバイダーへのAPI呼び出しのいずれかです。前のステップからの関連情報とユーザー向けにカスタマイズされた他のプロンプトに基づいて応答を生成し、その応答を音声生成システムへストリーミングで返します。検証 :重要度の高い特定のフレーズ/単語については、ストリーミングで返す前に検証するとよいでしょう。
6. 音声の合成 :通常はTTS(テキスト読み上げ)モデルを使って実現され、応答テキストを音声に変換します。人間のように自然にするには、シナリオに適したトーンと感情の変化を持たせる必要があります。理想的には、レイテンシを下げるためにTTS出力をストリーミングで返すべきです。
7. アクションの実行 :話せるAIはクールですが、アクションを実行できるAIはもっとクールです。これは通常、特定のモデルのファンクションコーリング機能や構造化データ出力によって実現され、下流で必要なときに予約を取ったり、適切なときに情報を検索したりできます。
アクションを実行する際も、エージェントが引き続き応答できるようにしてください。 この具体的なユースケースの一つが、通話の転送や通話の終了です。
優れた会話型音声AIのためにRetell AIができること
今や、これがASR、LLM、TTSをつなぎ合わせるほど簡単ではないことに、ほとんどの方が同意してくださると思います。そこで、(厚かましくも)Retell AIがどのように役立つかをご紹介させてください。Retell AI と連携することで、数か月分の開発を節約し、最先端の音声体験を享受し、以下のすべてをカバーできます。
低レイテンシ :あらゆるステップで最適化を施しているため、音声部分のレイテンシは最小まで削減されています。応答生成の部分は依然としてお客様の手にあるため、そこについては私たちがほとんど制御できない点にご注意ください。私たちのデモでは、ユーザーが話し終えてからエージェントが応答するまで約800msです。割り込み処理 :ユーザーはいつでも割り込むことができ、エージェントは本物の人間のように猛烈に速くそれに反応します。音声連携 :Twilioと直接接続でき、ウェブフロントエンドのコードをオープンソース化しています。オーディオバイトの取り扱い :私たちがカバー済みで、数百時間を節約できます。音声の理解 :最小のレイテンシで音声からインサイトを掘り起こし、リアルタイムの文字起こし(その他のシグナルも近日提供予定)をお送りします。いつ話すかの判断 :独自の話者交代モデルを持っており、いつ話すかについてより良い判断ができるよう改良を続けていきます。音声合成 :さまざまなTTSプロバイダーと連携し、声優を起用して、会話に適した人間のように自然な音声を作成します。クイックデモ&ダッシュボード :2分以内にデモを構築できるようダッシュボードを設定しています。ドメイン専門知識&サポート: 音声、モデリング、エージェント作成におけるドメイン専門知識を持っています。問題が発生した際はいつでもお手伝いします。
お客様がすべきこと:音声部分は私たちが引き受けますので、コア製品をより良くするために反復を続けてください。以下がお客様に取り組んでいただく部分です。
応答生成 :ダッシュボードでのデモ作成をサポートしていますが、シナリオごとに応答生成プロセスが大きく異なることを認識しています。そのため、私たちのAPIは、シンプルなOpenAI呼び出しであれ複雑なエージェント構成であれ、お客様のカスタム応答生成ソリューションと容易に連携できます。アクションの実行 :音声エージェント がアクションを実行するには、さまざまなツール(カレンダー、CRMなど)と連携する必要があるでしょう。いつアクションを実行するか、何を実行するかを決めるのはお客様次第です。アクションを実行しながら応答を生成し続けることを忘れないでください。特定の通話ロジック :ユースケースによって通話の転送・終了の仕方は異なり、コールフロー の詳細を決めるのはお客様次第です。これはファンクションコーリングを介して設定できます。
このブログが、優れた音声エージェントの構築方法についての大まかなイメージをお伝えでき、そして(厚かましくも)Retell AIへの私の売り込みが、私たちがどのようにお役に立てるかを明らかにできれば幸いです。
それでは、楽しく構築してください!