mcpField
E
elevenlabs-agents

elevenlabs-agents

github.com/calesthioエージェントワークフロー223103 回インストール16 週間前に更新
リポジトリ

elevenlabs-agents について

ElevenLabs Agents プラットフォームで音声・テキスト対話エージェントを構築するための本番向けガイドです。単発のテキスト読み上げではなく、エージェントの設定や運用判断を扱います。

主な機能

  1. 01会話パイプラインの設定
  2. 02音声エージェントのプロンプト指針
  3. 03LLM と音声の選定
  4. 04ターン管理と割り込み制御
  5. 05ナレッジとツールの設定

活用シーン

  1. 01電話サポートボットの計画
  2. 02Web 音声エージェントの設定
  3. 03多言語対話エージェントの調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/calesthio/generative-media-skills --skill elevenlabs-agents

インストール後、Claude Code で/elevenlabs-agentsを入力して読み込まれたか確認します。

同梱ファイルEVAL.md

詳細

ElevenLabs Agents(ElevenAgents)

ElevenLabs Agents プラットフォームで音声(およびテキスト)エージェントを構築するための本番環境向けガイダンスです。2026 年に製品名が「Conversational AI」から「ElevenLabs Agents」/「ElevenAgents」に変更されました。ドキュメントの URL には /docs/eleven-agents/... と従来の /docs/agents-platform/... の両方のパスが使われており、両者の内容はおおむね同じです。以下に記載するすべてのモデル ID、価格、上限、エンドポイントは変更される可能性があります。これらは 2026-07-10 に elevenlabs.io/docs で確認したものです。ElevenLabs は LLM を頻繁に追加し、プランを改定するため、ユーザーに伝える前に必ず再確認してください。

このスキルを使う場面

ElevenLabs Agents のランタイムによって動作する双方向の音声(またはテキスト)会話を扱う場合に、このスキルを使います。電話ボット、ウェブサイトの音声ウィジェット、アプリ内音声アシスタント、WhatsApp/チャットエージェント、発信通話キャンペーン、カスタム SDK 統合などが該当します。エージェントの頭脳(プロンプト、LLM、ツール、ナレッジ)、音声、チャネル、評価の設定にも適用されます。

ワンショットのテキスト読み上げ、オーディオブックのナレーション、吹き替え、効果音、音楽には使用しないでください。これらは独自の API を持つ別の ElevenLabs 製品です。ユーザーがテキストから .mp3 を作ることだけを希望している場合は、エージェントではなく TTS API が必要です。

設定するパイプライン

[Documented] ElevenAgents の会話は、4 つのコンポーネントを組み合わせて進行するループです(elevenlabs.io/docs/eleven-agents/overview、2026-07-10 確認済み)。

  1. 音声テキスト変換(ASR) — 発話音声をテキストに変換する、ファインチューニング済みの認識モデルです。ElevenLabs のカスタム ASR は 100 ミリ秒未満とされています。汎用的な Whisper のデプロイでは約 300 ミリ秒以上です。
  2. ターンテイキング/割り込みモデル — Voice Activity Detector(VAD)の上に重ねられた独自モデルです。ユーザーが実際に発話を終えたのか(文の途中の一時停止ではないのか)、また、割り込みがあったときにエージェントの発話を停止するべきかを判断します。
  3. LLM — 推論を担う頭脳です。ホスト型モデル(Google/OpenAI/Anthropic/ElevenLabs がホストするオープンウェイト)から選ぶか、カスタムエンドポイントを用意します。
  4. テキスト読み上げ(TTS) — 低レイテンシの音声モデルが返答を音声に変換します。70 以上の言語に対応する 5,000 以上の音声から選択できます(エージェントの音声選択画面で利用できるのは約 31 言語、Flash/Turbo TTS モデルでは約 32 言語です)。

各段階を選択して調整し、ループ全体が人間らしく感じられるようにするのが役割です。[Heuristic] どの段階でもレイテンシと品質はトレードオフの関係にあります。個々のコンポーネントだけでなく、ループ全体を最適化してください。

レイテンシー:体感を左右する予算

