
【Amazon Connect × Salesforce】 AI 에이전트의 도구 정의와 Salesforce 연동 포인트
요약
Amazon Connect의 AI 에이전트를 활용하여 자연스러운 음성 대화형 IVR을 구축하고, Salesforce와 효율적으로 데이터를 연동하는 방법을 다룹니다. 특히 도구(Tool) 정의 시 여러 파라미터를 하나의 스키마로 전달하여 연동 과정을 간소화하는 테크닉을 소개합니다.
핵심 포인트
- Amazon Connect AI 에이전트를 통한 자연스러운 문맥 이해형 IVR 구현
- 도구(Tool) 설정을 통해 여러 파라미터를 하나의 JSON으로 통합 전달하는 기법
- Salesforce Voice와의 연동을 통한 상담원 업무 자동화 및 효율화
- 음성 대화 환경에 최적화된 시스템 프롬프트 및 일문일답 설계 전략
Amazon Connect Customer에서 컨택 센터의 자동 음성 응답(IVR)을 구축할 때, 「AI 에이전트」 기능을 활용함으로써 기존의 기계적인 일문일답이 아닌, 보다 자연스러운 문맥을 이해하는 대화를 실현할 수 있습니다.
본 기사에서는 Amazon Connect의 AI 에이전트를 실제 콜센터 환경에 도입하기까지의 일련의 구현 플로우를 해설합니다.
특히, 시스템 연동의 핵심인 「도구(Tool)」 설정에 있어서는, 여러 가지 접근 방식 중에서도 「하나의 도구로 여러 항목을 한 번에 스키마(Schema)에 전달하는」 방법을 사용하여, Salesforce로의 데이터 연동을 간소화하는 테크닉을 심도 있게 소개합니다.
- AI 에이전트를 이용한 자연스러운 챗봇 구축 이미지
- 도구 정의에서 여러 파라미터(Parameter)를 추출하는 방법
- Salesforce Voice로의 효율적인 데이터 연동 및 항목 매핑(Mapping) 수법
-
전체 아키텍처와 데이터 처리 흐름
-
동작 환경
-
전제 조건
-
구현
-
동작 확인
정리
참고
이하는 Amazon Connect와 Amazon Lex(AI 에이전트)를 조합한 음성 대화 처리를 Salesforce와 연동하여, 오퍼레이터의 효율화를 실현하기 위한 아키텍처 도입니다.
①~④를 반복하여, 자동 음성으로 듣고 싶은 정보를 확인(Hearing)할 수 있게 되면, ⑤ 확인 내용의 전송으로 넘어가는 흐름입니다.
AI 에이전트의 데이터 처리 흐름으로는, 고객으로부터 전화가 걸려오면 우선 Amazon Connect에 의해 AI 에이전트가 호출됩니다. 호출된 AI 에이전트는 설정된 「시스템 프롬프트(System Prompt)」의 지시에 따라, 자연스러운 음성 대화로 요구 사항을 확인합니다. 필요한 정보가 갖춰지면, AI는 「도구(Tool)」를 호출하여 여러 확인 내용을 하나의 JSON 데이터로 만들어 연동 데이터로 보유합니다.
그 후, Amazon Connect의 플로우를 경유하여 Salesforce 측이 보유된 연동 데이터를 받음으로써, 오퍼레이터 수신 시 모든 항목이 자동 입력된 케이스 화면이 팝업으로 표시됩니다.
본 기사에서 사용하는 환경은 다음과 같습니다.
- 리전: 도쿄(ap-northeast-1)
- AI Agent Type: 오케스트레이션(Orchestration)
본 기사에서는 다음을 전제로 합니다.
- Amazon Connect의 초기 설정(전화번호 취득 및 큐(Queue) 설정 등)이 완료되어 있을 것
- Salesforce Voice와의 연동이 되어 있을 것
- 대상 인스턴스에서 Amazon Connect AI agents가 활성화되어 있을 것
- Connect AI Agent 생성이 완료되어 있을 것
Amazon Connect(Connect Customer)의 기본 설정 방법
AI 에이전트의 신규 생성 방법
이번 구현에서는 「자동차 보험사의 사고 접수 창구 AI」를 상정하여 작성했습니다.
자동차 보험사의 사고 접수 창구 AI는 어디까지나 하나의 예시일 뿐이지만, 다양한 유스케이스(Use case)로 바꾸어 활용할 수 있도록 각 단계에서의 중요한 포인트를 정리했습니다.
먼저 AI 에이전트의 동작을 정의합니다. 「화면상의 채팅」과 「전화(음성)」는 최적의 프롬프트가 다르기 때문에, 음성 합성이 부자연스럽지 않도록 하는 궁리나, 한꺼번에 너무 많은 정보를 묻지 않도록 하는 궁리가 필요합니다.
(예) 자동차 보험사를 유스케이스로 한 프롬프트
당신은 자동차 보험사의 창구 서포트 AI입니다. 고객과 「전화(음성)」로 대화하고 있습니다.
화면상의 채팅이 아닌 음성으로 안내하기 때문에, 고객이 스트레스를 느끼지 않도록 다음의 【음성 대화의 절대 규칙】을 준수하십시오.
【음성 대화의 절대 규칙】 ※무엇보다 이 조건을 우선할 것
...
【중요한 포인트】
일문일답 강제: 사용자의 인지 부하를 낮추기 위해, 도구에 필요한 항목(부상 여부, 장소 등)은 「반드시 하나씩 물을 것」을 지시하고 있습니다.
더미 값(미확인) 대입: 사용자가 급한 이유 등으로 확인을 도중에 중단하는 경우, 도구 실행 시 필수 파라미터가 비어 있어(Null) 에러가 발생하는 것을 방지하기 위해, 미확인 항목에는 「"미확인"을 세팅하여 도구를 호출한다」는 페일세이프(Fail-safe)를 넣어두었습니다.
도구의 정의가 본 기사의 핵심입니다.
Amazon Connect AI 에이전트의 기존 「셀프 서비스 (Self-service)」 타입에서는 프롬프트 내에 Tool을 기재하여 입력 스키마 (Input Schema)를 정의했지만, 「오케스트레이션 (Orchestration)」 타입에서는 프롬프트와는 별도로 「도구 (Tool)」라는 설정 항목이 마련되어 있습니다.
앞서 언급한 「도구」를 사용하여 여러 개의 히어링 (Hearing) 항목을 처리할 경우, 아키텍처 설계로서 크게 두 가지 접근 방식이 존재합니다. 두 가지 접근 방식의 장단점을 아래 표에 정리했습니다. 직접 작성하시는 AI 에이전트의 유스케이스 (Use case)에 맞춰 최적의 접근 방식을 검토하시는 것을 권장합니다.
| 비교 항목 | 하나의 도구로 통합 | 항목별로 여러 도구로 분리 |
|---|---|---|
| 설정·관리의 수고 | 도구가 하나로 끝나기 때문에 Connect 측의 설정이 최소한임 | 항목의 수만큼 도구가 필요하며, 설정 부분이 늘어남 |
| 연계 플로우 설계 | 통합된 JSON이 생성되므로 Salesforce 연계가 심플함 | 도구마다 데이터를 받기 때문에 플로우가 복잡해지기 쉬움 |
| 가독성·유지보수성 | 스키마가 비대해지기 쉬우며, 인수인계 시 학습 비용이 다소 높음 | 개별 도구가 심플하고 독립적이어서 수정이나 인수인계가 용이함 |
| AI의 컨텍스트 이해 | 전체상을 파악한 상태에서 문맥으로부터 한꺼번에 정보를 추출하기 쉬움 | 항목별로 독립하여 정보를 찾아가는 동작이 됨 |
이번 「사고 대응 창구」 유스케이스에서는 「부상 여부」, 「장소」, 「자력 주행 가능 여부」 등 서로 관련 있는 여러 정보를 히어링한 후, 히어링한 여러 정보를 모두 세트로 묶어 상담원(및 Salesforce)에게 인계할 필요가 있기 때문에, 이번에는 전체 컨텍스트를 파악하기 쉽고 후속 시스템 연계가 심플해지는 「하나의 도구로 통합하는」 접근 방식을 채택했습니다.
(예) 사고 대응 시 호출하는 도구
{
"type": "object",
"properties": {
...
【중요한 포인트】
열거형 (Enum)을 사용하여 AI의 예상치 못한 동작을 방지: 생성형 AI 특유의 표기 불일치(예: 「없습니다」, 「무상태입니다」 등)를 방지하기 위해, String을 통한 자유 입력을 피합니다. 열거형을 사용함으로써 AI 에이전트가 출력하는 값을 우리가 정의한 선택지로만 제한할 수 있습니다.
프롬프트와 스키마의 역할을 분리: 「어떻게 물어볼 것인가」는 프롬프트로 지시하고, 「어떤 형식으로 출력할 것인가」는 도구로 지시하도록 합시다. LLM에 대한 구속력은 스키마(타입 정의나 Enum)가 압도적으로 강하기 때문입니다.
이렇게 정의함으로써 AI 에이전트는 대화 이력에서 필요한 정보를 찾아내어 적절한 슬롯 (Slot)에 값을 전달할 수 있습니다.
AI 에이전트가 추출한 파라미터 (Parameter)를 Amazon Connect Customer의 컨택트 플로우 (Contact Flow)를 통해 Salesforce로 전달합니다.
Amazon Connect Customer 측: 도구 실행 결과의 각 파라미터를 컨택트 속성(예: intent_type, injury, location...)에 세팅하여 상담원 큐(Queue)로 라우팅합니다.
Salesforce 측: Amazon Connect의 「컨택트 플로우」로부터 전달된 컨택트 속성 데이터를 받아, 이번에는 Salesforce 측에서 「옴니채널 플로우 (Omni-Channel Flow)」 등의 Salesforce 플로우를 구축하여 처리를 수행합니다.
단순히 데이터를 받는 것에 그치지 않고, 옴니채널 플로우와 같은 Salesforce 측의 플로우를 구성함으로써 연계된 파라미터를 활용하여 다음과 같은 다양한 업무 자동화가 가능해집니다.
- 음성 통화와 관련된 레코드를 수신 시 자동으로 팝업 표시
- 챗봇(AI 에이전트)이 히어링한 내용이 미리 모두 입력된 케이스 레코드 (Case Record)의 자동 생성
위의 구현 절차에 따라 구현함으로써, 일련의 대화를 통해 추출한 파라미터가 Salesforce의 각 항목에 대응하며 레코드가 올바르게 생성되는 것을 확인할 수 있습니다.
본 기사에서는 Amazon Connect와 Salesforce Voice를 조합한 컨택트 센터에서 AI 에이전트를 최대한 활용하기 위한 실천적인 접근 방식을 해설했습니다.
특히 도구 설계 부분에 있어서는 「특정 접근 방식이 무조건 정답」인 것은 없으며, 실제 유스케이스나 팀의 관리 방법에 따라 최적의 접근 방식을 선정하는 것이 중요하다는 것을 알 수 있습니다.
Amazon Connect와 Salesforce Voice를 결합한 컨택 센터 (Contact Center)를 구축할 때는, 이번에 소개해 드린 내용을 참고하여 꼭 실천해 보세요!
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기