이 핸즈온랩은 교육 내용을 보여 드리기 위한 예시입니다. 실제 교육과정에서는 고객사의 산업과 직무를 반영한 실습 시나리오로 구성한 비공개 학습 사이트를 따로 제공합니다.
M2-4. 트리거·시스템 토픽 — 토픽은 언제 시작되는가
한 줄 요약 — 생성형 오케스트레이션의 기본 트리거는 The agent chooses(설명 기반), 클래식은 User says a phrase(구문 매칭)입니다. 시스템 토픽은 대화 시작·폴백·종료처럼 꼭 필요한 동작을 맡습니다.
1. 기본 트리거 — 오케스트레이션별
| 오케스트레이션 | 기본 트리거 | 활성화 조건 |
|---|---|---|
| 생성형 | The agent chooses | 토픽 이름·설명이 사용자 메시지와 맞다고 에이전트가 판단 |
| 클래식 | User says a phrase | 트리거 구문 1개 이상이 메시지와 비슷하게 일치 |
클래식 매칭은 정확히 일치하지 않아도 동작합니다 — 자연어 이해 덕분에 “check store hours” 구문으로 “see store opening hours”라는 발화에도 토픽이 실행됩니다.
2. 트리거 종류 11가지
| 트리거 | 언제 실행되나 |
|---|---|
| The agent chooses | 이름·설명을 보고 에이전트가 판단 (생성형 기본) |
| User says a phrase | 트리거 구문 매칭 (클래식 기본) |
| A message is received | 사용자 메시지가 들어올 때마다 |
| A custom client event occurs | 호스트 앱이 커스텀 이벤트를 보낼 때 |
| An activity occurs | 특정 활동(activity)을 받았을 때 |
| The conversation changes | 대화 참여자·상태가 바뀔 때 (대화 시작 포함) |
| It’s invoked | 다른 토픽·도구가 호출할 때 |
| It’s redirected to | 다른 토픽이 리디렉션할 때 |
| The user is inactive for a while | 지정 시간 동안 응답이 없을 때 |
| A plan completes | 생성형 오케스트레이션이 계획 실행을 마쳤을 때 (생성형 전용) |
| An AI-generated response is about to be sent | 생성형 응답을 보내기 직전에 가로챔 (생성형 전용) — Response.FormattedText로 문구를 다듬고 ContinueResponse로 보낼지 결정 |
- 트리거 종류는 토픽 뷰의 트리거 태그로 확인할 수 있습니다
- 트리거에는 조건(Condition) 과 우선순위(Priority) 를 지정할 수 있어, 같은 상황에서 여러 토픽이 겹칠 때 어떤 토픽을 먼저 실행할지 정할 수 있습니다
이벤트 트리거 전제조건 — 이벤트 기반 트리거는 생성형 오케스트레이션이 켜진 에이전트에서만 사용할 수 있고, 실행할 때 메이커의 자격 증명만 사용합니다. 또한 solution-aware cloud flow sharing이 활성화되어 있어야 하며, 페이로드 호출 건당 과금됩니다.
화면 구성 예시 — 실제 화면·명칭은 버전에 따라 다를 수 있습니다
3. 트리거 구문 설계 모범 사례
- 토픽당 5~10개 — AI 훈련에 필요한 최소량
- 짧은 구문·키워드 위주 — 긴 문장은 피하기
- 사용자가 실제로 쓸 표현으로 — 분석(M3-4)에서 실제 발화를 찾아 보강
- 토픽 간 구문이 겹치지 않게 — 겹치면 엉뚱한 토픽이 실행되거나 선택지가 표시됨
- 파일 업로드로 일괄 추가(Append)·교체(Replace), 다운로드로 백업 가능
4. 시스템 토픽
새 에이전트에는 꼭 필요한 동작을 맡는 시스템 토픽이 미리 들어 있습니다.
| 시스템 토픽 | 역할 |
|---|---|
| Conversation Start | 대화 시작 인사 |
| Conversational boosting | 지식 소스 기반 생성형 답변을 담당 — 생성형 답변 노드가 이미 들어 있음 |
| End of Conversation | 대화 종료·만족도 확인 |
| Escalate | 사람(상담원) 연결 요청 |
| Fallback | 토픽 매칭에 실패했을 때 |
| Multiple Topics Matched | 여러 토픽이 동시에 매칭됐을 때 선택지 제시 |
| On Error | 실행 중 오류가 났을 때 |
| Reset Conversation | 대화 초기화 |
| Sign in | 사용자 인증(로그인) 흐름 |
규칙은 다음과 같습니다.
- 시스템 토픽은 만들 수 없고 삭제할 수 없지만, 끄거나 수정할 수 있습니다
- 일부 시스템 토픽은 트리거 구문을 원하는 대로 바꿀 수 있음
- 에이전트 빌드에 익숙해지기 전에는 수정하지 않는 것을 권장
5. 폴백 설계 패턴
사용자 메시지
→ 토픽 매칭 실패
→ Conversational boosting 토픽 — 지식 소스로 생성형 답변 시도
→ 그래도 실패 → Fallback 시스템 토픽
→ 재질문 → 반복 실패 시 Escalate (사람 연결)
자주 하는 오해 — “폴백 토픽에 생성형 답변 노드를 직접 넣어야 한다”는 설명은 현재 제품과 맞지 않습니다. 에이전트를 만들면 Conversational boosting 토픽이 자동으로 생성되고 그 안에 생성형 답변 노드가 이미 들어 있으며, 에이전트 수준 지식 소스가 모두 그 노드에 연결됩니다. Fallback은 토픽 매칭과 생성형 답변이 모두 실패한 다음 단계이므로, 여기에는 재질문·에스컬레이션 안내를 두는 것이 맞습니다.
실습 체크리스트
- 토픽 하나의 트리거를 Properties에서 열어 구문 확인·보강
- Conversation Start 시스템 토픽의 인사말을 우리 팀 문구로 수정
- Fallback 동작 확인 — 일부러 엉뚱한 질문 입력
핵심 정리
- 기본 트리거 — 생성형은 설명 기반, 클래식은 구문 매칭. 트리거는 총 11종이며 A plan completes·An AI-generated response is about to be sent는 생성형 전용입니다
- 트리거 구문은 5~10개 짧은 구문 + 실제 발화 기반 보강. 트리거에 조건·우선순위도 지정 가능
- 시스템 토픽은 9개 — 생성형 답변은 Conversational boosting이, 토픽 매칭 실패는 Fallback이 맡음
- 시스템 토픽은 끄기·수정만 가능 — 익숙해진 뒤 폴백부터 다듬으세요
M2 빌드로 · 다음: M2-5. 엔터티·변수·조건
출처: Set topic triggers (MS Learn) · About triggers (MS Learn) · Use system topics (MS Learn) · Design effective trigger phrases (MS Learn)