[Documented] ElevenLabsは、ElevenAgents 2.0スタックの初回応答レイテンシーが500ms未満であると公表しています(elevenlabs.ioブログ、2026年)。ElevenLabs独自のレイテンシーに関する記事に基づく、ステージごとのおおよその寄与は以下のとおりです(elevenlabs.io/blog/how-do-you-optimize-latency-for-conversational-ai、2026-07-10に確認済み)。

ステージ一般的な寄与
ASR(ElevenLabs独自)100 ms未満
ターンテイキング/VADによる無音検出調整可能。ターン終了までの待ち時間が発生
LLMの初回トークンGemini Flashは350 ms未満、GPT-4クラス/Claude Sonnetは700~1000 ms
TTS(Flash v2.5)モデル処理時間は約75 ms、エンドツーエンドで約135 ms
ネットワーク(同一リージョン)200 ms以上
テレフォニー(グローバル)500 ms以上

[Independent benchmark, disclosed method] サードパーティのモニタリング(Cekura、Deepgram、2026年)では、ElevenLabsは最速クラスのオーケストレーターとして報告されており、ターンの中央値は約1.7秒ですが、長いテールがあります(P95は約3.2秒)。主な要因はLLMの変動性とテレフォニーです。500ms未満という数値は、ElevenLabsが制御するステージでの最良ケースとして捉え、電話でのエンドツーエンドの体験と混同しないでください。

[Heuristic] 実用的なレイテンシー改善策を、効果の大きい順に示します。

  • 高速なLLMを選びます。最も大きく、変動しやすいのはLLMの初回トークンです。FlashクラスまたはHaikuクラスのモデルを使えば、最先端モデルより400~700ms短縮できます。
  • 特別な品質上の理由がない限り、音声にはeleven_flash_v2_5を使います。
  • システムプロンプトとターンごとのコンテキストを簡潔に保ちます。長いプロンプトは初回トークンの時間を増加させます。
  • 処理場所を集約します。発信者に最も近いリージョンを選びます。グローバル通話ではテレフォニーの中継が大きな要因になります。
  • ツール呼び出しやDB検索など、避けられない待ち時間は、「確認しますね……」のような短い音声でつなぎ、無音が約1秒を超えないようにします。

エージェントの設定

音声での会話向けシステムプロンプト

[Heuristic] 音声エージェント向けのプロンプトは、チャットボット向けのプロンプトとは異なります。音声出力はスクロールバックなしで一度だけ順番に聞かれるため、次の点に注意します。

  • 簡潔さを徹底します。 1ターンにつき1つの要点、約1~3文になるよう指示します。長い段落は聞き取りにくく、TTSのレイテンシーとコストも増加します。
  • 画面表示向けの書式を禁止します。 Markdown、箇条書き、表、絵文字、URLを読み上げないようにします。「アスタリスク、アスタリスク」のように文字どおり読み上げられてしまうためです。明瞭さが重要な場合は、数字を綴って読むよう指示します(「one-eight-hundred」など)。
  • ペルソナと対応範囲を定めます。 役割、口調、できることとできないことを指定し、「わからない場合や対応範囲外の場合は、その旨を伝えて転送を提案する」という明示的な条件を加えます。
  • 想定される状況への対応を定めます。 最初のメッセージ、割り込み、無音、話題から外れた依頼、敵対的な発信者への対応を決めます。
  • ツールを使う条件を文章で明示します。 各ツールをいつ呼び出すかを記載します。LLMはプロンプトとツールの説明をもとに、ツールを使うかどうかを判断するためです。

[Documented] ダッシュボードでは、設定がFirst message(動的変数に対応する冒頭のセリフ)とSystem promptに分かれています。最近追加されたプラットフォームのフィールドtrust_contextは、エージェントの設定をlow(信頼できない外部の発信者に対応する場合。ツールへのアクセスを制限)またはhigh(所有者に対応する場合。適切であればすべてのツールへのアクセスを許可)として示します(変更履歴、2026年、2026-07-10に確認済み)。

LLM の選択

