- Cos'è
- Un sistema IA ibrido, locale e cloud, per la domotica e la produttività personale, costruito da zero in Python. È nato su un portatile con 4 GB di RAM e una CPU integrata; oggi gira su un Ryzen 5 3600 con una RTX 2060.
- Come ragiona
- Ogni richiesta passa prima da un instradamento deterministico: comandi domotici, app, promemoria e documenti hanno ciascuno il proprio percorso. Solo ciò che resta arriva a un modello linguistico, quello locale (Qwen2.5 7B) o, se la domanda è complessa, il cloud.
- Principi
- Locale di default, cloud solo quando serve. I dati personali non lasciano mai il PC. Ogni servizio esterno può mancare senza far crollare il resto.
Sei strade per ogni richiesta
Prima di disturbare un modello linguistico, J.A.R.V.I.S. prova sei percorsi in ordine fisso: domotica, apertura di app e controllo audio, promemoria, documenti personali, modello locale, cloud. Se il cloud non risponde torna da solo al locale, avvisando con una battuta sarcastica invece che con un errore.
Una memoria che ricorda davvero
In background riassume le conversazioni, sempre in locale, così a “cosa mi avevi consigliato per la tesi?” sa rispondere. Se il PC resta spento per giorni, al riavvio recupera tutto l’arretrato. Le etichette di tempo come “ieri” o “3 giorni fa” le calcola il codice, non il modello: prima il modello raccontava come “ieri” un ricordo di tre minuti prima.
Proattivo, non solo reattivo
Consegna i promemoria senza che glieli si chieda e incrocia scadenze e previsioni meteo (“domani ha una scadenza e pioverà, vuole che glielo ricordi prima?”). La decisione sul meteo è deterministica, senza IA. Avvisa anche quando il disco si riempie, quando il modello locale smette di rispondere e quando la quota gratuita del cloud arriva all’80%.
Privacy per architettura
Documenti e memoria vengono elaborati solo in locale, mai in cloud. Chi lo usa da ospite non vede i dati dell’account Admin. Alle richieste di password di altri siti risponde sempre con un rifiuto chiaro.
Una voce e un volto
La voce passa da una catena di effetti audio (filtro, compressore, riverbero, un semitono più in basso, un chorus leggero) che la avvicina a quella del film. Si interrompe con una scorciatoia da tastiera: la prima versione usava la parola di attivazione, ma il microfono captava la voce di J.A.R.V.I.S. stesso e lui si interrompeva da solo. L’HUD, con anelli “arc reactor” e un archivio di ologrammi 3D, reagisce alla voce in tempo reale; i modelli 3D li genera un writer STL scritto a mano o li scarica da Thingiverse.
Scelte misurate, non a intuito
Qwen2.5 3B era più veloce, ma perdeva il “lei” e la fluidità dell’italiano: scartato. Qwen3 4B scriveva il proprio ragionamento in inglese dentro la risposta; Qwen3 8B era il 13% più lento. Ho valutato anche la risposta in streaming e la generazione 3D con IA, e le ho scartate con i numeri alla mano.
Il bug che mi ha spento il PC
Durante lo sviluppo del comando “spegni il pc”, un test ha spento la macchina per davvero, nonostante le funzioni risultassero simulate. La causa era una tabella di funzioni costruita all’avvio, che i test non riuscivano a sostituire. Riavvio e spegnimento sono stati tolti; la lezione è stata imparata.