Keshav Murthy di Couchbase approfondisce come gli sviluppatori creano software in grado di soddisfare i consumatori e fornire applicazioni innovative agli utenti aziendali

Gli sviluppatori creano software in grado di soddisfare i consumatori e fornire applicazioni innovative agli utenti aziendali. Questa attività non si limita a produrre quantità di codice, ma comprende un processo di osservazione, approfondimento, brainstorming, lettura, scrittura e riscrittura delle specifiche; progettazione, prototipazione e codifica in base alle specifiche; revisione, refactoring e verifica del software; e un ciclo virtuoso di distribuzione, debug e miglioramento. In ogni fase, gli sviluppatori consumano e generano due elementi: codice e testo – e anche il codice è testo, dopo tutto.

La produttività degli sviluppatori viene limitata da numerosi fattori: mondo reale, tempistiche stringenti, requisiti poco chiari, base di codice legacy e altro ancora. Per superare questi ostacoli e rispettare le scadenze, si affidano da tempo a nuovi strumenti inseriti man mano nella propria gamma, ad esempio, tool di creazione del codice come compiler, generatori di UI, mappatori ORM, generatori di API, ecc. Gli sviluppatori hanno abbracciato questi strumenti senza riserve, facendoli evolvere progressivamente per offrire funzionalità più intelligenti. I compiler moderni non si limitano a tradurre, ma riscrivono e ottimizzano automaticamente il codice. SQL, sviluppato cinquant’anni fa come linguaggio dichiarativo con una serie di modelli inglesi componibili, continua a evolversi e migliorare l’esperienza di accesso ai dati e la produttività dei team di sviluppo.

L’AI generativa emergente

La GenAI, acronimo di Generative AI, è un nuovo, potente strumento per gli sviluppatori ed è un sottoinsieme dell’intelligenza artificiale in grado di rispondere alle richieste e creare autonomamente numerosi contenuti di forme diverse (testo, codice, immagini, video, musica e altro) che imitano, e spesso rispecchiano, la qualità dell’operato umano. I prompt sono istruzioni in forma di scrittura espositiva e se ottimizzati producono testi e codici migliori. L’ondata sismica che circonda GenAI, supportata da tecnologie come ChatGPT e copilot, fa sì che il 2023 si prospetti come l’“anno di GenAI”. Si prevede che la sua capacità di generare testo rivoluzionerà ogni aspetto dell’esperienza e della produttività degli sviluppatori.

Impatto sugli sviluppatori

Recentemente qualcuno ha osservato che “nel 2023 il linguaggio naturale si affermerà come il linguaggio di programmazione più veloce”. Mentre la precedente generazione di strumenti si è concentrata sul miglioramento incrementale della produttività per la scrittura di codice e della qualità del codice, gli strumenti GenAI promettono di rivoluzionare questo e ogni altro aspetto delle attività degli sviluppatori.

ChatGPT può riassumere una lunga specifica di requisiti, fornire il delta di ciò che è cambiato tra due versioni o aiutare a creare una lista di controllo di un determinato compito. Per la codifica, l’impatto è drastico. Poiché questi modelli sono stati addestrati su Internet nella sua complessità, su miliardi di parametri e trilioni di token, hanno osservato una quantità enorme di codice. Scrivendo un buon prompt, si fa in modo di creare un significativo pezzo di codice, progettare API e rifattorizzare il codice. Tutto ciò era semplicemente fantascienza solo pochi anni fa. ChatGPT è in grado di far scomparire i compiti più banali, di semplificare quelli più complessi e renderli possibili. Gli specialisti si affidano sempre più a  ChatGPT per spiegare nuovi concetti e chiarire un’idea inizialmente confusa. Scelgono sempre il tool vincente.

Ma c’è un ma…

C’è un ma, anzi, più di uno. Gli strumenti GenAI dell’attuale generazione, per quanto promettenti, non sono consapevoli di obiettivi e finalità. Sviluppati attraverso l’addestramento su una vasta gamma di campioni, operano prevedendo i token successivi, uno alla volta, radicati saldamente negli schemi incontrati in precedenza. La loro risposta è guidata e vincolata dal prompt. Per sfruttare efficacemente il loro potenziale, diventa indispensabile creare prompt dettagliati e in stile espositivo. Questo spinge la tecnologia a produrre risultati che si avvicinano all’obiettivo prefissato, anche se con uno stile e creatività limitati dai dati di addestramento. Eccellono nel replicare gli stili a cui sono stati esposti, ma non riescono a inventarne di nuovi. Molte aziende e gruppi sono impegnati nella formazione di LLM per compiti specifici, al fine di migliorare la generazione di contenuti.

Ciononostante, GenAI promette di migliorare in modo sostanziale l’esperienza e la produttività degli sviluppatori, che vedono procedere rapidamente la rivoluzione che li riguarda. Aggiungendo funzionalità di intelligenza artificiale generativa nei servizi di database-as-a-service è possibile migliorare significativamente la loro produttività e accelerare il time to market delle applicazioni moderne, consentendo di scrivere più rapidamente codice SQL++ e a livello di applicazione.

di Keshav Murthy, VP, R&D di Couchbase