In un recente annuncio, Amazon ha rivelato che il loro strumento di assistenza alla programmazione basato sull’intelligenza artificiale, CodeWhisperer, subirà un cambiamento significativo. Da oggi in avanti, CodeWhisperer sarà noto come Q Developer e farà parte della famiglia Q di chatbot AI generativi orientati agli scopi aziendali. Questo cambiamento rappresenta un’evoluzione significativa per il tool, poiché Q Developer offrirà funzionalità ancora più ampie rispetto al suo predecessore.
CodeWhisperer diventa Q Developer
Secondo Doug Seven, GM e direttore delle esperienze degli sviluppatori di intelligenza artificiale presso AWS, CodeWhisperer ha avuto difficoltà a ottenere il successo desiderato a causa di una mancanza di branding adeguato. Nonostante la presenza di una versione gratuita, CodeWhisperer non è riuscito a competere con il suo principale rivale, GitHub Copilot, che conta oltre 1,8 milioni di utenti individuali paganti e decine di migliaia di clienti aziendali. Questo cambiamento di nome da CodeWhisperer a Q Developer rappresenta un tentativo di Amazon di ampliare il raggio d’azione del tool e raggiungere un pubblico più vasto.
Le nuove funzionalità di Q Developer
Q Developer, come il suo predecessore, offre assistenza ai programmatori nelle loro attività quotidiane, come il debugging e l’aggiornamento delle applicazioni, la risoluzione dei problemi e la scansione della sicurezza. Ma le nuove funzionalità di Q Developer vanno oltre, consentendo ai programmatori di generare codice SQL, un linguaggio di programmazione ampiamente utilizzato per la creazione e la gestione di database. Inoltre, Q Developer può aiutare nella trasformazione e nell’implementazione di nuovo codice ideato a partire da query degli sviluppatori.
Personalizzazione e automazione con Q Developer
Come GitHub Copilot, i clienti di Q Developer possono adattare il tool alle loro codebase interne per migliorare la pertinenza delle raccomandazioni di programmazione offerte. Inoltre, grazie a una funzionalità chiamata Agents, Q Developer può eseguire in modo autonomo processi come l’implementazione di nuove funzionalità, la documentazione e la refactoring del codice.
Ad esempio, è possibile chiedere a Q Developer di creare un pulsante “aggiungi ai preferiti” in un’applicazione. Q Developer analizzerà il codice dell’applicazione, genererà nuovo codice se necessario, creerà un piano passo-passo e testerà il codice proposto prima di eseguire i cambiamenti. Gli sviluppatori possono quindi rivedere e iterare il piano prima che Q Developer lo implementi, collegando le varie fasi e applicando gli aggiornamenti necessari ai file, ai blocchi di codice e ai test.
Automazione dei processi di aggiornamento del codice
Amazon afferma che gli Agents di Q Developer possono anche automatizzare e gestire i processi di aggiornamento del codice, affermando che le conversioni di Java sono già supportate e che le conversioni di .NET saranno disponibili a breve. Q Developer analizza il codice, individuando le parti che necessitano di aggiornamento, e apporta tutte le modifiche necessarie prima di restituirlo agli sviluppatori per la revisione e il commit.
Considerazioni sulla sicurezza e l’utilizzo di AI nella programmazione
È importante sottolineare che, nonostante le funzionalità impressionanti offerte da Q Developer e strumenti simili, ci sono alcune considerazioni legate alla sicurezza e all’utilizzo dell’intelligenza artificiale nella programmazione. Un’analisi condotta su oltre 150 milioni di righe di codice da parte di GitClear ha rivelato che GitHub Copilot ha portato a un aumento di codice errato negli archivi di codice dei progetti. Inoltre, alcuni ricercatori hanno avvertito che strumenti come Copilot possono amplificare bug esistenti e problemi di sicurezza nei progetti software.
Q Developer, essendo anch’esso un assistente di codifica basato sull’intelligenza artificiale, condivide queste stesse preoccupazioni. Gli assistenti basati su AI sono addestrati su codice esistente e le loro suggerimenti riflettono i pattern di lavoro di altri programmatori, che possono essere seriamente difettosi. Le ipotesi degli assistenti generano bug che spesso sono difficili da individuare, soprattutto quando gli sviluppatori, che stanno adottando sempre più assistenti di codifica basati sull’AI, si affidano al giudizio degli assistenti stessi.
Q Developer al di là del codice
Oltre alla programmazione, Q Developer può anche aiutare le aziende nella gestione delle loro infrastrutture cloud su AWS. Ad esempio, Q Developer può eseguire richieste come “Elencami tutte le mie funzioni Lambda” o “Elencami le risorse residenti in altre regioni AWS”. Inoltre, il bot può generare comandi AWS Command Line Interface (CLI) (anche se non può eseguirli direttamente) e rispondere a domande relative ai costi AWS.
Costo e disponibilità di Q Developer
Q Developer è disponibile gratuitamente sulla Console AWS, su piattaforme come Slack e IDE come Visual Studio Code, GitLab Duo e JetBrains. Tuttavia, la versione gratuita ha alcune limitazioni, come l’impossibilità di personalizzare librerie, pacchetti e API e la raccolta di dati degli utenti come impostazione predefinita. Inoltre, sono presenti dei limiti mensili che includono un massimo di cinque task degli Agents (ad esempio, l’implementazione di una nuova funzionalità) al mese e 25 query sulle risorse dell’account AWS al mese. Amazon offre anche una versione premium di Q Developer chiamata Q Developer Pro, che costa $19 al mese per utente e offre limiti di utilizzo più elevati, strumenti per la gestione degli utenti e delle politiche, autenticazione single sign-on e, cosa più importante, garanzia di non violazione dei diritti di proprietà intellettuale.
Considerazioni finali
In conclusione, il rebranding di CodeWhisperer in Q Developer rappresenta un passo avanti significativo per Amazon nel settore degli assistenti di codifica basati sull’intelligenza artificiale. Q Developer offre funzionalità più ampie rispetto al suo predecessore, consentendo ai programmatori di generare codice SQL, automatizzare processi di aggiornamento del codice e gestire le infrastrutture cloud su AWS. Tuttavia, nonostante le potenzialità di Q Developer e di strumenti simili, è importante considerare attentamente le implicazioni di sicurezza e l’uso responsabile dell’intelligenza artificiale nella programmazione.
Fonte dell’articolo qui.

