대화 모델은 사용자가 작업에 말할 수 있는 내용과
작업은 사용자에게 응답합니다. 대화 모델의 기본 구성 요소
인텐트, 유형, 장면,
프롬프트로 변환할 수 있습니다. 작업 중 하나가 호출되면 Google 어시스턴트가
사용자를 해당 액션으로 넘기고, 작업은
대화 모델을 기반으로 하며, 다음으로 구성됩니다.
유효한 사용자 요청 - 사용자가 작업에 어떤 말을 할 수 있는지 정의하려면
어시스턴트 NLU를 보강하는 인텐트 컬렉션을 생성하여
내 작업과 관련된 요청을 이해할 수 있습니다. 각 인텐트는
학습 문구를 정의합니다. 이
어시스턴트 NLU는 유사한 문구를 포함하도록 이러한 학습 문구를 확장합니다.
이러한 구문이 집계되어 인텐트의 언어 모델이 생성됩니다.
작업 로직 및 응답: 장면은 인텐트를 처리하고, 필요한 로직을 실행하고, 사용자에게 반환할 메시지를 생성합니다.
그림 1. 대화 모델은 인텐트, 유형,
장면, 프롬프트가 포함됩니다. 인텐트에 사용된
대화에서 매칭할 때도 유효합니다.
유효한 사용자 요청 정의
사용자가 작업에 할 수 있는 말을 정의하려면 인텐트의 조합을 사용합니다.
지정할 수 있습니다. 사용자 인텐트와 유형을 사용하면
자체 언어 모델을 만들 수 있습니다. 시스템 인텐트 및 유형을 통해 내장
이벤트 감지, 언어 모델 및 이벤트 감지 등
어시스턴트가 입력을 전혀 감지하지 않습니다.
사용자 인텐트 만들기
사용자 인텐트를 사용하면 사용자가 무엇을 할지 정의하는 자체 학습 문구를 정의할 수 있음
명령할 수도 있습니다. 어시스턴트 NLU는 이러한 문구를 사용하여 자체적으로 학습합니다.
사용자의 의견을
이해할 수 있습니다 사용자가 단어와 일치하는
사용자 인텐트의 언어 모델에 따라 어시스턴트는 인텐트를 매칭하고
로직을 실행하여 사용자에게 다시 응답할 수 있습니다.
시스템 인텐트 만들기
시스템 인텐트를 사용하면 사전 정의된 언어로 인텐트를 활용할 수 있습니다.
사용자가 작업을 그만두려고 할 때 또는 사용자가
입력 시간이 초과될 수 있습니다. 시스템 인텐트를 만들려면 다음 안내를 따르세요.
맞춤 유형 만들기
커스텀 유형을 사용하면 유형 사양을 직접 만들어 NLU를
단일 키에 매핑되어야 하는 값 집합을 이해할 수 있습니다.
</ph>
커스텀 유형을 만들려면 다음 안내를 따르세요.
작업 로직 및 응답 빌드
어시스턴트 NLU는 사용자 요청을 인텐트와 일치시키므로 작업이
장면에서 처리합니다. 장면은 강력한 로직 실행자를 통해
대화 중에 이벤트를 처리합니다
</ph>
장면 만들기
다음 섹션에서는 장면을 만들고 기능을 정의하는 방법을 설명합니다.
각 장면의 수명 주기 단계에
적용될 수 있습니다
장면을 만들려면 다음 단계를 따르세요.
일회성 설정 정의
장면이 처음 활성화되면 다음 위치에서 일회성 작업을 수행할 수 있습니다.
진입 시 단계 진입 단계는 한 번만 실행되며
스테이지의 실행 루프 내에서 실행되지 않는 경우
조건 확인
조건을 사용하면 슬롯 채우기, 세션 스토리지, 사용자 스토리지,
장면 실행 흐름을 제어하는 홈 스토리지 매개변수입니다.
</ph>
슬롯 채우기 정의
슬롯을 사용하면 사용자 입력에서 유형이 지정된 매개변수를 추출할 수 있습니다.
슬롯 값 매핑
대부분의 경우 이전 인텐트 일치에는 부분적으로 또는 완전히 일치하는 매개변수가 포함될 수 있습니다.
해당 장면의 슬롯 값을 완전히 채웁니다. 이러한 경우 모든 슬롯은
인텐트 매개변수로 채워지는 것은 장면의 슬롯 채우기에 매핑됩니다.
인텐트 매개변수 이름과 일치합니다.
예를 들어 사용자가 인텐트와 일치하여 음료를 주문하는 경우
커다란 바닐라 커피 주문", 사이즈, 맛, 음료를 위한 기존 슬롯
장면이 동일한 장면을 정의하는 경우 해당 장면에서 채워진 것으로 간주됩니다.
있습니다.
입력 처리
이 단계에서는 어시스턴트 NLU가 사용자 입력을 인텐트에 일치시키도록 할 수 있습니다.
원하는 인텐트를 추가하여 인텐트 일치의 범위를 특정 장면으로 지정할 수 있습니다.
장면에 담을 수 있습니다. 이렇게 하면 어시스턴트에게 요청하여 대화 흐름을 제어할 수 있습니다
특정 장면이 활성화될 때 특정 인텐트를 일치시킬 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-26(UTC)"],[[["\u003cp\u003eActions Builder uses intents, types, scenes, and prompts to define how your Action interacts with users.\u003c/p\u003e\n"],["\u003cp\u003eIntents are used to define valid user requests, enabling your Action to understand user input.\u003c/p\u003e\n"],["\u003cp\u003eScenes handle Action logic, processing intents and generating responses to the user.\u003c/p\u003e\n"],["\u003cp\u003eYou can create custom intents and types to train the Assistant's NLU to understand specific requests and values.\u003c/p\u003e\n"],["\u003cp\u003eSlots within scenes allow you to extract typed parameters from user input for further processing and logic execution.\u003c/p\u003e\n"]]],["The core content outlines how to build conversational Actions using the Actions Builder SDK. Key actions include: defining valid user requests through **intents** and **types** to augment the Assistant's NLU; creating **scenes** to process intents and manage conversation flow; and generating **prompts** for user responses. **Intents** are defined by training phrases, while **types** define a set of values. **Scenes** execute logic, check conditions, and define slot filling. The system also manages **system intents** for common user actions.\n"],null,["# Build conversation models\n\nActions Builder Actions SDK\n\nA conversation model defines what users can say to your Actions and how your\nActions respond to users. The main building blocks of your conversation model\nare [intents](../intents), [types](../types), [scenes](../scenes), and\n[prompts](../prompts). After one of your Actions is invoked, Google Assistant\nhands the user off to that Action, and the Action begins a conversation with the\nuser, based on your conversation model, which consists of:\n\n- **Valid user requests** - To define what users can say to your Actions, you\n create a collection of intents that augment the Assistant NLU, so it can\n understand requests that are specific to your Actions. Each intent defines\n training phrases that describe what users can say to match that intent. The\n Assistant NLU expands these training phrases to include similar phrases, and\n the aggregation of those phrases results in the intent's language model.\n\n- **Action logic and responses** - Scenes process intents, carry out required logic, and generate prompts to return to the user.\n\n**Figure 1.** A conversation model consists of intents, types, scenes, and prompts that define your user experience. Intents that are eligible for invocation are also valid for matching in your conversations.\n\nDefine valid user requests\n--------------------------\n\nTo define what users can say to your Actions, you use a combination of intents\nand types. User intents and types let you augment the Assistant NLU with your\nown language models. System intents and types let you take advantage of built-in\nlanguage models and event detection like users wanting to quit your Action or\nAssistant detecting no input at all.\n\n### Create user intents\n\nUser intents let you define your own training phrases that define what users\nmight say to your Actions. The Assistant NLU uses these phrases to train itself\nto understand what your users say. When users say something that matches a\nuser intent's language model, Assistant matches the intent and notifies\nyour Action, so you can carry out logic and respond back to users.\n\n### Create system intents\n\nSystem intents let you take advantage of intents with pre-defined language\nmodels for common events like users wanting to quit your Action or when user\ninput times out. To create system intents:\n\n### Create custom types\n\nCustom types let you create your own type specification to train the NLU to\nunderstand a set of values that should map to a single key.\n\nTo create a custom type:\n\nBuild Action logic and responses\n--------------------------------\n\nThe Assistant NLU matches user requests to intents, so that your Action can\nprocess them in scenes. Scenes are powerful logic executors that let you\nprocess events during a conversation.\n\n### Create a scene\n\nThe following sections describe how to create scenes and define functionality\nfor each scene's lifecycle stage.\n\nTo create a scene:\n\n### Define one-time setup\n\nWhen a scene first becomes active, you can carry out one time tasks in the\n**On enter** stage. The On enter stage executes only once, and is the only\nstage that doesn't run inside a scene's execution loop.\n\n### Check conditions\n\nConditions let you check slot filling, session storage, user storage, and\nhome storage parameters to control scene execution flow.\n\n### Define slot filling\n\nSlots let you extract typed parameters from user input.\n\n#### Slot value mapping\n\nIn many cases, a previous intent match can include parameters that partially or\nentirely fill a corresponding scene's slot values. In these cases, all slots\nfilled by intent parameters map to the scene's slot filling if the slot name\nmatches the intent parameter name.\n\nFor example, if a user matches an intent to order a beverage by saying *\"I want\nto order a large vanilla coffee\"*, existing slots for size, flavor, and beverage\ntype are considered filled in the corresponding scene if that scene defines same\nslots.\n| **Note:** Intent data is stored for one conversation turn and is overwritten with the next user input. If you need this data to persist, you can store this data in [session storage](../storage).\n\n### Process input\n\nDuring this stage, you can have the Assistant NLU match user input to intents.\nYou can scope intent matching to a specific scene by adding the desired intents\nto the scene. This lets you control conversation flow by telling Assistant\nto match specific intents when specific scenes are active."]]