approfondimento

Amazon Q: cos’è e come funziona l’AI al servizio del business



Indirizzo copiato

Un assistente intelligente basato su tecnologie di AI generativa, progettato per supportare le aziende in una vasta gamma di compiti, dalla ricerca alla generazione di contenuti, fino alla risoluzione di problemi specifici. Grazie alla sua capacità di connettersi direttamente ai dati, al codice e ai sistemi aziendali, offre risposte e soluzioni personalizzate, semplificando e rendendo più efficiente il lavoro quotidiano

Pubblicato il 23 mag 2024

Dario de Iudicibus

Senior Specialist Consultant – Problem Solving & Knowledge Management



Amazon Q

Ci troviamo in un’era segnata da trasformazioni tecnologiche senza precedenti. In questo contesto, Amazon ha lanciato un servizio che promette di rivoluzionare il modo in cui le imprese interagiscono con i dati e gestiscono le attività quotidiane. Stiamo parlando di Amazon Q, l’ultimo gioiello tecnologico nato dalla vasta gamma di servizi offerti da Amazon Web Services (AWS).

Ecco una panoramica introduttiva su Amazon Q, con un’appendice su una caratteristica particolarmente intrigante che abbiamo avuto l’opportunità di testare nella sua versione gratuita: il supporto allo sviluppo di applicazioni.

Introducing Amazon Q, the generative AI-powered Assistant Tailored for Work

Cos’è Amazon Q e a chi si rivolge

Amazon Q si presenta come un assistente intelligente basato su tecnologie di intelligenza artificiale generativa, progettato per supportare le aziende in una vasta gamma di compiti, dalla ricerca alla generazione di contenuti, fino alla risoluzione di problemi specifici. Grazie alla sua capacità di connettersi direttamente ai dati, al codice e ai sistemi aziendali, Amazon Q offre risposte e soluzioni personalizzate, semplificando e rendendo più efficiente il lavoro quotidiano.

In pratica, Amazon Q si manifesta attraverso tre distinti aspetti. Innanzi tutto, può essere integrato direttamente nella console AWS di un utente, pronto a fornire risposte non solo su procedure specifiche ma anche su ciò che sta avvenendo nel sistema che stiamo gestendo e perché. Secondo, ha la capacità di interfacciarsi con i dati e le informazioni di qualsiasi organizzazione o azienda, trasformandosi in un autentico esperto del patrimonio informativo aziendale. Ciò gli permette di fornire risposte precise su qualsiasi questione attingendo direttamente dal capitale intellettuale dell’azienda. Terzo, può rappresentare un valido supporto nello sviluppo di applicazioni, in particolare quelle che sfruttano i servizi AWS, ma non esclusivamente.

Quali sono i vantaggi di Amazon Q

I vantaggi offerti da Amazon Q sono quindi molteplici e spaziano dalla generazione di codice alla sintesi dei dati aziendali, dalla risoluzione di quesiti basati su dati aziendali alla garanzia di privacy e sicurezza delle informazioni trattate. Inoltre, la sua capacità di fornire sempre la fonte delle informazioni permette agli utenti di verificare l’accuratezza dei dati presentati.

Costi di Amazon Q

Attualmente Amazon Q propone due piani tariffari:

  • Amazon Q Business, a 20 dollari al mese per utente
  • Amazon Q Builder, a 25 dollari al mese per utente.

Il piano Business offre l’accesso alle funzionalità di base, mentre il piano Builder include funzionalità avanzate per sviluppatori e professionisti IT.

Un aspetto che caratterizza Amazon Q Business, come abbiamo accennato in precedenza, è quello di poter essere personalizzato sui dati aziendali e sul sistema documentale di un’organizzazione, anche se per il momento questo è vero solo per la lingua inglese. Chiaramente questo limita molto il suo utilizzo per quanto riguarda la comprensione dei contenuti, dato che mentre è ragionevole pensare che per gli aspetti tecnici non ci siano problemi a lavorare in inglese, dato che è una lingua nota a chiunque sviluppi codice, non così è per i sistemi documentali aziendali, che hanno generalmente contenuti nella lingua nazionale.

Integrazione con i servizi AWS

Naturalmente, il punto di forza di Amazon Q resta il fatto che è strettamente integrato con l’ecosistema di servizi offerti da AWS, come AWS Quicksight e Amazon Connect, permettendo la creazione di visualizzazioni, dashboard e supporto in tempo reale agli agenti del servizio clienti. Questa integrazione garantisce un flusso di lavoro fluido e coerente all’interno delle infrastrutture AWS.

A chi si rivolge Amazon Q

Questa soluzione è stata pensata per un’ampia varietà di utenti all’interno di un ecosistema aziendale, inclusi sviluppatori, professionisti IT e utenti business. Grazie alla sua flessibilità e alla possibilità di integrarsi con diverse interfacce, come la console di gestione AWS, Slack e Microsoft Teams, Amazon Q si adatta a esigenze diversificate, facilitando la collaborazione e l’accesso alle informazioni.

