Percorso 02Lezione 6 / 6

Fai debug con ipotesi verificabili

Usa un agente per confrontare spiegazioni e raccogliere prove. Evita modifiche ripetute senza una causa verificata.

Pratico10 minRevisionato

Pubblicato da Come scriviamo

Verifica cosa hai capitoUna richiesta fallisce solo dopo il deployment, ma funziona in locale. Cosa deve fare prima l'agente?Svolgi l'esercizio
Una richiesta fallisce solo dopo il deployment, ma funziona in locale. Cosa deve fare prima l'agente?

Cosa imparerai

  • Descrivere con precisione il comportamento atteso e quello osservato.
  • Scegliere un'osservazione che distingua spiegazioni alternative.
  • Verificare una correzione senza confondere la rimozione del sintomo con quella della causa.

Descrivi il guasto prima di proporre una correzione

Una richiesta di debug utile indica comportamento atteso, comportamento osservato e ambito interessato. Includi versione, input pertinente ed errore. Rimuovi credenziali e record privati dai log prima di fornirli a uno strumento AI.

«L’esportazione non funziona» offre poche indicazioni. Una descrizione migliore è: «L’esportazione riesce in locale. In staging, la stessa richiesta del manager restituisce 403 dopo l’ultimo deployment. Le altre route funzionano ancora».

La descrizione non dimostra la causa. Individua differenze che possono guidare l’indagine.

Mantieni aperte più spiegazioni

Chiedi all’agente un piccolo insieme di cause plausibili e le prove per ciascuna. Non chiedergli di scegliere subito la prima spiegazione convincente.

Nel guasto fittizio dell’esportazione, le cause possibili includono un permesso mancante per l’identità del servizio, una mappatura dei ruoli modificata o una richiesta inviata all’ambiente sbagliato. Ogni spiegazione prevede prove diverse.

IpotesiOsservazione utile a distinguerla
L’identità del servizio non può leggere i dati dell’esportazioneL’identità del servizio riceve un accesso negato alla risorsa di destinazione
La mappatura dei ruoli è cambiataLa richiesta arriva all’app con un ruolo effettivo diverso
La richiesta usa l’ambiente sbagliatoL’endpoint risolto o l’identificatore della risorsa differisce dalla destinazione prevista

La tabella è un punto di partenza. Una risposta 403 può provenire da livelli diversi. Individua il componente che l’ha prodotta prima di presumere un errore nell’autorizzazione applicativa.

Scegli un’osservazione sicura

Parti da un’osservazione che distingua le spiegazioni a basso costo. Confronta versione distribuita e configurazione non segreta. Esamina l’errore pertinente e l’identificatore della richiesta. Quando possibile, riproduci il problema in un ambiente di test autorizzato.

Non concedere permessi ampi solo per vedere se l’errore scompare. L’azione cambia il confine di sicurezza e può nascondere il permesso effettivamente mancante. Non incollare nel modello un log di produzione completo quando bastano un messaggio di errore da cui sono stati rimossi i dati sensibili e il percorso della richiesta.

Indica cosa indebolirebbe ogni ipotesi. Aiuta l’agente a rivedere la spiegazione invece di difendere la prima risposta.

Modifica una causa alla volta

Quando le prove indicano una causa probabile, applica una correzione mirata. Evita di combinare una modifica ai permessi, un aggiornamento di libreria e la riscrittura del gestore. Se il sintomo scomparisse, non sapresti quale modifica è stata determinante.

Verifica la condizione originale del guasto. Controlla anche il confine vicino. Se correggi l’accesso per un manager, conferma che un utente non autorizzato riceva ancora un rifiuto.

Per un difetto ricorrente, aggiungi una verifica di regressione al livello capace di rilevarlo. Un test unitario non può rilevare ogni errore nella configurazione del deployment. Alcuni guasti richiedono una verifica di integrazione o un controllo dopo il deployment eseguito in condizioni controllate.

Interrompi i tentativi ripetuti senza nuove prove

Un agente può generare molte varianti di una correzione. Più tentativi non migliorano necessariamente la diagnosi. Se lo stesso guasto si ripete, chiedi quale nuova osservazione fornirà il tentativo successivo.

Fissa un limite di tempo o di tentativi per un’indagine incerta. A quel punto, riporta prove attuali, ipotesi scartate e domanda irrisolta. Queste informazioni consentono a un’altra persona di continuare senza ripetere gli stessi esperimenti.

Dopo il ripristino, registra la causa e la condizione che le ha permesso di raggiungere l’ambiente interessato. Una correzione elimina il difetto immediato. Un seguito utile riduce la probabilità che lo stesso guasto si ripresenti.

Svolgi l'esercizio

Scrivi una nota di debug su un difetto recente. Includi comportamento atteso, comportamento osservato, ambito interessato e tre cause possibili. Per ogni causa indica un'osservazione che la renderebbe meno probabile. Scegli prima l'osservazione sicura meno costosa.

Scarica la scheda di lavoro (Markdown)
Verifica cosa hai capito ↑

Continua a imparare

Fonti e approfondimenti

Letture correlate di Taiga

← Lezione precedente: Modifica un sistema esistente in sicurezza