Guadagni:
- Possibilità di utilizzare l'intelligenza artificiale come filtro di revisione iniziale con categorie e tag di gravità
- Capacità di filtrare i risultati con la mente umana per verificare/falso positivo/applicare
- Capacità di applicare i requisiti di approvazione umana su regole aziendali, architettura e decisioni critiche per la sicurezza
La revisione del codice avviene quando una modifica scritta da uno sviluppatore viene rivista da qualcun altro prima di essere unita. Buona recensione; Rileva tempestivamente i bug, condivide le informazioni e mantiene coerente la base di codice. Ma le revisioni sono stancanti, soggette a distrazioni e diventano superficiali sotto la pressione del tempo. L'intelligenza artificiale è un duplice assistente in questo caso: ti consente sia di pre-pulire il tuo codice che invii per la revisione, sia di esaminare le PR (richieste pull) di qualcun altro con un occhio più acuto.
La distinzione fondamentale è questa: l’intelligenza artificiale accelera e migliora la revisione, ma non può assumersi la responsabilità dell’approvazione. La frase "L'intelligenza artificiale sembrava, è pulita" non è un'approvazione. La decisione finale di "unione" spetta a un ingegnere che conosce il codice e il contesto.
Ciò che è positivo e ciò che è negativo per l'intelligenza artificiale in una revisione
Buono per: controlli null non riusciti, perdite di risorse (file/collegamento rimasti aperti), eccezioni non rilevate, condizioni ovviamente errate (>= invece di >), suggerimenti per la ridenominazione, leggibilità, casi limite mancanti, semplici odori di sicurezza (come la concatenazione di stringhe SQL), rilevamento di codici duplicati.
Punti deboli: difetti profondi che violano le regole aziendali ma richiedono contesto e tempistica, come logica sintatticamente corretta, conformità architetturale, colli di bottiglia reali delle prestazioni, errori di concorrenza. L’intelligenza artificiale produce anche falsi positivi (confondere qualcosa che in realtà non è un problema per un problema) e falsi negativi (mancare il vero bug). Pertanto, il suo risultato è una "lista di avvertenze", non un verdetto definitivo.
Attenzione: solo perché l'IA dice "nessun problema" non dimostra che il codice sia corretto. I falsi negativi tacciono; Gli errori più pericolosi sono quelli che non vengono mai menzionati nella recensione.
Passaggi di revisione sistematica
- Fornisci il contesto. Aggiungere al prompt lo scopo della modifica, il problema rilevante e gli eventuali criteri di accettazione. Una revisione senza scopo produce un’interpretazione senza scopo.
- Suddividilo in categorie. Chiedere al modello di classificare i risultati come "bug/sicurezza/prestazioni/leggibilità/stile"; in questo modo separi la parte critica dal rumore.
- Richiedi un'etichetta di gravità. Assegna a ciascun risultato una valutazione "alta/media/bassa" e includi "causa" e "correzione consigliata".
- Filtralo con i tuoi occhi. Valuta ogni risultato: è reale (verifica), è un falso positivo (scrivi la giustificazione), manca qualcosa (aggiungi la tua conoscenza).
- Verificare manualmente i percorsi critici. Leggi ed esegui tu stesso percorsi che coinvolgono denaro, identità, autorizzazione e cancellazione dei dati senza fare affidamento sull'intelligenza artificiale.
Tre mini custodie
Caso 1: rilevato errore nullo silenzioso. Un team ha fatto pre-revisionare all'intelligenza artificiale un PR di 380 righe. Il modello ha contrassegnato un modo in cui la risposta di un servizio esterno potrebbe essere nulla, ma nel codice non è stato effettuato alcun controllo per questo. Il revisore umano ha verificato questo percorso e ha aggiunto un controllo nullo; Un errore simile ha causato un'interruzione della produzione di 2 ore nel trimestre precedente.
Caso 2 – Eliminazione falsa positiva. L'intelligenza artificiale ha segnalato in loop un "possibile problema di prestazioni". Il revisore ha chiuso il problema come falso positivo, sapendo che il ciclo funziona solo con un massimo di 5 elementi (esegue il loop su un'enumerazione). La modella, che non conosceva il contesto, ha avvertito; La persona che conosceva il contesto ha preso la decisione giusta.
Caso 3: errore di regola aziendale mancato dall'IA. Mentre uno sconto dovrebbe essere massimo del 30% secondo la regola della campagna, il codice consentiva il 50%. L’IA non si è mai accorta di questo errore logico sintatticamente perfetto; perché non conosceva la regola. Il bug è stato rilevato nella recensione dal proprietario del prodotto che conosceva i criteri di accettazione. Lezione: la convalida delle regole aziendali è un lavoro umano.
Quattro modelli copiabili
Revisione mirata e categorizzata:
Ruolo: Meticoloso revisore del codice. Scopo della modifica: {{scopo/problema}}Rivedi questa differenza. Fornire risultati in queste categorie: [Bug] [Sicurezza] [Prestazioni] [Leggibilità] [Stile]. Per ogni risultato: file:riga, gravità (alta/media/bassa), causa, soluzione consigliata. Segna "possibile" se non sei sicuro. Non conosci le regole del business; Chiedimi informazioni sui luoghi che richiedono regole.{{diff}}
Per prepararti a rivedere il tuo codice:
Rivedi questa modifica prima di aprire una PR. Cercare: controllo null/bug mancante, perdita di risorse, caso limite, segreto, ramo non testato. Elencare i risultati in ordine di priorità; suggerisci la correzione di 1 riga per ciascuno.{{code}}
Caccia al caso limite:
Elenca gli input e le situazioni in cui questa funzione potrebbe interrompersi: vuoto, nullo, troppo grande, negativo, chiamata simultanea, errore di rete, dati parziali. Per ciascun caso, scrivi il comportamento previsto e cosa farà il codice corrente.{{function}}
Scansione dell'odore di sicurezza (pre-screening):
Cerca gli odori di sicurezza comuni in questo codice: concatenazione SQL/comandi, input non convalidato, segreto incorporato immutabile, deserializzazione non sicura, mancanza di controllo dei privilegi. Separare i risultati in "certo/probabile/conoscenza". Questa è una proiezione preliminare; Non è una sentenza definitiva.{{code}}
Prompt debole / Prompt forte
Debole: “C’è un errore in questo PR?”
Forte: "Scopo: aggiungi lo sconto del coupon al totale del carrello (lo sconto non deve essere superiore al 30% - non puoi verificare questa regola da solo, dimmi solo se il codice impone un limite superiore). Esamina diff; fornisci risultati per categoria + gravità + correzione suggerita, contrassegna 'possibile' se non sei sicuro. [diff]"
La versione forte afferma chiaramente l'intento, le regole aziendali e i confini dell'IA; In questo modo si ottengono risultati utili e l’area sconosciuta al modello rimane chiara.
Tipo di ricerca
Affidabilità dell'intelligenza artificiale
il ruolo dell'uomo
Controllo null/errore mancante
alto
Verifica e applica
Leggibilità/stile
alto
Scegli per preferenza
Semplice odore di sicurezza
medio
Finalizzare, scansionare con il veicolo
Conformità alle regole aziendali
basso
È del tutto umano.
Concorrenza/architettura
basso
È necessaria la revisione di un esperto
La revisione dell’intelligenza artificiale non sostituisce la revisione umana
Posiziona la revisione dell’intelligenza artificiale come un “primo filtro”: un passaggio preliminare economico, veloce e instancabile. Questo filtro libera l'attenzione del revisore umano da dettagli non importanti (uno spazio, un nome) e la dirige verso luoghi che richiedono davvero riflessione: la regola aziendale, l'architettura, il risultato della sicurezza. Ma l'approvazione della fusione è la firma di una persona responsabile all'interno del team. Per le modifiche critiche per la sicurezza è obbligatoria una revisione indipendente da parte di almeno un ingegnere competente.
Suggerimento: leggi l’elenco dei risultati che l’IA produce come “cose da controllare” piuttosto che “da fare”. Verifica e applica ciascun elemento oppure scrivi in una frase il motivo per cui lo hai superato; questa traccia rende la revisione verificabile.
Errori comuni
- Significa "L'intelligenza artificiale sembrava, è pulita". Questo è un falso senso di fiducia a causa di falsi negativi.
- Non dare contesto. Senza finalità e criteri di accettazione, il modello produce solo interpretazioni stilistiche superficiali.
- Applicazione cieca di falsi positivi. Correggere ogni avviso del modello potrebbe interrompere il codice in esecuzione.
- Chiedere al modello informazioni sulla regola aziendale. Il modello non conosce la regola; Spetta all'uomo verificarlo.
- Non discriminare la violenza. Mettere un risultato critico sulla sicurezza e un suggerimento su un nome nella stessa borsa mette in ombra ciò che è importante.
In sintesi
L'intelligenza artificiale è un primo filtro instancabile nella revisione del codice: rileva errori nulli/errori, casi limite e sicurezza semplice ha un buon odore; ma è debole nei confronti dei difetti che richiedono il contesto come le regole aziendali, l’architettura e la concorrenza e produce sia falsi positivi che falsi negativi. Richiedi risultati per categoria e gravità, filtra ciascuno con l'intelligenza umana, verifica manualmente i percorsi critici. L'approvazione è sempre la firma di un ingegnere responsabile.
Compito dell'applicazione
Seleziona un PR/diff reale o recente. Innanzitutto, chiedi all'intelligenza artificiale di esaminarlo con il modello di "revisione della categoria orientata agli obiettivi". Metti i risultati in una tabella e decidi per ciascuno: vero (ho verificato), falso positivo (ecco il mio ragionamento) o da implementare. Quindi fai un giro tu stesso e prova a trovare almeno una cosa (in particolare una regola aziendale o un caso limite) che manca all'intelligenza artificiale e scrivila.
lista di controllo
- [] Utilizzo la revisione AI come primo filtro, non come approvazione.
- [ ] Aggiungo lo scopo e i criteri di accettazione alla richiesta di revisione.
- [ ] Separo i risultati dal rumore per categoria e volendoli fortemente.
- [ ] Filtro consapevolmente ogni risultato per confermare/falso positivo/applicare.
- [ ] Come essere umano, controllo le regole aziendali e la conformità dell'architettura.
- [ ] Richiedo l'approvazione di un ingegnere qualificato per modifiche critiche per la sicurezza.