パーソナライズ

動的変数とオーバーライドを使用して、エージェントの動作をパーソナライズする方法を学びましょう。

概要

パーソナライゼーションを使用すると、個々のユーザーに合わせてエージェントの動作を調整でき、より自然で文脈に沿った会話が可能になります。ElevenLabsでは、複数のパーソナライゼーション方法を提供しています。

  1. 動的変数 - 実行時の値をプロンプトやメッセージに挿入
  2. オーバーライド - システムプロンプトやメッセージを完全に置き換え
  3. 会話開始Webhook - 会話開始時にサーバーからデータを取得

パーソナライゼーション方法

会話開始クライアントデータの構造

conversation_initiation_client_dataオブジェクトは、会話開始時にカスタマイズできる内容を定義します。クライアントから直接送信することもできます。会話開始Webhookも同じオブジェクトを返します。

{
"type": "conversation_initiation_client_data",
"conversation_config_override": {
"agent": {
"prompt": {
"prompt": "overriding system prompt",
"llm": "gpt-5.6-luna"
},
"first_message": "overriding first message",
"language": "en"
},
"tts": {
"voice_id": "voice-id-here"
},
"conversation": {
"text_only": false
},
"asr": {
"keywords": ["Acme Corp", "Contoso"]
}
},
"custom_llm_extra_body": {
"temperature": 0.7,
"max_tokens": 100
},
"dynamic_variables": {
"string_var": "text value",
"number_var": 1.2,
"integer_var": 123,
"boolean_var": true
},
"user_id": "your_custom_user_id",
"branch_id": "agtbrch_xxxx",
"environment": "production"
}

システム動的変数(system__で始まるもの)は、クライアント開始ペイロードで送信または オーバーライドできません。dynamic_variablesフィールドで設定できるのは、カスタム動的変数 のみです。

会話開始Webhook

着信電話およびメッセージングでは、ElevenAgentsはクライアントではなくサーバーからこの開始データを取得できます。Webhookを有効にすると、ElevenAgentsはPOSTリクエストを送信し、返されたJSONを適用します。

WebhookのURLとヘッダーシークレットは、Agents設定で設定します。エージェントのSecurityタブで、Webhookから開始クライアントデータを取得と、レスポンスに含める可能性のあるオーバーライド項目を有効にします。

このWebhookは、Twilio音声、Exotel、SIPトランク、WhatsApp、Twilio SMSの新規着信会話で、開始クライアントデータがまだ存在しない場合に実行されます。

発信Twilio音声、Exotel、SIP、WhatsApp通話では、発信リクエストにconversation_initiation_client_dataが含まれていない場合にのみ実行されます。発信WhatsAppメッセージでは実行されません。代わりに、発信リクエストで動的変数を渡してください。

ウィジェットまたはSDKの会話、その他のメッセージングインテグレーション、再開されたWhatsAppおよびSMSスレッドでは実行されません。

エージェント設定ページから開始したプレビュー会話では、会話開始Webhookは実行されません。 プレビューでテストする場合は、エージェントエディターの動的変数プレースホルダーを使用してください。 これらのプレースホルダーは、本番の着信会話では使用されません。

ElevenAgentsは、リクエスト本文で発信者コンテキストを送信します。

{
"caller_id": "+15551234567",
"called_number": "+15557654321",
"agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"conversation_id": "conv_8901k5zvyjhmfg983brhmhkd98n6"
}

caller_idとcalled_numberは、Twilio、Exotel、SIP、SMSでは電話番号です。着信WhatsAppでは、WhatsAppユーザーIDとWhatsApp電話番号IDです。発信通話では、caller_idは自分の番号、called_numberは発信先の相手です。call_sidは電話ではプロバイダーの通話SID、WhatsAppとSMSでは空文字列です。SIP通話にはcall_idとsip_headersが含まれる場合もあります。

レスポンスでは、上記のconversation_initiation_client_data形式を使用する必要があります。エージェントで定義したすべてのカスタム動的変数を含めてください。オーバーライドは任意ですが、Securityで有効にする必要があります。HTTPレスポンス本文は256 KB以下(262,144バイト)である必要があります。

Webhookの失敗またはタイムアウトにより、会話を開始できなくなる場合があります。Twilioの設定については、Twilioのパーソナライゼーションを参照してください。このWebhookは、通話後Webhookとは別のものです。

適切な方法の選択

方法最適な用途実装方法
動的変数
  • テンプレート化されたコンテンツへのユーザー固有データの挿入 - パーソナライズされた詳細情報を 保ちながら一貫したエージェント動作を維持 - ツールパラメーターのパーソナライズ
{{ variable_name }}で変数を定義し、実行時に値を渡す
オーバーライド
  • ユーザーごとにエージェントの動作を完全に変更 - 言語または音声の切り替え - レガシー アプリケーション(動的変数への移行を検討)

セキュリティ設定で特定のオーバーライド権限を有効にし、完全な置換コンテンツを渡す

会話開始Webhook
  • サーバーから着信Twilio、SIP、WhatsApp、SMSの会話をパーソナライズ - 会話開始前に 発信者コンテキストを検索

Security設定でWebhookを有効にし、conversation_initiation_client_dataを返す

詳細情報