Dialogflow ES 에이전트 만들기
Dialogflow ES 콘솔을 사용하여 에이전트를 빌드하고 테스트합니다.
시작하기 전에
시작하기 전에 다음 단계를 완료하세요.
- Dialogflow 기본사항 읽기
- 설정 단계를 완료합니다.
에이전트 만들기
- Dialogflow ES 콘솔로 이동합니다.
- 메시지가 표시되면 Dialogflow 콘솔에 로그인합니다. 자세한 내용은 Dialogflow 콘솔 개요를 참고하세요.
- 사이드바 메뉴에서 에이전트 를 클릭합니다.
- 배포된 에이전트 탭을 선택합니다.
- 에이전트 만들기 를 클릭합니다.
- 에이전트 이름, 기본 언어, 기본 시간대를 입력합니다.
- 기존 프로젝트를 입력합니다. Dialogflow 콘솔에서 프로젝트를 만들도록 하려면 새 Google 프로젝트 만들기를 선택합니다.
- 만들기 를 클릭합니다.
인텐트
인텐트는 한 번의 대화 차례를 위한 최종 사용자의 의도를 분류합니다. 에이전트마다 전체 대화를 함께 처리하는 여러 인텐트를 정의합니다.
기본 인텐트
에이전트를 만들 때 Dialogflow는 두 가지 기본 인텐트를 만듭니다.
- 기본 시작 인텐트: 이 인텐트는 최종 사용자가 에이전트와 대화를 시작할 때 일치합니다. 에이전트가 하는 일이나 대화를 시작하기 위해 말할 수 있는 내용을 최종 사용자에게 알리는 응답을 반환합니다.
- 기본 대체 인텐트: 이 인텐트는 에이전트가 최종 사용자 표현을 다른 인텐트와 일치시킬 수 없을 때 일치합니다.
이러한 인텐트를 보려면 에이전트의 인텐트 목록으로 이동합니다.
- Dialogflow ES 콘솔로 이동합니다.
- 만든 에이전트를 선택합니다.
- 사이드바 메뉴에서 인텐트 를 클릭합니다.
Dialogflow 콘솔 중간에 에이전트의 인텐트 목록이 표시됩니다.

기본 대체 인텐트 테스트

Dialogflow 시뮬레이터는 콘솔 오른쪽에 있습니다. 시뮬레이터를 사용하여 메시지를 말하거나 입력해서 에이전트를 테스트할 수 있습니다.
지금 에이전트를 시험해 봅니다.
- 지금 사용해 보기 필드를 클릭합니다.
What is your name?을 입력합니다.- Enter 키를 누릅니다.
에이전트 응답이 기본 응답 섹션에 표시됩니다. 사용자 입력과 일치된 인텐트가 없으므로 기본 대체 인텐트가 일치되었고 기본 응답 중 하나를 수신했습니다.
인텐트 만들기
이 섹션의 단계에서는 'What is your name?'이라는 질문에 답변하는 인텐트를 만듭니다. 인텐트마다 다수의 학습 문구를 정의합니다. 학습 문구는 최종 사용자가 에이전트에 입력하거나 말할 수 있는 문구의 예시로, 최종 사용자 표현이라고도 합니다. Dialogflow가 표현을 인텐트에 일치시키는 데 도움이 되는 학습 문구를 정의합니다.
인텐트 만들기:
- 사이드바 메뉴의 인텐트 옆에 있는 인텐트 추가(add) 버튼을 클릭합니다.
- 인텐트 이름 필드에
get-agent-name을 입력합니다. - 학습 문구 섹션에서 학습 문구 추가 를 클릭합니다.
다음 학습 문구를 입력합니다.
What is your name?Do you have a name?Tell me your name

응답 섹션의 텍스트 응답 섹션에 다음을 입력합니다.
My name is Dialogflow!

저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
인텐트 테스트

