변수 사용
변수를 사용하여 고객의 응답을 저장하고 나중에 대화에서 콘텐츠를 재사용할 수 있습니다.
또한 변수를 사용하여 고객을 다른 대화 경로로 동적으로 라우팅하는 논리 식을 작성할 수 있습니다. 예를 들어, UserName
이라는 변수에 고객의 이름을 저장하면 에이전트는 대화가 계속되는 동안 고객을 이름으로 부를 수 있습니다.
변수는 다른 토픽 및 Power Automate 흐름으로 전달 및 반환될 수도 있습니다.
변수는 4가지 수준 또는 범위에서 존재할 수 있습니다.
- 토픽 변수는 해당 변수가 생성된 주제에서만 사용할 수 있습니다. 이 범위는 생성하는 변수의 기본값입니다.
- 전역 변수 는 모든 주제에서 사용할 수 있습니다. 토픽 변수의 범위를 변경하여 전역 변수로 만들 수 있습니다.
- 시스템 변수 는 에이전트.exe를 사용하여 자동으로 생성됩니다. 대화 또는 사용자에 대한 더 많은 상황 정보를 제공합니다. 모든 토픽에서 사용할 수 있습니다.
- 환경 변수는 에서 생성되고 Power Platform 에서 읽기 전용입니다. Copilot Studio 여기에는 Copilot Studio를 포함한 다양한 다른 애플리케이션 개체에 대한 입력으로 사용되는 매개 변수 키와 값이 저장됩니다. 사용 개체에서 매개 변수를 분리하면 동일한 환경 내에서 또는 솔루션을 다른 환경으로 마이그레이션할 때 값을 변경할 수 있습니다. 대안은 이를 사용하는 구성 요소 내에 하드 코딩된 매개 변수 값을 남겨 두는 것입니다.
변수 유형
변수는 기본 유형과 연결됩니다. 유형에 따라 변수에 포함될 수 있는 값과 논리식을 구성할 때 사용할 수 있는 연산자가 결정됩니다.
Type | Description |
---|---|
String | 텍스트를 나타내는 데 사용되는 일련의 문자 |
부울 | true 또는 false 만 가능한 논리 값 |
숫자 | 임의의 실수 |
테이블 | 값 목록이지만 모든 값은 동일한 유형이어야 합니다. |
녹음 | 값이 모든 유형일 수 있는 이름-값 쌍의 모음입니다. |
날짜/시간 | 특정 시점을 기준으로 한 날짜, 시간, 요일 또는 월입니다. |
선택 항목 | 연관된 동의어가 있는 문자열 값 목록 |
빈 템플릿 | "값 없음" 또는 "알 수 없는 값"에 대한 자리 표시자 자세한 내용은 Power Fx의 공백을 참조하세요. |
변수의 유형은 값이 처음 할당될 때 설정됩니다. 그 후에는 해당 변수의 유형이 고정되고 다른 유형의 값을 할당할 수 없습니다. 예를 들어 시작 값이 1
인 변수에는 숫자 유형이 할당됩니다. String 값 "apples"
에 할당하려고 하면 오류가 발생합니다.
에이전트를 테스트할 때 변수가 일시적으로 유형 알 수 없음으로 나타날 수 있습니다. 알려지지 않은 변수에 아직 값이 할당되지 않았습니다.
변수의 순서는 제작 캔버스의 위에서 아래로 결정됩니다. 작성 캔버스의 맨 위에 있는 노드는 맨 아래에 있는 노드보다 먼저 고려됩니다.
조건 노드로 분기를 생성하면 분기는 왼쪽에서 오른쪽으로 정렬됩니다. 가장 왼쪽 가지의 노드는 가장 오른쪽 가지의 노드보다 먼저 고려됩니다.
엔터티
Copilot Studio는 엔터티를 사용하여 사용자의 응답에서 특정 유형의 정보를 식별합니다. 식별된 정보는 해당 정보에 적합한 유형의 변수에 저장됩니다. 다음 표는 미리 작성된 엔터티와 관련된 변수 기본 유형을 나열합니다.
Entity | 변수 기본 유형 |
---|---|
다중 선택 옵션 | 선택 항목 |
사용자의 전체 응답 | String |
나이 | 숫자 |
부울 | 부울 |
시/군/구 | String |
색상 | String |
대륙 | String |
국가 또는 지역 | String |
날짜 및 시간 | 날짜/시간 |
String | |
이벤트 | String |
Integer | Integer |
언어 | String |
Money | 숫자 |
숫자 | 숫자 |
서수 | 숫자 |
조직 | String |
백분율 | 숫자 |
인물 이름 | String |
전화번호 | String |
관심 지점 | String |
속도 | 숫자 |
시 | String |
상세 주소 | String |
Temperature | 숫자 |
URL | String |
두께 | 숫자 |
우편 번호 | String |
사용자 지정 엔터티 | 선택 항목 |
변수 만들기
질문 노드와 같이 변수를 출력으로 선택하라는 프롬프트를 표시하는 모든 노드는 적절한 유형의 출력 변수를 자동으로 생성합니다.
팁
식별하기 쉽도록 노드 이름을 바꾸세요. 노드의 이름 필드를 선택하여 이름을 직접 업데이트하거나, 노드의 더보기 아이콘(…)을 선택하고 메뉴에서 이름 바꾸기를 선택합니다. 코드 편집기에서 노드 이름을 바꿀 수도 있습니다.
트리거 노드와 단계로 이동 노드의 이름을 바꾸는 것은 불가능합니다.
노드 이름은 최대 500자까지 가능합니다.
사용할 엔터티 선택
질문 노드는 기본적으로 다중 선택형 옵션으로 생성됩니다. 다른 사전 구축된 엔터티나 사용자 지정 엔터티를 사용하려면 식별 상자를 선택하고 에이전트가 수신해야 하는 정보 유형을 선택합니다.
변수 이름 변경
변수를 생성하면 변수에 자동으로 이름이 할당됩니다. 가장 좋은 방법은 다른 사람들이 에이전트.js 파일을 유지 관리해야 할 때 변수의 목적을 명확하게 알 수 있도록 변수에 의미 있는 이름을 지정하는 것입니다.
변수 속성 창에서 열려는 변수를 선택합니다.
변수 이름에 변수의 새 이름을 입력합니다.
변수 설정
일반적으로 Question 노드를 사용하여 사용자 입력을 변수에 저장합니다. 하지만 값을 직접 설정하려는 상황도 있을 수 있습니다. 이러한 경우 변수 값 설정 노드를 사용합니다.
노드 추가(+)를 선택하여 노드를 추가한 후, 변수 관리>변수 값 설정을 선택합니다.
변수 설정 아래의 상자를 선택한 다음 새 변수 만들기를 선택합니다.
새 변수가 생성됩니다. 값을 할당할 때까지는 유형은 알 수 없음입니다.
값 대상에 다음 옵션 중 하나를 사용하여 값을 할당합니다.
- 리터럴 값을 입력합니다.
- 동일한 유형의 기존 변수를 선택합니다. 이 조치는 변수를 선택한 변수와 동일한 값으로 설정합니다.
- Power Fx 수식을 사용합니다. Power Fx 수식은 테이블 및 레코드 유형과 같이 리터럴 값을 사용할 수 없는 보다 복잡한 유형에 유용합니다.
참고
문자열 유형 변수를 설정하는 동안 변수 설정 과 값 설정 사이에 불일치가 발생하면 오류 메시지와 유형 불일치 수정 버튼가 나타납니다. 버튼를 선택하면 불일치를 해결하는 Copilot Studio 수식 Power Fx 이 자동으로 생성됩니다.
리터럴 값 사용
변수 값을 선택하는 대신 임의의 변수에 리터럴 값을 입력할 수 있습니다.
노드는 리터럴 값을 문자열, 숫자 또는 부울로 해석하려고 시도합니다. 예를 들어 123
은 숫자로 해석됩니다. 대신 문자열 값으로 해석하려면 다음과 같이 값을 큰따옴표로 묶을 수 있습니다. "123"
.
일부 시나리오 또는 더 복잡한 유형을 사용하는 경우 Power Fx 수식을 사용하여 특정 유형을 설정하세요.
변수 창
변수 창은 변수가 정의되거나 사용되는 노드에 관계없이 토픽에서 사용 가능한 모든 변수를 볼 수 있는 곳입니다. 각 변수에 대해 다른 토픽에서 해당 값을 받을 수 있는지, 다른 토픽에 해당 값을 반환할 수 있는지 또는 두 가지 모두를 선택할 수 있습니다. 변수 속성 창에서 속성을 편집할 변수를 선택할 수도 있습니다.
변수 창을 열려면 항목의 메뉴 표시줄에서 변수를 선택합니다.
변수 속성 창
변수 속성 창에서 변수 이름을 바꾸거나 변수가 사용되는 위치를 확인하거나 전역 변수로 변환할 수 있습니다. 그러나 전역 변수에서 다시 토픽 변수로 변환할 수는 없습니다. 또한 다른 토픽에서 값을 받거나 값을 전달할 수 있는지 여부를 선택할 수 있습니다.
변수 속성 창을 열려면 변수 창에서 변수를 선택합니다. 노드에서 변수를 선택하여 변수 속성 창을 열 수도 있습니다.
환경 변수
환경 변수는 개념입니다. Power Platform 환경 변수는 Power Platform 환경 간에 애플리케이션을 이동하는 기본 ALM(애플리케이션 수명 주기 관리) 시나리오를 활성화합니다. 이 시나리오에서 애플리케이션은 소스 환경과 대상 환경 사이에 몇 가지 주요 외부 참조가 다르다는 점을 제외하고는 정확히 동일하게 유지됩니다.
환경 변수는 토픽, 전역, 시스템 변수와 같은 방식으로 사용합니다. 주목할 만한 차이점은 환경 변수를 읽기 전용 모드에서만 사용할 수 있다는 것입니다. 에이전트 작성자는 Copilot Studio의 환경 변수를 수정할 수 없습니다. 하지만 관리자는 PowerApps 포털에서 환경 변수의 값을 변경할 수 있습니다.
Copilot Studio의 환경 변수 유형은 다음과 같이 PowerApps 데이터 유형에 매핑됩니다.
Copilot Studio의 유형 | PowerApps의 유형 |
---|---|
10진수 | 숫자 |
JSON | 값에서 유형을 감지합니다. Json이 아니면 => 지정되지 않음(유효성 검사 오류) |
문자 | string |
예/아니요 | 부울 |
Data source | string |
암호 | String |
참고
환경 변수 오류는 테스트 채팅 및 게시 시 표시됩니다. 그러나 이러한 오류는 토픽 변수가 아니기 때문에 토픽 목록에 표시되지 않습니다.
Copilot Studio에서는 환경 변수를 작성하거나 편집할 수 없습니다. 환경 변수를 변경하거나 설정하려면 PowerApps 포털을 사용해야 합니다. Copilot Studio에서 변수 창을 사용하여 환경 변수에 대한 정보를 볼 수 있습니다. 변수 창에는 기본 작성 환경에 대한 링크도 있습니다.
Azure Key Vault 암호에 환경 변수 사용
환경 변수는 Key Vault의 비밀을 참조할 수 있습니다. 이는 고유한 고려 사항이 있는 환경 변수의 특수한 케이스입니다.
PowerApps 포털에서 비밀 환경 변수를 만들려면 해당 Key Vault를 구성해야 합니다.
위의 구성 외에도 Copilot Studio가 이 Key Vault를 읽을 수 있도록 권한을 부여하려면 다음 작업을 수행해야 합니다.
Key Vault Secrets User
역할을Microsoft Virtual Agents Service
애플리케이션에 할당합니다.환경의 모든 에이전트가 비밀에 접근할 수 있도록 권한을 부여하려면 비밀에 태그
AllowedEnvironments
를 만들고 허용된 환경 ID를 쉼표로 구분하여 추가합니다.환경의 특정 에이전트만 이 Key Vault를 사용하도록 권한을 부여하려면 태그
AllowedAgents
를 생성하고 에이전트 식별자를 형식{envId}/{schemaName}
으로 입력합니다. 값이 여러 개인 경우 쉼표로 값을 구분합니다.
문자 수가 최대치에 도달했지만 여전히 에이전트를 추가해야 하는 경우 설명적이지만 고유한 이름으로 다른 태그를 추가하세요(예: AllowedAgents2
).
비밀 값은 대화 런타임에 5분 동안 캐시됩니다. 실패한 읽기는 30초 동안 캐시됩니다.
경고
에이전트에 비밀을 추가하면 환경에서 에이전트를 편집할 수 있는 모든 사용자에게 이 비밀의 값이 노출될 수 있습니다. 이러한 사용자는 에이전트를 편집하여 SendMessage
노드에서 값을 반환할 수 있기 때문입니다.
시스템 변수
모든 에이전트에는 대화에 대한 추가 정보를 제공하는 기본 시스템 변수가 함께 제공됩니다.
참고
음성 활성화 에이전트 변수에 대한 자세한 내용은 음성 변수 사용을 참조하세요.
일부 시스템 변수는 목록에 표시되지 않습니다. Power Fx 수식을 사용하여 이러한 숨겨진 시스템 변수에 액세스해야 합니다.
Power Fx 수식에서 시스템 변수를 사용하려면 변수 이름 앞에 System.
을 추가해야 합니다. 예를 들어 시스템 변수 User.DisplayName
을 수식에 포함하려면 System.User.DisplayName
이라고 합니다.
입력 | Type | 정의 |
---|---|---|
Activity.Attachments |
테이블 | 사용자가 제공한 파일 첨부 |
Activity.Channel |
선택 항목 | 현재 대화의 채널 ID |
Activity.ChannelData |
모두 | 채널별 콘텐츠가 포함된 개체 |
Activity.ChannelId |
string | 현재 대화의 채널 ID(문자열) |
Activity.From.Id |
string | 보낸 사람의 채널별 고유 ID |
Activity.From.Name |
string | 보낸 사람의 채널별 사용자 식별 이름 |
Activity.Name |
string | 이벤트의 이름 |
Activity.Recipient.Id |
string | 수신 활동의 Type 속성입니다. |
Activity.Recipient.Name |
string | 채널 내의 에이전트에 대한 표시 이름를 나타냅니다. 전화 채널 컨텍스트에서 이 변수의 값은 에이전트가 연결된 전화 번호가 됩니다. |
Activity.Text |
string | 사용자가 보낸 가장 최근 메시지 |
Activity.Type |
선택 항목 | 활동의 유형 |
Activity.TypeId |
string | 활동의 유형(문자열) |
Activity.Value |
모두 | 열린-종료된 값 |
Bot.EnvironmentId |
string | 에이전트의 환경 ID |
Bot.Id |
string | 에이전트의 ID |
Bot.Name |
string | 에이전트의 이름 |
Bot.SchemaName |
string | 에이전트의 스키마 이름 |
Bot.TenantId |
string | 에이전트의 테넌트 ID |
ClientPluginActions |
선택 항목 | 생성적 오케스트레이션을 고려하기 위한 동적 클라이언트 플러그인 작업 모음 |
Conversation.Id |
string | 현재 대화의 고유 ID |
Conversation.InTestMode |
boolean | 대화가 테스트 캔버스에서 발생하고 있는지 여부를 나타내는 부울 플래그 |
Conversation.LocalTimeZone |
string | IANA 표준 시간대 데이터베이스 형식으로 사용자가 사용할 표준 시간대의 이름 |
Conversation.LocalTimeZoneOffset |
datetime | 현재 로컬 시간대에 대한 UTC로부터의 시간 오프셋 |
Error.Code |
string | 현재 오류에 대한 오류 코드입니다. 참고: 이 변수는 트리거가 |
Error.Message |
string | 현재 오류에 대한 오류 메시지입니다. 참고: 이 변수는 트리거가 |
FallbackCount |
번호 | 이 변수는 토픽이 사용자 입력과 일치하지 않는 횟수를 계산합니다. 참고: 이 변수는 트리거가 |
InactivityTimer.Continue |
boolean | 타이머를 계속해야 하는지 여부를 나타내는 부울 플래그입니다. 참고: 이 변수는 트리거가 |
InactivityTimer.Count |
번호 | 구성된 시간이 지난 후 사용자가 활동하지 않아 OnInactivity 타이머가 실행된 횟수입니다. 참고: 이 변수는 트리거가 |
LastMessage.Id |
string | 사용자가 이전에 보낸 메시지의 ID |
LastMessage.Text |
string | 사용자가 이전에 보낸 메시지 |
Recognizer.ExtractedEntities |
선택 항목 | 트리거 메시지에서 추출된 엔터티를 나타냅니다. 참고: 이 변수는 트리거가 |
Recognizer.IntentOptions |
선택 항목 | 인식기가 모호한 결과를 반환할 때의 의도 옵션을 나타냅니다. 참고: 이 변수는 트리거가 |
Recognizer.SelectedIntent |
선택 항목 | 인식기에서 선택된 의도를 나타냅니다. 참고: 이 변수는 트리거가 |
Recognizer.TriggeringMessage.Id |
string | 현재 토픽을 트리거한 사용자 메시지의 ID |
Recognizer.TriggeringMessage.Text |
string | 현재 토픽을 트리거한 사용자 메시지 |
Recognizer.MultipleTopicsMatchedReason |
string | 여러 주제가 일치하는 이유를 확인하는 데 사용됩니다. 참고: 이 변수는 트리거가 |
User.Language |
선택 항목 | 이 변수는 대화당 사용자 언어 로캘을 설정하는 데 사용됩니다. |
SignInReason |
선택 항목 | 토픽을 트리거할 때 필요한 로그인 옵션을 결정하는 데 사용됩니다. 참고: 이 변수는 트리거가 |
통합 인증을 위한 변수(기본값)
에이전트를 Microsoft로 인증하도록 구성한 경우 다음 변수를 사용할 수 있습니다. 이렇게 하면 Entra ID 인증이 사용되며 Teams 및 PowerApps 채널만 허용됩니다. 이는 새로운 에이전트의 기본값입니다.
자세한 내용은 인증 변수를 참조하세요.
입력 | Type | 정의 |
---|---|---|
User.DisplayName |
string | 현재 에이전트와 대화하는 사용자의 표시 이름입니다. |
User.Email |
string | 현재 에이전트와 대화 중인 사용자의 이메일 주소입니다. |
User.FirstName |
string | 현재 에이전트와 대화하는 사용자의 이름입니다. |
User.Id |
string | 현재 에이전트와 대화하는 사용자의 고유 ID입니다. |
User.IsLoggedIn |
boolean | 부울 현재 에이전트와 대화하는 사용자가 인증되었는지 여부를 나타내는 플래그입니다. |
User.LastName |
string | 현재 에이전트와 대화하는 사용자의 성입니다. |
User.PrincipalName |
string | 현재 에이전트와 대화하고 있는 사용자의 사용자 주체 이름입니다. |
Generic OAuth 2를 사용한 수동 인증을 위한 변수
에이전트를 Generic OAuth 2 서비스 공급자를 사용하도록 구성한 경우 다음 변수를 사용할 수 있습니다.
입력 | Type | 정의 |
---|---|---|
User.AccessToken |
string | 에이전트를 사용하여 인증하는 사용자를 위한 액세스 토큰입니다. |
User.DisplayName |
string | 현재 에이전트와 대화하는 사용자의 표시 이름입니다. |
User.Id |
string | 현재 에이전트와 대화하는 사용자의 고유 ID입니다. |
User.IsLoggedIn |
boolean | 부울 현재 에이전트와 대화하는 사용자가 인증되었는지 여부를 나타내는 플래그입니다. |
Microsoft Entra ID를 사용한 수동 인증을 위한 변수
에이전트를 Microsoft Entra ID(이전 Azure Active Directory) 서비스 공급자를 사용하도록 구성한 경우 다음 변수를 사용할 수 있습니다.
입력 | Type | 정의 |
---|---|---|
User.AccessToken |
string | 에이전트를 사용하여 인증하는 사용자를 위한 액세스 토큰입니다. |
User.DisplayName |
string | 현재 에이전트와 대화하는 사용자의 표시 이름입니다. |
User.Email |
string | 현재 에이전트와 대화 중인 사용자의 이메일 주소입니다. |
User.FirstName |
string | 현재 에이전트와 대화하는 사용자의 이름입니다. |
User.Id |
string | 현재 에이전트와 대화하는 사용자의 고유 ID입니다. |
User.IsLoggedIn |
boolean | 부울 현재 에이전트와 대화하는 사용자가 인증되었는지 여부를 나타내는 플래그입니다. |
User.LastName |
string | 현재 에이전트와 대화하는 사용자의 성입니다. |
User.PrincipalName |
string | 현재 에이전트와 대화하고 있는 사용자의 사용자 주체 이름입니다. |
음성 지원 에이전트를 위한 변수
다음 변수는 음성 지원 에이전트에서만 사용할 수 있습니다.
참고
음성 활성화 에이전트 변수에 대한 자세한 내용은 음성 변수 사용을 참조하세요.
입력 | Type | 정의 |
---|---|---|
Activity.InputDTMFKeys |
string | 전화 통신에서 수신된 원시 DTMF 키 값입니다. |
Activity.SpeechRecognition.Confidence |
번호 | ASR 가설 전체 결과에 대한 신뢰도 점수는 0~1입니다. |
Activity.SpeechRecognition.MinimallyFormattedText |
string | ASR 가설 결과에 대한 약간 형식화된 텍스트입니다. 예를 들어, 500달러입니다. 단어의 철자가 명시되어 있지만 기본적인 대문자와 구두점이 포함되어 있습니다. |
Activity.UserInputType |
선택 항목 | 최종 사용자의 가장 최근 입력의 입력 유형입니다. 값은 테스트, 음성 또는 DTMF일 수 있습니다. |
Conversation.OnlyAllowDTMF |
boolean | 런타임 시 IVR을 DTMF 전용 모드로 설정해야 하는지 여부를 나타내는 부울 플래그입니다. |
Conversation.SipUuiHeaderValue |
string | 통화 시작 시 IVR에 컨텍스트를 전달하는 데 사용되는 UUI 헤더 문자열입니다. |
토픽 간 변수 전달
하나의 토픽를 다른 것으로 리디렉션할 때 원래 토픽와 대상 토픽 간에 변수 값을 전달할 수 있습니다. 토픽 간에 변수를 전달하는 것은 이전 토픽이 이후 토픽에 필요한 정보를 이미 수집한 경우에 특히 유용합니다. 귀하의 사용자는 동일한 질문에 다시 대답하지 않아도 되는 것에 감사할 것입니다.
다른 토픽에서 값 수신
토픽가 변수를 정의하면(예: Question 노드), 에이전트는 사용자에게 변수의 값을 입력하라는 질문을 합니다. 에이전트가 이미 이전 토픽에서 값을 획득한 경우 질문을 다시 할 이유가 없습니다. 이러한 경우 변수를 다른 토픽에서 값 받기와 같이 설정할 수 있습니다. 다른 토픽이 이 항목으로 리디렉션되면 변수 값(또는 리터럴 값)을 이 변수에 전달하고 질문을 건너뛸 수 있습니다. 에이전트와 대화하는 사용자의 경험은 완벽합니다.
이 예에서는 인사말과 고객과의 대화라는 두 가지 토픽을 사용합니다. 두 토픽 모두 고객의 이름을 묻습니다. 그러나 인사말 토픽이 먼저 실행되면 고객과 대화 토픽은 해당 질문을 건너뜁니다. 대신 인사말 토픽에서 전달된 변수 값을 사용합니다.
고객과 대화 토픽의 흐름은 다음과 같습니다.
테스트 에이전트 창에서 볼 수 있듯이, 이 토픽가 먼저 트리거되면 사용자에게 "무엇으로 전화해야 하나요?"라고 묻습니다. 이 값은 라는 문자열 변수에 저장됩니다 userName
. userName
변수는 다른 토픽에서 값을 가져오도록 설정됩니다. 토픽은 "좋은 하루 보내세요, {userName}!"라는 메시지로 끝납니다.
인사 토픽의 흐름은 다음과 같습니다.
테스트 에이전트 창에서 볼 수 있듯이, 이 토픽가 먼저 트리거되면 사용자에게 "당신의 이름은?"이라고 묻습니다. 이 값은 라는 문자열 변수에 저장됩니다 UserName
. 토픽은 "만나서 반갑습니다, {UserName}!"라는 메시지를 보냅니다. 그런 다음 고객과 대화 토픽으로 리디렉션되어 "멋진 하루를 보내시기 바랍니다, {userName}!"라는 메시지를 보냅니다. 그러나 고객과 대화 토픽에서는 사용자 이름을 다시 묻는 메시지를 건너뛰었습니다. 대신 인사말 토픽에서 전달된 UserName
변수의 값을 사용했습니다.
마지막으로 고객과의 대화 토픽의 관점에서 다시 두 번째 대화를 나눕니다.
다른 토픽에서 값을 수신하도록 토픽을 설정하는 단계를 살펴보겠습니다. 현재 예제를 사용하지만 주제가 이전 주제에서 값을 가져와야 할 때마다 동일한 단계가 작동합니다.
대상 토픽 설정
대상 토픽은 리디렉션되는 토픽으로, 다른 토픽에서 값을 받을 토픽입니다. 이 예에서는 고객과 대화입니다.
대상 토픽을 만들거나 해당 토픽으로 이동합니다.
질문 노드를 추가하고 메시지에
What should I call you?
를 입력합니다.식별에서 미리 빌드된 엔터티 사람 이름을 선택합니다.
변수를 선택하여 변수 속성 창을 엽니다. 이름을
userName
으로 지정한 다음 다른 항목에서 값 받기를 선택합니다.메시지 상자에
I hope you're having a wonderful day,
를 입력합니다.변수 삽입 아이콘({x})을 선택한 다음 userName을 선택합니다.
변수 뒤의 공백을 선택하고
!
를 입력합니다.토픽을 저장합니다.
소스 토픽 설정
소스 토픽은 대상 토픽으로 전달될 값을 제공하는 리디렉션을 수행하는 토픽입니다. 이 예에서는 인사입니다.
소스 토픽으로 이동합니다.
리디렉션 노드를 추가하고 대상 토픽를 선택하세요.
+ 입력 추가를 선택한 다음 값을 전달하려는 대상 토픽에서 변수를 선택합니다.
> 아이콘을 선택한 다음 값을 전달할 변수를 선택합니다.
리디렉션 노드는 다음과 같이 표시됩니다.
토픽을 저장합니다.
원본 토픽으로 값 반환
토픽이 리디렉션되고 질문을 하거나 다른 방식으로 변수를 가져오면 변수가 원래 토픽으로 반환될 수 있습니다. 변수는 원래 토픽의 일부가 되며 다른 변수처럼 사용할 수 있습니다. 따라서 에이전트가 얻은 정보는 여러 주제에서 사용할 수 있으며, 전역 변수의 필요성이 줄어듭니다.
이전 섹션의 예를 계속 살펴보겠습니다. 고객과 대화 토픽에서 새 질문을 한 다음 인사 토픽에 대한 답변을 반환합니다.
반환된 변수에 대한 소스 토픽 설정
변수를 토픽으로 반환할 때 소스 토픽은 리디렉션되는 토픽이며 원래 토픽으로 다시 전달될 값을 제공하는 토픽입니다. 이 예에서는 고객과 대화입니다.
소스 토픽으로 이동합니다.
질문 노드를 추가하고 메시지에
What city do you live in?
를 입력합니다.식별에서 미리 빌드된 엔터티 도시를 선택합니다.
변수를 선택하여 변수 속성 창을 엽니다. 이름을
userCity
으로 지정한 다음 원래 토픽으로 값 반환을 선택합니다.토픽을 저장합니다.
반환된 변수에 대한 대상 토픽 설정
토픽에 변수를 반환할 때 대상 토픽은 리디렉션을 수행하는 토픽이며 다른 토픽에서 값을 수신하는 토픽입니다. 이 예에서는 인사입니다.
대상 토픽으로 이동합니다.
소스 토픽에서 선택한 변수는 리디렉션 노드에 출력 변수로 나타나야 합니다.
토픽을 저장합니다.