Jarvis — un'IA potente per un programmatore

Dopo aver visto Iron Man, fin da bambino sognavo di fare un assistente IA: con Voice Commander ho impostato il controllo vocale su Windows 98 perché muovesse il mouse e avviasse i programmi, ma faceva più scena che altro. Persino il riconoscimento vocale era allora un'impresa, e parlare davvero non era atteso prima di cent'anni.

È arrivato il 2024.
Sono maturato come programmatore, ho imparato stack e framework e ho creato i miei template per tirare su in fretta qualsiasi progetto. Così mi sono avvicinato piano alle startup, facendo il solito lavoro su commissione.

Ho scritto una tonnellata di codice con ChatGPT e ho capito che poteva scrivere sui miei template. Bastava dirgli come è fatto tutto.

Può lavorare con il mio database. Basta chiedere con criterio e dargli gli accessi.

Di routine ce n'è tanta, e GPT sembrava il modo ideale per liberarmene finalmente.


Prima versione. È il nucleo dell'applicazione: prende un testo, analizza il compito, chiede a GPT che cosa va completato e lo scrive. Di fatto è il Copilot che ora viene aggiunto a molti IDE.

Dopo aver scritto i primi risultati, è stato chiaro: non ho file di codice, ho progetti. Ho aggiunto il supporto dei progetti.

Un progetto non è una sola cartella. Ho fatto uno scanner di cartelle e un rilevatore del tipo di cosa che c'è dentro. A quel punto Jarvis ha avuto un suo database di progetti. Per le cartelle sconosciute chiedeva che progetto fosse e di che cosa si occupasse, e lo metteva nel pre-prompt se bisognava scrivere del codice, sapendo di più sul progetto.

Gestione del database. Da tempo volevo che lo gestisse lui a partire da una mia richiesta, e l'ho fatto, aggiungendo un controllo che il codice sia corretto. Può creare non un solo campo, ma tutte le tabelle da zero e riempirle se serve.

Insieme a questo gli ho insegnato a farmi domande e a sentirsi a casa sul computer: conosce i processi avviati, le finestre, i file e quello che sto facendo adesso, così non devo spiegargli dove fare che cosa.


Per programmare con più comodo, ho chiesto a Jarvis di scrivermi un plugin per VS Code che prendesse le informazioni con delicatezza e le restituisse a se stesso per l'analisi. E così, senza sapere nulla di come si scrivono i plugin, l'ho fatto.

Jarvis l'ha fatto per se stesso.

E ora, oltre all'interfaccia di input, avevo un'integrazione stretta con l'IDE.

Estraeva i file da VS Code, capiva da solo quale progetto era avviato, tirava fuori la struttura delle tabelle e faceva il deploy locale.

PERÒ. A volte non è chiaro che cosa abbia riscritto di preciso. Gli ho aggiunto Git per vedere il nuovo e poter tornare indietro in fretta. Ora Jarvis creava un branch a parte per la sua modifica e faceva commit da solo di quelli riusciti.


Era ora di avvicinarmi ai miei template e creare ciò che serviva in pochi secondi.

Prima di tutto l'installazione dei progetti nuovi: ho portato tutti i miei script di installazione e li ho riscritti in C# con l'aiuto di Jarvis.

Ho aggiunto il supporto di Vue 3 + TypeScript, Yii2, Bash e così via, ma la cosa principale è il mio rigeneratore automatico dei modelli a partire dalle tabelle.

Ora Jarvis non solo può creare il database: configura anche i modelli da solo. Mi sono tolto dalle spalle una routine enorme. Resta da fargli sistemare anche le migrazioni.


Lavoro

Jarvis è già passato da diversi miei progetti, e restano sempre meno posti che non ha toccato e dove non ha lasciato il suo branch git, perché è troppo comodo.

Che cosa verrà dopo?

Vedremo.