Applicare funzionalità di orchestrazione generativa

L'orchestrazione generativa è l'evoluzione dello sviluppo degli agenti conversazionali in Copilot Studio. Introduce uno strato di pianificazione basato su un modello linguistico di grandi dimensioni (LLM) che interpreta l'intento dell'utente, scompone richieste complesse, seleziona gli strumenti e le conoscenze appropriati ed esegue piani a più passaggi con barriere di sicurezza per garantire sicurezza e conformità. Invece di affidarsi esclusivamente a argomenti di conversazione fatti a mano, l'orchestrazione generativa compone blocchi predefiniti: azioni, argomenti, fonti di conoscenza, agenti figlio e trigger autonomi, in flussi di lavoro intelligenti.

In Copilot Studio, abilitare l'orchestrazione generativa offre risposte migliori con meno scripting manuale. In questo articolo apprenderai l'architettura che sta alla base dell'orchestrazione generativa, come redigere istruzioni efficaci e come testare e perfezionare i tuoi agenti orchestrati.

Perché è importante l'orchestrazione generativa?

I progetti tradizionali basati su temi richiedono molteplici argomenti artigianali, ramificazioni rigide e logica manuale di riempimento degli slot. Questo approccio può portare a:

  • Grandi insiemi di argomenti con logica sovrapposta.
  • Difficoltà nel gestire enunciati ambigui o con più intenti.
  • Esperienze incoerenti quando gli utenti formulano le domande in modo diverso.
  • Alto costo di manutenzione quando cambiano API o regole di business.

L'orchestrazione generativa risolve queste sfide mediante:

  • Riduzione della diffusione dei temi componendo blocchi predefiniti riutilizzabili.
  • Automazione del riempimento degli slot in base alle definizioni degli input.
  • Adattamento dinamico dello stile di risposta e pianificazione dinamica della struttura.
  • Miglioramento della rilevanza attraverso il recupero semantico della conoscenza.
  • Abilitazione dei suggerimenti proattivi per il prossimo passaggio.

Architettura e componenti

A livello generale, un agente orchestratore generativo è composto da diversi componenti chiave che collaborano tra loro:

  • Orchestratore (planner): la mente guidata dal modello linguistico di grandi dimensioni dell'agente che trasforma un input, come un messaggio dell'utente o un evento, in un piano strutturato. L'orchestratore identifica gli intenti, sceglie quali strumenti, argomenti o agenti invocare per ogni passaggio e definisce la sequenza e il flusso di dati tra i passaggi. Restituisce un elenco ordinato di passaggi (un "piano") che il runtime esegue e assicura che ciascun passaggio sia conforme ai criteri. Richiede, ad esempio, l'approvazione per azioni sensibili.

  • Knowledge layer: un insieme di fonti di reperimento, come basi di conoscenza interne, documenti, database e altro, che l'agente può consultare per supportare le sue risposte. L'orchestratore utilizza questo livello per ottenere informazioni fattuali o linee guida. I risultati spesso includono citazioni e metadati, che l'agente può incorporare nelle risposte per garantire la trasparenza. Il livello di conoscenza è di sola lettura e fornisce evidenza o contesto.

  • Strumenti e connettori: azioni esterne, API o flussi di automazione che l'agente può invocare come parte di un piano. Ogni strumento ha un'interfaccia definita: parametri di input (con tipi attesi), variabili di output e possibilmente condizioni di errore. Sono essenzialmente le "competenze" dell'agente per eseguire operazioni, come cercare un ordine, inviare un'email o eseguire uno script. Dovresti testare a fondo gli strumenti e assicurarti che si comportino in modo deterministico con gli stessi input, dato che l'orchestratore li considera funzioni affidabili.

  • Argomenti e Agenti inline: argomenti di conversazione riutilizzabili o mini-dialoghi che racchiudono una logica specifica. Nell'orchestrazione generativa, la pianificazione può invocare gli argomenti non solo tramite frasi trigger, ma anche ogni volta che la loro descrizione corrisponde al bisogno dell'utente. Gli agenti inline sono piccoli argomenti o routine focalizzate utilizzati come sottopassaggi all'interno di un piano più ampio. Operano all'interno del contesto dell'agente principale e gestiscono attività discrete, così che l'orchestratore principale non debba definire esplicitamente quei dettagli.

  • Trigger di eventi (autonomia): Meccanismi che avviano l'orchestratore senza un messaggio utente. Questi meccanismi possono essere trigger programmati o trigger basati su eventi, come l'aggiornamento di un record di database, che permettono all'agente di avviare autonomamente un piano. Ogni trigger può avere le proprie condizioni e istruzioni. I trigger autonomi permettono all'agente di agire proattivamente avviando flussi di lavoro quando vengono soddisfatte determinate condizioni, invece di limitarsi a reagire all'input della chat degli utenti.

