Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
L'orchestrazione generativa è l'evoluzione dello sviluppo degli agenti conversazionali in Copilot Studio. Introduce un grande livello di pianificazione guidato dal modello linguistico (LLM) che interpreta l'intento dell'utente, analizza richieste complesse, seleziona gli strumenti e le conoscenze giusti, ed esegue piani a più fasi con garde-rail per sicurezza e conformità. Invece di affidarsi esclusivamente a argomenti di conversazione fatti a mano, l'orchestrazione generativa compone mattoni riutilizzabili—azioni, argomenti, fonti di conoscenza, child agent 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 impari l'architettura dietro l'orchestrazione generativa e come creare istruzioni efficaci e testare e modificare 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 inventari di argomenti con logica sovrapposta.
- Difficoltà nel gestire enunciati ambigui o multi-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 attraversando:
- Ridurre la diffusione dei temi componendo mattoni di costruzione riutilizzabili.
- Automatizzare il riempimento degli slot basandosi sulle definizioni degli input.
- Adattare dinamicamente lo stile di risposta e la struttura del piano.
- Migliorare la rilevanza attraverso il recupero semantico della conoscenza.
- Abilitare suggerimenti proattivi per il prossimo passo.
Architettura e componenti
A un livello generale, un agente orchestratore generativo è composto da diversi componenti chiave che lavorano insieme:
Orchestratore (planner): Il cervello dell'agente guidato dall'LLM che trasforma un input, come un messaggio o un evento dell'utente, 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. Fornisce un elenco ordinato di passaggi (un "piano") che il runtime esegue e garantisce che ogni passaggio rientri nelle policy. Ad esempio, cerca l'approvazione per azioni sensibili.
Livello della conoscenza: Un insieme di fonti di recupero, come database di conoscenza interne, documenti, database e altro ancora, che l'agente può interrogare per fondare le sue risposte. L'orchestratore utilizza questo livello per ottenere informazioni o indicazioni fattuali. 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 prove o contesto.
Strumenti e connettori: azioni esterne, API o flussi di automazione che l'agente può chiamare 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 "abilità" 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, il planner può evocare argomenti non solo tramite le frasi trigger, ma anche quando il loro scopo descritto corrisponde alle esigenze dell'utente. Gli agenti inline si riferiscono a piccoli argomenti o routine focalizzate utilizzati come sottopassaggi all'interno di un piano più ampio. Essi girano all'interno del contesto dell'agente principale e gestiscono compiti discreti in modo che l'orchestratore principale non debba scrivere esplicitamente quei dettagli.
Trigger di eventi (autonomia): meccanismi che avviano l'orchestratore senza un messaggio utente. Questi meccanismi possono essere trigger programmati o basati su eventi, come un aggiornamento di record del database, che inducono l'agente a lanciare 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 reagire solo agli 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 comunque applichi per azioni critiche o irreversibili. Ad esempio, quando si elabora un pagamento o si cancella un record, si può utilizzare un argomento o un flusso strettamente scritto che viene eseguito passo dopo passo senza alcuna interpretazione dell'IA. Questo livello potrebbe includere anche controlli o validazioni esplicite per dati sensibili. Se qualcosa deve accadere esattamente come specificato, gestiscilo in modo deterministico. Puoi configurare l'orchestratore generativo per non sovrascrivere o modificare questi flow. In pratica, potresti non esporre tali azioni al pianificatore AI oppure avvolgerle sempre in un argomento che richiede la conferma dell'utente.
Livello ibrido (intercetto): Questo livello aggiunge una certa flessibilità all'IA attorno principalmente a strutture deterministiche. Permetti 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 per farlo valutare da un manager. Oppure l'agente potrebbe gestire un compito fino a un certo limite di valore, per poi essere costretto a far escalare l'attività. Il livello ibrido predefinisce i punti in cui il piano autonomo dell'IA viene controllato. Usa questo approccio per processi a rischio medio: lascia che l'IA faccia il lavoro pesante, ma tieni un essere umano aggiornato 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 interazioni Q&A, delle ricerche di informazioni o delle semplici richieste multistep 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 dalle politiche. Ad esempio, l'IA potrebbe sapere che non è permesso chiamare certi strumenti amministrativi o rivelare certe informazioni. L'agente non deve fermarsi a chiedere il permesso per compiti di routine.
Date queste strati, definire esplicitamente i confini decisionali. Guarda quali azioni e argomenti:
- Può essere eseguito senza conferma (l'IA può semplicemente farli)
- Richiedi la conferma dell'utente all'interno della conversazione (ad esempio, "Sei sicuro di voler eliminare tutti i record?")
- Richiedere l'approvazione offline (ad esempio, un amministratore deve confermare tramite un flusso di lavoro di approvazione)
Fai rispettare questi confini attraverso il design del tuo argomento, 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 sicurezza—l'IA gestisce ciò in cui è brava mentre gli esseri umani o regole rigide gestiscono ciò che l'IA non dovrebbe decidere da sola.
Migliori pratiche per le istruzioni agli agenti
Le istruzioni dell'agente scritte correttamente influenzano la qualità della generazione del piano.
Rilevanza 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 ("concisa", "include citazioni", "proponi i prossimi passi").
- Evita di nominare direttamente fonti di conoscenza specifiche. Descrivili invece.
Determinare quando utilizzare strumenti o conoscenze
- Preferisco usare i nomi degli strumenti. I nomi hanno più peso delle descrizioni.
- Descrivi le capacità di conoscenza in modo generico per evitare informazioni errate.
Istruzioni di esecuzione autonome
- Definisci la sequenza attesa di azioni per i flussi di lavoro a più passi.
- Combina le istruzioni di processo con prompt specifici.
Scopri di più in Configura istruzioni di alta qualità per l'orchestrazione generativa.
Progettazione degli input e output dei temi
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 certe informazioni (come "Username" per un argomento di reset della password), crea un input di argomento per esso e dagli un nome descrittivo e un esempio. L'orchestratore usa questi nomi e descrizioni per chiedere 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 raccoglia dati validi (ad esempio, limitare un codice paese a due lettere).
Usa l'auto-prompting: In modalità generativa, l'agente genera domande da solo invece di richiedere manualmente di aggiungere nodi di domande per chiedere informazioni mancanti. Questo approccio rappresenta un cambiamento importante rispetto ai bot classici. La chiave è che i nomi dei tuoi input siano adatti all'uomo (ad esempio, "data di inizio", "indirizzo email") così che l'IA possa formulare una domanda naturale. Se la domanda autogenerata dall'IA non è formulata in modo ideale, considera di perfezionare la descrizione o il nome dell'input. Questa funzione semplifica notevolmente i dialoghi, ma si basa su input ben specificati.
Specificare i risultati per argomenti dove appropriato: Un argomento può produrre variabili di output che l'orchestratore utilizza per compilare la risposta finale. Ad esempio, un argomento "Store Finder" potrebbe produrre
NearestStoreLocation. Inviando informazioni invece di inviare direttamente un messaggio all'utente, permetti all'orchestratore di combinare quelle informazioni con altri passaggi in modo elegante. Se il contenuto di un argomento viene utilizzato in una risposta più ampia, catturalo come variabile di output e lascia che l'orchestratore gestisca il messaggio finale. Per altre informazioni, vedere Orchestrare il comportamento dell'agente con intelligenza artificiale generativa.Evita di "doppiare la manopolazione" dei dati nei prompt: Se configuri output, non inserire anche quegli output nel 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 i dati finali quando possibile.
Concatenare azioni, argomenti e conoscenze
Poiché l'orchestratore può utilizzare più funzionalità in un solo turno, progetta tenendo conto della composabilità:
Dai a tutto nomi e descrizioni intuitive: il planner decide in gran parte di usare uno strumento o un argomento in base a quanto il nome e la descrizione corrispondono alla richiesta dell'utente. Usa frasi attive che siano in linea con le intenzioni dell'utente. Ad esempio, uno strumento chiamato "TranslateText" con la descrizione "Traduce il testo in una lingua specificata" è più probabile che venga scelto quando l'utente chiede di tradurre, rispetto a un generico "Flow1." I nomi contano più di ogni altra cosa. Evita nomi criptici. Se l'agente sceglie l'argomento sbagliato, rivisita quei nomi e descrizioni.
Fornisci un ricco "toolkit" ma curalo: collega tutte le azioni utili di cui il tuo scenario potrebbe aver bisogno (API, flussi e così via) e crea argomenti per i flussi importanti. Questo approccio offre all'IA più opzioni per risolvere le domande. Tuttavia, rimuovi o disabilita strumenti e argomenti che sai essere irrilevanti o rischiosi per l'agente, così non confondono il pianificatore. Un set più piccolo di scelte di alta qualità è meglio di un set esaustivo con sovrapposti. Le descrizioni sovrapposte possono spingere l'agente a provare più cose contemporaneamente, cosa che potrebbe non essere desiderata.
Fidati del planner, 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 di conoscenza o da un'API dati in tempo reale, il pianificatore potrebbe scegliere di usare entrambi—recuperare le informazioni come background e chiamare l'API per informazioni attuali. Questo approccio può produrre una risposta migliore. Abbraccia questa autonomia, ma osserva fin da subito per assicurarti che vengano fatte buone scelte.
Gestire intenti multipli: Se una query utente richiede intrinsecamente due cose separate (come "apri un nuovo account e inviami i dettagli"), il pianificatore generativo cerca di soddisfare entrambe invocando a turno le sequenze rilevanti. Non è necessario scrivere manualmente il raming per il multi-intent. Il tuo compito come sviluppatore è assicurarti che ogni sottotask (apertura account, invio dei dettagli) sia coperto da uno strumento o argomento, e che i loro output e input si connettano se necessario.
Lascia che la conoscenza integri argomenti e strumenti: l'orchestratore può chiamare la ricerca della conoscenza in modo proattivo, non solo come riserva. Se hai una base di conoscenza ricca configurata, l'agente potrebbe rispondere a una parte di una query con un estratto di articolo di conoscenza anche se un'azione ne copre un'altra. Questo comportamento è predefinito. Mantieni aggiornata la tua base di conoscenze con informazioni che non sono facilmente reperibili tramite strumenti.
Fai attenzione all'ampiezza dell'uso delle conoscenze: Attualmente, non puoi obbligare l'operatore a utilizzare un articolo specifico su richiesta. L'IA sceglie gli articoli rilevanti in base alla query. Nota anche i limiti. Ad esempio, argomenti di sistema come "Più argomenti abbinati" non vengono usati in modalità generativa, poiché il planner gestisce la disambiguazione in modo diverso. Scopri di più su altre limitazioni note per l'orchestrazione generativa.
Test 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 dovrebbe. Ecco le migliori pratiche per testare e migliorare il tuo agente orchestrato:
Usa la mappa dell'attività: Copilot Studio fornisce una mappa dell'attività durante i test, che mostra i passaggi decisi 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 approfondimento appropriata? Se l'agente ha scelto l'argomento sbagliato o ha dimenticato uno strumento, potresti dover perfezionare le descrizioni dei componenti o modificare le istruzioni.
Rivedi le trascrizioni: una volta pubblicato l'agente, rivedi regolarmente le trascrizioni o i log delle conversazioni. Cerca allucinazioni o inesattezze nelle risposte. Se gli utenti danno feedback tipo "non è corretto", torna a capire perché l'agente pensava che fosse così. Affronta i problemi aggiungendo fatti mancanti alla base di conoscenza, rafforzando le istruzioni o, in alcuni casi, aggiungendo un nuovo argomento per colmare una lacuna. Scopri di più in Estrazione e analizza le trascrizioni delle conversazioni degli agenti (architettura di riferimento).
Itera con piccoli cambiamenti: spesso si può migliorare un agente generativo apportando modifiche sottili. Ad esempio, se l'output dell'agente è troppo proligioso o non nel formato desiderato, modifica le istruzioni su stile e formato e prova di nuovo. Se invoca uno strumento inutile ogni volta, forse la descrizione dello strumento è troppo ampia e puoi rifinirla in modo che venga invocata solo quando appropriato. Fai una modifica alla volta e osserva l'effetto sulle decisioni dell'agente.
Fornisci esempi di enunciati (con attenzione): potresti scoprire che aggiungere un paio di domande utente di esempio nella descrizione di un argomento può aiutare il LLM a capire quando usare quell'argomento. Ad esempio: "Scopo: Reset della password di un utente. Ad esempio, l'utente potrebbe dire 'Ho dimenticato la password' o 'resetta l'accesso al mio account Contoso.'" Questi esempi danno al modello suggerimenti extra. Non esagerare e mantieni le descrizioni concise e focalizzate. Il modello ha già molto contesto—assicurati solo che i tuoi metadati siano chiari.
Monitorare le metriche di prestazione: Man mano che l'utilizzo cresce, tieni d'occhio indicatori chiave come il tasso di successo (l'agente ha effettivamente risolto la richiesta dell'utente?), il tasso di riserva (quante volte diceva "Scusa, non posso aiutarti") e la soddisfazione dell'utente se disponibile. Anche durante i test, semplici conteggi di quanto spesso ogni argomento e strumento viene utilizzato possono suggerire le necessarie modifiche. Ad esempio, se un argomento di conversazione banale viene evocato troppo spesso e aggiunge rumore, disattivalo o restringine la descrizione. Rivedi le linee 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 rende migliore 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 tematici sono disponibili specificamente 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 principali fattori scatenanti:
| Attivatore | Quando si attiva | Scopo |
|---|---|---|
| Su Conoscenza Richiesta | Poco prima che l'agente effettui una query nella knowledge base | Questo trigger ti permette di intercettare il momento in cui l'orchestratore sta per cercare nelle fonti di conoscenza. Fornisce accesso in sola lettura alle SearchPhrase parole chiave o che l'agente intende utilizzare, e una variabile di sistema per fornire risultati di ricerca personalizzati. Ad esempio, potresti individuare la query e instradarla verso un indice proprietario o inserire più dati nei risultati.Questo è un trigger avanzato ("segreto": non è visibile nell'interfaccia utente di default e attualmente deve essere abilitato tramite una modifica YAML (nominando esattamente OnKnowledgeRequestedun argomento). Usalo se hai bisogno di aumentare o personalizzare il passaggio di recupero della conoscenza, come filtrare certi risultati o fondere dati esterni nella risposta alla conoscenza. |
| Risposta generata dall'IA | 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 compilato il testo finale della risposta (basato su tutti gli output degli strumenti e degli argomenti) e poco prima di consegnarlo. Questo passaggio ti dà la possibilità di modificare programmaticamente la risposta o le sue citazioni. Ad esempio, potresti post-elaborare il testo per correggere eventuali formattazioni, oppure sostituire gli URL grezzi con link di tracciamento amichevoli. Puoi anche decidere di ignorare la risposta. Il trigger può generare un messaggio personalizzato tutto suo, e puoi usare un ContinueResponse segnale per indicare se la risposta originale dell'IA deve comunque essere inviata o meno.Usa questo trigger per aggiustamenti o miglioramenti all'ultimo secondo della risposta dell'IA, come aggiungere un prompt di sondaggio o oscurare qualcosa che l'IA includeva ma che vuoi rimuovere. L'uso intenso di questo trigger potrebbe indicare una logica che avrebbe potuto essere nelle istruzioni principali. Usalo per un controllo dettagliato quando necessario. |
| Piano completato | Dopo che l'intero piano è stato eseguito e la risposta è stata inviata | Una volta completato un piano, cioè tutti i passaggi completati e l'utente vede la risposta, questo trigger si attiva. Di solito, lo usi per avviare eventuali processi di fine conversazione. Un uso comune è reindirizzare la conversazione su un argomento finale specifico o su un sondaggio. Ad esempio, potresti avere un argomento di fine chat che ringrazia l'utente o fornisce i passaggi successivi. Utilizzando On Plan Complete, puoi chiamare automaticamente quell'argomento. Tuttavia, fai attenzione: probabilmente non vorrai chiudere la conversazione dopo ogni singola domanda dell'utente, specialmente se un utente potrebbe fare domande. Aggiungi 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. |
Maggiori capacità di orchestrazione generativa
Approfondi la tua comprensione del modello di orchestrazione di Copilot Studio con capacità avanzate che estendono il modo in cui gli agenti pianificano, agiscono e collaborano:
- Progetta capacità di agente autonomo: Costruisci agenti che agiscono proattivamente utilizzando trigger, confini decisionali e guardrail.
- Esplora i modelli di orchestrazione multi-agente: impara come più agenti coordinano, delegano compiti e scambiano il contesto per risolvere flussi di lavoro complessi.