[ドキュメントに記載、変動あり — 2026-07-10 に確認] ElevenAgents は、頻繁に更新される多数のモデルに対応しています。

  • OpenAI:GPT-5.5、GPT-5.4(+ Mini/Nano)、GPT-5.2、GPT-5.1、GPT-5(+ Mini/Nano)、GPT-4.1(+ Mini/Nano)、GPT-4o、GPT-4o Mini。
  • Google:Gemini 3.5 Flash、3.1 Pro/Flash-Lite(プレビュー)、3 Pro/Flash(プレビュー)、2.5 Flash、2.5 Flash-Lite。
  • Anthropic:Claude Opus 4.7、Sonnet 4.6 / 4.5 / 4、Haiku 4.5。
  • ElevenLabs がホストするオープンウェイトモデル:Qwen3.6-35B-A3B、Qwen3.5-397B-A17B。
  • カスタム LLM:認証情報を保存して、OpenAI 互換エンドポイントを独自に用意できます。

正確なリストはほぼ毎月変わります。記憶しているモデル一覧を信頼せず、常に最新の Models ページを確認してください。

[ヒューリスティック] 用途に合わせて選びます。

  • レイテンシ優先のシンプルなフロー(FAQ、ルーティング、簡単な情報提供):Flash / Flash-Lite / Haiku / Mini クラスのモデル。初回トークンまでの時間が最短です。
  • ツールの多用や高度な推論を伴うフロー(複数ステップ、曖昧さの解消、誤作動を避ける必要がある関数呼び出し):より高性能なモデルを選びます。ElevenLabs のツール使用ガイダンスでは、より高性能な Gemini Flash、GPT-5 クラス、または Claude Sonnet 4.x クラスを推奨し、信頼性の高いツール呼び出しには最も性能の低い Flash モデルを使わないよう、特に注意を促しています。
  • データレジデンシーに制約がある場合(EU):一部の旧世代の Gemini / Claude モデルは EU データレジデンシーでは利用できません。OpenAI とカスタムエンドポイントは引き続き利用できます。モデルごとに確認してください。

[ドキュメントに記載] LLM のカスケード/フォールバック:プライマリモデルでエラーやタイムアウトが発生した場合、ElevenAgents はバックアップの順序に従ってフォールバックし、単一プロバイダーの障害から会話を保護できます。ドキュメントに記載されているデフォルトのカスケード(2026-07-10 のドキュメント検索で確認)では、Gemini 2.5 Flash → Gemini 2.0 Flash → Claude 3.7 Sonnet → Claude 3.5 Sonnet v2 の順に実行されます。[ヒューリスティック] 本番環境ではカスケードを有効にしたままにし、フォールバックによって通話が台無しにならないよう、チェーン内のすべてのモデルが十分に高速であることを確認してください。

音声と TTS モデル

[ドキュメントに記載、2026-07-10 に確認] エージェント向け TTS モデルのトレードオフ:

モデル IDレイテンシ言語数最適な用途
eleven_flash_v2_5約 75 ms約 32リアルタイムエージェントのデフォルト。 速度と品質のバランスが最も優れ、コストを約 50%削減できます。
eleven_flash_v2約 75 ms英語のみ英語のみの用途で、コストを重視する場合。
eleven_multilingual_v2高め29自然さや感情表現を最優先する場合、長尺コンテンツ、品質をレイテンシより重視する場合。
eleven_v3高め70 以上最も表現力豊かでドラマチックな音声。キャラクターの演技向け。一般に、低レイテンシのリアルタイム用途には適しません。
eleven_turbo_v2_5中程度約 32エージェント向けには非推奨。Flash v2.5 に置き換えられています。

[ヒューリスティック] デフォルトでは eleven_flash_v2_5 を選びます。ブランドが最大限の温かみや表現力を求め、追加のレイテンシを許容できる場合に限り、eleven_multilingual_v2 に切り替えます。高品質な音声、モデル、LLM を組み合わせると、ターンの応答が目に見えて遅くなることがあります。ダッシュボードでも、この点について警告しています。

[ドキュメントに記載] エージェントで重要な音声設定は、安定性(低いほど感情の幅や変化が大きく、高いほど平坦で一貫した音声になります)、類似性ブースト(元の音声への忠実度)、スピーカーブースト(わずかなレイテンシ増加と引き換えに類似性を高めます)です。TTS の出力形式は mp3、pcm、ulaw を指定できます。電話では通常 ulaw 8kHz が必要です。SIP のメディアは G711 8kHz または G722 16kHz で動作します。

