Salta al contenuto principale

App sviluppate e mantenute dall'AI: dove stiamo arrivando

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

La frustrazione che mi ha portato qui
#

Vi racconto una cosa. Quando ero developer mid-level, passavo un sacco di tempo a fare triage delle issue. Analizzare il contesto, capire quali file erano coinvolti, valutare se era una cosa da 5 minuti o da 5 giorni. Tempo perso, pensavo sempre. Ma vabbè, fa parte del lavoro.

Poi sono diventato senior. E il triage è aumentato. Perchè non solo dovevo farlo, ma dovevo anche spiegarlo ai junior. Fantastico.

Adesso faccio l’architetto. E indovinate? Il triage è ancora lì. Solo che adesso devo anche assicurarmi che le soluzioni proposte siano coerenti con l’architettura generale del sistema. Insomma, mi sà che questo problema mi segue.

Però in questi anni è successa una cosa interessante: gli agenti AI sono diventati davvero utilizzabili. E io ho iniziato a chiedermi: ma non posso delegare almeno una parte di questo lavoro?

Jules Orchestrator
#

Ho costruito un’architettura che ho chiamato Jules Orchestrator. Il nome viene dall’agente AI di Google che uso sotto il cofano: Jules.

L’idea è semplice: quando arriva una issue su GitHub, un webhook attiva l’orchestratore che analizza il contesto, passa tutto all’AI, e se l’AI propone una soluzione sensata la implementa e apre una PR. Se i test passano, la PR è pronta per la review.

Ecco lo schema:

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 in pratica
#

  1. Ingestion - Arriva una issue o un bug report, il webhook parte.
  2. Analysis - Il modulo devtriage legge la segnalazione e scansiona la codebase per capire il contesto.
  3. Agent Activation - Jules riceve tutto e inizia a ragionare. La cosa interessante è che riesce a capire le dipendenze tra i file e valutare l’impatto delle modifiche.
  4. Implementation - Se trova una soluzione, genera il codice.
  5. Verification - I test girano automaticamente.
  6. Pull Request - Se i test passano, PR aperta. Altrimenti ritenta.

Cosa ho imparato
#

Questa roba non sostituisce il developer, almeno non ancora. Ma mi ha liberato tempo. I bug banali, quelli che sai già come risolvere ma che ti rubano mezz’ora a testa, adesso li gestisce l’AI. Io faccio review delle PR e mi concentro sui problemi architetturali, che sono quelli che effettivamente richiedono la mia esperienza.

L’altra cosa che ho notato è che l’AI può gestire anche manutenzione ordinaria: aggiornamenti di librerie, piccoli refactoring, fix di sicurezza minori. Roba che prima accumulavo nel backlog per mesi.

Considerazioni finali
#

Siamo solo all’inizio di questa storia. Jules Orchestrator funziona bene per Luciosoft, ma ogni progetto è diverso. Se vi interessa sperimentare, il codice è su GitHub.

Ah, e se state pensando “ma così i developer diventano inutili”: no. Diventano più efficienti. Che è diverso. Almeno finchè qualcuno deve ancora capire cosa costruire e perchè.