Skip to content
Berktug Berke Ates
Berktug Berke Ates

Software Engineer

Blog

Strategie di testing per funzionalità basate sull’IA

· 7 min di lettura

I test deterministici contano ancora. Abbinarli alla valutazione per le parti probabilistic.

Separa deterministico e probabilistico

Gran parte di una funzionalità di IA è ancora software ordinario: autenticazione, validazione input, query di retrieval, rate limit, persistenza e rendering UI. Quei layer meritano unit e integration test classici con fixture fisse. Non indebolirli perché in mezzo c’è un modello.

Il passo generativo richiede un approccio diverso. Il matching esatto di stringhe su risposte free-form crea suite flaky. Testa il contratto intorno al modello e valuta gli output rispetto alle proprietà di prodotto.

Stubbia con saggezza nella continuous integration

Chiamare modelli live a ogni pull request è lento, costoso e nondeterministico. Usa fixture registrate o stub deterministici nelle pipeline delle PR e esegui suite di valutazione più ampie a schedule o quando cambiano prompt, modelli o logica di retrieval.

Quando stubbi, preserva latenza e modalità di fallimento realistiche. Test che vedono solo risposte perfette del modello non proteggeranno la gestione dei timeout o i percorsi di output malformati.

  • Asserisci lo schema di output prima del rendering
  • Golden-file le risposte grounded critiche
  • Simula retrieval vuoto e fallimenti degli strumenti
  • Condiziona i merge ai contract test, non alla creatività del modello

Aggiungi confidenza a livello di journey

I test end-to-end devono verificare che un utente possa completare il journey assistito dall’IA: inserire una richiesta, vedere una risposta validata, recuperare da un rifiuto e scalare quando serve. Tieni questi journey pochi e stabili.

Abbina i journey automatici a review umane periodiche di output di produzione campionati. La quality engineering per l’IA è un mix di disciplina software e gusto di prodotto.

Rendi il fallimento actionable

Un test di IA che fallisce deve dirti se si è rotto lo schema, se il retrieval ha mancato, se la policy ha rifiutato in modo scorretto o se i punteggi di valutazione sono calati. Build rosse vaghe addestrano i team a ignorarle.

Lo scopo di testare le funzionalità di IA non è fingere che i modelli siano deterministici. È mantenere componenti probabilistic dentro un sistema che resta operabile, revisionabile e sicuro da cambiare.


Pubblicato il 16 aprile 2024 da Berktug Berke Ates.