Discover Amazon Q: AWS’s Innovative Generative AI Assistant | Amazon Web Services

Come funziona Amazon Q Builder

Per testare il sistema esperto personalizzato di Amazon Q Business, sarebbe necessario integrarlo con un sistema di gestione documentale. Tuttavia, fino a quando non sarà abilitata la compatibilità anche con documenti in lingua italiana, abbiamo optato per esplorare le funzionalità destinate agli sviluppatori. Ma perché è così importante oggi fornire a chi sviluppa applicazioni un supporto basato sull’intelligenza artificiale? Facciamo una premessa.

La programmazione è diventata un’impresa sempre più complessa, non tanto per la necessità di padroneggiare linguaggi o sistemi operativi, quanto per l’esigenza di interagire con un ampio spettro di piattaforme e librerie, ognuna caratterizzata da un linguaggio e una sintassi propria. Questo anche in considerazione del fatto che, chi sviluppa oggi un’applicazione, non lo fa all’interno di un ambiente operativo ben definito ma in un’ottica multi-piattaforma, multi-lingua e, soprattutto, distribuita.

How to get started with Amazon Q

Questo scenario richiede agli sviluppatori non solo una conoscenza approfondita delle interfacce (API) per gestire diverse funzionalità, ma anche un aggiornamento costante e continuo, dato il loro rapido cambiamento. Al contempo, lo sviluppo di applicazioni moderne spesso implica l’uso simultaneo di diversi linguaggi di programmazione, aumentando la complessità della creazione di software funzionante su dispositivi e sistemi operativi eterogenei.

In questo contesto, guadagnano importanza tutti quegli strumenti che facilitano il lavoro degli sviluppatori, tra cui spiccano appunto le Intelligenze Artificiali Generative specializzate nella generazione di codice. Queste AI offrono vantaggi significativi: tanto per cominciare generano codice sempre aggiornato alle ultime versioni, basato su pratiche consolidate e algoritmi robusti, di alta qualità e ben commentato, ottimizzando l’uso delle librerie e migliorandone la leggibilità. Sono inoltre capaci di analizzare codice esistente per identificare errori o suggerire miglioramenti e, in alcuni casi, di diagnosticare problemi basandosi sui messaggi di errore.

Attenzione, però: l’utilizzo efficace di queste AI richiede una solida competenza in programmazione. Le indicazioni fornite devono essere precise; altrimenti, si rischia di ottenere codice inefficace. Anche se queste tecnologie rappresentano un avanzamento significativo, sostituire completamente l’esperienza e la conoscenza umana non è ancora possibile. Queste AI sono strumenti potenti per chi sa già programmare, non un sostituto per le competenze di base.

E veniamo ad Amazon Q Builder per sviluppatori. Il primo punto di forza di questa IA è l’integrazione con gli ambienti di sviluppo (IDE), come Visual Studio Code, che consente ai programmatori di generare codice ex novo seguendo indicazioni dettagliate fornite in linguaggio naturale. Questo processo può variare dalla creazione di singoli blocchi di istruzioni a strutture complesse che rappresentano soluzioni complete, passando per l’analisi di codice esistente per suggerire miglioramenti o completamenti.

Un secondo punto di forza è la capacità di Amazon Q di facilitare la comprensione di codici preesistenti, anche quelli estesi, da parte di programmatori, sia principianti che esperti, che entrano a far parte di progetti già in corso. Attraverso l’analisi e la documentazione del codice, anche in assenza di commenti, Amazon Q accelera significativamente il processo di onboarding.

Il terzo punto di forza riguarda l’apprendimento e l’esplorazione di soluzioni architetturali e funzionali per i servizi AWS, rendendo Amazon Q uno strumento prezioso per gli sviluppatori, anche quelli esperti, che si approcciano per la prima volta al vasto mondo dei servizi AWS. La piattaforma offre la possibilità di basare i propri progetti sulle migliori pratiche correnti.

Il quarto punto di forza si concentra sulla fase di collaudo delle applicazioni, particolarmente complessa negli ambienti distribuiti. Qui, Amazon Q dimostra il suo valore nell’interpretare errori complessi, facilitando la diagnosi e la correzione degli stessi, un processo notoriamente lungo e costoso.

Il quinto punto di forza è il fatto che Amazon Q si rivela particolarmente utile anche nella generazione di file di configurazione per piattaforme moderne, trasformando un compito arduo in un processo semplice e diretto, e nell’elaborazione di dati e funzioni temporanee per test realistici delle applicazioni. Quasi tutte le piattaforme di sviluppo, come Django, Vue, React, Angular e via dicendo, fanno infatti ampio uso di file di configurazione. Lo stesso dicasi per configurare i server dai quali dipende il funzionamento delle applicazioni in rete.

