AWS ha presentato in anteprima Kiro, un ambiente di sviluppo integrato (IDE) basato su Code OSS (la versione open source di Visual Studio Code) ma completamente rielaborato per supportare uno sviluppo software guidato dall’intelligenza artificiale. La particolarità di Kiro risiede nel suo approccio, per il quale il workflow si fonda sulla creazione di specifiche dettagliate, strutturate in file Markdown, che l’intelligenza artificiale utilizza come base per generare codice, organizzare le attività e persino automatizzare alcuni passaggi dello sviluppo.

Sebbene Kiro sia un prodotto AWS, viene volutamente presentato come “parzialmente separato dal nucleo principale di AWS”, come ha spiegato Nathan Peck, Developer Advocate per l’AI presso Amazon. L’obiettivo è quello di costruire un’identità autonoma, in grado di attrarre anche sviluppatori che utilizzano altre piattaforme. Proprio per questo, Kiro può essere utilizzato senza un account AWS: basta accedere con Google o GitHub.

Un’identità indipendente ma potente

Dietro Kiro c’è un piccolo team all’interno di AWS e se durante la fase di anteprima il servizio è gratuito, successivamente verrà introdotto un modello freemium, con un piano gratuito con 50 interazioni agentiche mensili, un piano Pro a 19 dollari al mese con 1.000 interazioni e un piano Pro+ a 39 dollari con 3.000 interazioni (ogni interazione extra costerà 0,04 dollari). Una singola interazione può durare anche diversi minuti, con l’agente AI impegnato a generare codice, analizzare architetture o completare task complessi.

Va sottolineato che nella versione gratuita, Kiro raccoglie dati telemetrici e contenuti per “migliorare il servizio”, ma questa opzione può essere disattivata nelle impostazioni.

kiro aws

Il cuore di Kiro: specifiche dettagliate e workflow strutturato

La caratteristica che rende Kiro davvero distintivo è l’uso delle specifications (specs), ovvero tre documenti principali: requirements.md, design.md e tasks.md. Il primo adotta la sintassi EARS (Easy Approach to Requirements Syntax), sviluppata da Rolls Royce, per definire requisiti chiari e verificabili. Il documento di design descrive invece l’architettura tecnica e lo stack tecnologico, mentre la lista di task fornisce una roadmap concreta per l’implementazione e il deployment.

Questo approccio consente di dividere i progetti in moduli gestibili. In un’app e-commerce, ad esempio, si possono avere specifiche separate per l’autenticazione, il catalogo prodotti e il carrello. Lavorare con specifiche così strutturate migliora la collaborazione e riduce il disordine tipico dello sviluppo AI-driven. Oltre alle specifiche, Kiro supporta file di steering, utili per definire standard di codifica, convenzioni di naming e configurazioni di progetto, oltre a essere compatibile con server MCP e file JSON per la configurazione.

Automazione e agenti intelligenti

Altro elemento centrale di Kiro sono gli hook agentici, ovvero azioni automatiche attivate da eventi sui file (come creazione, salvataggio, eliminazione) o richiamabili manualmente. Ad esempio, si può chiedere a Kiro di generare test automatici o controlli di sicurezza su una porzione di codice.

Durante un test pratico, descrivendo un’app per gestire turni di volontari per sessioni di gioco, Kiro non solo ha generato specifiche per un’applicazione con frontend React, backend Node.js/Express, database PostgreSQL, test Jest e interfaccia in Material-UI, tutto scritto in TypeScript, ma ha anche prodotto 20 task dettagliati, ognuno con più sottopassaggi. Sebbene in alcuni casi l’IA abbia mostrato difficoltà (come l’errore nel setup iniziale di Prisma), il lavoro svolto in pochi minuti è impressionante, specialmente considerando che sarebbe servito almeno un giorno intero di sviluppo manuale.

secondary-feature-0

Supervisione umana e sicurezza

Peck ha chiarito che Kiro non è pensato per sostituire gli sviluppatori, ma per supportarli nel ridurre i tempi e migliorare la qualità del codice. Tuttavia, la sicurezza resta un punto delicato. Per impostazione predefinita, Kiro opera in modalità Autopilot, dove l’IA può effettuare modifiche al codice autonomamente. È però disponibile anche una modalità Supervised, in cui ogni modifica richiede l’approvazione dell’utente.

Anche in Autopilot, azioni critiche come l’installazione di pacchetti npm richiedono un’ulteriore conferma, a meno che non vengano inserite in una allow list. Questo bilanciamento tra automazione e controllo è essenziale in contesti aziendali o in ambienti sensibili.

Kiro supporta infine diversi linguaggi, ma è ottimizzato per JavaScript/TypeScript, Python e Java. Uno dei limiti principali riguarda gli sviluppatori .NET, dal momento che il supporto alle estensioni avviene tramite Open VSX (che non include i plugin proprietari Microsoft per C#), creando un potenziale ostacolo. Alcuni utenti hanno suggerito una versione CLI di Kiro, ma secondo Peck l’ambiente IDE offre vantaggi maggiori grazie agli strumenti integrati.

(Immagine in apertura: Shutterstock)