기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에이전트 음성 모범 사례
Amazon Connect 에이전트 음성은 고급 음성 인식(ASR)과 표현적이고 자연스러운 음성을 결합하여 완전한 음성 AI 경험을 제공합니다. 고급 ASR은 실시간 대화에서 지연 시간이 짧은 자연스러운 턴을 제공하는 반면, 음성 엔진은 50개 이상의 로캘에서 생생한 음성을 제공합니다. 이러한 구성 요소를 함께 사용하면 호출자와 Amazon Connect AI 에이전트 간의 인간과 유사한 원활한 상호 작용이 가능합니다. 이 가이드에서는 에이전트 음성 환경을 최대한 활용할 수 있도록 두 구성 요소의 구성 및 모범 사례를 다룹니다.
참고
Amazon Connect 에이전트 음성 기능을 사용하려면 Amazon Connect 고객이 인스턴스에 대해 활성화되어 있는지 확인합니다. Amazon Connect 에이전트 음성은 Amazon Connect 고객의 기본 음성 공급자입니다.
이 가이드에서는 다음을 다룹니다.
ASR 제어를 위한 세션 속성 구문입니다.
개입(중단) 동작 및 비활성화 시기.
고급 ASR에 대한 End-of-turn 튜닝입니다.
다국어 음성 인식을 위한 언어 힌트입니다.
장기 실행 도구 호출 처리.
음성 출력에 대한 텍스트 형식 지정 모범 사례입니다.
세분화된 음성 제어를 위한 음성 제어 태그입니다.
Amazon Connect AI 에이전트에 대한 시스템 프롬프트입니다.
고객 센터 예제.
다국어 지원을 위한 다국어 음성 구성.
고급 음성 인식(ASR) 모범 사례
고급 ASR 스피치 모델 기본 설정은 실시간 대화에서 지연 시간이 짧은 자연스러운 턴을 위해 설계된 스트리밍 인식기입니다. 고정된 무음 창에만 의존하는 대신 발신자가 말할 때 발신자의 음성을 평가하고 발신자가 언제 끝났는지 예측합니다. 차례 종료(EOT).
세션 속성 구문
이 섹션의 컨트롤은 x-amz-lex 네임스페이스의 표준 Lex V2 세션 속성으로 설정됩니다. 대화를 시작할 때 이를 설정하고 Lambda 함수에서 재정의할 수 있습니다(예: 민감한 값을 수집하는 동안에만 감지를 완화하기 위해).
모든 속성의 범위를 의도와 슬롯으로 지정합니다.
x-amz-lex:audio:<setting>:<intentName>:<slotToElicit>
*를 의도 또는 슬롯 이름으로 사용하여 모든 곳에 적용되는 기본값을 설정합니다.의도 또는 슬롯별 설정이
*기본 설정보다 우선합니다.
다음을 수행합니다.
보수적인 값은 필요한 슬롯(예: 계정 번호 슬롯)에만 설정하고 다른 모든 값은 기본값으로 둡니다.
민감한 수집이 완료된 후 다음 슬롯의 이완된 값을 재설정합니다.
금지 사항:
전역적으로 하나의 공격적인
*:*기본값을 적용하여 슬롯 하나를 수정합니다. 봇의 모든 턴에 대해 페이싱이 변경됩니다.
개입(중단 동작)
개입을 통해 호출자는 봇이 재생 중인 프롬프트를 중단할 수 있습니다. 기본적으로 활성화되어 있으며, 이는 일반적으로 자연스러운 대화에 필요한 것입니다. 다음을 사용하여 제어합니다.
x-amz-lex:allow-interrupt:<intentName>:<slotToElicit>
기본값: true
다음과 같은 경우 개입(false)을 비활성화합니다.
전체 내용을 들어야 하는 법률, 규정 준수 또는 기록-공개 언어 재생.
호출자가 대화해서는 안 된다는 확인을 다시 읽습니다.
다음과 같은 경우 개입을 계속 활성화합니다.
호출자는 일반적인 대화 사례인 프롬프트 중간에 봇을 수정하거나 짧게 자를 수 있습니다.
예제
셀프 서비스 AI 에이전트의 경우 기본적으로 어디서나 개입을 유지합니다. 법적 또는 규정 준수 면책 조항과 같이 프롬프트가 완전히 들려야 하는 경우에만 비활성화합니다. 대화를 시작할 때 속성을 설정합니다. *:* 항목과 함께 기본값을 켜 두고 면책 조항을 재생하는 의도에 대해서만 개입을 끕니다.
{ "sessionState": { "sessionAttributes": { "x-amz-lex:allow-interrupt:*:*": "true", "x-amz-lex:allow-interrupt:Disclaimer:*": "false" } } }
의도 및 슬롯별 항목이 *:* 기본값보다 우선하므로 호출자는 Disclaimer 의도가 말하는 동안을 제외한 모든 곳에서 인터럽트할 수 있습니다. 대신 Lambda 함수에서 면책 속성을 설정하는 경우 면책 프롬프트가 재생되기 전에 설정합니다. true 나중에 로 재설정하면 나머지 대화는 계속 중단될 수 있습니다.
참고
제한 시간 기반 재프롬프트는 실제 개입이 아닙니다. 일반적인 혼동점: 호출자가 무음 상태가 되고 end-of-turn폴백이 발생하는 경우 봇이 턴을 종료하거나 자체적으로 다시 프롬프트할 수 있습니다. 이는 중단처럼 보일 수 있지만 발신자가 개입하는 것이 아니라 end-of-turn 감지 실행입니다. 수정 사항은 거의 항상 end-of-turn 설정을 조정하며, 중단 허용 플래그는 조정하지 않습니다.
End-of-turn 튜닝
고급 ASR은 두 조건 중 하나가 먼저 충족되면 턴을 종료합니다.
End-of-turn 신뢰도 임계값 - 모델은 호출자가 완료했을 만큼 확신합니다. 이는 기본 신호이며 턴 테이크 사운드를 자연스럽게 만듭니다.
End-of-turn 무음 제한 시간 - 호출자가 구성된 시간 동안 무음 상태였습니다. 이것이 폴백(호출자가 후행하거나 조용해짐)입니다.
| 설정 | 세션 속성 | 기본값 | Range |
|---|---|---|---|
| End-of-turn 신뢰도 임계값 | x-amz-lex:audio:end-confidence-threshold |
0.7 | 0.5~0.9 |
| End-of-turn 무음 제한 시간 | x-amz-lex:audio:end-timeout-ms |
5,000ms | 500~10,000ms |
값이 높을수록 봇이 더 오래 대기하고 종료가 더 보수적으로 회전합니다(조기 컷오프가 적고 지연 시간이 약간 김). 값이 낮을수록 더 빨리 회전합니다(지연 시간이 짧아지고 일시 중지된 호출자를 차단할 가능성이 높음). 신뢰도 임계값은 기본 레버입니다. 무음 제한 시간은 신뢰도가 아직 턴을 끝내지 않은 경우에만 중요합니다.
Out-of-range 동작:
end-confidence-threshold0.5~0.9 외부에서는 잘못된 세션 속성 오류와 함께 거부됩니다.end-timeout-ms500 미만 또는 10,000 초과는 지원되는 가장 가까운 값으로 자동 고정됩니다.
값 선택
| 시나리오 | 권장 설정 | 참고 |
|---|---|---|
| 자연스러운 대화 | 기본값(0.7/5,000ms) | 응답성이 뛰어난 범용 턴 테이크에 맞게 조정되었습니다. |
| 민감하거나 지시된 입력(OTP, 계정 번호) | 임계값: 0.9, 제한 시간: 6,000~8,000ms | 일시 중지를 허용합니다. 수집 후 다음 슬롯에 대해 재설정합니다. |
| 짧은 교환(예/아니요, 한 단어) | 임계값: ~0.5, 제한 시간: ~500ms | 더 빠른 회전. 먼저 조기 컷오프를 테스트합니다. |
예제
VerifyIdentity 의도의 AccountNumber 슬롯에 대한 보존적 end-of-turn 감지:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:end-confidence-threshold:VerifyIdentity:AccountNumber": "0.9", "x-amz-lex:audio:end-timeout-ms:VerifyIdentity:AccountNumber": "7000" } } }
모든 의도와 슬롯에 대한 단일 기본값:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:end-confidence-threshold:*:*": "0.8", "x-amz-lex:audio:end-timeout-ms:*:*": "800" } } }
다국어 인식을 위한 언어 힌트
고급 ASR은 어떤 언어를 기대할지 알 필요 없이 동일한 대화에서 여러 언어를 인식합니다. 호출자의 음성에서 언어를 감지하므로 호출자는 영어로 시작하고 스페인어로 전환할 수 있으며 트랜스크립션이 이어집니다. 이는 기본 동작이며 구성이 필요하지 않습니다.
호출자가 사용하는 언어를 이미 알고 있는 경우 언어 힌트로 인식에 편향을 줄 수 있습니다. 힌트는 두 언어가 비슷할 때 가장 유용합니다. 또한 한 단어, 숫자, 예/아니요와 같은 짧은 발화로 인해 모델이 작업할 일이 거의 없을 때도 도움이 됩니다. 다음을 사용하여 설정합니다.
x-amz-lex:audio:locale-override:<intentName>:<slotToElicit>
기본값: 힌트 없음 - 고급 ASR은 자체적으로 언어를 감지합니다.
이 섹션의 다른 컨트롤과 동일한 방식으로 속성의 범위를 지정합니다. *:*를 사용하여 대화의 모든 턴을 편향시키거나 의도와 슬롯 이름을 지정하여 예상 언어를 알고 있는 턴만 편향시킵니다.
값 형식
값을 편향하려는 언어 코드로 설정합니다. 가장 먼저 설정할 수 있습니다. 흐름 또는 Lambda 함수에서 생성하기 쉬운 경우 선택적으로 대괄호와 따옴표로 묶인 쉼표로 구분된 목록을 사용합니다. 고급 ASR은 주변 공백을 무시하고 밑줄을 하이픈으로 취급하므로 pt_BR 및 pt-BR는 동일합니다.
다음 표에는 속성 값의 예와 각각 고급 ASR이 편향하는 언어가 나와 있습니다.
| 속성 값 | 언어 고급 ASR이 편향됨 |
|---|---|
| 속성이 설정되지 않음 | 없음. 고급 ASR은 호출자의 음성에서 언어를 감지합니다. |
es,en-US |
스페인어, 미국 영어 |
["ja"] |
일본어 |
[ "es" , "en" ] |
스페인어, 영어 |
fr, de , it |
프랑스어, 독일어, 이탈리아어 |
검증
각 항목은 유효한 언어 코드여야 합니다. , 또는와 같은 하이픈과 리전 하위 태그 뒤에 2자
esen-US또는 3자 기본 코드를 선택적으로 사용합니다pt-BR.해당 양식과 일치하지 않는 항목은 삭제되고 나머지 유효한 항목은 계속 적용됩니다. 유효한 항목이 남아 있지 않으면 대화가 실패하는 대신 힌트 없이 진행됩니다.
고급 ASR은 인식하지 못하는 올바른 형식의 코드를 전달하고 무시합니다. 코드는 오류를 생성하지 않지만 편향 인식도 하지 않으므로 전송하는 코드를 확인합니다.
고급 ASR은 중복 항목을 제거합니다. 최대 10개의 힌트를 적용하고 10을 초과하는 힌트는 무시합니다.
예제
다음 예제에서는 발신자가 스페인어 또는 영어를 더 일반적인 언어인 스페인어로 말하는 줄에 대한 인식을 편향합니다.
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:locale-override:*:*": "es,en-US" } } }
해야 할 일
인식을 편향시킬 특별한 이유가 없는 한 속성을 설정하지 않은 상태로 둡니다. 탐지는 대부분의 다국어 대화를 처리합니다.
호출자가 실제로 사용하는 언어만 나열합니다. 가장 먼저 사용할 수 있습니다.
하지 않아야 할 일
호출자가 실제로 말하는 언어 이외의 언어를 나열합니다. 긴 목록은 편향을 줄이고 힌트를 설정하는 이점을 전혀 제거합니다.
단일 힌트를 보내 대화를 한 언어로 잠급니다. 힌트는 인식에 편향을 주지만 이를 제한하지는 않습니다. AI 에이전트가 응답하는 언어를 제한하려면 섹션을 참조하세요특정 언어로 제한.
작은 정보
언어 힌트 편향 음성 인식 - 봇이 듣는 내용입니다. 봇이 사용하는 언어는 변경되지 않습니다. 응답 언어의 경우 AI 에이전트 시스템 프롬프트와 다국어 음성을 사용합니다. 다국어 음성 구성을(를) 참조하세요.
장기 실행 도구 호출 처리
봇이 들을 준비가 되기 전에 AI 에이전트 또는 Lambda가 장기 실행 도구 호출(백엔드 조회, 외부 API, 모델 호출)을 수행하면 호출자는 무음 상태로 유지됩니다. 호출자에게 이는 봇이 최종적으로 응답할 때 봇이 중지되거나 발언된 것처럼 느껴질 수 있습니다.
완화:
봇이 마이크를 열기 전에 장기 실행 작업을 완료합니다. 봇이 다음 슬롯을 유도하기 전에 도구 호출을 완료합니다.
발신자가 무음 상태가 되지 않도록 대기 또는 필러 프롬프트("I pull it up...")를 재생합니다.
도구 호출 중에 필러 오디오 사운드를 활성화하거나 차례대로 회전합니다.
이러한 단계를 통해 개입을 활성화하여 호출자가 필러 프롬프트 중에 말하는 경우 사물을 이동할 수 있도록 합니다.
작은 정보
실제 도구 호출을 사용하여 end-to-end 지연 시간을 검증합니다. 목표는 호출자가 백엔드에서 대기 중인 데드 에어 상태가 되지 않도록 하는 것입니다.
ASR 세션 속성 빠른 참조
| 속성 | 기본값 | 참고 |
|---|---|---|
x-amz-lex:allow-interrupt:<intent>:<slot> |
true | 개입. 고지 사항에 false 대해를 설정합니다. |
x-amz-lex:audio:end-confidence-threshold:<intent>:<slot> |
0.7 | 기본 ALT 신호입니다. 범위 0.5~0.9. Out-of-range이 거부되었습니다. |
x-amz-lex:audio:end-timeout-ms:<intent>:<slot> |
5,000ms | ALT 폴백. 범위는 500~10,000ms입니다. Out-of-range 고정됨. |
x-amz-lex:audio:locale-override:<intent>:<slot> |
설정되지 않음 | 언어 힌트 편향 인식. 쉼표로 구분된 코드, 최대 10개. |
일반적인 ASR 실수
| 실수 | 잘못된 이유 | 수정 |
|---|---|---|
| 지시된 숫자를 수집하는 동안 낮은 신뢰도 임계값 | 봇은 그룹 간에 호출자를 차단합니다. | 해당 슬롯에 대한 신뢰도와 제한 시간을 높이고 나중에 재설정합니다. |
| 전역적으로 개입 비활성화 | 발신자가 봇을 어디에서도 수정할 수 없음 | 고지 사항/규정 준수 프롬프트에서만 비활성화합니다. |
*:* 기본값을 적용하여 슬롯 1개 수정 |
전체 봇의 페이싱 변경 | 속성의 범위를 특정 의도/슬롯으로 지정합니다. |
| 임계값을 0.5~0.9 외부로 설정 | 요청이 오류와 함께 거부됨 | 범위를 유지합니다. 만 자동으로 end-timeout-ms 고정됩니다. |
| 긴 도구 호출 중에 입력 창을 열어 두기 | 발신자가 데드 에어에 앉음 | 먼저 도구 호출을 완료하거나 필러 프롬프트를 재생합니다. |
| 실제 개입으로 다시 프롬프트되는 EULA 처리 | 중단 허용에 잘못된 수정이 적용됨 | 대신 end-of-turn 설정을 튜닝합니다. |
에서 여러 언어 나열 locale-override |
제공하도록 설정된 바이어스를 조정합니다. | 호출자가 사용하는 언어만 나열합니다. 가장 먼저 나열할 가능성이 높습니다. |
음성 모범 사례
Amazon Connect 에이전트 음성은 50개 이상의 로캘에서 표현적이고 자연스럽게 들리는 text-to-speech 제공합니다. 엔진은 작성된 텍스트를 자연어로 자동 정규화합니다. 대부분의 경우 특별한 형식 지정 없이 텍스트를 있는 그대로 전달하고 좋은 결과를 얻을 수 있습니다.
텍스트 서식 지정
일반 규칙
자연스럽고 잘 묶인 텍스트를 전달합니다. 일반적인 대소문자와 구두점을 가진 전체 문장은 가장 좋은 페이싱 및 내전을 생성합니다.
다음을 수행합니다.
터미널 구두점(. ? !)이 있는 전체 문장을 사용합니다.
일반 대소문자를 사용합니다.
숫자, 날짜 및 공통 형식을 일반적인 서면 형식으로 유지합니다.
각 세대를 최소한 전체 문장 또는 문구로 유지합니다. 매우 짧은 조각은 덜 자연스럽게 들리는 경향이 있습니다.
금지 사항:
구두점을 제거하거나 모든 CAPS를 강제로 적용합니다.
마크다운, 원시 JSON, 이모티콘 또는 특수 문자를 포함합니다.
전체 컨텍스트 없이 숫자, 영숫자 또는 맞춤법 태그를 직접 전송합니다.
텍스트를 마크다운 굵게 또는 기울임꼴로 래핑 - 엔진은 별표를 말하려고 시도합니다.
괄호, 대괄호, 중괄호, 꺾쇠괄호 및 따옴표를 사용합니다.
자동 정규화
엔진은 일반적인 쓰기 형식을 자연어로 읽습니다. 대부분의 경우 형식을 다시 지정할 필요가 없습니다.
| 유형 | 전달 | 엔진은 로 읽습니다. |
|---|---|---|
| 큰 숫자 | 1,234,567 | “일백만이백삼만사천...” |
| 전화번호 | (415) 555-1212 | 자연 전화번호 페이싱 |
| 이메일 주소 | user@example.com을 선택합니다. | “예제 점 com의 사용자” |
| 날짜 | 04/20/2025 | 로캘에 적합한 날짜 읽기 |
| Times | 오후 7시 | “오후 7시” |
| 두문자어 | NASA, 미국 | 예상대로 음성 |
| 백분율 | 12% | "12%" |
작은 정보
이메일 주소는 서면 형식으로 잘 읽습니다. 또한 정확한 제어를 원하는 경우 에이전트에게 직접 음성 양식을 출력하도록 지시할 수 있습니다(예: "user at example dot com").
음성 제어 태그
음성 엔진은 트랜스크립트 콘텐츠에서 적절한 페이싱 및 감정을 자동으로 유추합니다. 기본값이 충족되지 않는 특정 사용 사례에만 제어 태그를 사용합니다. 모든 태그는 트랜스크립트에 직접 배치됩니다.
Speed
말하기 속도를 제어합니다. 범위: 0.6(느림)~1.5(빠름). 기본값: 1.0.
<speed ratio="0.85"/>This call may be recorded for quality purposes.
| 값 | 사용 상황 |
|---|---|
| 0.8 | 중요한 정보 또는 법적 언어 읽기 |
| 1.0 | 기본값 - 자연스러운 대화 속도 |
| 1.2 | 더 빠른 대화 |
속도를 늦춘 후 속도를 재설정하려면:
<speed ratio="0.85"/>Important notice.<speed ratio="1.0"/>Now, how can I help?
볼륨
음량을 제어합니다. 범위: 0.5(조용)~2.0(큰 소리). 기본값: 1.0.
<volume ratio="0.5"/>I'll speak softly for this part.
브레이크
일시 중지를 삽입합니다. 기간을 초(s) 또는 밀리초(ms)로 지정합니다.
Your balance is $1,234.<break time="500ms"/>Your next payment is due June 15th.
휴식 시간 사용:
정보 조각 간 페이싱.
법률 또는 규정 준수 언어 이전.
IVR의 메뉴 옵션 간
참고
자연어는 일시 중지를 위한 첫 번째 도구여야 합니다. 쉼표 또는 마침표는 일반적으로 올바른 일시 중지를 생성합니다. 브레이크 태그는 특정 기간의 명시적 무음에 가장 적합합니다.
맞춤법
코드, IDs, 전화번호 또는 문자character-by-character 말해야 하는 문자열에 대해 문자letter-by-letter 읽기를 강제 적용합니다.
Your confirmation code is <spell>TKT4829XB</spell>.
긴 시퀀스의 경우 맞춤법 태그 래퍼 내에 공백을 추가하여 일시 중지를 삽입합니다.
Your phone number is <spell>(415)</spell><break time="200ms"/><spell>5551212</spell>.
대체 형식(태그 제외):
공백으로 구분: A B C 1 2 3
쉼표로 그룹화: A B C, 1 2 3.
속도 저하 및 발음: A, B, C, 1, 2, 3
참고
모델은 모든 CAPS 텍스트를 <spell> 태그로 래핑하는 것과 동일하게 취급합니다. 문자로 읽힙니다. 예를 들어 "ACME BANK"는 "A-C-M-E B-A-N-K"로 표현됩니다. 모델이 단어로 말하도록 하려면 표준 대소문자 "Acme Bank"를 사용합니다.
Emotion
모델은 콘텐츠에서 감정적 어조를 자연스럽게 유추하므로 대부분의 경우 태그가 필요하지 않습니다. 감정 태그는 베타 기능이며 감정이 트랜스크립트와 일치할 때 가장 안정적으로 작동합니다.
<emotion value="sympathetic"/>I understand this is frustrating. Let me investigate that for you.
주요 감정: neutral, angry, excited, content, 및 sadscared.
웃음
를 삽입[laughter]하여 자연스러운 웃음을 만듭니다.
Oh, I've actually heard that one before! [laughter] Alright, let's get this sorted out.
태그 참조
| 태그 | 하는 일 | 예제 |
|---|---|---|
<speed ratio="X"/> |
말하기 속도(0.6~1.5) | <speed ratio="0.85"/> |
<volume ratio="X"/> |
음량(0.5~2.0) | <volume ratio="1.5"/> |
<break time="Xs"/> |
일시 중지(초 또는 ms) | <break time="500ms"/> |
<spell>...</spell> |
Character-by-character 읽기 | <spell>AB12CD</spell> |
<emotion value="X"/> |
감정적 어조 | <emotion value="content"/> |
[laughter] |
자연 웃음 | [laughter] |
잘못된 태그
일치하는 로 묶인 올바른 형식의 태그
<...>는 엔진에서 올바르게 처리됩니다.형식이 잘못되었거나 닫히지 않은 태그는 자동으로 삭제되지 않습니다. 엔진은 형식이 잘못된 텍스트를 큰 소리로 전달합니다.
와 같이 지원되지 않는 SSML 래퍼
<speak>...</speak>는 필요하지 않으므로 포함해서는 안 됩니다.
작은 정보
엔진이 구문 분석할 수 없는 태그를 발견하면 태그 조각을 포함하여 원시 텍스트를 말하려고 시도합니다. 항상 태그의 형식이 올바른지 확인합니다.
다국어 음성 구성
Amazon Connect 에이전트 음성에는 여러 언어를 말하고 대화 중에 원활하게 전환할 수 있는 다국어 음성이 포함되어 있습니다. 발신자는 영어로 시작하고 스페인어로 전환할 수 있으며 에이전트는 흐름을 변경하거나 중단할 필요가 없습니다. 음성 설정 블록에서 이러한 음성은 다각형 음성으로 레이블이 지정됩니다. 이 가이드에서는 다국어 음성이라는 용어를 사용하여 이를 설명합니다. 이 섹션에서는 다국어 음성을 구성하는 방법과 주의해야 할 사항을 다룹니다.
다국어 음성
다국어 음성은 기본적으로 단일 대화 내에서 지원되는 언어 간에 전환됩니다. 콜센터에서 통화 중에 다른 언어를 구사하거나 언어를 전환하는 호출자를 처리해야 하는 경우 다국어 음성을 사용합니다.
| Voice | Gender | 지원되는 언어 |
|---|---|---|
| Katie | 여성 | 영어, 독일어, 스페인어, 프랑스어, 힌디어, 이탈리아어, 일본어, 노르웨이어, 포르투갈어, 러시아어 |
| 블레이크 | 남성적 | 영어, 독일어, 스페인어, 프랑스어, 힌디어, 이탈리아어, 일본어, 노르웨이어, 포르투갈어, 러시아어 |
| 뷰트어 | 여성 | 영어, 독일어, 스페인어, 프랑스어, 힌디어, 이탈리아어, 일본어, 노르웨이어, 포르투갈어, 러시아어 |
| 로널드 | 남성적 | 영어, 독일어, 스페인어, 프랑스어, 힌디어, 이탈리아어, 일본어, 노르웨이어, 포르투갈어, 러시아어 |
| Gemma | 여성 | 영어, 독일어, 스페인어, 프랑스어, 힌디어, 이탈리아어, 일본어, 노르웨이어, 포르투갈어, 러시아어 |
구성
1단계: 다국어 음성의 로캘에 Amazon Lex 봇 빌드
다국어 음성을 사용하는 경우 단일 Amazon Lex 봇 로캘만 필요합니다. 로캘에서 다국어 음성(예: en-US 또는 en-GB)과 일치하는 봇을 빌드합니다. 다국어 음성이 지원하는 모든 언어를 Amazon Lex에서 별도의 로캘로 추가할 필요는 없습니다.
다음을 수행합니다.
en-US(또는 영국 영어 다국어 음성을 사용하는 경우 en-GB)로 봇을 빌드합니다.
단일 로캘을 사용합니다. AI 에이전트와 다국어 음성은 추가 Amazon Lex 로캘 없이 다국어 대화를 처리합니다.
금지 사항:
다국어 음성이 지원하는 모든 언어에 대해 별도의 Amazon Lex 봇 로캘을 추가합니다. 이는 불필요합니다. AI 에이전트는 프롬프트를 통한 언어 전환을 처리합니다.
다국어 음성의 지원되는 언어 목록에 없는 언어(예: 태국어 또는 타갈로그어)를 지원해야 하는 경우 해당 로캘에 대해 별도의 봇을 생성하고 로캘별 음성을 사용합니다. 영어 이외의 로캘에서 비다국어 에이전트 음성 사용을(를) 참조하세요.
2단계: Lex 봇 로캘을 음성 설정 블록과 일치시킵니다.
음성 설정 블록에 설정된 언어 속성은 Lex 봇의 로캘과 일치해야 합니다. 일치하지 않으면 고객 입력 가져오기 블록이 오류를 반환합니다. 봇 로캘과 일치하도록 음성 설정 블록 언어를 업데이트합니다.
영어 로캘에 구축된 다국어 음성의 경우:
음성 설정 블록에서 다국어 음성(예: YouTube)을 선택하고 언어를 영어(미국)로 설정합니다.
Lex 봇에는 en-US가 빌드 로캘로 있어야 합니다.
첫 번째 턴 인사말
첫 번째 턴에서 AI 에이전트는 호출자 입력을 수신하지 않았습니다. 입력이 없으면 에이전트가 호출자의 언어를 감지할 수 없습니다. 음성은 고객 입력 가져오기 블록에 구성된 인사말 텍스트를 말합니다. 봇이 특정 언어로 호출자를 맞이하도록 하려면 해당 블록의 인사말 메시지가 해당 언어로 작성되었는지 확인합니다.
예를 들어 기본 발신자 기반이 스페인어를 사용하는 경우 고객 입력 가져오기 인사말을 스페인어로 구성합니다.
Hola, gracias por llamar. ¿Cómo puedo ayudarle hoy?
첫 번째 턴 후 AI 에이전트는 나머지 대화에서 호출자의 언어를 인계하고 감지하고 따릅니다.
3단계: AI 에이전트 시스템 프롬프트에 언어 처리 지침 추가
AI 에이전트의 시스템 프롬프트에 언어 처리 섹션을 추가합니다. 이 단원에서는 다국어 동작을 수행합니다. AI 에이전트는 대화 기록에서 호출자의 언어를 감지하고 해당 언어로 응답합니다.
템플릿(사용 사례에 맞게 사용자 지정):
You are connected to a multilingual voice that supports the following languages: English, German, Spanish, French, Hindi, Italian, Japanese, Norwegian, Portuguese, and Russian. Language handling rules: Detect the language of the caller's input from the transcription. If the caller speaks in one of the supported languages listed above, respond in that same language. If the caller speaks a language not in the supported list, respond in English and politely let them know you can assist in the supported languages. Always respond in one language at a time. Do not mix languages in a single response unless the caller mixes first. If the caller switches languages mid-conversation, follow their lead immediately. When responding in any non-English language, always use proper accent marks, diacritics, and locale-appropriate formatting (for example, é, ñ, ü, ç). This ensures the voice engine produces natural pronunciation. Keep English brand names, product names, codes, and identifiers in English. Do not translate them.
작은 정보
프롬프트에서 다국어 음성이 실제로 지원하는 언어만 나열합니다. 지원되지 않는 언어를 나열하면 에이전트가 도움이 될 수 있다고 주장하지만 TTS는 부자연스러운 출력을 생성합니다.
영어 이외의 로캘에서 비다국어 에이전트 음성 사용
다국어 음성이 아닌 에이전트 음성(예: 태국어, 한국어 또는 포르투갈어 음성)을 사용하는 경우 시스템이 올바른 ASR 엔진으로 라우팅되도록 언어 속성을 명시적으로 설정해야 합니다.
옵션 A: 음성 블록 설정
영어가 아닌 음성(예: th-TH 로캘의 태국어 음성)을 선택합니다.
언어를 일치하는 로캘(예: th-TH)로 설정합니다.
일치하는 로캘(th-TH)을 사용하여 Lex 봇을 빌드합니다.
옵션 B: 고객 응대 속성 설정 블록
음성 설정 블록이 구성의 언어 설정을 노출하지 않는 경우 고객 입력 가져오기 블록 앞에 있는 고객 응대 속성 설정 블록을 사용하여 언어를 설정할 수 있습니다.
유형 - 시스템
속성 - 언어
값 - 로캘 코드(예: Tagalog의 경우 tl-PH, 태국어의 경우 th-TH)
특정 언어로 제한
고객 센터에서 언어의 하위 집합만 지원하는 경우 프롬프트를 간소화합니다.
You support English and Spanish on this line only. Detect the language of the caller's input. If the caller speaks English or Spanish, respond in that language. If the caller speaks any other language, respond in English: I apologize, but I can only assist in English or Spanish. How can I help you today? If the caller switches between English and Spanish, follow their lead. Use proper accent marks when responding in Spanish (á, é, í, ó, ú, ñ, ü). Keep brand names and codes in English.
Amazon Connect AI 에이전트를 위한 시스템 프롬프트
Amazon Connect AI 에이전트가 말할 텍스트를 생성할 때 에이전트의 시스템 프롬프트에 이러한 음성 형식 지정 지침을 추가합니다. 아래 블록을 복사하여 프롬프트 구성에 직접 붙여 넣습니다.
참고
이러한 프롬프트는 시작하기 위한 템플릿입니다. 특정 사용 사례, 어조 및 비즈니스 요구 사항에 맞게 수정합니다.
작은 정보
음성 성능 및 지연 시간에 대한 AI 에이전트 프롬프트 최적화에 대한 지침은 섹션을 참조하세요AI 에이전트를 위한 프롬프트 엔지니어링 모범 사례.
음성 출력 형식 프롬프트
Speech Output Formatting Everything you output will be spoken aloud by text-to-speech. Follow these rules: GENERAL FORMATTING Use full sentences with normal capitalization. Always end with . ? or ! Use conventional written forms for numbers, dates, acronyms, symbols. Do NOT use markdown, bullet points, headers, bold, raw JSON, emoji, or special characters. Write plain prose only. SPELLING OUT CODES AND IDS For codes or IDs that must be read character-by-character, except for phone numbers, wrap in <spell> tags: Example: Your confirmation code is <spell>TKT4829XB</spell>. Was that the account ending in <spell>1234</spell>? THINGS TO AVOID Do not output bullet points, numbered lists, or structured formatting. Do not use asterisks, hashtags, or markdown syntax. Do not include internal thoughts, reasoning, or meta-commentary. Do not use parentheses, brackets, curly braces, or quotation marks. NATURALNESS Respond as if speaking directly to the caller. Keep responses concise. Avoid long monologues. Use natural transitions like: Let me check that for you. Or: Here is what I found.
다국어 추가 기능
봇이 다국어 음성을 사용하는 경우 시스템 프롬프트에 다음을 추가하여 다국어 응답을 활성화합니다.
Language Handling You are connected to a multilingual voice that supports: English, German, Spanish, French, Hindi, Italian, Japanese, Norwegian, Portuguese, and Russian. Detect the language of the caller input from the transcription. If the caller speaks in one of the supported locales, respond in that language. If the caller speaks a language not in the supported list, respond in English and politely let them know you can assist in English. Always respond in one language at a time. Do not mix multiple languages in a single response. If the caller switches languages mid-conversation, follow their lead and switch your responses to match. When responding in a non-English language, always use proper accent marks, diacritics, and locale-appropriate formatting. This ensures the voice engine produces natural, native-sounding pronunciation.
콜센터 예제
IVR 인사말
Hi, thanks for calling. How can I help you today?
태그 필요 없음 - 엔진은 대화 인사말을 자연스럽게 처리합니다.
법적 고지 사항(느림)
<speed ratio="0.85"/>This call may be recorded for quality assurance purposes. By continuing, you consent to recording.
흐름 수준에서 개입이 비활성화된 상태로 페어링합니다.
계정 번호 다시 읽기
맞춤법 태그 사용:
Your account number is <spell>1234</spell> <spell>5678</spell> <spell>9012</spell>.
맞춤법 태그가 없는 경우:
Your account number is 1 2 3 4, 5 6 7 8, 9 0 1 2.
참조 코드를 사용한 확인
I've created your ticket. Your reference number is <spell>TKT4829XB</spell>. Is there anything else I can help with?
메뉴 옵션
Press 1 for billing.<break time="500ms"/>Press 2 for technical support.<break time="500ms"/>Press 3 to speak with an agent.
고객 이름 철자 지정
Let me confirm — your last name is Smith, spelled <spell>SMITH</spell>. Is that correct?
일반적인 text-to-speech 실수
| 실수 | 잘못된 이유 | 수정 |
|---|---|---|
| 스트리핑 구두점 | 유적 페이싱 및 중단 | 자연스러운 구두점을 유지합니다. |
| 모두 대문자 텍스트 | 엔진 읽기 방식 변경 | 일반 대소문자를 사용합니다. |
| 마크다운 포함 | 엔진이 문자 형식을 말함 | 전송 전에 제거하거나 에이전트에게 피하도록 지시합니다. |
| 불완전 태그 스트리밍 | 태그는 텍스트로 큰 소리로 읽습니다. | 전송 전에 전체 태그 값을 버퍼링합니다. |
| 일치하지 않는 감정 + 콘텐츠 | 부자연스러운 출력을 생성합니다. | 감정을 콘텐츠에 맞추거나 생략합니다. |
| 프롬프트 오버엔지니어링 | 자연도를 줄일 수 있음 | 간단한 시작 - 필요한 경우에만 태그를 추가합니다. |
| 다국어를 위한 비다국어 음성 | 음성은 기본 로캘 액센트를 유지합니다. | 네이티브 발음에는 다국어 음성을 사용합니다. |
| 마크다운 굵게 또는 기울임꼴로 텍스트 래핑 | 엔진이 별표를 큰 소리로 말함 | 모든 마크다운 형식을 제거합니다. |
| 형식이 잘못되었거나 닫히지 않은 태그 전송 | 엔진이 원시 태그 텍스트를 말함 | 태그가 일치하는 대괄호로 잘 구성되어 있는지 확인합니다. |