Un sesto punto di forza riguarda la facilità con cui, tramite Amazon Q, è possibile migrare un codice da una versione specifica di un linguaggio o una libreria ad una aggiornata, applicando tutte quelle modifiche che sono necessarie nell’intero progetto, semplificando quindi notevolmente i processi di aggiornamento e il mantenimento del software.

Come iniziare con Amazon Q

Abbiamo messo alla prova Amazon Q utilizzando Visual Studio Code, utilizzando la versione gratuita. Per integrare Amazon Q in Visual Studio Code, è stato sufficiente installare e attivare l’estensione corrispondente e accedere con le credenziali AWS. Una volta attivata, Amazon Q offre un doppio livello di interazione: un pannello laterale per la comunicazione diretta e la possibilità di avere suggerimenti in linea col codice, basati su opportuni commenti dello sviluppatore, arrivando persino a proporre varianti far cui scegliere per un dato blocco di codice.

Esiste inoltre una modalità, detta DEV, che estende la sua competenza all’intero progetto, permettendo all’IA di fornire suggerimenti ancor più pertinenti e integrati con il codice esistente, evitando duplicazioni e incentivando l’uso di risorse e metodi già implementati. In pratica, Amazon Q non si limita ad analizzare un singolo file o un blocco di codice, ma analizza l’intero progetto per verificarne robustezza e coerenza.

Reinvent work with Amazon Q

Abbiamo chiesto ad Amazon Q di migliorare il nostro codice, cosa che ha fatto separando alcune classi e funzioni, rendendolo così decisamente più leggibile il codice che avevamo scritto. Tuttavia, in questo processo, la AI ha lasciato in alcuni file delle istruzioni di importazione che non erano più necessarie e ha omesso alcuni blocchi di codice che invece erano essenziali. Abbiamo così dovuto segnalarle queste omissioni una ad una, e lei, gradualmente, ha corretto il codice. Nel giro di circa quindici minuti, siamo giunti a una versione ottimale del codice che soddisfaceva esattamente le nostre necessità.

Le capacità di intelligenza artificiale di Amazon Q

È evidente quindi che la capacità di Amazon Q di comprendere la semantica complessiva di un file ha ancora dei limiti, almeno nella versione gratuita, e che è necessario che si verifichi sempre il materiale generato per individuare eventuali incoerenze. Quando ciò accade, tuttavia, la strategia migliore non è quella di correggere manualmente il codice errato, ma di chiedere di nuovo ad Amazon Q di farlo. In pratica, è come lavorare con un assistente capace, che, pur non essendo efficiente ed esperto quanto noi, dispone di una memoria eccezionale e di grande velocità nella produzione di codice, oltre che di una conoscenza nozionistica ampia e sempre aggiornata.

Si tratta, insomma, di un modo diverso di programmare, che tuttavia è lontano dall’essere un sostituto del programmatore. Da notare che, a differenza dell’approccio con ChatGPT, dove si incolla una parte del codice nella chat per richiedere suggerimenti, raccomandazioni o di generare nuovo codice, che va poi copiato e incollato nei file di progetto, Amazon Q può analizzare ogni singolo file direttamente all’interno dell’IDE, generando singoli blocchi di codice o interi file senza la necessità di alternare tra la piattaforma di sviluppo e altri strumenti.

Personalizzazione per le esigenze aziendali

In sintesi, Amazon Q è un’intelligenza artificiale estremamente avanzata, dotata di un addestramento approfondito su un’ampia gamma di linguaggi, piattaforme e librerie di sviluppo. È opportuno ricordare tuttavia che, come tutte le AI generative, manca di una vera e propria comprensione semantica delle operazioni che esegue e dei contenuti che produce; pertanto, è essenziale formulare richieste precise quando si chiede di generare o di verificare del codice, poiché potrebbe concentrarsi esclusivamente sull’obiettivo dichiarato, trascurando altri aspetti che daremmo per scontati in una conversazione con un assistente umano.

La restrizione all’inglese, sebbene non rappresenti un ostacolo significativo per chi opera nel settore dello sviluppo software e delle architetture informatiche, costituisce una barriera all’adozione di questa tecnologia nelle aziende che operano principalmente in altre lingue. Per espandere il proprio mercato in Asia ed Europa, Amazon dovrà necessariamente considerare il rilascio di una versione multilingua. Tuttavia, questa prima versione si dimostra già estremamente solida e affidabile, offrendo un buon punto di partenza.

Conclusioni

In conclusione, è fondamentale sottolineare che l’introduzione delle AI nei processi aziendali rappresenta una sfida che va oltre l’aspetto puramente tecnologico, toccando anche quello sociale. Queste non sono semplici applicazioni; richiederanno da parte nostra un apprendimento su come interagire e comunicare efficacemente con esse per ottenere i risultati desiderati. I prossimi anni saranno testimoni di un’evoluzione significativa non solo nelle tecnologie stesse, ma anche nel modo in cui interagiremo con esse nel nostro lavoro quotidiano.

Articoli correlati

Articolo 1 di 4