Capire un progetto legacy con l'IA, senza esporre il codice
Un repository ereditato senza documentazione, un bug urgente, nessuno che possa spiegarlo. Aggiungere la cartella del progetto a uno spazio fa risparmiare giorni, a patto di verificare prima sette punti.
Lunedì, primo giorno di incarico. Il fornitore precedente se n'è andato: restano un repository di millequattrocento file, un README di tre righe e un ticket segnato come urgente: «dopo l'aggiornamento, alcune fatture escono con l'aliquota IVA sbagliata». Nessuno nel team sa dove venga calcolata quell'aliquota.
L'IA fa risparmiare giorni su questo lavoro: seguire una chiamata di file in file, spiegare una funzione senza commenti. Bisogna però guardare che cosa contiene la cartella prima di affidargliela.
Progetto legacy: un codice che non è vostro
Il codice ripreso appartiene il più delle volte al cliente o al datore di lavoro. Rientra nel segreto commerciale, che la legge tutela in Svizzera come in Italia, e il vostro contratto contiene in genere una clausola di riservatezza. Un progetto legacy nasconde anche file mai riordinati, a volte copie del database di produzione, i cui dati personali ricadono sotto il GDPR o la legge svizzera sulla protezione dei dati (LPD).
Provate con il vostro casoLe vostre note restano nel browser, mai sui nostri server.
Con un account connesso, l'assistente cerca automaticamente nella cartella aggiunta i passaggi utili a ogni domanda; l'indice resta nella cartella, sul vostro computer. Il volume di codice indicizzato dipende dal piano: vedere i piani. Cominciate da una visione d'insieme:
A partire dai file della cartella, traccia la mappa del progetto: i grandi moduli, i punti di ingresso (route, comandi pianificati, job in coda), le dipendenze tra loro e il codice che sembra morto. Concludi con le cinque domande che dovrei porre al team precedente.
Poi seguite il problema di cui vi occupate, chiedendo prove:
Trova dove viene calcolata l'aliquota IVA di una fattura, dal pulsante «Scarica la fattura» fino al PDF. Indica il percorso dei file nell'ordine di chiamata, cita le righe che fissano l'aliquota e separa ciò che hai letto nel codice da ciò che supponi.
Quest'ultima istruzione conta: l'IA sbaglia con sicurezza, inventa un metodo o descrive il codice che si aspettava invece di quello che esiste. Aprite ogni file citato, verificate ogni riga e fate passare ogni correzione dai vostri test e dalla revisione del team. Per la revisione, vedere gli errori che fanno trapelare un codice proprietario.
Cosa resta riservato
Con un modello confidenziale, i passaggi utili del codice lasciano la vostra postazione per essere elaborati su server in Svizzera e in Europa, poi da parte nostra non viene conservato nulla. Una cartella contrassegnata «Modelli confidenziali» non viene mai inviata a un modello anonimizzato, e una conversazione che l'ha utilizzata resta su questi modelli.
Una cartella senza questa opzione viene trattata come avete scelto: con un modello anonimizzato, il suo contenuto parte così com'è. Il Filtro di riservatezza, invece, esamina i vostri messaggi e vi lascia decidere prima dell'invio; maschera nomi e identificativi, non la logica di un algoritmo, come spiega la guida anonimizzazione o pseudonimizzazione.
La cronologia delle vostre conversazioni vive nel vostro browser. Su una postazione condivisa o su una macchina di collaudo comune, è leggibile da chiunque usi la stessa sessione: disconnettetevi quando ve ne andate. E un segreto tolto dalla cartella è protetto solo se lo è anche nella cronologia del repository; l'elenco dei dati da non incollare mai in un'IA vale anche per una cartella.
Per farvi spiegare un primo modulo, con i segreti rimossi: aprite la chat.