[ヒューリスティック] 発信者の層に合わせて、標準のアクセントや言語が一致する音声を選び、安定性は中程度に保ちます(安定性が非常に低いと、ターンごとに耳障りな変化が生じることがあります)。実際に使うスクリプトで音声をテストしてください。サンプルテキストでは魅力的に聞こえても、専門用語、電話番号、固有名詞でつまずく音声もあります。

言語と多言語対応

[Documented] エージェントは特定の言語に固定して実行することも、言語を検出して切り替えることもできます。TTSは全体で70以上の言語に対応しており、Flash v2.5は約32言語、Multilingual v2は29言語に対応しています。[Heuristic] 多言語エージェントでは、対象言語が次の3つすべての段階でサポートされていることを確認してください。ASRの認識品質、LLMの流暢さ、選択したTTSモデルの対応範囲です。ある言語でクローンした音声は、別の言語を話すときにアクセントが出る場合があります。実際に聴いて確認してください。

ターン交代と割り込み

[Documented] ElevenAgents 2.0は、ハイブリッド型のターン交代モデルを採用しています。VADに加え、フィラーワード、韻律、リズム、微細な間などのディープラーニングによるシグナルを使って、ターンの終了を判断し、バージインに対応します。設定可能な項目には、ターンの積極性(Eager/Normal/Patient)と、1〜30秒のターンタイムアウトが含まれます(2026-07-10に確認)。

[Heuristic]

  • Eagerは応答の遅延を減らしますが、ゆっくり話す人や、考えながら話す人の発話を遮るリスクがあります。テンポの速いトランザクション型のフローに適しています。
  • Patientは相手の発話を遮りにくく、サポート、高齢の発信者、騒がしい回線に適していますが、体感上の無音時間は長くなります。
  • 背景ノイズ(空調、会話の重なり、コールセンターの環境音)によってVADが反応し、エージェントが文の途中で遮られることがあります。[Community/independent, disclosed] ElevenLabsは誤割り込みの適合率/再現率の指標を公開していないため、静かなオフィスのマイクではなく、実際の電話音声でバージインの動作を検証してください。
  • background_sound(環境音)オプションがあり、agent_response_completeクライアントイベントは、ターンの配信が完全に完了したときに1回発火するようになりました。ターン終了時のUI制御、ウェイクワードのゲーティング、メッセージのバッチ処理に役立ちます(2026年の変更履歴)。

ナレッジベースとRAG

[Documented, verified 2026-07-10] エージェントにドキュメントを接続して、根拠となる知識として利用できます。

  • ソース:ファイルのアップロード(PDF、TXT、DOCX、HTML、EPUB。1ファイルあたり最大21MB)、URLのインポート(単一ページのみ。リンク先のページはクロールされません)、またはテキストの貼り付け。
  • アカウントの上限:エンタープライズ以外は合計20MB/30万文字までです。エンタープライズでは、営業担当を通じて上限を拡張できます。
  • 設定:ドキュメントはconversation_config.agent.prompt.knowledge_baseに保存され、それぞれtype、name、idと、任意のusage_modeを持ちます。RAGを有効にすると、すべての情報をコンテキストに詰め込むのではなく、関連するチャンクをエージェントが取得できます。
  • ElevenLabsは、埋め込みモデル、チャンクサイズ、検索の内部仕様を公開していません。

[Heuristic] 大規模なマニュアルは、内容を絞ったドキュメントに分割し、最新の状態に保ってください。また、ナレッジベースで回答できなかった質問をトランスクリプトから探してください。ナレッジベースには安定した参考情報を入れ、ユーザーごとに異なる情報(アカウント残高、注文状況)は動的変数かサーバーツールに入れてください。顧客のデータをナレッジベースに埋め込まないでください。

ツールと関数呼び出し

[Documented] ツールは次の3種類です。

  • サーバー/Webhookツール — エージェントがHTTP呼び出しを行い、リアルタイムデータ(DBの検索、注文状況)を取得したり、認証が必要なアクション(予約、返金)を実行したりします。シークレットはすべてサーバー側に保管されます。
  • クライアントツール — 発信者のアプリ/ブラウザーでJavaScriptを実行します。モーダルを開く、画面を移動する、UIを更新する、ローカルの状態を読み取るなどが可能です。type: "client"、name、description、parameters、および**expects_response/「Wait for response」**を設定します。これを有効にすると、エージェントは一時停止し、処理を続ける前に返されたデータを会話に追加します。
  • システムツール — 通話の終了、別のエージェントへの転送、人または電話番号への転送、ターンのスキップ、言語の検出などの組み込みアクションです。(システムツールでは動的変数を更新できません。)

[Heuristic] ツールの信頼性はLLMに大きく左右されます。モデルが引数を正しく抽出できるよう、各ツールには簡潔な説明を、各パラメーターには明確なdescriptionとvalue_typeを設定してください。誤ったツール呼び出しの影響が大きいフロー(支払い、キャンセル)では、より高性能なLLMを使い、ツール呼び出しのテスト(下記)を追加してください。可能な限りツールはべき等に設計し、音声のフィラーで遅延を感じさせないようにしてください。

パーソナライズ:動的変数とオーバーライド

[ドキュメントに記載、2026-07-10に検証済み]

  • 動的変数は、実行時の値({{user_name}}、{{account_tier}})をプロンプト、最初のメッセージ、ツールに挿入します。会話ごとのパーソナライズには、こちらを推奨します。conversation_initiation_client_data.dynamic_variables を通じて渡します。system__caller_id、system__called_number、system__call_duration_secs、system__agent_id などのシステム変数は自動的に利用できますが、クライアントのペイロードから設定またはオーバーライドすることはできません。
  • オーバーライドは、会話開始時にシステムプロンプト、最初のメッセージ、その他の設定を丸ごと置き換えます。引き続きサポートされていますが、保守性の観点から動的変数よりも推奨されません。
  • Twilio のパーソナライズ:着信時に ElevenLabs が通話情報を含む Webhook をエンドポイントに送信します。会話開始データ(動的変数とオーバーライド)を返すことで、その通話に合わせて調整できます。

マルチエージェントのワークフローと転送

[ドキュメントに記載] Agent Workflows は、会話を専門のサブエージェントに振り分ける分岐型会話グラフのビジュアルエディターです。各サブエージェントは独自のプロンプト、ツール、スコープを限定したナレッジベースを持ち、人間に引き継ぐこともできます。引き継ぎの方法は2つあります。

  • エージェント間の転送(システムツール):親エージェントは、説明された条件(「ユーザーが請求について尋ねる」など)が満たされたとき、進行中の会話を子エージェントに引き継ぎます。完全なトランスクリプトが保持され、transfer_to_agent の呼び出しは子エージェントに表示される履歴から除外されるため、会話は途切れずに続きます。任意で遅延を設定でき、音声による転送メッセージも指定できます(空欄の場合は無音です)。
  • 人または電話番号への転送:電話システムを通じて担当者に接続します。発信者との通話を会議に引き継ぐウォーム転送にも対応しています。

[経験則] 巨大なプロンプトを1つ作るより、単一の目的を持つ小規模なサブエージェントを複数用意することを推奨します。各エージェントのプロンプトが短くなり(レイテンシが低くなり、守るべき指示も減ります)、テストも容易になります。人への転送は、本当にエスカレーションが必要な場合に限り、行き詰まった発信者が身動きできなくならないよう、必ず明示的な代替手段をエージェントに用意してください。

チャネルと SDK

[ドキュメントに記載、2026-07-10に検証済み]

  • SDK:React(@elevenlabs/react)、JavaScript/Web(@elevenlabs/client)、Swift(iOS)、Kotlin(Android)、React Native に加え、Python/TypeScript のサーバー SDK があります。CLI(@elevenlabs/cli)を使用すると、エージェントをコードとして管理できます。
  • トランスポート:音声会話では WebRTC がデフォルトで、テキストのみの会話では WebSocket がデフォルトです。 React の startSession は signedUrl、conversationToken、または agentId を受け取り、モードからトランスポートを判別します。
  • ウィジェット:エージェント ID にひも付けられた、埋め込み可能な HTML スニペットです。コードを書かずに Web サイトへ導入できます。
  • テレフォニー:ネイティブの Twilio 統合(着信・発信の両方に対応し、インフラの変更は不要)と、ほとんどのプロバイダー(Twilio、Vonage、Telnyx、Plivo、Bandwidth、Sinch、Infobip、RingCentral、Exotel、およびその他の標準準拠トランク)と互換性のある SIP トランキングに対応しています。SIP はダイジェスト認証または ACL/IP 認証、TLS シグナリング、SRTP メディアに対応し、コーデックは G711 8kHz または G722 16kHz です。キャンペーン向けの一括発信も利用できます。
認証(API キーを漏らさないでください)

[ドキュメントに記載] ElevenLabs の API キーをクライアントコードに含めないでください。認証が必要なエージェントの場合:

  • WebSocket → 自分のサーバーから REST API を呼び出して署名付き URL(有効期限は約15分)を発行し、クライアントはその URL で接続します。
  • WebRTC → 自分のサーバーから会話トークンを発行し、クライアントはそのトークンで接続します。

[経験則] 本番環境では必ず認証が必要なエージェントとして実行し、誰でもエージェント ID を使って利用時間を積み上げられないようにしてください。また、トークンまたは署名付き URL を発行するエンドポイントは、必ず独自の認証で保護してください。公開のデモなど、誰でも使えるエージェントに限り、認証なしでも問題ありません。

テスト、シミュレーション、評価

[Documented, verified 2026-07-10] ElevenAgents には組み込みのテストフレームワークがあり、ダッシュボードの Tests タブ、CLI(elevenlabs agents test <agent_id>)、または SDK(repeat_count を指定した run_tests / runTests。確率的な実行に使用)から実行できます。

  • シナリオ/LLM 評価テスト — シミュレートされたユーザーが会話を進め、LLM が、記述した成功基準に照らしてエージェントを採点します(トーンに関する期待に加え、成功例と失敗例の両方を含めてください)。
  • ツール呼び出しテスト — エージェントが適切な引数で適切なツールを呼び出すことを、完全一致、正規表現(例:^ORD-[0-9]{8}$)、または LLM による意味チェックで検証します。
  • シミュレーションテスト — 複数ターンにわたるシミュレーションの全体または一部(部分シミュレーションは会話の途中から始まり、サブフローを単体テストします)を、ツールのモックとカスタム評価を使って実施し、定義した結果の記述に照らして採点します。
  • 確率的テスト — テストを N 回実行します。バッジは合格率に応じて緑(100%)、黄(≥80%)、赤(<80%)で表示され、失敗は理由別にグループ化されます。LLM の出力は確率的であるため、1 回だけ実行して「一度うまくいった」ことは合格を意味しません。
  • 会話からテストを作成 — 実際に失敗した呼び出しを、ワンクリックで回帰テストに変換できます。

[Documented] 会話後の 評価基準(成功判定のルーブリック)と データ収集(構造化抽出)は、シミュレーションと同じ基準を使ってライブ会話上で自動的に実行され、分析に利用されます。

[Heuristic] 正常系、各ツール、各転送条件、敵対的な入力/話題から外れた入力/無言のケースを網羅するテストスイートを構築し、プロンプトやモデルを変更するたびに実行してください。プロンプトやモデルの入れ替えによって、「当然うまくいった」はずの動作が頻繁に退行します。

分析

[Documented] このプラットフォームでは、大規模運用の監視に向けて、会話検索、文字起こし、成功評価の結果、抽出されたデータ収集フィールド、A/B テスト、パフォーマンス指標を利用できます。[Heuristic] レイテンシの中央値とテールレイテンシ、中断/割り込み率、ツールのエラー率、人間への転送率、成功基準の合格率を確認してください。テールレイテンシと転送率には、平均値では見えない本番環境の問題が現れます。

料金、同時実行数、バースト

[Documented, volatile — verified 2026-07-10] ElevenAgents の料金は **通話時間(分)**に基づき、共有 TTS クレジットプールとは別に請求されます。LLM と電話サービスの料金も、使用量に応じて別途かかります。代表的なセルフサービスプラン(含まれる通話時間/同時通話数)は次のとおりです。

プラン含まれる通話時間(分)同時通話数
Free154
Starter756
Creator27510
Pro1,23820
Scale3,73830
Business12,37540

超過料金は標準で約 $0.08/分、バーストで $0.16/分です。テキストメッセージは約 $0.003/通です。有効にすると、バースト料金では同時実行数の上限を最大約 3 倍まで超えることができ、その場合は料金が 2 倍になります。作成できるエージェント数に上限はありません。制約となるのは 同時通話数です。

[Heuristic] 大規模運用で問題になるのは通話時間ではなく同時実行数です。着信が一度に集中すると上限にすぐ達し、追加の発信者は拒否されるか、バースト料金が適用されます。実際のコールセンター規模(数百件の同時通話)には、エンタープライズ向けの同時実行数の契約が必要です。セルフサービスプランでキャンペーンによる大量の着信に対応できると想定しないでください。月額請求には総通話時間、繁忙時間帯のピークには同時通話数という、両方の要素を見積もってください。

安全性、同意、開示 — 実在する人に話しかける合成音声

これは単なる配慮ではなく、法律および倫理に関わる領域です。[文書化済み/規制]

  • AI の開示:通話相手に、AI と話していることを開示してください。EU AI 法(合成音声/ディープフェイク音声の透明性に関する第 52 条)および同様に制定が進む規則では、人とやり取りする人工生成音声について開示が求められます。[ヒューリスティック] 開示は後から伝えるのではなく、最初のメッセージに含めてください(「こんにちは。…の AI アシスタントです」)。
  • TCPA(米国):ElevenLabs の合成音声は「人工音声または録音音声」に該当します。マーケティング目的の通話には事前の明示的な書面による同意が必要です。情報提供目的の通話には事前の明示的な同意が必要です。通話は、相手の現地時間で午前 8 時から午後 9 時までに限ってください。National DNC Registry および社内の DNC リストと照合し、オプトアウトには速やかに(10 営業日以内に)対応し、自動オプトアウト手段を提供してください。同意を購入条件にしてはなりません。多くの米国の州では、さらに厳しい規則が適用されます。法律の専門家に相談してください。
  • GDPR/生体認証:GDPR では、音声は一般に生体データに該当します。その処理には通常、第 9 条に基づく適法な根拠(通常は明示的な同意)に加えて、DPIA(第 35 条)が必要です。EU での処理や生体データの処理には、エンタープライズティアを利用し、署名済みの DPA を締結してください。
  • 音声クローニングへの同意:エージェントがクローニングした音声を使用する場合、音声の権利者から、AI/合成音声モデルの作成と生成音声を対象とした、文書化された明示的な書面による同意を得る必要があります。クローニングには、標準の TTS とは別に、固有のコンプライアンス上の要件があります。
  • 禁止される用途:なりすまし、不正行為、音声認証の回避、無許可のロボコール、嫌がらせ、有権者の投票抑制など。こうした用途を構築してはなりません。

[ヒューリスティック] コンプライアンスを設定に組み込んでください。最初のメッセージでの開示、人間の担当者につなぐ簡単な方法、必要な場合の録音/同意に関する通知、発信時のタイムゾーンを考慮したスケジュール設定、発信前の DNC 確認を含めます。「ユーザーはボットと話すことに問題がないか、通話に同意したか」を後回しにせず、設計要件として扱ってください。

よくある失敗パターン

[ヒューリスティック、文書化された動作に基づく]

  • 書式をそのまま読み上げる — 出力に Markdown/絵文字/URL が含まれています。対策:プロンプトでこれらを禁止し、自然な話し言葉と、数字を綴って読むよう指示します。
  • 話が長くなる — 簡潔さの制約がありません。対策:プロンプトで、1 ターンを 1~3 文に制限します。
  • ノイズで発話が途中で切れる — VAD が誤検知しています。対策:余裕を持ったターン交代を設定し、実際の電話音声でテストして、タイムアウトを調整します。
  • 応答が遅い — 高性能な LLM と高品質な音声を組み合わせています。対策:Flash ティアの LLM と eleven_flash_v2_5 を使い、プロンプトを簡潔にし、ツールの処理待ち中に読み上げるつなぎの言葉を追加します。
  • ツールが誤作動する、または呼び出されない — LLM の性能が不足しているか、ツールの説明が曖昧です。対策:ツールを多用するフローには、より高性能な LLM を使い、説明やパラメーターを明確にし、ツール呼び出しのテストを追加します。
  • API キーの漏えい/未認証のエージェント — クライアントコードにキーが含まれています。対策:サーバー側で署名付き URL/会話トークンを発行し、本番環境ではエージェントを認証します。
  • ローンチ時に同時接続数の上限に達する — セルフサービスの同時接続数ではピーク時に不足します。対策:繁忙時間帯の同時通話数に合わせてプランを選び、バーストを有効にするか、エンタープライズプランに移行します。
  • AI の開示なし/同意なし — 規制上のリスクが生じます。対策:最初のメッセージで開示し、導入前に TCPA/GDPR に基づく同意を取得します。

