Che cos’è un agent in Copilot Studio

Microsoft Copilot Studio è l’evoluzione di Power Virtual Agents e permette di costruire agent conversazionali low-code. Un agent combina logica dichiarativa (i topic) con capacità generative basate su un large language model. Come functional consultant devi saper distinguere due concetti che l’esame confonde volutamente:

  • L’agent di Copilot Studio è un artefatto che tu costruisci, pubblichi e distribuisci sui canali per gli utenti finali (clienti, dipendenti).
  • Il Copilot per i maker (l’assistente AI dentro Power Apps, Power Automate, Copilot Studio stesso) ti aiuta a creare le soluzioni, ma non è un deliverable pubblicabile.

Se lo scenario chiede “un assistente che risponde ai clienti sul sito”, la risposta è un agent di Copilot Studio, non il Copilot del maker.

Topic, trigger phrase e nodi conversazionali

Il topic è l’unità di conversazione: gestisce un intento specifico. Ogni topic ha:

  • Trigger phrase: frasi di esempio che addestrano il modello di natural language understanding a riconoscere quando attivare quel topic. Non servono decine di frasi identiche, ma varianti che coprono modi diversi di esprimere lo stesso intento.
  • Nodi conversazionali: il flusso vero e proprio. I principali sono Message (risposta), Question (raccoglie input), Condition (branching), Redirect (passa a un altro topic) e Call an action (invoca Power Automate o un connettore).

Esistono topic di sistema (Greeting, Fallback, Escalate, End of Conversation) che gestiscono casi trasversali senza trigger phrase definite da te.

Entity e slot filling

Quando un topic deve raccogliere dati strutturati, si usano le entity. Copilot Studio include prebuilt entity (email, numero, data e ora, età, città, ecc.) e consente di creare custom entity, tipicamente di tipo closed list (elenco chiuso di valori con sinonimi).

Il meccanismo chiave è lo slot filling: se l’utente fornisce più informazioni in un’unica frase (“voglio prenotare un volo per Roma domani”), l’agent estrae automaticamente destinazione e data senza porre domande ridondanti. Le entity riconosciute vengono salvate in variabili riutilizzabili nei nodi successivi e passabili alle azioni.

Generative answers e knowledge source

Le generative answers permettono all’agent di rispondere a domande non coperte da topic espliciti, attingendo a knowledge source: siti pubblici indicizzati, documenti SharePoint, file caricati, Dataverse o URL specifici. Il modello genera una risposta in linguaggio naturale citando le fonti. Architetturalmente:

  • Usa i topic quando serve un flusso deterministico e controllato (raccolta ordine, autenticazione, escalation).
  • Usa le generative answers quando lo spazio delle domande è ampio e vario (FAQ su policy, documentazione di prodotto).

Un agent maturo combina entrambi: topic per i percorsi critici, generative answers come fallback intelligente.

Integrazione con Power Automate

Per eseguire azioni verso sistemi esterni (creare un record in Dataverse, inviare una mail, chiamare un’API) il topic usa il nodo Call an action che invoca un cloud flow di Power Automate. Le variabili del topic diventano input del flow; gli output del flow tornano nella conversazione. Questo è il pattern corretto quando lo scenario chiede “l’agent deve creare un caso” o “aggiornare un CRM”: la logica di business risiede nel flow, non nell’agent.

Pubblicazione sui canali

Dopo il Publish, l’agent si distribuisce sui canali: sito web (snippet o pagina demo), Microsoft Teams, app mobile personalizzate, Facebook, e altri via Direct Line. Pubblicazione su Teams e distribuzione a livello di tenant possono richiedere approvazione admin. Ricorda: le modifiche non sono live finché non pubblichi, e i canali attingono sempre all’ultima versione pubblicata.

Trappole tipiche d’esame

  • Trigger phrase sovrapposte tra topic diversi → l’NLU non sa quale attivare e il routing diventa imprevedibile: rendi le trigger phrase distintive per intento, oppure unisci i topic. È la causa numero uno di comportamento erratico.
  • Scenario “assistente per i clienti sul sito web” → è un agent di Copilot Studio pubblicato sul canale web, non il Copilot del maker.
  • L’agent deve creare o aggiornare record in un sistema esterno → nodo Call an action verso un Power Automate cloud flow, non logica dentro il topic.
  • Domande varie su documentazione senza flusso definito → generative answers con knowledge source, non decine di topic manuali.
  • L’utente fornisce più dati in una frase e l’agent ripone domande già risposte → manca lo slot filling con entity appropriate: definisci le entity e riusa le variabili.