Annunciamo una nuova partnership con Proofig! Per saperne di più
Ogni giorno viene scritto sempre più codice con l'AI. Secondo Sundar Pichai, CEO di Google, alla fine del 2024 oltre il 25% del codice di Google era stato scritto dall'AI. Il CEO di Robinhood afferma che la maggior parte del codice distribuito da Robinhood è ora scritto dall'intelligenza artificiale. Il termine "vibe coding" (reso popolare da un tweet di Andrej Karpathy) è entrato nel lessico pubblico: significa abbandonarsi completamente alle "vibrazioni" della programmazione e lasciare che sia l'intelligenza artificiale a prendere il controllo e scrivere il codice al posto nostro.
Startup come Cursor, Lovable e Replit stanno cercando di eliminare le barriere all'ingresso nel mondo della programmazione: in questo modo, avvicinarsi alla programmazione diventa così facile che chiunque in azienda può produrre codice o persino creare un sito web o un'app completi senza alcuna conoscenza di Python o React.
Il sondaggio StackOverflow Developer Survey 2025 rivela quanto questa tendenza sia ormai diffusa. L'84% degli sviluppatori utilizza o intende utilizzare strumenti di intelligenza artificiale nel proprio flusso di lavoro di sviluppo, mentre il 51% degli sviluppatori professionisti utilizza strumenti di intelligenza artificiale quotidianamente. Ciò rappresenta un cambiamento significativo nel modo in cui il codice viene scritto in tutto il settore.
Tuttavia, il sondaggio rivela anche alcune difficoltà crescenti in questa era di sviluppo assistito dall'IA. Sebbene il 52% degli sviluppatori riferisca che gli strumenti di IA hanno avuto un impatto positivo sulla propria produttività, il sentiment positivo nei confronti degli strumenti di IA è sceso dal 70%+ al 60% nel 2025. Dopo un iniziale periodo di luna di miele dedicato all'esplorazione di questi strumenti generati dall'IA, sembra che gli sviluppatori abbiano ora un atteggiamento più neutrale nei loro confronti.
La fonte della frustrazione è eloquente: il 66% degli sviluppatori è frustrato dalle "soluzioni di IA che sono quasi corrette, ma non del tutto" e il 45% ritiene che il debug del codice generato dall'IA richieda più tempo del previsto. Solo il 3% degli sviluppatori "si fida ciecamente" dei risultati degli strumenti di IA, mentre il 46% diffida attivamente della loro accuratezza.
Questo crea un paradosso interessante: gli sviluppatori si affidano sempre più all'IA per scrivere codice, ma non si fidano completamente di ciò che produce. Come rileva il sondaggio, il 75% degli sviluppatori continuerebbe a chiedere aiuto a un essere umano quando "non si fida delle risposte dell'IA", ponendosi come "arbitro finale della qualità e della correttezza". Secondo Simon Willison, "non utilizzerebbe codice generato dall'IA per i progetti che intende realizzare senza averne prima revisionato ogni singola riga. Non solo esiste il rischio di allucinazioni, ma il desiderio del chatbot di essere accondiscendente significa che potrebbe dire che un'idea inutilizzabile funziona. Questo è un problema particolare per chi di noi non sa come modificare il codice. Rischiamo di creare software con problemi intrinseci".
Sebbene il codice generato dall'intelligenza artificiale sia ormai una realtà consolidata, esistono sicuramente alcuni casi in cui è ancora opportuno verificare che il codice sia stato scritto da esseri umani.
Nel processo di assunzione di uno sviluppatore software, è importante valutare che il programmatore sia pienamente in grado di scrivere codice di alta qualità senza l'assistenza dell'IA. Inoltre, è anche importante valutare la loro comprensione del codice in modo che possano eseguire con successo il debug e diagnosticare il codice difettoso generato dall'IA o assistito dall'IA nel loro lavoro.
Nell'ambito dell'istruzione, è importante insegnare agli studenti come programmare senza l'ausilio dell'intelligenza artificiale. Con un'assistenza eccessiva da parte dell'IA, gli studenti possono perdere di vista i concetti fondamentali e tralasciare l'apprendimento delle competenze necessarie per diventare ingegneri software di successo. Sebbene sia probabile che questi studenti abbiano accesso all'assistenza dell'IA durante il loro lavoro, come suggerito dal sondaggio sugli sviluppatori di StackOverflow, senza una solida base, gli studenti non saranno in grado di correggere il codice generato dall'IA o addirittura di capire cosa c'è che non va.
Conformità e sicurezza. Molti framework di conformità considerano il codice generato dall'IA come più rischioso a causa di potenziali allucinazioni e bug. Ci sono anche importanti considerazioni relative alle licenze e al copyright: i modelli di IA potrebbero inavvertitamente riprodurre codice con licenze incompatibili, portando a violazioni della conformità. Inoltre, ci sono questioni aperte sul fatto che il codice generato dall'IA possa essere considerato proprietario o soggetto a copyright.
Provenienza e tracciabilità del codice. Prima dell'avvento dell'IA, strumenti come git blame rendevano facile tracciare chi avesse scritto ogni riga di codice e perché fossero state apportate delle modifiche. Con l'IA che genera grandi quantità di codice, diventa più difficile per gli sviluppatori ricordare il contesto e il ragionamento alla base di ogni riga. La possibilità di rilevare e tracciare il codice generato dall'IA aiuta nella manutenzione del codice, nel debug e nella gestione delle risorse. I CTO e i responsabili dell'ingegneria possono utilizzare queste informazioni per valutare l'efficacia dei diversi modelli di IA e garantire che i loro team utilizzino i migliori strumenti disponibili.
Nel complesso, Pangram è in grado di rilevare in modo conservativo la maggior parte del codice generato dall'IA, specialmente quando il codice supera le 40 righe. Pangram è conservativo perché raramente contrassegna il codice scritto dall'uomo come generato dall'IA, ma trascura circa l'8% del codice generato dall'IA, prevedendolo erroneamente come umano.
Quando esamina tutti i frammenti di codice, Pangram non rileva circa il 20% del codice generato dall'IA, poiché la maggior parte dei frammenti di codice IA brevi sono boilerplate indistinguibili dal codice umano o semplicemente non hanno un segnale sufficiente per essere rilevati.
| Metrico | Punteggio |
|---|---|
| Precisione | 96,2% (22.128/22.997) |
| Tasso di falsi positivi | 0,3% (39/13.178) |
| Tasso di falsi negativi | 8,5% (830/9.819) |
| Metrico | Punteggio |
|---|---|
| Precisione | 89,4% (41.395/46.319) |
| Tasso di falsi positivi | 0,4% (99/25.652) |
| Tasso di falsi negativi | 23,3% (4.825/20.667) |
Per eseguire questa analisi utilizziamo il set di dati GitHub. Per il codice AI utilizziamo una semplice fase di mirroring sintetico in due fasi:
Per creare il set di dati utilizziamo GPT-4o, Claude Sonnet, Llama 405b, Mistral 7B, Gemini 1.5 Flash e Gemini 1.5 Pro.
Il codice generato dall'intelligenza artificiale è più difficile da individuare rispetto ai testi scritti dall'intelligenza artificiale, poiché presenta un grado di libertà significativamente inferiore: rispetto a uno scrittore, un programmatore ha meno possibilità di scelta stilistica arbitraria. Abbiamo notato che molti dei falsi negativi che osserviamo sono file che semplicemente non lasciano molto spazio alla creatività o alla flessibilità, come il codice boilerplate generato automaticamente o i file di configurazione. Anche i linguaggi di basso livello, come C, Assembly e il codice del compilatore, sono molto più rigidi nella sintassi e quindi ci sono meno segnali che consentono di capire quando il codice è generato dall'IA.
Se stai cercando segni di codice generato dall'intelligenza artificiale, ti consigliamo quanto segue:
