Salta al contenuto principale

App sviluppate e mantenute dall'AI: dove stiamo arrivando

·558 parole·3 minuti
Andrea Luciano
Autore
Andrea Luciano
Founder of Luciosoft, specialized in native mobile development.

L’evoluzione dell’Intelligenza Artificiale nel campo dello sviluppo software sta procedendo a ritmi vertiginosi. Non parliamo più solo di autocompletamento del codice o di chatbot di supporto, ma di veri e propri agenti autonomi in grado di comprendere, modificare e mantenere intere codebase.

In questo articolo voglio condividere un approfondimento tecnico sulla nuova architettura che abbiamo implementato in Luciosoft per la gestione del “dev triage”, sfruttando le potenzialità dei nuovi agenti AI.

Il problema del Triage
#

Chiunque gestisca applicazioni in produzione sa che il triage delle segnalazioni (bug, richieste di funzionalità, debiti tecnici) è un’attività dispendiosa in termini di tempo. Spesso, per ogni issue aperta, è necessario:

  1. Analizzare il contesto.
  2. Identificare i file coinvolti.
  3. Valutare la complessità.
  4. Assegnare il task o risolverlo direttamente.

Questo processo sottrae tempo prezioso allo sviluppo di nuove funzionalità.

Jules Orchestrator e l’Architettura Dev Triage
#

Per affrontare questa sfida, abbiamo sviluppato un’architettura basata su Jules Orchestrator, integrando l’agente AI Jules di Google all’interno del nostro flusso di lavoro DevOps.

Il cuore del sistema risiede nel modulo devtriage, che potete esplorare nel dettaglio qui: Jules Orchestrator - Dev Triage

L’Architettura
#

Ecco uno schema che riassume il flusso di lavoro che abbiamo implementato:

graph TD
    A[User Report / Issue] -->|Webhook| B(Ingestion)
    B -->|Trigger| C{Analysis Module}
    C -->|Scan Codebase| D[Context Extraction]
    D -->|Prompts + Context| E[Jules Agent]
    E -->|Reasoning| F[Proposed Solution]
    F -->|Code Generation| G[Implementation]
    G -->|Run Tests| H{Verification}
    H -->|Pass| I[Create Pull Request]
    H -->|Fail| E
    I -->|Review| J[Developer Review]
    J -->|Approve & Merge| K[CI/CD Pipeline]
    K -->|Automatic Deploy| L[Production]
    L -->|Feedback Loop| A

Come funziona
#

L’architettura è pensata per essere event-driven e agisce direttamente sulle repository delle nostre applicazioni. Ecco il flusso logico semplificato:

  1. Ingestion: Quando viene aperta una nuova Issue o segnalato un bug, un webhook attiva l’orchestrazione.
  2. Analysis: Il sistema, tramite il modulo devtriage, analizza il contenuto della segnalazione e scansiona la codebase per raccogliere il contesto necessario.
  3. Agent Activation: Qui entra in gioco l’AI. L’agente Jules riceve il contesto e l’obiettivo. A differenza dei sistemi passati, Jules ha la capacità di “ragionare” sulle dipendenze e sugli impatti delle modifiche.
  4. Implementation: L’agente propone una modifica concreta, generando codice che rispetta gli standard del progetto.
  5. Verification: Il sistema esegue automaticamente i test per validare la soluzione proposta dall’AI.
  6. Pull Request & Deploy: Se i test passano, viene aperta automaticamente una Pull Request. Una volta revisionata e mergiata, la CI/CD pipeline entra in azione scatenando il deploy automatico in produzione, chiudendo il cerchio con il feedback immediato sull’aggiornamento.

Verso applicazioni auto-gestite?
#

Questa implementazione non mira a sostituire lo sviluppatore, ma a potenziarlo. Delegando la fase di triage e la risoluzione di bug standard all’AI, ci si può concentrare su problemi architetturali più complessi e sulla logica di business.

Proprio come in questa immagine: mentre l’AI lavora per noi risolvendo bug e mantenendo l’infrastruttura, noi possiamo finalmente goderci un po’ di meritato relax… o quasi!

Relaxing while AI works

L’aspetto più interessante di questa architettura è la capacità dell’AI di mantenere l’applicazione nel tempo. Aggiornamenti di librerie, refactoring minori e fix di sicurezza possono essere gestiti in modo proattivo dall’orchestratore, portandoci verso un modello di “App sviluppate e mantenute dall’AI”.

Siamo solo agli inizi di questa rivoluzione, ma i risultati ottenuti con Jules Orchestrator in Luciosoft, ci mostrano che la strada è tracciata. L’automazione intelligente non è più solo una possibilità, ma una realtà tecnica concreta.