hume-evi について
hume-evi は、Hume EVI のリアルタイム音声エージェントの設計、実装、トラブルシューティング、レビューを支援するスキルです。設定や統合、運用上の制約を扱い、オフライン専用の TTS 作業は対象外です。
主な機能
- 01リアルタイム音声エージェントの設計ガイド
- 02EVI バージョンとモデル経路の選択
- 03設定とセッション設定のガイド
- 04音声ストリーミングと対話のガイド
- 05ツール利用と機能上の制約
活用シーン
- 01Hume EVI のリアルタイム音声アプリを計画
- 02音声ストリーミングやターン交代の問題を調査
- 03設定、音声、モデル経路を選択
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ calesthio/ generative-media-skills --skill hume-eviインストール後、Claude Code で/hume-eviを入力して読み込まれたか確認します。
同梱ファイルEVAL.md
詳細
Hume EVI 本番環境ガイド
Hume Empathic Voice Interface(EVI)リアルタイム音声エージェントの設計、実装、トラブルシューティング、レビューを行うタスクでこのスキルを使用してください。オフラインのみの Hume Text-to-Speech/Octave の作業には使用しないでください。ただし、ユーザーが EVI の音声を設定する場合や、EVI と TTS を比較する場合は例外です。
Hume の EVI は、リアルタイムの音声間エージェントインターフェースです。ユーザーの音声をストリーミングし、表現力豊かな声の抑揚を測定し、言語応答を生成して、表現力豊かなアシスタントの音声を生成します。バッチ文字起こしやバッチ TTS の API ではなく、ライブ会話システムとして扱ってください。以下の記載事項は、特に情報源の日付が明記されていない限り、2026-07-10 に検証済みです。
主な公式情報源:
- Hume EVI の概要:https://dev.hume.ai/docs/speech-to-speech-evi/overview
- EVI のバージョンガイド:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/evi-version
- 設定ガイド:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/build-a-configuration
- Chat WebSocket API リファレンス:https://dev.hume.ai/reference/speech-to-speech-evi/chat
- 音声ガイド:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
- ツール使用ガイド:https://dev.hume.ai/docs/speech-to-speech-evi/features/tool-use
- プロンプトガイド:https://dev.hume.ai/docs/speech-to-speech-evi/guides/prompting
- プライバシー管理:https://dev.hume.ai/docs/resources/privacy
- 料金ページ:https://www.hume.ai/pricing
- 利用規約:https://www.hume.ai/acceptable-use-policy
機能の境界
文書で確認できる事実:
- EVI はリアルタイムの音声インタラクション向けです。Chat WebSocket は、ストリーミングされる
audio_input、session_settings、user_input、assistant_input、ツール応答の各メッセージを受け付けます。音声入力は小さなチャンクで継続的にストリーミングする必要があり、事前録音したファイル全体を一度に送信することはできません。Hume は、一般には約 20 ms、Web アプリでは 100 ms の音声バッファーを推奨しています。出典:https://dev.hume.ai/reference/speech-to-speech-evi/chat - ブラウザーやアプリへの直接統合には、通常 WebSocket を使用します。Hume の React SDK は、マイクの入力、再生、WebSocket 接続の管理を抽象化します。TypeScript SDK と Python SDK は、より低レベルの統合方法を提供します。出典:https://dev.hume.ai/docs/speech-to-speech-evi/quickstart/nextjs および https://dev.hume.ai/docs/speech-to-speech-evi/quickstart/typescript
- Python SDK は主に、Python プロセスからユーザーのオーディオデバイスにアクセスできる CLI やデスクトップアプリで使用します。ホストされた Web アプリでは、ブラウザーで音声を取得してください。サーバー側の Python からユーザーのマイクに直接アクセスすることはできず、バックエンド経由で音声をルーティングすると遅延が増加します。出典:https://dev.hume.ai/docs/speech-to-speech-evi/quickstart/python
- EVI は、Hume Voice Library の音声と、アカウント内で非公開の Custom Voices を使用できます。EVI の音声は永続的な設定で指定するか、音声 ID を使ってセッションごとに上書きできます。カスタム音声のクローン作成には、音声サンプルを使用する権利または同意が必要です。出典:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/voice および https://dev.hume.ai/docs/voice/voice-cloning
- EVI は、サポートされている補助 LLM を通じてツール/関数呼び出しに対応しますが、EVI 単独のすべてのネイティブ設定で対応しているわけではありません。Hume は、Claude、GPT、Gemini、Moonshot AI、および OpenAI の関数呼び出し規約に準拠するカスタム言語モデルでのツール使用について説明しています。出典:https://dev.hume.ai/docs/speech-to-speech-evi/features/tool-use
- 表現の測定値を取得できるのは、音声によるユーザーメッセージからです。音声韻律モデルは音声入力に依存するため、テキストのみの
user_inputからは取得できません。出典:https://dev.hume.ai/reference/speech-to-speech-evi/chat - チャット履歴と再構成された音声を取得できるのは、データ保持が有効な場合に限られます。データ保持が無効の場合、チャットの再開、チャット履歴の取得、音声の再構成には対応していません。出典:https://dev.hume.ai/docs/speech-to-speech-evi/features/resume-chats および https://dev.hume.ai/docs/speech-to-speech-evi/features/audio-reconstruction
次のような主張はしないでください:
- EVI がユーザーの内面的な感情状態を診断すると主張しないでください。Hume 自身のユースケースに関するガイダンスでは、表現ラベルは複雑な表現行動の測定値として扱うべきであり、本人の感情を直接推測するものではないとされています。出典:https://dev.hume.ai/docs/resources/use-case-guidelines
- EVI がリアルタイム会話への入力として音声ファイル全体のアップロードに対応していると主張しないでください。リアルタイム Chat エンドポイントではチャンクのストリーミングが必要です。Hume のエラー
E0723は、音声ファイル全体を送信する方法が無効な音声入力パターンであることを示します。出典:https://dev.hume.ai/docs/resources/errors - ツール使用向けに補助 LLM またはカスタム LLM を設定しなくてもツール呼び出しが機能すると主張しないでください。
- Hume に HIPAA 関連の機能があるというだけで、EVI エージェントが HIPAA に対応していると主張しないでください。Hume の利用規約では、対象事業者またはビジネスアソシエイトが PHI を提供する前に、明示的な書面による契約/BAA が必要とされています。出典:https://www.hume.ai/terms-of-use および https://dev.hume.ai/docs/resources/privacy
EVI のバージョンとモデルパスの選択
2026-07-10 時点で、Hume がサポート対象としてドキュメントに記載している EVI のバージョンは EVI 3 と EVI 4-mini です。EVI 1 と EVI 2 は 2025-08-30 にサポート終了となりました。config_id を省略した場合、Chat ではデフォルトで EVI 3 が使用されます。出典:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/evi-version
次の場合は EVI 3 を使用します。
- エージェントを Hume のネイティブな音声言語モデルを使って英語で動作させ、迅速な応答を活用したい場合。
- 外部 LLM を必要とせず、EVI のネイティブな応答生成を利用したい場合。
- 迅速で感情に応じた英語の音声エージェント動作について、ドキュメントに記載された最も幅広いサポートが必要な場合。
- 外部 LLM のコストや、サードパーティ LLM へのデータフローにアプリケーションが敏感な場合。
次の場合は EVI 4-mini を使用します。
- エージェントが、EVI 4-mini でドキュメントに記載されているいずれかの言語(英語、日本語、韓国語、スペイン語、フランス語、ポルトガル語、イタリア語、ドイツ語、ロシア語、ヒンディー語、アラビア語)をサポートする必要がある場合。
- Hume の EVI バージョン比較に記載されているとおり、EVI 4-mini には補助 LLM が必要で、クイック応答には対応していないことを許容できる場合。
- Hume が EVI 4-mini について記載しているレイテンシの改善、つまり応答ごとにモデルのレイテンシが約 100 ms 低下することを望む場合。
次の場合は補助 LLM を使用します。
- ツールの使用/関数呼び出しが必要な場合。
- ドメインで複雑な推論、長いシステムプロンプト、厳格なポリシーロジック、または LLM レイヤーに配置すべきドメイン知識が必要な場合。
- ウェブ検索、構造化された関数呼び出し、または他の場所で動作検証済みのモデル動作など、プロバイダー固有の機能が必要な場合。
次の場合はカスタム言語モデル(CLM)を使用します。
- EVI が音声を出力する前に、アシスタントのテキストを直接制御する必要がある場合。
- 規制要件またはブランド要件により、後処理、決定的なルーティング、または独自モデルの使用が必要な場合。
- 言語生成アカウント、ログ記録、またはポリシー適用を、Hume が管理する外部 LLM の使用範囲外に保つ必要がある場合。
本番環境での経験則:ツールを使うカスタマーサポートエージェントの場合、英語のみなら EVI 3 と高速な補助 LLM の組み合わせから始め、多言語サポートが必須なら EVI 4-mini と高速な補助 LLM の組み合わせから始めます。判断する前に、ユーザーが使用する対象デバイスで、実際の初回トークンまでの時間と割り込み動作を測定してください。
設定項目
永続的な EVI Config はバージョン管理され、次の項目を含めることができます。
- EVI のバージョン
- 音声
- システムプロンプト
- 言語モデル
- ユーザー定義ツールと組み込みツール
- クイック応答(EVI 3 のみ)
- ターン検出
- 割り込み感度
- イベントメッセージ
- タイムアウト
- Webhook
出典:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/build-a-configuration
Session Settings は一時的な設定で、現在の Chat にのみ適用されます。Chat の初期化時に指定するか、Chat 中に session_settings メッセージを送信して設定できます。音声、プロンプト、コンテキスト、音声形式、ツール、組み込みツール、動的変数、サードパーティ LLM API キー、カスタムセッション ID を上書きしたり、セッション固有の値として指定したりできます。出典:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/session-settings
リリース管理されたエージェントの動作には、永続的な Config を使用します。
- 安定した音声とペルソナ
- 監査済みのシステムプロンプト
- 許可されたツール
- 言語モデルの選択
- ターン交替と割り込みのポリシー
- タイムアウトのポリシー
- Webhook のサブスクリプション
通話ごとのコンテキストには、Session Settings を使用します。
- ユーザー名、ロケール、プランの階層、現在のアカウント状態
- 一時的な「ユーザーが X をクリックした直後」といったコンテキスト
- セッションごとのツールの有効化/無効化
- 選択したペルソナに対する音声の上書き
- カスタムのセッション相関 ID
- 顧客が所有する補助 LLM API キー
重要な安全要件やコンプライアンス要件を、一時的なセッションコンテキストだけに埋め込むことは避けてください。譲れないルールは Config のプロンプトに含め、ツールやバックエンドのポリシーでも適用してください。
オーディオとリアルタイム UX の要件
文書に記載された事実:
- EVI はリアルタイムで動作し、ストリーミングされます。ファイル全体ではなく、小さなオーディオチャンクを継続的に送信してください。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
- Web 連携では、マイク録音を開始する前に EVI WebSocket を開いてください。WAV や WebM などの形式には、EVI がストリームを解釈するために必要なヘッダーが含まれているためです。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
- 音声の収音では、エコーキャンセレーション、ノイズ抑制、自動ゲイン制御を有効にしてください。Hume の TypeScript ヘルパーは、Web 連携でこれらを実行します。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
- ミュート時は、何も送信しないのではなく、無音フレームを送信することを Hume は推奨しています。これにより、サービスはミュートされたアクティブなストリームと、切断されたストリームを区別できます。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
- オーディオ出力は、base64 エンコードされた WAV を含むストリーミング
audio_outputメッセージとして届きます。生成されたオーディオは、話すべき速度より速く届くことがあるため、すべてをすぐに再生するのではなく、アシスタントのオーディオセグメントをキューに入れてください。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio - 生の PCM を使う場合は、オーディオセッション設定で
linear16、サンプルレート、チャンネル数を指定してください。Hume は、サポート対象の生のエンコーディングとしてlinear16を記載しています。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio - 電話ストリームで一般的な Mu-law(
mulaw/μ-law)は、現在 EVI では直接サポートされていません。電話音声は EVI に送信する前に変換してください。出典:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
本番環境での経験則:
- オーディオキューを自前で管理する理由がない限り、Web プロトタイプと本番環境の Web アプリには React SDK を優先してください。
- 可能な限り、WebSocket、マイクの収音、再生経路はクライアント側に維持してください。セキュリティや電話連携のためにバックエンドでのプロキシが必要になる場合もありますが、遅延や障害要因が増えます。
- デバイス/ブラウザー/OS、マイク、ヘッドセット/スピーカーモード、パケットロス、バッファーサイズ、初回オーディオまでの時間、割り込み遅延、最終トランスクリプトを含む QA トレースを収集してください。
- 音響エコーキャンセレーションの不具合は、モデルの不具合ではなく、製品の不具合として扱ってください。誤ったユーザー割り込みの原因となり、韻律測定の精度を低下させる可能性があります。
ターン交代、割り込み、一時停止
EVI は割り込み(バージイン)に対応しています。アシスタントの応答中にユーザーが話すと、EVI は割り込みを検出し、現在の応答の生成とストリーミングを停止して、クライアントに user_interruption を送信します。クライアント側でもローカル再生を停止し、キューに入っているアシスタントの音声をクリアする必要があります。そうしないと、ユーザーには引き続き古い応答が聞こえてしまいます。参照元:https://dev.hume.ai/docs/speech-to-speech-evi/features/interruptibility
Hume がドキュメントで説明しているターン検出パラメーター:
end_of_turn_silence_ms:デフォルトは 800 ms、範囲は 500-3000 ms です。値を小さくすると応答は速くなりますが、話の途中で割り込む可能性が高くなります。値を大きくすると、ユーザーが間を取れるようになります。speech_detection_threshold:デフォルトは 0.5、範囲は 0.0-1.0 です。値を小さくすると小さな声も検出しますが、ノイズで誤作動する可能性があります。値を大きくすると誤作動は減りますが、小さな声を検出できないことがあります。prefix_padding_ms:デフォルトは 300 ms、範囲は 0-1000 ms です。値を大きくすると、より長い発話の冒頭音声が保持されます。
参照元:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/turn-detection
Hume がドキュメントで説明している割り込みパラメーター:
min_interruption_ms:デフォルトは 800 ms、範囲は 50-2000 ms です。値を小さくすると EVI は速やかに応答を譲ります。値を大きくすると、短い相づちやノイズによる誤割り込みを減らせます。
参照元:https://dev.hume.ai/docs/speech-to-speech-evi/configuration/interruption
EVI による応答の生成は完了しているのに、キューに入った音声の再生が続いてブラウザーでの再生中断が遅れる場合は、WebSocket で verbose_transcription=true を使用してください。Hume のドキュメントによると、中間の user_message イベントを使って再生をより早く停止できますが、文字起こしのロジックでは interim: true を無視するか、特別に処理する必要があります。参照元:https://dev.hume.ai/docs/speech-to-speech-evi/guides/audio
アシスタントの応答を保留しながらリスニングを続ける必要がある場合は、pause_assistant_message / resume_assistant_message を使用してください。一時停止中も EVI はリスニングと文字起こしを続けます。再開すると、一時停止中に受け取ったユーザー入力を考慮して応答します。参照元:https://dev.hume.ai/docs/speech-to-speech-evi/features/pause-responses
本番環境での経験則:
- インタビュー、コーチング、カウンセリングに近い内省的な会話、語学学習では、余裕を持ったターン交代(
end_of_turn_silence_msを 1500-2000 ms 程度)と、割り込みに対する高い耐性(min_interruption_msを 1000-1500 ms 程度)から始めます。 - スケジュール調整、短い質疑応答、コマンドインターフェースでは、素早いターン交代(
end_of_turn_silence_msを 500-800 ms 程度)と、割り込みを検出しやすい設定(min_interruption_msを 100-300 ms 程度)から始めます。 - 騒がしい公共の環境では、
speech_detection_thresholdを上げ、実際の背景ノイズを録音した音声でテストします。 - ログだけでなく、録音したセッションとユーザーが感じた使い心地を基に調整します。「話を遮られたと感じた」「割り込みにくかった」「こちらの話にかぶせて話された」「待ち時間が長すぎた」は、それぞれ異なる失敗の種類です。
共感的な音声エージェントへのプロンプト作成
EVI のプロンプトでは、役割、口調、話すペース、境界、エスカレーション、発話動作を定めます。Hume のプロンプトガイドによると、ネイティブの SLM はリアルタイムの会話で言語と音声の両方を生成できます。一方、複雑な推論、長いプロンプト、ツールの使用では、補助的な LLM のほうが適していることがよくあります。参照元:https://dev.hume.ai/docs/speech-to-speech-evi/guides/prompting
音声でのやり取りを想定したプロンプトを作成します。
- 短い文を使います。
- 一度に質問するのは 1 つにします。
- 長い段落よりも、会話の状態を明確に示します。
- 不確かさ、ユーザーの苦痛、割り込み、沈黙、ツールの失敗への対応方法を含めます。
- いつ話すのをやめてユーザーの返答を待つかを指定します。
- 画面を使う連携でない限り、視覚的な UI があることを前提にしないでください。
感情表現に関するポリシーを含めます。
- 「声の表現は会話上の手がかりとして使い、診断には使わないでください。」
- 「ユーザーがいら立っているように聞こえる場合は、サポートする姿勢で応答し、口頭で問題を確認してください。相手の気持ちが分かると断言してはいけません。」
- 「声から、保護対象の属性やメンタルヘルスの状態を推測してはいけません。」
プロンプトの例:
You are an AI voice assistant for Acme Support. Speak naturally, warmly, and briefly.
Conversation style:
- Keep most replies under two spoken sentences unless the user asks for detail.
- Acknowledge frustration or uncertainty without claiming to know the user's emotions.
- Ask one clarifying question at a time.
- If interrupted, stop and adapt to the user's newest request.
Safety:
- Disclose that you are an AI assistant at the start of the call.
- Do not provide legal, medical, or financial advice. Offer to connect the user to a qualified professional where appropriate.
- Before taking an account action, summarize the action and ask for confirmation.
Tools:
- Use get_order_status only after collecting an order ID.
- If a tool fails, apologize briefly, say what can still be done, and offer human handoff.
ツールとバックエンドのアクション
確認済みの事実:
- ツールは、EVI が外部 API を呼び出すために使用できるリソースです。Configs は、EVI にこれらのツールやその他の設定を提供します。出典:https://dev.hume.ai/docs/speech-to-speech-evi/features/tool-use
- Hume は、ユーザー定義ツールと組み込みツールに対応しています。ツール API リファレンスに記載されている組み込みツールには、ウェブ検索と通話終了があります。出典:https://dev.hume.ai/reference/speech-to-speech-evi/tools/create-tool
- ツールにはフォールバックコンテンツを含められます。ツールでエラーが発生した場合、LLM はこのコンテンツを使用して会話を継続します。出典:https://dev.hume.ai/reference/speech-to-speech-evi/tools/create-tool
- 関数呼び出しは、チャット履歴イベントとウェブフックを通じて確認できます。チャット履歴には
FUNCTION_CALLイベントとFUNCTION_CALL_RESPONSEイベントが含まれます。出典:https://dev.hume.ai/docs/speech-to-speech-evi/features/chat-history および https://dev.hume.ai/docs/speech-to-speech-evi/configuration/webhooks
本番環境でのツール設計:
- ツール名と説明は、文字どおりで範囲を絞ったものにしてください。音声エージェントは、誤ったアクションを実行した後に立て直せる余地がチャット UI よりも限られています。
- 副作用のあるツールには、プロンプトとバックエンドの両方で確認処理を追加してください。例:
cancel_order_pending_confirmationは、バックエンドが明示的な確認を受け取るまで注文をキャンセルしないようにします。 - 簡潔で読み上げやすいツール結果を返してください。リアルタイム音声エージェントに、生の JSON や長いポリシー文を読み上げさせないでください。
- 構造化されたエラー分類を使用してください:unavailable、unauthorized、not_found、validation_needed、unsafe_request、provider_timeout。
- 適切な場合は、監査時の照合用に
custom_session_idと内部のユーザー/セッション ID を付与してください。 - 規制対象のワークフローでは、LLM の外部でポリシーを適用してください。音声出力前にテキストを制約する必要がある場合は、カスタム言語モデルまたはバックエンドでの後処理を使用してください。
トランスクリプト、アーティファクト、可観測性
Hume のアーティファクトは意図的に使用してください:
chat_metadataはchat_idとchat_group_idを提供します。保持要件、プライバシーポリシー、製品要件で許可されている場合に限り、これらを保存してください。chat_group_idを使用すると、resumed_chat_group_idを通じて WebSocket セッション間でコンテキストを再開できます。データ保持が無効の場合、これは利用できません。- 保持が有効であれば、チャットイベントを使ってトランスクリプト、アクション、設定変更、ユーザーによる割り込み、表情予測を再構成できます。
- 保持が有効な場合、音声再構成機能によって、ユーザーとアシスタントの音声の断片をつなぎ合わせ、過去の会話を単一の音声ファイルにできます。
- ウェブフックを使用すると、チャットの開始・終了やツール呼び出しイベントをシステムに通知できます。改ざんやリプレイを防ぐため、HMAC 署名とタイムスタンプを検証してください。
本番環境のロギングチェックリスト:
- Hume の
chat_id、chat_group_id、config_id、設定バージョン、EVI バージョン - クライアントのプラットフォーム、SDK バージョン、ブラウザー/OS、音声形式、バッファー間隔
- 選択された音声 ID/プロバイダー、言語/ロケール
- ターン検出と割り込みの設定
- 使用している場合は、外部/補助 LLM のプロバイダーとモデル
- 最終結果だけでなく、ツール呼び出しの開始/終了/エラーのタイムスタンプ
- ユーザーへの開示と同意の状態
- 保持モードと、音声/トランスクリプトを保存しているかどうか
生の音声、トランスクリプト、表情予測、再構成された通話は、デフォルトでは保存しないでください。これらは機密性の高いアーティファクトです。QA/コンプライアンスに必要な最小限の情報のみを保存し、可能な限りデータをマスキングしたうえで、ユーザー向けプライバシーポリシーに準拠してください。
料金、制限、デプロイ計画
2026-07-10に確認した、変動する情報です。
- Humeの料金ページでは、音声間プランの利用対象としてEVI 3とEVI 4 miniが記載されています。
- Freeプラン:毎月5分のEVI利用時間が含まれ、同時接続数は1です。
- Starter:毎月40分のEVI利用時間が含まれ、追加のEVI 3は1分あたり$0.07と記載され、同時接続数は5です。
- Creator:毎月200分のEVI利用時間が含まれ、追加のEVI 3は1分あたり$0.07と記載され、同時接続数は5です。
- Pro:毎月1,200分のEVI利用時間が含まれ、追加のEVI 3は1分あたり$0.06と記載され、同時接続数は10です。
- Scale:毎月5,000分のEVI利用時間が含まれ、追加のEVI 3は1分あたり$0.05と記載され、同時接続数は20です。
- Business:毎月12,500分のEVI利用時間が含まれ、追加のEVI 3は1分あたり$0.04と記載され、同時接続数は30です。
- Enterprise:含まれる利用量と超過料金はカスタム設定で、同時接続数は「必要なだけ」です。
出典:https://www.hume.ai/pricing
請求に関する情報:
- Humeのサブスクリプションには、TTS、EVI、Voiceの各機能がまとめて含まれており、製品ごとの個別契約ではありません。
- 含まれる利用量を超えると、超過分が請求されます。
- EVIでHumeが管理する外部LLMを使用した場合、追加の利用料金がHumeの請求に加算されます。
- 開発者が独自のLLM APIキーまたはカスタム言語モデルを使用する場合、そのLLMの利用料金はHumeから請求されません。
出典:https://dev.hume.ai/docs/resources/billing
本番環境向けの目安:
- アシスタントの発話時間だけでなく、会話の接続時間を基にコストを見積もります。
- プランでHumeが管理する外部LLMまたは開発者所有のLLMキーを使用する場合は、外部LLMのコストを別途予算に計上します。
- リリース前に同時セッションの負荷テストを実施します。同時接続数の上限は、単なる請求上の区分ではなく、製品上の制限です。
- 同時接続数の上限に達した場合に備えて、キューへの登録、人間への引き継ぎ、折り返し連絡の予約、テキストチャットへの切り替えなど、適切に制御できる仕組みを設計します。
プライバシー、同意、安全性、および権利
文書に記載された事実:
- Hume は、チャット履歴/文字起こしや音声録音の保存を無効にするオプションとして、EVI API のゼロデータ保持を文書化しています。API の使用状況メタデータは引き続き保存されます。出典:https://dev.hume.ai/docs/resources/privacy
- Hume は、匿名化された EVI API のインタラクションデータについて、トレーニングデータへの利用をオプトアウトできることを文書化しています。出典:https://dev.hume.ai/docs/resources/privacy
- Hume は HIPAA 準拠機能があると明記し、BAA/DPA の依頼は Hume に問い合わせるよう案内しています。また、利用規約では、HIPAA の対象事業体または業務提携者について、明示的な書面による合意を求めています。出典:https://dev.hume.ai/docs/resources/privacy および https://www.hume.ai/terms-of-use
- Hume の利用規定では、許可のないなりすましや、明確かつ積極的な同意なしに他者の声を再現する音声出力を禁止しています。また、インタラクションで AI エージェントが使用されていることを開示し、重大な法的、金融的、または医療上の助言について、資格を持つ専門家による確認を求めています。出典:https://www.hume.ai/acceptable-use-policy
- Hume の利用規約では、Free プランと Starter プランの利用は非商用に限られています。Creator プラン以上は、ポリシーを遵守することを条件に商用利用できます。出典:https://www.hume.ai/terms-of-use
- Hume の Voice Cloning ドキュメントでは、必要な権利または同意を得ている音声サンプルのみをアップロードし、クローン作成時に法的な合意を確認するよう利用者に指示しています。出典:https://dev.hume.ai/docs/voice/voice-cloning
本番環境での要件:
- 通話/チャットの開始時に AI エージェントであることを開示してください。
- 法律または製品ポリシーで求められる場合、音声データの録音、保存、分析、再構成、または再利用の前に同意を得てください。
- 音声クローンについては、明示的な許可を必須とし、同意および許可された利用の証拠を保管してください。
- 機微な状況、重大な結果を伴う状況、またはユーザーが苦痛を感じている状況では、人間に引き継げる手段を用意してください。
- 推定された感情に基づいてユーザーを操ることは避けてください。表現に関するシグナルは、脆弱性を利用するためではなく、明確さやサポートの向上に活用してください。
- 音声から保護対象の属性、健康状態、または精神状態を推測しないでください。
- リリース前に、地域ごとの通話録音、生体情報、プライバシー、テレマーケティング、およびアクセシビリティに関する規則を確認してください。
本番環境での QA
優れた EVI QA 計画では、「回答できるか」だけでなく、より多くの項目をテストします。以下を含めてください。
- 会話の流れ:最初のあいさつ、開示、想定されるタスクの完了、確認、拒否、引き継ぎ、終了。
- ターン交代:話の途中での間、早口の話者、長い間、発話の重なり、相づち(「うんうん」)、アシスタントの音声中のユーザーによる割り込み。
- 音声:ノート PC のマイク、スマートフォンのマイク、イヤホン、エコーのあるスピーカー、騒がしい部屋、小さい音量、ブラウザーの権限拒否、マイクの取り外し/権限の取り消し。
- レイテンシ:ユーザーの発話終了からアシスタントの最初の音声までの時間、ツール結果の後にアシスタントが話し始めるまでの時間、割り込みから無音になるまでの時間。
- ツールの使用:成功、タイムアウト、無効な引数、安全でないアクション、未承認ユーザー、副作用の確認。
- プライバシーモード:保持のオン/オフ、トレーニングのオプトアウト、ゼロ保持時に再開できないこと、チャット履歴と音声再構築の動作。
- 安全性:AI であることの開示、感情の診断をしないこと、専門家による確認なしに重大な影響を及ぼす助言をしないこと、同意のない音声のなりすましをしないこと。
- コストと規模:利用可能な分数、超過料金、外部 LLM のコスト、同時実行数の上限、通話の受け付け動作。
- ローカライズ:EVI 4-mini を使用する場合は、すべての対象言語をネイティブスピーカーとテストし、文化固有の会話規範も確認してください。
問題はシステム上の問題として確認してください。
- EVI が早く割り込みすぎる場合は、ターン検出とクライアントの再生を調整してください。プロンプトを書き換えるだけでは解決しません。
- ユーザーが割り込めない場合は、
user_interruptionとuser_messageをローカルで処理し、音声キューをクリアしてください。 - ツールが長い音声応答を生成する場合は、ツール結果を短くし、LLM に要約を指示してください。
- 外部 LLM でレイテンシが急増する場合は、プロバイダー/モデル別に TTFT を比較し、プロンプト/ツールのオーバーヘッドを減らしてください。
- 表現シグナルが特定の集団に対して誤っているように見える場合は、デプロイ環境固有の検証データを収集し、感情ラベルに関する結論は避けてください。
例:アカウント用ツールを備えた英語サポートエージェント
この例は、ユーザーが注文状況や返品ポリシーについて質問するウェブサポートエージェントを対象としています。デプロイ対象が英語のみで、迅速かつ自然なサポート応答が求められるため EVI 3 を使用します。また、ツール呼び出しが必要なため、補助 LLM を使用します。
設定項目:
{
"evi_version": "3",
"name": "acme-support-agent",
"voice": {
"id": "VOICE_LIBRARY_OR_CUSTOM_VOICE_ID",
"provider": "HUME_AI"
},
"turn_detection": {
"end_of_turn_silence_ms": 800,
"speech_detection_threshold": 0.5,
"prefix_padding_ms": 300
},
"interruption": {
"min_interruption_ms": 250
},
"timeouts": {
"inactivity_timeout": 120,
"max_duration_timeout": 1800
}
}
システムプロンプト:
You are Acme's AI voice support assistant. At the start, say you are an AI assistant.
Speak warmly and briefly. Use one or two short sentences unless the user asks for detail.
Use vocal tone to show attentiveness, but never claim to know the user's feelings.
If the user sounds upset or frustrated, say: "I'm sorry this has been frustrating. Let's work through it."
Before using order_status, ask for the order ID if missing.
Before taking any account-changing action, summarize it and ask for confirmation.
If a tool fails, explain the problem in plain language and offer human handoff.
Do not provide legal, medical, or financial advice.
クライアント要件:
- ブラウザーでは React SDK または TypeScript SDK を使用します。
- 録音を開始する前に WebSocket を開きます。
- 100 ms の Web チャンクで
MediaRecorderを開始します。 audio_outputの再生をキューに入れます。user_interruptionまたは最終/中間のuser_messageを受け取ったら、現在の再生を停止し、キューに入っているアシスタント音声をクリアします。- キューに入った音声の再生中に割り込みが遅れて感じられる場合は、
verbose_transcription=trueを使用します。
期待される結果:
- アシスタントはすばやく話し、割り込みに対応でき、必要な場合にのみ注文用ツールを使用し、感情について根拠のない主張をしません。
よくある問題:
- 騒がしい部屋で誤って割り込みが発生する:
speech_detection_thresholdまたはmin_interruption_msを上げます。 - ツール呼び出し後の応答が遅い:ツール結果のペイロードを短くし、TTFT の低い補助 LLM を選びます。
- 割り込み後にユーザーが古い音声を聞く:クライアント側でキューをクリアする処理を修正します。サーバーはすでに生成を停止しています。
例:多言語対応の旅行コンシェルジュ
この例は、スペイン語、フランス語、ドイツ語、日本語に対応する必要があるウェブ/モバイルの旅行コンシェルジュを対象としています。対象言語が Hume の EVI 4-mini の言語リストに記載されているため EVI 4-mini を使用します。EVI 4-mini には補助 LLM が必要なため、補助 LLM も必要です。
設定項目:
{
"evi_version": "4-mini",
"name": "multilingual-travel-concierge",
"voice": {
"id": "CUSTOM_OR_LIBRARY_VOICE_ID",
"provider": "CUSTOM_VOICE"
},
"turn_detection": {
"end_of_turn_silence_ms": 1000,
"speech_detection_threshold": 0.5
},
"interruption": {
"min_interruption_ms": 400
}
}
プロンプトの一部:
You are an AI travel concierge. Begin by disclosing that you are an AI assistant.
Reply in the user's language unless they ask to switch languages.
Ask one question at a time and keep replies concise enough for speech.
Never invent booking confirmations. Use tools for availability and booking-state checks.
If the user sounds stressed, slow down and confirm the next step without claiming to know their emotion.
セッション設定の例:
{
"type": "session_settings",
"variables": {
"traveler_name": "Mina",
"preferred_currency": "EUR"
},
"context": {
"type": "persistent",
"text": "The traveler is comparing flight options for September and wants refundable fares only."
},
"custom_session_id": "user-742-session-2026-07-10"
}
期待される結果:
- アシスタントは選択された言語を維持し、簡潔な発話ターンを使用し、在庫に関する事実の確認には予約用ツールを利用します。
よくある問題:
- 外部 LLM の応答が長い:発話の長さに関する指示を厳しくし、ツール結果を要約します。
- 言語ごとに音声が合わない:対象言語ごとにプロンプトを作成してテストした音声を用意するか、選択します。
- 文化的な不一致:ローンチするすべての市場でネイティブスピーカーとテストします。
例:電話通信プロバイダーを通じた電話応対
この例では、発信者が公衆電話網を使用する電話サポートを扱います。Hume は EVI 向けの Twilio 統合をドキュメント化しており、音声ガイドでは、電話通信の mulaw 音声は EVI で直接サポートされておらず、変換が必要であると説明しています。
アーキテクチャ:
Phone caller
-> telephony media stream
-> server bridge: auth, disclosure state, audio conversion, logging policy
-> Hume EVI WebSocket
-> server bridge converts/routes assistant audio
-> caller
設計上の選択:
- 初回ターンでの AI に関する開示と無応答時の確認には、EVI のイベントメッセージを使用します。
- EVI に送信する前に、電話通信の音声をサポートされている形式に変換します。
max_duration_timeoutは、製品とプランの想定範囲内に設定します。- チャットの開始/終了やツール呼び出しの監視には Hume の Webhook を使用し、Webhook の HMAC 署名とタイムスタンプを検証します。
- 通話を録音または保持する場合は、同意に関する法律と製品のプライバシー通知に明示的に準拠させます。
期待される結果:
- 発信者には AI に関する開示が伝わり、エージェントへの割り込みが可能になり、サポートログで通話イベントを内部のケース ID と関連付けられます。
発生しやすい問題:
- 音声の歪みや再生速度の変化:サンプルレートまたはエンコーディングの不一致が原因です。
- 回線ノイズによる頻繁な割り込み:割り込み時間と音声検出しきい値を引き上げます。
- ゼロリテンション下で監査記録が見つからない:想定どおりです。保持モードを慎重に選択し、その内容を開示してください。