Testare, distribuire e integrare gli agenti
I test, la distribuzione e l'integrazione degli agenti sono passaggi critici per passare dallo sviluppo all'ambiente di produzione. Microsoft Foundry offre funzionalità complete per la convalida del comportamento dell'agente, la distribuzione negli ambienti di produzione e la connessione degli agenti alle applicazioni. Questi passaggi finali trasformano i prototipi in un'automazione affidabile che offre valore aziendale.
Strategie di test per gli agenti
Test approfonditi garantisce che gli agenti si comportino in modo affidabile in diversi scenari prima di raggiungere gli utenti. I test devono coprire le interazioni previste, i casi limite e le condizioni di errore.
Collaudo con ambienti di prova integrati
Sia il portale Foundry che l'estensione Visual Studio Code forniscono sandbox per il testing interattivo. Questi ambienti simulano interazioni utente reali offrendo visibilità al processo decisionale dell'agente.
Usando il playground in modo efficace:
Iniziare con il test del percorso positivo : verificare che l'agente gestisca correttamente le richieste comuni e previste. Testare le domande e i flussi di lavoro degli utenti tipici per verificare che le funzionalità di base funzionino come previsto.
Passare al test dei casi limite - provare input ambigui, informazioni incomplete e richieste insolite. I casi limite rivelano il modo in cui gli agenti gestiscono l'incertezza e le situazioni impreviste.
Eseguire test dei limiti: testare i limiti di ciò che l'agente deve e non deve eseguire. Verificare che l'agente rispetti i limiti definiti nelle istruzioni.
Eseguire test di conversazione a più turni : verificare che l'agente mantenga il contesto tra più scambi. Verificare se l'agente memorizza le informazioni precedenti e si basa sulle risposte precedenti in modo appropriato.
Eseguire test di chiamata dello strumento : quando gli agenti usano gli strumenti, verificare che chiamino gli strumenti giusti al momento giusto e incorporare correttamente i risultati.
Scenari di test da convalidare
Per un agente del servizio clienti, testare questi scenari:
Richieste previste:
- "Devo pianificare un appuntamento"
- "Quali sono le tue ore?"
- "Posso riprogrammare il mio appuntamento?"
Richieste fuori ambito:
- "Quali farmaci dovrei prendere?" (dovrebbe rifiutare e suggerire consulenza a un provider)
- "Puoi accedere alle mie cartelle cliniche?" (deve spiegare i limiti di privacy)
Input ambigui:
- "Ho bisogno di aiuto" (dovrebbe porre domande chiare)
- "appuntamento" (dovrebbe raccogliere più contesto)
Condizioni di errore:
- Errori o timeout degli strumenti
- Richieste che richiedono informazioni non disponibili
- Errori di sistema durante l'elaborazione
La registrazione dei risultati dei test consente di tenere traccia dei miglioramenti nel tempo e garantisce che le regressioni non reintroducino i vecchi problemi.
Lavorare con le conversazioni
Comprendere in che modo l'API Risposte gestisce le conversazioni consente di progettare esperienze dell'agente migliori e risolvere i problemi in modo efficace.
Ciclo di vita della conversazione
Creazione della conversazione : viene avviata una nuova conversazione quando un utente interagisce con l'agente. Ogni conversazione mantiene la propria cronologia dei messaggi, separata dalle interazioni degli altri utenti.
Scambio di messaggi: quando gli utenti inviano messaggi, l'API Risposte li elabora con la configurazione dell'agente e genera risposte in base al contesto della conversazione.
Conservazione del contesto : le conversazioni mantengono la cronologia completa dei messaggi, consentendo agli agenti di fare riferimento a scambi precedenti e mantenere la continuità.
Completamento della conversazione : le conversazioni possono essere terminate in modo esplicito o possono scadere in base all'inattività. Le conversazioni completate conservano la cronologia per la revisione.
Gestione delle conversazioni nell'ambiente di produzione
Quando si distribuiscono gli agenti, prendere in considerazione le strategie di gestione delle conversazioni:
Limiti di sessione : decidere quando avviare nuove conversazioni. Gli agenti del servizio clienti potrebbero creare nuove conversazioni per ogni caso di supporto, mentre gli assistenti per la produttività potrebbero mantenere conversazioni più lunghe.
Limiti del contesto : le conversazioni possono aumentare di grandi dimensioni rispetto alle interazioni estese. Monitorare la lunghezza della conversazione e implementare strategie per riepilogare o archiviare il contesto precedente quando necessario.
Privacy e conservazione : definire i criteri di conservazione per i dati della conversazione. Determinare per quanto tempo devono essere mantenute le cronologie dei messaggi e quando devono essere eliminate.
È possibile visualizzare e gestire le conversazioni tramite il portale foundry o a livello di codice tramite l'API Risposte, fornendo visibilità sul modo in cui gli utenti interagiscono con gli agenti distribuiti.
Approcci alla distribuzione
Microsoft Foundry supporta più approcci di distribuzione per soddisfare diverse esigenze operative e flussi di lavoro del team.
Distribuzione dal portale Foundry
La distribuzione del portale offre un'esperienza visiva e guidata:
- Vai al tuo agente nel portale Foundry
- Verificare che i risultati della configurazione e dei test siano soddisfacenti
- Selezionare Distribuisci nella pagina dell'agente
- Confermare le impostazioni di distribuzione
- Attendere il completamento della distribuzione
Gli agenti distribuiti vengono visualizzati nell'elenco delle risorse del progetto con indicatori di stato attivi.
Distribuzione da Visual Studio Code
La distribuzione di VS Code si integra con il flusso di lavoro di sviluppo:
- Aprire l'agente in progettazione agente
- Selezionare Aggiorna in Microsoft Foundry per eseguire il push delle modifiche alla configurazione
- Per gli agenti ospitati, usare l'opzione Distribuisci agenti ospitati nella sezione Strumenti
- Attendere la conferma della distribuzione
- Aggiornare la visualizzazione Risorse per visualizzare l'agente aggiornato
Questo processo semplificato consente di mantenere l'ambiente di sviluppo, eliminando i cambi di contesto durante la distribuzione.
Considerazioni sulla distribuzione
Quando si distribuiscono gli agenti, prendere in considerazione:
Disponibilità del modello : assicurarsi che la distribuzione del modello selezionata abbia una capacità sufficiente per il carico previsto. Monitorare l'utilizzo e la scalabilità in base alle esigenze.
Dipendenze degli strumenti: verificare che tutti gli strumenti usati dall'agente siano configurati correttamente. Ricerca file richiede archivi vettoriali con documenti caricati, gli strumenti API necessitano di credenziali valide.
Chiarezza delle istruzioni - Doppia verifica delle istruzioni prima della distribuzione. Le modifiche dopo la distribuzione richiedono la ridistribuzione e possono influire sulle esperienze utente.
Convalida dei test : verificare che sia stato completato il test completo. La distribuzione di modifiche non testate comporta rischi per la produzione.
Generazione di codice di integrazione
Dopo la distribuzione, gli agenti devono connettersi alle applicazioni. L'estensione Microsoft Foundry genera codice di integrazione di esempio che accelera questo processo.
Processo di generazione del codice
Per generare il codice di integrazione:
- Selezionare l'agente distribuito nella visualizzazione risorse di Azure (VS Code)
- Selezionare Apri file di codice dalle azioni disponibili
- L'estensione presenta opzioni strutturate:
- Scegliere l'SDK preferito : selezionare il framework SDK per l'integrazione
- Scegliere il linguaggio - Selezionare il linguaggio di programmazione (Python, JavaScript, C#e così via)
- Scegliere il metodo di autenticazione : selezionare la modalità di autenticazione dell'applicazione (identità gestita, entità servizio, interattivo e così via)
- L'estensione genera codice di esempio che mostra come:
- Eseguire l'autenticazione con Microsoft Foundry
- Connettersi all'agente specifico
- Inviare messaggi usando l'API Risposte
- Gestire le risposte dell'agente
Modelli di integrazione della produzione
Diverse applicazioni richiedono approcci di integrazione diversi. I modelli comuni includono:
Integrazione dell'applicazione Web
Integrare gli agenti nelle applicazioni Web per fornire funzionalità basate sull'intelligenza artificiale:
- Avviare conversazioni quando gli utenti interagiscono con l'agente
- Inviare messaggi utente all'agente tramite l'API Risposte
- Visualizzare le risposte dell'agente nell'interfaccia utente
- Gestire il contesto della conversazione tra le sessioni utente
Flussi di lavoro basati sulle API
Usare gli agenti nei flussi di lavoro back-end attivati da eventi o pianificazioni:
- Inviare dati strutturati come messaggi usando l'API Risposte
- Elaborare le risposte dell'agente in modo programmatico
- Usare gli output dell'agente per eseguire i passaggi successivi nei flussi di lavoro
Implementazioni di chatbot
Creare interfacce conversazionali basate su agenti:
- Mappare le sessioni dell'utente alle conversazioni degli agenti
- Gestire lo scambio di messaggi in tempo reale tramite l'API Risposte
- Implementare indicatori di digitazione mentre gli agenti elaborano le richieste
- Supportare contenuti multimediali avanzati nelle risposte
Automazione in background
Distribuire gli agenti per le attività automatizzate in esecuzione senza interazione dell'utente:
- Pianificare le esecuzioni degli agenti per le attività regolari
- Inserire dati dai sistemi agli agenti usando l'API Risposte
- Elaborare gli output degli agenti per aggiornare i sistemi aziendali
- Monitorare le prestazioni e i risultati dell'agente
Considerazioni sulla produzione
Per un'esecuzione efficace degli agenti nell'ambiente di produzione occorre prestare attenzione agli aspetti operativi:
Monitoraggio e osservabilità
Tenere traccia delle metriche chiave:
- Tempi di risposta e latenza
- Frequenza di riuscita della chiamata allo strumento
- Frequenza degli errori e modelli di errore
- Volume della conversazione e conteggio dei messaggi
- Consumo di token del modello
Queste metriche consentono di identificare i problemi di prestazioni e ottimizzare il comportamento dell'agente.
Sicurezza e conformità
Implementare le procedure consigliate per la sicurezza:
- Usare identità gestite o principali del servizio per l'autenticazione
- Applicare controlli di accesso con privilegi minimi
- Crittografare i dati sensibili in transito e a riposo
- Controllare le azioni e le conversazioni dell'agente
- Implementare criteri di conservazione dei dati conformi alle normative
Gestione costi
Monitorare e ottimizzare i costi:
- Tenere traccia dell'utilizzo dei token tra agenti e conversazioni
- Impostare i limiti di lunghezza della risposta per controllare i costi
- Scegli modelli appropriati bilanciando capacità e costo.
- Implementare la limitazione della frequenza per evitare picchi di utilizzo imprevisti
- Gestire la conservazione della cronologia delle conversazioni per ridurre i costi di archiviazione
Ottimizzazione delle prestazioni
Ottimizzare le prestazioni dell'agente:
- Memorizzare nella cache le informazioni richieste di frequente
- Ottimizzare le istruzioni per chiarezza e concisità
- Rimuovere gli strumenti non necessari che aggiungono latenza
- Monitorare la selezione del modello, perché alcuni modelli sono più veloci di altri
- Implementare la gestione del timeout per le operazioni a esecuzione prolungata
Gestione degli errori e resilienza
Le implementazioni dell'agente affidabili gestiscono gli errori normalmente:
Errori di rete: implementare la logica di ripetizione dei tentativi con backoff esponenziale quando le chiamate API hanno esito negativo a causa di problemi di rete temporanei.
Errori degli strumenti: quando si verifica un timeout o un errore degli strumenti, assicurarsi che gli agenti forniscano risposte di fallback utili anziché smettere di funzionare in modo invisibile agli utenti.
Limitazione della frequenza - Gestire le risposte ai limiti di frequenza di Azure implementando strategie di backoff e meccanismi di accodamento.
Input non validi : convalidare gli input utente prima dell'invio agli agenti, filtrare contenuti dannosi o problemi di formattazione.
Aggiornamento degli agenti di produzione
Man mano che i requisiti si evolvono, è necessario aggiornare gli agenti distribuiti:
- Apportare modifiche nell'ambiente di sviluppo
- Testare attentamente prima di distribuire gli aggiornamenti
- Distribuire gli aggiornamenti durante periodi di traffico ridotto, quando possibile
- Monitorare i problemi dopo la distribuzione
- Disporre di piani di rollback se gli aggiornamenti causano problemi
L'ID agente rimane costante tra gli aggiornamenti, quindi le integrazioni esistenti continuano a funzionare con il comportamento aggiornato.
I test, la distribuzione e l'integrazione degli agenti trasformano le attività di sviluppo in valore di produzione. Seguendo gli approcci di test sistematici, sfruttando gli strumenti di distribuzione integrati e implementando modelli di integrazione affidabili, è possibile fornire in modo sicuro agenti di intelligenza artificiale che migliorano le applicazioni e automatizzano i flussi di lavoro mantenendo al tempo tempo reale l'affidabilità e la sicurezza di livello aziendale.