
시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Create an Agent
/ 50
Importing a conversational agent file
/ 25
Testing your conversational agent
/ 25
대화형 에이전트가 보다 동적인 대화를 할 수 있도록 기능을 추가하면 대화형 에이전트의 고급 기능을 통해 에이전트의 대화 능력을 더욱 향상시킬 수 있습니다. 이 실습에서는 대화형 에이전트의 대화형 환경을 개선하기 위해 대화형 에이전트의 몇 가지 고급 기능을 사용하는 방법을 알아봅니다. 사용자가 대화형 에이전트에 확인 번호를 제공하여 항공편 상태를 확인할 수 있는 기능을 추가하고, '항공편 예약' 시나리오를 새로운 다른 문의사항이 있으신가요? 페이지에 연결하여 에이전트가 항상 사용자의 다른 요청을 처리할 준비가 되도록 하는 방법을 알아봅니다.
이 실습의 목표는 다음과 같습니다.
이 실습은 대화형 에이전트: 봇 빌드 기본사항에서 개발한 기본 항공편 예약 에이전트를 기반으로 하므로 인텐트, 항목, 학습 문구, 흐름, 페이지와 같은 대화형 에이전트 요소에 대한 지식이 있다고 가정합니다. 이러한 기본사항을 바탕으로 대화형 에이전트의 몇 가지 고급 기능을 사용하여 보다 높은 수준의 대화 기술을 구현합니다. 앞선 실습을 먼저 진행하는 것이 좋지만, 대화형 에이전트와 기본 기능 및 사용법에 이미 익숙하다면 이 실습을 진행해도 됩니다.
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 대화상자가 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 창이 있습니다.
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
실습 세부정보 창에서도 사용자 이름을 확인할 수 있습니다.
다음을 클릭합니다.
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
실습 세부정보 창에서도 비밀번호를 확인할 수 있습니다.
다음을 클릭합니다.
이후에 표시되는 페이지를 클릭하여 넘깁니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
이 작업에서는 대화형 에이전트에 로그인하고 새 에이전트를 만듭니다.
Dialogflow API 및 AI Applications API를 사용 설정합니다.
Google Cloud 콘솔로 이동하여 탐색 메뉴 () > '모든 제품 보기'를 클릭한 다음 인공지능 > AI 애플리케이션으로 이동합니다.
+ 앱 만들기를 클릭합니다. 빌드하려는 앱 유형으로 대화형 에이전트를 선택합니다.
에이전트를 만들라는 메시지가 표시되면 Build your own(직접 빌드)를 클릭합니다.
에이전트 이름을 항공편 예약 - 파라미터 조작으로 지정합니다.
위치를
시간대와 기본 언어가 적절하게 설정되어 있는지 확인합니다. Conversation Start(대화 시작)를 Flow(흐름)로 설정합니다.
Create(만들기)를 클릭합니다. 에이전트가 생성되면 대화형 에이전트 UI의 디자인과 구성이 표시됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
이 작업에서는 이전 실습에서 만든 대화형 에이전트를 가져옵니다.
상단의 에이전트 드롭다운 메뉴에서 모든 에이전트 보기를 선택합니다.
대화형 에이전트 오른쪽에 있는 컨텍스트 메뉴(세로 점 3개)를 클릭합니다.
확장된 메뉴 옵션에서 복원을 선택합니다.
아직 선택하지 않았다면 Cloud Storage 라디오 버튼을 선택합니다.
URI에 gs://spls/DialogflowCX_agents/gsp929-start-agent.blob
를 입력합니다.
복원을 클릭합니다.
필요한 경우 대화형 에이전트 '복원' 문서를 참고하세요.
이제 이전 실습에서 완료한 모든 것이 포함된 대화형 에이전트 가져오기가 완료되었습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
Conversational Agents(대화형 에이전트) > Flows(흐름)로 이동하여 다음 페이지와 인텐트가 대화형 에이전트에 표시되는지 확인합니다.
페이지:
인텐트:
이제 사용자가 에이전트와 대화하여 항공편 상태를 확인할 수 있는 기능을 추가합니다. 사용자의 예약 참조 번호, 즉 승객 예약 정보(PNR) 번호를 캡처하기 위해 커스텀 정규식 항목을 추가합니다. 정규 표현식(정규식)은 PNR의 고정 형식을 쉽게 지정할 수 있기 때문에 선택되었습니다. 기본 제공 오류 검사가 장점입니다.
항공 산업 전반에서 PNR은 승객의 기본 정보와 항공편 세부정보를 캡처하는 데 사용됩니다. 모든 PNR 레코드에는 영숫자(문자 및 숫자)로 구성되고 길이가 5~6자인 고유한 참조 식별자가 있습니다.
최종 사용자가 PNR 번호를 제공하면 PNR 번호의 규칙을 준수하는지 확인해야 하는데, 이때 커스텀 정규식 항목을 사용하세요.
관리 탭을 클릭합니다.
왼쪽 메뉴에서 항목 유형을 클릭합니다.
+ 만들기를 클릭합니다.
항목의 표시 이름 텍스트 상자에 PNR_Number
를 입력합니다.
Regexp entities(정규식 항목) 체크박스를 선택합니다.
항목 아래의 값 추가 텍스트 상자에 ^[a-zA-Z0-9]{5,6}$
을 입력합니다.
이 정규 표현식은 실제로 무엇을 의미할까요? 대괄호로 묶인 문자 [a-zA-Z0-9]는 대소문자 구분 없이 모든 문자 또는 숫자가 일치함을 의미합니다. {5,6}은 값이 5~6자(영문 기준)여야 함을 의미합니다. $는 문자열의 끝을 의미합니다.
예를 들어 PNR이 XCr942 또는 1f38C일 수 있습니다.
필요에 따라 약간 다른 것을 구성해야 하는 경우 온라인에서 정규식 리소스를 많이 찾을 수 있습니다.
저장을 클릭합니다.
항목을 클릭하면 다음과 같이 표시됩니다.
@PNR_Number
커스텀 항목을 만들었으므로 이제 이 항공편 상태 확인 대화 흐름을 구성하는 인텐트와 페이지를 만듭니다.
왼쪽 메뉴에서 인텐트를 클릭합니다.
+ 만들기를 클릭합니다.
표시 이름에 main.flight_status
를 입력합니다.
Training Phrases(학습 문구) 섹션에서 다음 문구를 추가하고 Enter 키를 누릅니다.
구문 | 주석 |
---|---|
PNR K4P89E, 항공편 상태가 어떻게 되나요? | K4P89E |
PNR은 Z453K9입니다. 아직 정시 출발인가요? | Z453K9 |
내 항공편은 정시 출발이야? | 해당 없음 |
내 항공편의 상태 | 해당 없음 |
예약한 항공편이 정시 운행하는지 알고 싶어. | 해당 없음 |
항공편 상태 확인해 줘. | 해당 없음 |
완료되면 다음과 같이 표시됩니다.
저장을 클릭합니다.
다음으로 main.flight_status 인텐트를 사용하여 새 경로로 시작 페이지를 업데이트하고 후속 페이지를 만들어 이 새로운 대화 흐름을 완성합니다. 시작 페이지에 인텐트와 경로를 추가하면 사용자의 요청이 인식되고 대화형 에이전트가 흐름의 어느 곳에서든 올바르게 반응하도록 트리거할 수 있습니다.
빌드를 클릭하여 전체 흐름을 확인합니다.
시작 페이지를 클릭합니다.
오른쪽 상단에서 경로 오른쪽에 있는 +를 클릭합니다.
인텐트 드롭다운 메뉴에서 main.flight_status를 선택합니다.
전환 섹션까지 아래로 스크롤합니다.
페이지 라디오 버튼이 사용 설정되어 있는지 확인합니다.
페이지 드롭다운 메뉴에서 +new Page(+새 페이지)를 선택합니다.
페이지 이름 상자에 항공편 상태 확인
을 입력합니다.
저장을 클릭합니다.
필요에 따라 경로 구성 창을 닫아 흐름 창을 다시 봅니다.
시작 페이지의 경로 목록에 main.flight_status 인텐트가 표시됩니다. 흐름 창에는 시작에서 항공편 상태 확인 페이지로 이어지는 화살표가 있습니다.
항공편 상태 확인 페이지를 클릭합니다.
파라미터 오른쪽에 있는 +를 클릭합니다.
표시 이름에 pnr_num
을 입력합니다.
항목 유형 드롭다운에서 @PNR_Number를 선택합니다.
아직 사용 설정하지 않았다면 필수를 클릭하여 사용 설정합니다.
파라미터는 다음과 같아야 합니다.
Initial prompt fulfillment(초기 프롬프트 처리) 섹션까지 아래로 스크롤합니다.
Agent responses(에이전트 응답) 아래에 대화 응답을 추가하고 항공편 예약 참조 번호가 무엇인가요?
를 에이전트 대화에 입력합니다.
저장을 클릭합니다.
필요에 따라 파라미터 구성 창을 닫아 흐름 창을 다시 봅니다.
항공편 상태 확인 페이지에서 경로 오른쪽에 있는 +를 클릭합니다.
조건 섹션까지 아래로 스크롤합니다.
파라미터에 $page.params.status
를 입력합니다.
Operand(피연산자)에 =
가 선택되어 있는지 확인합니다.
값에 FINAL
을 입력합니다.
조건은 다음과 유사해야 합니다.
조건 표현식인 "$page.params.status = FINAL"은 사용자로부터 파라미터를 성공적으로 캡처한 후에는 이 페이지에서 더 이상 수행할 작업이 없음을 대화형 에이전트에 알려줍니다.
전환 섹션까지 아래로 스크롤합니다.
페이지 라디오 버튼이 사용 설정되어 있는지 확인합니다.
페이지 드롭다운 메뉴에서 +new Page(+새 페이지)를 선택합니다.
페이지 이름에 항공편 상태 확인
을 입력합니다.
저장을 클릭합니다.
항공편 상태 확인 페이지를 클릭합니다.
Edit fulfillment(처리 수정)를 클릭합니다.
Agent responses(에이전트 응답)에서 대화 응답을 추가하고 에이전트 대화에 메시지를 입력합니다.
저장을 클릭합니다.
경로 오른쪽에 있는 +를 클릭합니다. 이 창을 보려면 오른쪽 구성 창을 닫아야 할 수도 있습니다.
인텐트 드롭다운에서 confirmation.yes를 선택합니다.
처리 섹션까지 아래로 스크롤합니다.
Agent responses(에이전트 응답) 아래에 대화 응답을 추가하고 예약된 항공편을 변경해 달라는 요청에 대해 상담사가 곧 연락드릴 예정입니다
를 에이전트 대화에 입력합니다.
전환 섹션까지 아래로 스크롤합니다.
페이지 라디오 버튼이 사용 설정되어 있는지 확인합니다.
페이지 드롭다운 메뉴에서 +new Page(+새 페이지)를 선택합니다.
페이지 이름에 다른 문의사항이 있으신가요?
를 입력합니다.
저장을 클릭합니다.
이번에는 인텐트 드롭다운에서 confirmation.no를 선택하여 다른 경로를 추가합니다.
이 경로의 Agent responses(에이전트 응답) 아래에 대화 응답을 추가합니다. 네, 곧 만나 뵙기를 바랍니다.
동일한 다른 문의사항이 있으신가요? 페이지에 전환을 추가합니다.
저장을 클릭합니다.
다른 문의사항이 있으신가요? 페이지를 클릭합니다.
클릭하여 Entry fulfillment(항목 처리)를 엽니다.
Agent responses(에이전트 응답) 아래에 대화 응답을 추가하고 더 궁금한 점이 있으신가요?
를 에이전트 대화에 입력합니다.
저장을 클릭합니다.
+를 클릭하여 다른 문의사항이 있으신가요? 페이지에서 경로를 추가합니다.
인텐트 드롭다운에서 confirmation.yes를 선택합니다.
처리의 Agent responses(에이전트 응답) 에 어떤 도움이 필요하신가요?
를 입력합니다.
페이지 라디오 버튼이 사용 설정되어 있는지 확인합니다.
전환 섹션의 페이지에서 시작 페이지를 선택합니다.
저장을 클릭합니다.
이번에는 confirmation.no 인텐트를 지정하여 다른 경로를 추가합니다.
네, 오늘 서비스가 도움이 되었기를 바랍니다. 좋은 하루 되세요.
를 처리 아래의 Agent responses(에이전트 응답)에 추가합니다.
세션 종료 페이지를 전환으로 선택합니다.
저장을 클릭합니다.
Toggle Simulator(시뮬레이터 전환)를 클릭하여 테스트 시뮬레이터를 엽니다.
이상적으로는 예상 결과가 포함된 테스트 데이터를 정의해야 합니다. 테스트 데이터를 정리하는 한 가지 방법은 채팅봇 대화에서 볼 수 있는 것과 마찬가지로 대화 진행 순서대로 정리하는 것입니다.
아래의 테스트 데이터와 유사한 테스트를 에이전트에 대해 한차례 수행합니다.
화자 | 메시지 |
---|---|
사용자 | 항공편 상태 확인해 줘. |
에이전트 | 항공편 예약 참조 번호를 알려주세요. |
사용자 | 1234 |
에이전트 | 항공편 예약 참조 번호를 알려주세요. |
사용자 | abcdefghijk |
에이전트 | 항공편 예약 참조 번호를 알려주세요. |
사용자 | P34K09 |
에이전트 | 항공편 예약 번호 P34K09를 조회 중입니다. |
사용자 | 아니요 |
에이전트 | 네, 곧 만나 뵙기를 바랍니다. 더 궁금한 점이... |
사용자 | 아니요 |
에이전트 | 네, 오늘 서비스가 도움이 되었기를 바랍니다. 좋은 하루 되세요. |
테스트 데이터는 유효한 PNR 번호인 P34K09를 사용하기 전에 의도적으로 1234(너무 짧음)와 abcdefghijk(너무 김)를 사용합니다. 정의한 정규식 표현식으로 인해 사용자가 입력한 처음 두 값은 잘못된 PNR 번호로 간주됩니다. 따라서 에이전트는 파라미터 상태 조건(FINAL)을 충족하고 다음 페이지로 전환할 수 있을 때까지 계속해서 질문합니다.
시뮬레이터 창에 대화에 관한 데이터가 표시됩니다. 예를 들어 페이지 흐름, 일치하는 인텐트, 파라미터 및 채워진 값 등이 있습니다.
재설정 아이콘을 클릭하여 현재 테스트 데이터를 지웁니다. 동일한 테스트를 다시 반복하려는 경우(재활용 아이콘 사용)를 제외하고는 테스트 라운드가 완료될 때마다 이 작업을 수행하는 것이 좋습니다.
이제 흐름이 다른 문의사항이 있으신가요? 페이지에 도달하면 아니요
라고 대답하는 대신 예
라고 대답합니다.
이번에는 네거티브 테스트 방식으로 에이전트에서 다른 테스트를 시작합니다. 예를 들면 다음과 같습니다.
화자 | 메시지 |
---|---|
사용자 | 항공편 상태 확인해 줘. |
에이전트 | 항공편 예약 참조 번호를 알려주세요. |
사용자 | PN34K5 |
에이전트 | 항공편 예약 번호 PN34K5를 조회 중입니다. |
사용자 | 아니요 |
에이전트 | 네, 곧 만나 뵙기를 바랍니다. 더 궁금한 점이... |
사용자 | 예 |
에이전트 | 어떤 도움이 필요하신가요? |
사용자 | 항공편 상태 확인해 줘. |
에이전트 | 항공편 예약 번호 PN34K5를 조회 중입니다. |
pnr_num
파라미터를 재설정하거나 무효화해야 합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
다른 문의사항이 있으신가요? 페이지를 클릭합니다.
항목 처리 필드를 클릭하여 처리 구성 창을 엽니다.
Parameter presets(파라미터 프리셋) 섹션까지 아래로 스크롤합니다.
파라미터 추가를 클릭합니다.
Parameter presets(파라미터 프리셋) 아래의 파라미터 이름에 pnr_num
을 입력합니다.
값에 null
을 입력합니다.
저장을 클릭합니다.
테스트를 다시 실행하여 모든 파라미터가 null로 재설정되었는지 확인합니다. 이렇게 하면 대화가 다시 시작될 때 에이전트가 새 값을 다시 묻게 됩니다.
다른 문의사항이 있으신가요? 페이지는 다음과 같이 표시됩니다.
다른 문의사항이 있으신가요? 페이지는 이 실습의 시작 부분에서 가져온 항공편 예약 대화 흐름에 재사용할 수 있습니다. 예상되는 결과는 사용자가 쿼리 끝에 대화를 계속할 것을 요청하는 경우 대화형 에이전트가 대화를 계속할 수 있다는 것입니다.
여정 확인 페이지를 클릭합니다.
confirmation.yes 경로를 클릭합니다.
다른 문의사항이 있으신가요? 페이지에 전환을 추가합니다.
저장을 클릭합니다.
항공편 상태 확인 테스트를 다시 실행하여 pnr_num
파라미터가 null로 재설정되었는지 확인합니다. 이렇게 하면 사용자가 다른 항공편을 확인하려는 경우 에이전트가 새 값을 다시 묻습니다.
이제 항공편 예약 테스트 시나리오를 완료하고 항공편을 예약합니다. 다른 문의사항이 있으신가요? 부분에 도달하면 예
라고 대답하고 새 항공편 예약을 시작합니다.
항공편 상태 확인 시나리오와 마찬가지로 항공편 예약 파라미터를 null로 재설정해야 합니다.
다른 문의사항이 있으신가요? 페이지를 클릭합니다.
Entry fulfillment(항목 처리)를 클릭합니다.
다음과 같이 파라미터를 추가하고 pnr_num
파라미터와 마찬가지로 null로 설정합니다.
파라미터 | 값 |
---|---|
departure_city | null |
destination_city | null |
departure_date | null |
return_date | null |
passenger_name | null |
저장을 클릭합니다.
정보가 정확한지 묻는 질문에 아니요
라고 답할 때 모든 파라미터가 null로 재설정되는지 확인하기 위해 테스트를 다시 실행합니다.
배운 내용 확인
대화형 에이전트를 내 프로젝트에서 사용하기 위해 내보내려면 다음 단계를 따르세요.
상단의 에이전트 드롭다운에서 모든 에이전트 보기를 선택합니다.
컨텍스트 메뉴(세로로 나열된 점 3개 )를 클릭하고 내보내기를 선택합니다.
다운로드 라디오 버튼을 클릭합니다.
내보내기를 클릭합니다.
이제 정규 표현식을 사용하여 PNR 번호에 대한 파라미터 검증을 수행하고 사용자가 새로운 대화 흐름을 시작할 때 파라미터를 null로 재설정하는 방법을 알게 되었습니다.
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2025년 4월 24일
실습 최종 테스트: 2025년 4월 24일
Copyright 2025 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.