개인화

동적 변수와 재정의를 사용해 에이전트 동작을 개인화하는 방법을 알아보세요.

개요

개인화를 통해 각 사용자에 맞게 에이전트의 동작을 조정하여 더욱 자연스럽고 상황에 맞는 대화를 만들 수 있습니다. ElevenLabs는 여러 개인화 방식을 제공합니다.

  1. 동적 변수 - 런타임 값을 프롬프트와 메시지에 삽입
  2. 오버라이드 - 시스템 프롬프트 또는 메시지를 완전히 교체
  3. 대화 시작 웹훅 - 대화가 시작될 때 서버에서 해당 데이터 가져오기

개인화 방법

대화 시작 클라이언트 데이터 구조

conversation_initiation_client_data 객체는 대화를 시작할 때 맞춤 설정할 수 있는 항목을 정의합니다. 클라이언트에서 직접 전송할 수 있으며, 대화 시작 웹훅도 동일한 객체를 반환합니다.

{
"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 필드를 통해서는 사용자 지정 동적 변수만 설정할 수 있습니다.

대화 시작 웹훅

수신 전화 및 메시징의 경우, ElevenAgents는 클라이언트 대신 서버에서 이 시작 데이터를 가져올 수 있습니다. 웹훅이 활성화되면 ElevenAgents가 POST 요청을 보내고 반환한 JSON을 적용합니다.

에이전트 설정에서 웹훅 URL과 헤더 시크릿을 구성하세요. 에이전트의 Security 탭에서 웹훅에서 시작 클라이언트 데이터 가져오기 및 응답에 포함될 수 있는 오버라이드 필드를 활성화하세요.

대화 시작 클라이언트 데이터가 아직 없는 경우, Twilio 음성, Exotel, SIP 트렁크, WhatsApp 또는 Twilio SMS의 새 수신 대화에서 웹훅이 실행됩니다. 또한 Amazon Connect 세션에서도 실행되며, 이때 응답은 Amazon Connect가 제공하는 연락처 컨텍스트와 병합됩니다.

발신 Twilio 음성, Exotel, SIP 및 WhatsApp 통화에서는 발신 요청에 conversation_initiation_client_data가 포함되지 않은 경우에만 실행됩니다. 발신 WhatsApp 메시지에서는 절대 실행되지 않으므로, 대신 발신 요청에 동적 변수를 전달하세요.

위젯 또는 SDK 대화, 기타 메시징 통합, 재개된 WhatsApp 및 SMS 스레드에서는 실행되지 않습니다.

에이전트 설정 페이지에서 시작한 미리보기 대화는 대화 시작 웹훅을 트리거하지 않습니다. Preview에서 테스트하는 동안에는 에이전트 편집기의 동적 변수 플레이스홀더를 사용하세요. 이 플레이스홀더는 프로덕션 수신 대화에서는 사용되지 않습니다.

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 및 Amazon Connect에서는 빈 문자열입니다. SIP 통화에는 call_id와 sip_headers가 추가로 포함될 수 있습니다. Amazon Connect 세션에는 연락처 ID로 설정된 call_id가 포함됩니다.

응답은 위의 conversation_initiation_client_data 형식을 사용해야 합니다. 에이전트가 정의한 모든 사용자 지정 동적 변수를 포함하세요. 오버라이드는 선택 사항이며 Security에서 활성화해야 합니다. HTTP 응답 본문은 256KB 이하(262,144바이트)여야 합니다.

웹훅이 실패하거나 시간 초과되면 대화가 시작되지 않을 수 있습니다. Twilio 설정은 Twilio 개인화를 참고하세요. 이 웹훅은 통화 후 웹훅과 별개입니다.

적합한 방식 선택

방법적합한 용도구현
동적 변수
  • 템플릿 콘텐츠에 사용자별 데이터 삽입 - 개인화된 세부 정보와 함께 일관된 에이전트 동작 유지 - 도구 매개변수 개인화
{{ variable_name }}로 변수를 정의하고 런타임에 값을 전달
오버라이드
  • 사용자별로 에이전트 동작을 완전히 변경 - 언어 또는 음성 전환 - 레거시 애플리케이션(동적 변수로 마이그레이션 권장)

보안 설정에서 특정 오버라이드 권한을 활성화하고 완전한 대체 콘텐츠 전달

대화 시작 웹훅
  • 서버에서 수신 Twilio, SIP, WhatsApp 또는 SMS 대화 개인화 - 대화 시작 전 발신자 컨텍스트 조회

Security 설정에서 웹훅을 활성화하고 conversation_initiation_client_data 반환

자세히 알아보기