Strati di controllo e confini decisionali

In un agente di livello produttivo, non lasciare ogni decisione all'IA. Tipicamente, esistono tre livelli di controllo:

  • Livello deterministico: Questo livello utilizza la logica tradizionale, basata su regole, che applichi per azioni critiche o irreversibili. Ad esempio, quando si elabora un pagamento o si elimina un record, si può utilizzare un argomento o un flusso rigorosamente definito che viene eseguito passaggio dopo passaggio senza alcuna interpretazione da parte dell'IA. Questo livello può anche includere controlli o validazioni esplicite per dati sensibili. Se qualcosa deve accadere esattamente come specificato, gestiscilo in modo deterministico. Puoi configurare l'orchestratore generativo affinché non sovrascriva o modifichi questi flussi. In pratica, potresti non esporre tali azioni alla pianificazione IA oppure racchiuderle sempre in un argomento che richiede la conferma dell'utente.

  • Livello ibrido (intercettazione): Questo livello introduce una certa flessibilità dell'IA in strutture prevalentemente deterministiche. Consenti all'orchestratore di operare entro confini prestabiliti con la possibilità di intercettazione umana o basata su regole. Ad esempio, un agente potrebbe redigere automaticamente una risposta o eseguire un'azione, ma puoi inserire un passaggio di approvazione affinché venga revisionata da un responsabile. Oppure l'agente potrebbe gestire un'attività fino a un certo limite di valore, dopodiché sarebbe necessario procedere con un'escalation. Il livello ibrido predefinisce i punti in cui il piano autonomo dell'IA viene sottoposto a checkpoint. Usa questo approccio per processi a rischio medio: consenti all'IA di svolgere il grosso del lavoro, ma mantieni comunque un controllo umano per la supervisione.

  • Livello orchestratore IA: Questo livello è completamente generativo. Il pianificatore LLM ha la libertà (entro limiti di sicurezza) di comporre ed eseguire piani per query a basso rischio. La maggior parte delle domande e risposte, delle ricerche di informazioni o delle semplici richieste in più passaggi rientra in questa categoria. Per la maggior parte delle domande degli utenti, l'agente può decidere autonomamente come risolverle e agire. Questo livello offre l'adattabilità e la potenza dell'IA generativa. È vincolato dai criteri. Ad esempio, l'IA potrebbe sapere che non è consentito chiamare certi strumenti amministrativi o rivelare certe informazioni. L'agente non deve fermarsi a chiedere il permesso per attività di routine.