完全な例(ラベル付きの例であり、必須のひな形ではありません)

目的:中規模の EC ブランド向けの、認証済みで低遅延のサポートエージェントです。電話への切り替えにも対応したウェブサイトの音声ウィジェットとして導入し、注文状況の確認と担当者へのエスカレーションを行います。

  • 信頼コンテキスト:low(外部からの発信者)。
  • LLM:注文状況の確認に十分なツール信頼性を備えた、高速な Flash/Sonnet クラスのモデル。LLM のカスケードは有効のままにします。
  • TTS:eleven_flash_v2_5。安定性は中程度とし、顧客層のアクセントに合わせたブランドボイスにします。
  • 最初のメッセージ(AI であることの開示も兼ねます):"こんにちは。Northwind Support の AI アシスタントです。注文を確認するか、担当者におつなぎできます。どのようなご用件でしょうか?"
  • システムプロンプト(要点):役割は注文状況のサポートです。返答は音声で 1~2 文に収めます。URL、Markdown、絵文字は読み上げません。注文番号と追跡コードは数字や文字を一つずつ読み上げます。注文が見つからない場合、または対象範囲外の依頼(返金、苦情)の場合は、簡潔にお詫びして担当者に転送します。ユーザーが注文に言及したら、必ず get_order_status を呼び出します。
  • ツール:サーバーツール get_order_status(order_id) → 自社のバックエンド。エスカレーションにはシステムツール transfer_to_number を使用します。order_id パラメーターには、明確な説明と正規表現で検証できる形式を指定します。
  • パーソナライズ:セッション開始時に {{customer_first_name}} と {{account_tier}} を動的変数として挿入します。電話では system__caller_id を使って、事前にアカウントを検索します。
  • ナレッジベース:一般的な質問向けに、配送ポリシーと返品ポリシーのドキュメントを、内容を絞ったファイルとして登録します(RAG は有効)。顧客ごとのデータは含めません。
  • ターンテイキング:通常の応答性で、タイムアウトは約 7 秒です。録音した電話音声で、割り込みへの対応をテストします。
  • チャネル:サーバーで発行した会話トークンを使い、WebRTC 経由の React SDK ウィジェットを利用します。着信電話には Twilio 番号を使い、パーソナライズ用の Webhook を設定します。
  • テスト:成功例と失敗例を含む「注文はどこですか」という問い合わせへの共感的な対応を検証するシナリオテスト、正規表現で検証できる order_id を指定して get_order_status が呼び出されることを確認するツール呼び出しテスト、エスカレーション分岐の部分シミュレーションを実施します。それぞれ repeat_count ≥ 5 で実行します。
  • 期待される結果:キャッシュ済み情報には体感 1 秒未満で返答し、get_order_status の実行中は音声でつなぎの言葉を話し、対象範囲外の問い合わせは滞りなく担当者に引き継ぎます。
  • 起こりやすい失敗モード:入力が曖昧なときに注文検索ツールが誤動作します(より高性能な LLM の採用と、パラメーター説明の明確化で軽減します)。発信者の周囲の騒音でエージェントの発話が遮られます(ターンテイキングの調整で軽減します)。ローンチ当日に同時接続数が急増します(プランの規模を調整するか、バーストを有効にします)。
  • バリエーション:ウィジェットを SIP トランク経由の電話のみの構成に切り替えます。請求担当のサブエージェントを追加して、Agent Workflows 経由でルーティングします。発信リマインダーをバッチキャンペーンとして実行します。この場合、TCPA に基づく同意取得と発信可能時間帯の義務が全面的に適用されます。

主な情報源(2026-07-10確認済み)

コメント