시뮬레이터에서 What's your name?을 입력하고 Enter 키를 누릅니다.
표현이 제공된 학습 문구와 약간 다르지만 에이전트가 표현에 올바르게 응답합니다.
Dialogflow는 학습 문구를 머신러닝 모델의 예시로 사용하여 최종 사용자 표현을 인텐트에 일치시킵니다. 이 모델은 사용자의 표현을 에이전트의 모든 인텐트와 대조하며 확인하여 각 인텐트에 점수를 부여합니다. 그리고 가장 점수가 높은 인텐트가 일치됩니다. 가장 점수가 높은 인텐트에 매우 낮은 점수가 매겨지면 대체 인텐트가 일치됩니다.
매개변수 및 항목
런타임 시 인텐트가 일치할 때 Dialogflow는 최종 사용자 표현에서 추출된 값을 매개변수로 제공합니다. 각 매개변수에는 데이터가 정확히 어떻게 추출되는지를 나타내는 항목 유형이라는 유형이 있습니다. 원시 최종 사용자 입력과 달리 매개변수는 일부 로직을 수행하거나 응답을 생성할 때 손쉽게 사용할 수 있는 구조화된 데이터입니다.에이전트를 빌드할 때 데이터 추출 방식을 제어하려면 학습 문구의 일부를 주석 처리하고 관련 매개변수를 구성합니다.
매개변수 만들기
인텐트 매개변수를 만듭니다.
- 사이드바 메뉴의 인텐트 옆에 있는 더하기() 버튼 을 클릭합니다.
- 인텐트 양식 맨 위에서 인텐트 이름을
set-language로 지정합니다. - 다음 학습 문구를 추가합니다.
I know EnglishI speak FrenchI know how to write in German
저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.

Dialogflow는 학습 문구에서 시스템 항목으로 인식되는 매개변수를 자동으로 감지합니다. 시스템 항목은 Dialogflow에서 위치, 색, 날짜와 같은 여러 일반적인 데이터 유형에 제공하는 항목입니다.
학습 문구를 추가하면 Dialogflow는 작업 및 매개변수 테이블에 행을 만듭니다.

- 필수: 선택되지 않음. 이 매개변수는 선택사항입니다.
- 매개변수 이름: 언어로 인식되므로
language라는 이름이 자동으로 지정됩니다. - 항목:
@sys.language시스템 항목으로 인식됩니다. - 값: 이 매개변수의 값을 참조할 때 사용하는 식별자입니다.
- 목록: 선택되지 않음. 이 매개변수는 목록이 아닙니다.
응답에 매개변수 데이터 사용
매개변수 값을 응답에 사용할 수 있습니다. 예를 들어 에이전트를 빌드할 때 응답에서 $language 매개변수 참조를 사용할 수 있습니다. 런타임 시 에이전트는 이를 최종 사용자 표현에 지정된 언어로 대체합니다.
매개변수를 사용하는 응답을 추가합니다.
- 응답 섹션으로 이동합니다.
- 텍스트 응답 섹션에서 다음을 추가합니다.
Wow! I didn't know you knew $language. - 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
매개변수 테스트

시뮬레이터에서 I know Russian을 입력합니다. Dialogflow는 Russian 값을 사용하여 language 매개변수를 올바르게 추출하며 응답에서 매개변수 참조가 사용된 위치에 Russian이 올바르게 삽입되었음을 알 수 있습니다.
고유한 항목 만들기
대부분의 경우 시스템 항목에서 제공하지 않는 특정 데이터를 사용자로부터 수집해야 합니다. 커스텀 항목을 만들어 이러한 데이터를 처리할 수 있습니다.
커스텀 항목 만들기:
- 사이드바 메뉴의 항목 옆에 있는 항목 추가 버튼을 클릭합니다.
- 항목 이름으로
language-programming을 입력합니다. 다음 항목(행)을 추가합니다.
참조 값 동의어 자바스크립트 자바스크립트, js, ECMAScript 자바 Java Python Python, py 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.

Dialogflow는 복수 및 대소문자와 같은 간단한 사례를 처리할 수 있습니다. 항목에 가능한 모든 동의어를 추가합니다. 동의어를 많이 추가할수록 에이전트가 항목을 더 잘 식별할 수 있습니다.
새 항목 사용
새 항목을 사용하는 학습 문구를 set-language 인텐트에 추가합니다.
- 사이드바 메뉴에서 인텐트 를 클릭합니다.
set-language인텐트를 클릭합니다.- 다음 학습 문구를 추가합니다.
I know javascriptI know how to code in Java
- 이 학습 문구의 프로그래밍 언어는 자동으로 주석 처리되고 작업 및 매개변수 섹션의 매개변수에 추가됩니다.
- 응답 섹션에서 두 번째 텍스트 응답
$language-programming is an excellent programming language를 추가합니다. - 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
새 항목 테스트

시뮬레이터에서 I know how to code in py를 입력합니다. Dialogflow는 language-programming 매개변수에 대해 py를 올바르게 추출하고 이를 Python 항목으로 식별하며 응답에 값을 삽입합니다.
컨텍스트
대화의 흐름을 제어하려면 컨텍스트를 사용하면 됩니다.
후속 조치 인텐트 추가
후속 조치 인텐트를 사용하면 컨텍스트를 수동으로 만들고 관리하지 않고도 대화를 제어할 수 있습니다.
후속 조치 인텐트를 만들면 출력 컨텍스트 가 상위 인텐트에 추가되며 같은 이름의 입력 컨텍스트 가 하위 인텐트에 추가됩니다. 즉, 후속 조치 인텐트는 이전 대화 차례에서 상위 인텐트가 일치한 경우에만 일치된다는 의미입니다.
커스텀 후속 조치 인텐트를 set-language 인텐트에 추가합니다.
- 이전 단계에서 만든
set-language인텐트를 선택합니다. - 응답 섹션에서 텍스트 응답을 업데이트합니다.
Wow! I didn't know you knew $language. How long have you known $language?
- 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
- 사이드바 메뉴에서 인텐트 를 클릭합니다.
- 커서를
set-language인텐트로 가져가 후속 조치 인텐트 추가 를 클릭합니다. - 목록에서 커스텀 을 클릭합니다.
- 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
Dialogflow는 자동으로 후속 조치 인텐트 이름을 set-language - custom으로 지정합니다.

후속 조치 인텐트를 사용한 인텐트 일치
후속 조치 인텐트는 상위 인텐트가 일치된 후에만 일치됩니다.
인텐트는 set-language
인텐트 후에만 일치되므로 사용자에게 'How long have you known
$language?'라는 질문이 방금 전달되었습니다.set-language - custom 이 질문에 예상 가능한 사용자 답변에 대한 학습 문구를 추가합니다.
- 사이드바 메뉴에서 인텐트 를 클릭합니다.
set-language - custom인텐트를 클릭합니다.- 다음 학습 문구를 추가합니다.
3 yearsabout 4 daysfor 5 years
- 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
후속 조치 인텐트 테스트
시뮬레이터에 I know French를 입력한 다음 질문 How long have you known French에 about 2 weeks로 답변합니다.
두 번째 표현 (about 2 weeks)에 대한 응답이 없지만 표현이 올바른 인텐트(set-language - custom)와 일치하고 기간 매개변수가 올바르게 파싱(2 weeks)된 것을 확인할 수 있습니다.
인텐트 및 컨텍스트
set-language 인텐트를 검사하여 set-language-followup이 2로 시작하는 출력 컨텍스트로 나열되는지 확인합니다. 이 숫자를
수명이라고 합니다.

set-language 인텐트가 일치하면 set-language-followup 컨텍스트
가 활성화되어 차례 2회 동안 대화에 연결됩니다 (수명 2).
따라서 How long have you known $language?와 같은 질문에 답변할 때 set-language-followup 컨텍스트가 활성화됩니다.
set-language - custom 인텐트를 검사하여 set-language-followup
이
set-language 인텐트의 출력 컨텍스트와 동일한 입력 컨텍스트로 나열되는지 확인합니다.
활성 컨텍스트와 일치하는 입력 컨텍스트가 있는 인텐트는 Dialogflow에서 인텐트를 일치할 때 우선적으로 고려됩니다.
컨텍스트 및 매개변수
컨텍스트는 매개변수 값을 저장하며 출력 컨텍스트가 활성화되면 개발자는 set-language 인텐트에서 정의된 매개변수 값에 액세스할 수 있습니다. set-language - custom 인텐트에서는 참조된 언어 자체가 아니라 사용자가 언어를 알고 있는 기간만 요청했습니다.
응답에서 언어를 참조하려면 다음 안내를 따르세요.
set-language - custom인텐트 텍스트 응답을I can't believe you've known #set-language-followup.language for $duration!으로 업데이트합니다.- 저장 버튼을 클릭하고 에이전트 학습 대화상자가 학습이 완료되었음을 표시할 때까지 기다립니다.
#set-language-followup.language 참조는 활성 컨텍스트의
매개변수 참조입니다.
컨텍스트 매개변수 테스트
시뮬레이터에 I know French를 입력한 다음 질문에 1 week로 답변합니다. language 파라미터 값이 컨텍스트에서 검색되는 것을 볼 수 있습니다.
프로덕션
프로덕션에서 에이전트를 실행하기 전에 프로덕션 권장사항을 구현합니다.
다음 단계
Fulfillment 빠른 시작을 사용해 봅니다.