Dati questi strati, definisci esplicitamente i confini decisionali. Esamina quali azioni e argomenti:

  • Possono essere eseguiti senza conferma (l'IA può semplicemente eseguirli)
  • Richiedono la conferma dell'utente all'interno della conversazione (ad esempio: "Sei sicuro di voler eliminare tutti i record?")
  • Richiedono l'approvazione offline (es. un amministratore deve confermare tramite un flusso di lavoro di approvazione)

Imponi questi limiti attraverso la progettazione dei tuoi argomenti, ad esempio aggiungendo un nodo di conferma, tramite le funzionalità di approvazione della piattaforma o tramite la logica nei trigger. Stratificando il controllo, ti assicuri che l'agente operi in modo sicuro: l'IA gestisce ciò che sa fare meglio, mentre gli esseri umani o delle regole severe si occupano di ciò che l'IA non dovrebbe decidere da sola.

Procedure consigliate per istruzioni dell'agente

Le istruzioni dell'agente ben formulate influenzano la qualità della generazione dei piani.

  • Pertinenza contestuale

    • Assicurati che le istruzioni facciano riferimento solo agli strumenti e alle conoscenze disponibili per l'agente.
    • Usa i nomi esatti degli strumenti, i nomi delle variabili e gli identificatori Power Fx.
  • Linee Guida Conversazionali

    • Specifica il formato della risposta (liste, tabelle, grassetto).
    • Fornisci indicazioni stilistiche ("conciso", "includi citazioni", "proponi i prossimi passi").
    • Evita di nominare direttamente fonti delle informazioni specifiche. Descrivile.
  • Determinare quando utilizzare strumenti o conoscenze

    • Preferisci usare i nomi degli strumenti. I nomi hanno più peso delle descrizioni.
    • Descrivi in modo generico le funzionalità di conoscenza per evitare informazioni non corrette.
  • Istruzioni di esecuzione autonome

    • Definisci la sequenza prevista di azioni per i flussi di lavoro a più passaggi.
    • Combina le istruzioni di processo con prompt specifici.

Scopri di più in Configurare istruzioni di alta qualità per l'orchestrazione generativa.

Progettazione di input e output di argomento

Quando crei argomenti, presta particolare attenzione ai loro parametri di input e output in modalità orchestrazione generativa:

  • Definisci parametri di input chiari con descrizioni: se un argomento o un'azione richiede informazioni specifiche (come "Username" per un argomento di reimpostazione della password), crea un parametro di input per l'argomento e assegnagli un nome descrittivo e un esempio. L'orchestratore utilizza questi nomi e descrizioni per richiedere automaticamente all'utente se manca il valore. L'uso di una lista di valori accettati o di una formula di validazione Power Fx per gli input può aiutare a garantire che il bot raccolga dati validi (ad esempio, limitare un codice paese a due lettere).

  • Usa l'auto-prompting: in modalità generativa, l'agente genera domande autonomamente invece di dover aggiungere manualmente nodi di domanda per richiedere informazioni mancanti. Questo approccio rappresenta un cambiamento importante rispetto ai bot classici. La chiave è che i nomi dei tuoi input siano chiari e intuitivi (es. "data di inizio", "indirizzo e-mail") così che l'IA possa formulare una domanda naturale. Se la domanda generata automaticamente dall'IA non è formulata al meglio, considera di perfezionare la descrizione o il nome dell'input. Questa funzione semplifica notevolmente i dialoghi, ma si basa su input ben definiti.

  • Specifica le variabili di output per gli argomenti quando opportuno: un argomento può generare variabili di output che l'orchestratore usa per comporre la risposta finale. Ad esempio, un argomento "Store Finder" potrebbe generare NearestStoreLocation. Fornendo informazioni invece di inviare direttamente un messaggio all'utente, permetti all'orchestratore di combinare tali informazioni con altri passaggi in modo fluido. Se il contenuto di un argomento viene utilizzato in una risposta più ampia, registralo come variabile di output e lascia che l'orchestratore gestisca il messaggio finale. Altre informazioni in Orchestrare il comportamento dell'agente con l'IA generativa.

  • Evita la "gestione doppia" dei dati nei prompt: se configuri gli output, non inserire anche quegli output nell'LLM come contesto aperto. Ad esempio, se un'azione restituisce un testo riassuntivo, passa quel riassunto come output strutturato e lascia che l'orchestratore lo includa, invece di scrivere un'istruzione come "Il risultato dell'azione dice {summary}." Questo approccio impedisce al modello di sovragenerare o ripetere contenuti. Gli output dovrebbero essere punti dati definitivi ove possibile.

Collegare azioni, argomenti e conoscenze

Poiché l'orchestratore può utilizzare più funzionalità in un solo turno, progetta tenendo conto della componibilità:

  • Dai nomi e descrizioni intuitive a tutto: la pianificazione decide in gran parte di usare uno strumento o un argomento in base a quanto il nome e la descrizione siano coerenti con la richiesta dell'utente. Usa frasi attive in linea con gli intenti dell'utente. Ad esempio, uno strumento chiamato "TranslateText" con la descrizione "Traduce il testo in una lingua specifica" sarà scelto più facilmente quando l'utente chiede di tradurre, rispetto a uno con un nome generico come "Flusso1". I nomi sono fondamentali. Evita nomi criptici. Se l'agente sceglie l'argomento sbagliato, rivisita quei nomi e descrizioni.

  • Offri un "kit di strumenti" ricco, ma selezionalo con attenzione: collega tutte le azioni utili di cui il tuo scenario potrebbe aver bisogno (API, flussi, ecc.) e definisci argomenti per i flussi principali. Questo approccio offre all'IA più opzioni per risolvere le domande. Tuttavia, elimina o disattiva gli strumenti e gli argomenti che ritieni irrilevanti o rischiosi per l'agente, per evitare che possano confondere la pianificazione. Un insieme ristretto di scelte di alta qualità è preferibile a un insieme esaustivo con sovrapposizioni. Le descrizioni sovrapposte possono spingere l'agente a provare più cose contemporaneamente, cosa che potrebbe non essere desiderata.

  • Fidati della pianificazione, entro certi limiti: una volta che i componenti sono ben definiti, lascia che l'orchestratore combini e combini. Ad esempio, se l'utente chiede qualcosa che potrebbe essere affrontato da un articolo informativo o da un'API di dati in tempo reale, il planner potrebbe scegliere di usarli entrambi, recuperando le informazioni di contesto dall'articolo e chiamando l'API per ottenere dati aggiornati. Questo approccio può produrre una risposta migliore. Abbraccia questa autonomia, ma monitora nelle fasi iniziali per assicurarti che vengano fatte buone scelte.

  • Gestire intenti multipli: Se una richiesta dell'utente implica due cose separate (come "apri un nuovo account e inviami i dettagli"), il pianificatore generativo cerca di soddisfare entrambe invocando in sequenza le relative azioni. Non è necessario scrivere manualmente la ramificazione per i casi d'uso multi-intento. Il tuo compito come sviluppatore è assicurarti che ogni attività secondaria (apertura dell'account, invio dei dettagli) sia coperta da uno strumento o argomento, e che i loro output e input si connettano se necessario.

  • Lascia che la conoscenza completi argomenti e strumenti: l'orchestratore può avviare la ricerca nella Knowledge Base in modo proattivo, non solo come soluzione di ripiego. Se hai configurato una Knowledge Base ben strutturata, l'agente potrebbe rispondere a una parte della richiesta con un frammento tratto da un articolo di conoscenza, anche se un'azione copre un'altra parte. Questo comportamento è impostato a livello di progettazione. Mantieni aggiornata la tua Knowledge Base con informazioni che non sono facilmente reperibili tramite strumenti.

  • Fai attenzione all'ambito nell'uso della Knowledge Base: Al momento, non puoi obbligare l'agente a utilizzare un articolo specifico su richiesta. L'IA sceglie gli articoli rilevanti in base alla query. Tieni presente anche le limitazioni. Ad esempio, argomenti di sistema come "Più argomenti corrispondenti" non vengono utilizzati in modalità generativa, poiché il planner gestisce la disambiguazione in modo diverso. Per saperne di più su altre limitazioni note per l'orchestrazione generativa.

Verifica e messa a punto dell'agente orchestrato

L'orchestrazione generativa sposta parte della logica dal design esplicito al "cervello" dell'IA. I test iterativi assicurano che si comporti come previsto. Ecco le migliori pratiche per testare e migliorare il tuo agente orchestrato:

  • Usa la activity map: Copilot Studio fornisce una activity map durante i test, che mostra i passaggi scelti dall'orchestratore. Dopo aver posto al tuo agente una domanda complessa, ispeziona il piano: quali argomenti o azioni sono stati invocati? In che ordine? Ha posto una domanda di follow-up appropriata? Se l'agente ha selezionato l'argomento errato o ha omesso uno strumento, potrebbe essere necessario perfezionare le descrizioni dei componenti o aggiornare le istruzioni.

  • Rivedi le trascrizioni: una volta pubblicato l'agente, rivedi regolarmente le trascrizioni o i log delle conversazioni. Cerca errori o inesattezze nelle risposte. Se gli utenti segnalano "non è corretto", indaga il motivo per cui l'agente ha fornito quella risposta. Affronta i problemi aggiungendo fatti mancanti alla Knowledge Base, precisando le istruzioni o, in alcuni casi, aggiungendo un nuovo argomento per colmare una lacuna. Per saperne di più in Estrazione e analisi delle trascrizioni delle conversazioni degli agenti (architettura di riferimento).

  • Apporta modifiche minime: Puoi spesso migliorare un agente generativo apportando cambiamenti sottili. Ad esempio, se l'output dell'agente è troppo prolisso o non conforme al formato richiesto, modifica le istruzioni relative a stile e formato e ripeti il test. Se viene chiamato ripetutamente uno strumento superfluo, forse la sua descrizione è troppo generica e puoi renderla più specifica affinché venga chiamato solo quando necessario. Apporta una modifica alla volta e valuta l'effetto sulle decisioni dell'agente.

  • Fornisci esempi di enunciati (con attenzione): potresti scoprire che aggiungere un paio di richieste dell'utente di esempio nella descrizione di un argomento può aiutare il LLM a capire quando utilizzare quell'argomento. Ad esempio: "Scopo: reimpostazione della password di un utente. Ad esempio, l'utente potrebbe dire "Ho dimenticato la mia password" oppure "reimposta l'accesso al mio account Contoso". Questi esempi forniscono al modello indizi aggiuntivi. Non esagerare e mantieni le descrizioni concise e mirate. Il modello dispone già di un ampio contesto: assicurati solo che i tuoi metadati siano chiari.

  • Monitora le metriche di prestazione: Man mano che l'utilizzo cresce, tieni d'occhio metriche chiave come il tasso di successo (l'agente ha effettivamente risolto la richiesta dell'utente?), la frequenza di fallback (quanto spesso ha detto "Mi dispiace, non posso aiutare con questo") e la soddisfazione dell'utente se disponibile. Anche durante i test, semplici conteggi della frequenza con cui vengono utilizzati i vari argomenti e strumenti possono suggerire possibili aggiustamenti. Ad esempio, se un argomento di conversazione banale viene richiamato troppo spesso e genera rumore, disattivalo o limita la sua descrizione. Consulta la guida su come testare le prestazioni dei tuoi agenti.

I sistemi generativi imparano implicitamente dalle tue configurazioni e correzioni. Ogni miglioramento delle istruzioni o dei metadati migliora la prossima decisione dell'IA. Col tempo, il tuo agente orchestrato diventa più preciso ed efficiente nella gestione delle richieste.

Trigger personalizzati nell'orchestrazione generativa

I trigger di argomento sono disponibili appositamente per l'orchestrazione generativa. Utilizzando questi trigger, puoi collegarti al ciclo di vita dell'agente e iniettare logica personalizzata nei punti critici del processo di orchestrazione. Sono disponibili tre trigger principali:

Trigger Quando si attiva Scopo
Sulla Knowledge Base richiesta Poco prima che l'agente effettui una ricerca nella Knowledge Base Questo trigger consente di intercettare il momento in cui l'orchestratore sta per cercare nelle fonti delle informazioni. Fornisce accesso in sola lettura alle SearchPhrase o alle parole chiave che l'agente intende utilizzare, e una variabile di sistema per fornire risultati di ricerca personalizzati. Ad esempio, potresti intercettare la query e instradarla verso un indice proprietario o arricchire i risultati con ulteriori dati.
Si tratta di un trigger avanzato ("segreto")—non è visibile nell'interfaccia utente per impostazione predefinita e attualmente deve essere abilitato tramite modifica YAML, assegnando a un argomento il nome esatto OnKnowledgeRequested. Usalo se hai bisogno di arricchire o personalizzare il passaggio di recupero della conoscenza, es. filtrando determinati risultati o integrando dati esterni nella risposta di conoscenza.
Risposta dell'IA generata Dopo che l'IA ha composto una bozza di risposta, ma prima che venga inviata all'utente L'agente attiva questo trigger una volta che ha generato il testo della risposta finale (basato su tutti gli output degli strumenti e degli argomenti) e subito prima di inviarlo all'utente. Questo passaggio ti offre la possibilità di modificare programmaticamente la risposta o le sue citazioni. Ad esempio, potresti post-processare il testo per correggere eventuali formattazioni o sostituire URL grezzi con link di tracciamento user-friendly. Puoi anche decidere di sostituire la risposta. Il trigger può generare un messaggio personalizzato e puoi utilizzare un flag ContinueResponse per indicare se la risposta originale dell'AI debba essere inviata oppure no.
Usa questo trigger per aggiustamenti o miglioramenti all'ultimo secondo alla risposta dell'IA, come aggiungere un prompt di sondaggio o rimuovere qualcosa che l'IA ha incluso ma che vuoi eliminare. L'uso intenso di questo trigger potrebbe indicare una logica che avrebbe potuto essere nelle istruzioni principali. Usalo per un controllo granulare quando necessario.
A piano completato Dopo che l'intero piano è stato eseguito e la risposta è stata inviata Quando il piano è stato completato, ovvero tutti i passaggi sono conclusi e l'utente visualizza la risposta, questo trigger si attiva. Di solito, lo usi per avviare eventuali processi di fine conversazione. Un uso comune è reindirizzare la conversazione a un argomento finale specifico o a un sondaggio. Ad esempio, potresti avere un argomento di fine chat che ringrazia l'utente o fornisce i prossimi passaggi. Utilizzando A piano completato, puoi chiamare automaticamente quell'argomento.
Tuttavia, fai attenzione: probabilmente non vuoi chiudere la conversazione dopo ogni singola domanda dell'utente, soprattutto se l'utente potrebbe fare domande di follow-up. Aggiungi una logica per terminare solo se una certa variabile di contesto è impostata o se il piano ha risolto un particolare tipo di richiesta. In sostanza, usa On Plan Complete per le operazioni di pulizia o per una chiusura elegante quando opportuno.

Ulteriori capacità di orchestrazione generativa

Approfondisci la tua conoscenza del modello di orchestrazione di Copilot Studio grazie a funzionalità avanzate che estendono il modo in cui gli agenti pianificano, agiscono e collaborano: