2026-07-31T18:47:59.653Z
Test degli agenti vocali IA: dimostrare che la chiamata ha prodotto il risultato
Un test in cinque fasi per connessione, tempi dei turni di parola, interruzione, effetti degli strumenti e verifica del risultato richiesto dal chiamante.
I test con agente vocale AI non dovrebbero essere rilasciati perché la trascrizione sembra plausibile. Un test difendibile dimostra cinque cose distinte: la chiamata si è collegata, l'agente ha risposto entro un limite specifico del flusso di lavoro, l'interruzione ha effettivamente interrotto l'audio dell'assistente, ogni strumento con effetti esterni ha raggiunto un risultato noto e l'esito richiesto dal chiamante esiste al di fuori della conversazione. Questa distinzione è importante perché i soliti artefatti rispondono a domande più ristrette. Una registrazione prova che l'audio esisteva. Una trascrizione dimostra che il riconoscimento vocale ha prodotto testo. Una griglia di valutazione LLM stima se quel testo soddisfi un criterio. Lo stato della telefonia terminale dimostra che la chiamata è terminata. Nessuno di questi fatti da solo dimostra che un appuntamento sia stato prenotato, che sia stata applicata una cancellazione o che un trasferimento sia arrivato a destinazione. La pratica predefinita è tenere il simulatore e il valutatore di trascrizioni, poi aggiungere una piccola ricevuta deterministica della chiamata deterministica accanto a loro. Una trascrizione fluida è solo un livello di prova La simulazione vocale è utile. L'attuale Documentazione dei test vocali di Vapi descrive una vera telefonata tra l'agente bersaglio e un agente di test, seguita da registrazione, trascrizione e valutazione LLM secondo una griglia di valutazione. Questo esercita molto di più il percorso rispetto a un test solo testuale su prompt. Lascia comunque delle lacune osservabili. Una trascrizione può omettere il confine esatto tra la fine del chiamante e l'inizio della riproduzione audio. Può essere letto in modo pulito dopo che il chiamante ha parlato sopra l'assistente. Può contenere la conferma sicura di uno strumento anche quando il sistema remoto ha scaduto. Il completamento telefonico ha un significato altrettanto ristretto. Twilio documenta queued , ringing , in progress , completed , busy , failed , no answer e canceled call state. Il suo Riferimento risorse di chiamata avverte anche che completed significa che è stata stabilita una connessione e l'audio trasferito. Una persona, un IVR o una segreteria telefonica potrebbero aver risposto. "Completata" è quindi una prova di trasporto, non un verdetto commerciale. Usa invece cinque verifiche: Gate Prove minime Un fallimento che essa espone Raggiungibilità ID chiamata correlato più stato connesso o in progress Sto facendo coda, nessuna risposta, destinazione non valida tempi dei turni di parola L'audio utente si fermava a t1 ; Assistant Audio è iniziato a t2 Risposta lenta nascosta da una trascrizione coerente Interruzione Interruzione dell'utente a t3 ; L'audio assistente è passato da t4 L'agente continua a parlare sopra il chiamante effetto dello strumento ID operativo stabile più ricevuta di destinazione Timeout seguito da un tentativo al cieco pericoloso Esito Controllo indipendente del risultato promesso Normale fine chiamata senza prenotazione, trasferimento o cancellazione Non combinare questi punti in un unico punteggio all'inizio. Una media ponderata può permettere a un eccellente certificato di nascondere un risultato mancante. Mantieni visibile lo strato guasto. Registra i confini audio, non solo la latenza del modello L'intervallo utile di prima risposta inizia quando l'audio del chiamante è considerato completo e termina quando l'audio assistente inizia effettivamente a riprodursi: Questo non è la stessa cosa del modello con il tempo al primo token. Endpointing vocale, trascrizione, inferenza del modello, sintesi, buffering e trasporto telefonico sono tutti all'interno dell'esperienza del chiamante. Misurare solo uno stadio interno può far sembrare un richiamo lento sano. L'interruzione necessita di un'altra osservazione accoppiata: Il Documentazione degli eventi server di Vapi espone aggiornamenti separati di stato, aggiornamenti vocali, user interrupted , chiamate di strumenti ed eventi di fine chiamata. Osserva che l'interruzione può essere abbinata a prove di blocco della voce. Altri fornitori usano nomi diversi, ma il contratto è portatile: mantenere un call ID, attivare l'ID dove disponibile, timestamp monotoni, tipo di evento e un piccolo insieme di campi non di contenuto. Non esiste un valore universale di buono per nessuno dei due intervalli. Il fissaggio eseguibile utilizzato per questo articolo imposta maxFirstResponseMs a 1200 e maxInterruptStopMs a 300, quindi la regola decisionale è ispezionabile. Questi sono esempi di valori politiche, non standard di settore. Calibra con percorsi di rete reali, lingue, stili di parlata, esigenze di accessibilità e il costo di un fallimento falso. Un test di rilascio dovrebbe anche preservare l'incertezza. Se manca user speech stop, non calcolare la latenza da un timestamp della trascrizione. Se l'evento di interruzione esiste ma l'assistente stop no, restituisci barge in failed o insufficient evidence secondo il contratto di recupero. Non creare mai un intervallo sano da eventi incompleti. Riproduci l’ordine di precedenza degli errori prima delle chiamate reali L'artefatto compagno contiene otto flussi di chiamate senza contenuti. Ogni evento ha un timestamp relativo e solo i campi necessari per la classificazione: Eseguilo con: La partita eseguita ha prodotto la parità esatta prevista su otto sentenze: La precedenza è importante. Controlla la raggiungibilità prima del tempismo perché una chiamata non risposta non può avere una risposta iniziale significativa. Controlla tempistica e interruzione prima degli effetti dello strumento perché un chiamante potrebbe aver già sperimentato un'interazione interrotta. Riconcilia l'effetto dello strumento prima di valutare il completamento terminale perché riprovare un effetto collaterale incerto può duplicare il lavoro. Richiedi che il risultato sia l'ultimo perché è la dichiarazione più forte. Questo ordine è una regola operativa, non una classificazione di severità. Una cancellazione fallita può avere più impatto di un audio lento. Instradare la gravità dal flusso di lavoro e le conseguenze per l'utente dopo che il livello di evidenza è stato conosciuto. Tieni separata la ricevuta dell’effetto dello strumento da quella del risultato Un operatore vocale spesso utilizza uno strumento di programmazione, pagamento, ticketing o trasferimento. Il risultato dello strumento del modello non è necessariamente lo stato dureggio della destinazione. Assegnare a ogni tentativo di effetto collaterale un ID di operazione stabile. Mantenere l'azione richiesta, la classe di destinazione, il numero di tentativo, la classe di risposta e un controllo di effetto senza contenuti. Se il trasporto scade dopo l'invio, riconcilia quell'ID operazione prima di riprovare. Una seconda richiesta con una nuova identità può causare un appuntamento duplicato o una cancellazione. Poi verifica indipendentemente il risultato promesso dal chiamante. Un effetto strumento può essere reale mentre il risultato dell'utente è ancora errato: un appuntamento esiste sotto un account sbagliato, un trasferimento collegato a un IVR invece che a un operatore, o una cancellazione modificata di un elemento mentre il bundle richiesto è ancora attivo. La false complete della fascia è volutamente scomoda. Ha una chiamata connessa, una prima risposta di 600 ms, una ricevuta verificata dell'effetto strumento e uno stato della chiamata completata. Comunque fallisce perché outcome.verified manca. Questo è esattamente il caso in cui un gate solo con trascrizione probabilmente non riuscirà a mancare. Un valutatore LLM rimane utile per qualità difficili da codificare deterministicamente: se l'agente abbia riconosciuto la frustrazione, spiegato chiaramente una politica o seguito uno stile di interazione. Mantenere il verdetto con lo strato di valutazione dei trascrivi. Non lasciare che sovrascriva la raggiungibilità, i timestamp, le ricevute di destinazione o lo stato esterno. Conserva la ricevuta minima rispettosa della privacy Il classificatore non necessita di audio o trascrizione del telefono del chiamante. Una ricevuta minima può contenere ID di chiamata e conversione pseudonimo, timestamp relativi, tipi di eventi, stato terminale, versione hash della policy, ID operazione e risultati di effetti booleani e risultati. Conserva le registrazioni solo quando il consenso, la politica di conservazione e il valore di debug le giustificano. Prima del rilascio, fai funzionare il dispositivo fisso per verificare il classificatore stesso. Poi esegui un piccolo insieme di chiamate reali tra operatori, regioni, lingue e comportamenti dei chiamanti che contano. Rivedere le distribuzioni di soglia invece di accordarsi su una chiamata di laboratorio completamente pulita. Infine, riprodurre i fallimenti di produzione come nuovi casi di regressione senza copiare contenuti sensibili di conversazioni nella suite di test. La limitazione è semplice: questo artefatto convalida una regola decisionale, non la qualità del riconoscimento vocale o il tempo di attività di alcun fornitore. Non può scegliere le soglie per i tuoi chiamanti. Tuttavia, ciò impedisce che una conversazione raffinata venga scambiata per un lavoro verificato. Sidewisp è attualmente in anteprima privata. La sua esperienza pubblica è un sito web in accesso anticipato e una dimostrazione interattiva; La raccolta e il recupero di agente di produzione e salute non sono inviati nell'attuale repository del sito web. La direzione del prodotto è uno strato di salute attorno ai runtime esistenti, non una piattaforma vocale, un provider telefonico o un fixer autonomo. Se questa ricevuta a cinque gate corrisponde ai guasti che devi rilevare, puoi unisciti all'anteprima privata di Sidewisp e descrivere il runtime del voice agent che gestisci.