10-01-02 — Topics, Triggers, Generative Answers
TL;DR
Topics são unidades de conversa no Copilot Studio — cada um tem triggers (frases/eventos que o ativam) e um fluxo de nós (mensagens, perguntas, condições, ações). Generative answers é o fallback inteligente: quando nenhum topic é ativado, o agente busca resposta nas fontes de conhecimento configuradas usando o LLM. O equilíbrio entre topics determinísticos e generative answers define a confiabilidade do agente.
Topics: a unidade básica de conversa
Um topic no Copilot Studio é análogo a um intent no Dialogflow ou LUIS, mas muito mais poderoso: além de reconhecer a intenção, ele orquestra todo o fluxo de resposta através de um designer visual de nós.
- Custom topics — criados por você, com triggers e fluxo próprios
- System topics — pré-built pela Microsoft (Greeting, Goodbye, Escalate, Error)
- Generative answers — topic especial que usa IA para responder quando nenhum outro topic é acionado
Triggers
Triggers determinam quando um topic é ativado. O Copilot Studio usa NLU (Natural Language Understanding) para comparar o input do usuário com as frases de trigger.
Tipos de Triggers
| Tipo | Descrição | Exemplo |
|---|---|---|
| Phrases | Frases de exemplo (NLU matching) | "Como solicitar férias", "quero tirar férias" |
| Activity received | Evento do canal (mensagem, evento Teams) | Bot instalado no Teams |
| Variable value | Condição baseada em variável de sessão | Quando status = "urgent" |
| Redirect | Chamado por outro topic | Topic pai redireciona para sub-topic |
Fluxo de nós em um Topic
Tipos de nós
- Message — envia texto, cards adaptivos, imagens
- Question — faz pergunta e armazena resposta em variável
- Condition — branch baseado em variáveis ou expressões Power Fx
- Action — chama Power Automate flow, conector ou custom API
- Topic redirect — chama outro topic (composição)
- Generative answers — delega para o LLM com fontes de conhecimento
- End conversation — encerra o topic
Generative Answers
Generative answers é o mecanismo que transforma o Copilot Studio de um bot de fluxo em um agente inteligente. Quando ativado, o agente usa o LLM para gerar respostas baseadas nas fontes de conhecimento configuradas.
// Configuração via manifest (declarative agent)
{
"capabilities": [
{
"name": "OneDriveAndSharePoint",
"items_by_url": [
{ "url": "https://impar.sharepoint.com/sites/Docs" }
]
},
{
"name": "WebSearch" // Habilita busca na web como fallback
}
],
"instructions": "Quando não encontrar resposta nas fontes, diga que não sabe. Não invente."
}
Variáveis e Power Fx
Copilot Studio suporta variáveis com escopo de topic, global e de sistema. Expressões usam Power Fx (a linguagem da Power Platform), o que é familiar para quem já usa Power Apps.
// Exemplo de expressão Power Fx em nó Condition
// Verifica se o número do ticket é válido
IsMatch(Topic.TicketNumber, "\d{6}")
// Concatena variáveis em mensagem
"Olá " & System.User.DisplayName & ", seu ticket " & Topic.TicketNumber & " foi criado."
Como isso se conecta
- 10-01-03 — Knowledge sources são as fontes que alimentam o generative answers
- 10-03-02 — Connectors são a camada que conecta Action nodes ao mundo externo
- Módulo 8 (RAG) — O generative answers é um RAG simplificado — os mesmos princípios de chunking e relevância se aplicam