In breve
- Il problema. Quando si aggiunge "un po' di AI" a un software aziendale, ogni domanda finisce per passare da un modello generativo remoto. Costa a ogni richiesta, allarga il perimetro dei dati che escono dall'azienda e lega il prodotto al calendario di un fornitore.
- Cosa ho fatto. Prima di scrivere codice ho diviso il lavoro in tre fasce: ciò che gira sul dispositivo, le decisioni a risposta chiusa, la generazione vera. I dati sensibili li ho messi dove il server non può leggerli.
- Il risultato. In Miraviso, il mio prodotto, la parte in cui l'AI lavora sulle immagini dei clienti non lascia mai il tablet. La parte che usa un modello remoto è una sola, dichiarata, e parte solo con il consenso.
Il contesto
Miraviso è un SaaS B2B per saloni di parrucchieri: un prodotto mio, in produzione, con un programma pilota aperto ai primi saloni. Sul tablet cambia il colore dei capelli in tempo reale e genera in pochi secondi un'anteprima fotorealistica del taglio. Sotto ci sono FastAPI, PostgreSQL, Flutter, MediaPipe, Gemini su Vertex AI in regione UE, Docker, Caddy e Stripe.
Perché un caso studio su un salone, se la tua azienda produce componenti, gestisce un hotel o spedisce merce? Perché le domande sono le stesse, e qui posso mostrarne i dettagli, cosa che non farei mai con il software di un cliente. Dove serve davvero un modello AI? Quanto costa? Quali dati escono dall'azienda? Cosa succede quando il fornitore ritira il modello?
Il problema
Una consulenza di colore si gioca a parole: «un castano più caldo», «un biondo, ma non troppo». La cliente non riesce a immaginare il risultato e ripiega sul servizio sicuro. L'AI poteva aiutare, ma con tre vincoli che valgono in qualunque PMI.
- I dati. Le note sui clienti possono contenere allergie e patologie del cuoio capelluto: dati al confine con quelli sanitari, su persone che non hanno mai aperto un account. Nella tua azienda possono essere ordini, listini, prezzi, turni, disegni tecnici.
- Il costo. Un modello generativo risponde bene a quasi tutto, ma per le domande a risposta chiusa è lo strumento più lento e più caro.
- La dipendenza. Un modello in anteprima può essere spento dal fornitore con circa trenta giorni di preavviso. È appena successo a un altro modello Gemini, e l'ho raccontato nell'articolo Trenta giorni per migrare.
Cosa ho fatto
Tre decisioni, tutte prese prima di scrivere il codice.
1. Tre fasce di lavoro
Ogni compito finisce in una fascia sola, e la fascia decide dove gira e quanto costa.
| Fascia | Che cosa ci sta | Dove gira | Perché |
|---|---|---|---|
| Sul dispositivo | Trovare i capelli nell'immagine e applicare il colore | Sul tablet, con MediaPipe | Nessun fotogramma lascia l'apparecchio, e lo si verifica guardando il traffico di rete |
| Decisioni chiuse | Smistare una richiesta in arrivo, capire se una nota è sensibile, decidere se un testo va mostrato a un operatore | Un classificatore o una regola, non un modello generativo | La risposta sta in un insieme finito: costa meno, arriva prima e si testa con asserzioni |
| Generazione | L'anteprima del taglio, che richiede pixel nuovi e plausibili | Gemini su Vertex AI, regione UE, previo consenso, mai scritta su disco | È l'unico pezzo che ha davvero bisogno di un modello grande |
Il ragionamento completo, con il codice, è nell'articolo Quando non serve un LLM.
2. Buste sigillate per i dati sensibili
Per le sole note sensibili la chiave di cifratura nasce sul dispositivo del salone e non arriva mai al server, che conserva buste che non può aprire. Non vale per tutto il prodotto: agenda, appuntamenti e fatturazione restano lavorati lato server, come in qualunque gestionale. I costi li ho messi in conto: niente ricerca lato server su quel campo, niente scorciatoie per il supporto, e un recupero della chiave da progettare con cura. Dettagli nell'articolo Il server non può leggerle.
3. Il modello dietro un confine
Un solo punto del codice sa quale modello viene chiamato e come. Per ogni capacità comprata da un fornitore esiste una risposta alla domanda «come lo sostituisco?». Le immagini dell'anteprima non si conservano, quindi i test di un modello nuovo girano su un insieme di immagini raccolte apposta, con consenso, fuori dal traffico di produzione.
Il risultato
- La prova colore non lascia mai il tablet.
- L'anteprima del taglio è l'unico passaggio che usa un modello remoto: server in UE, previo consenso, mai scritta su disco.
- Le note sensibili stanno sul server in una forma che il server stesso non può leggere.
- La prova colore non dipende da nessun fornitore: il modello sta nell'app e nessuno può spegnerlo da remoto.
- Il prodotto è in produzione su infrastruttura propria, con un programma pilota aperto.
Cosa ho imparato
- La fascia si decide prima. Quando l'integrazione con un modello generativo funziona già, la tentazione è usarla per tutto, perché aggiungere una domanda costa cinque minuti. È così che un prodotto accumula chiamate che nessuno ha progettato, e dati che escono senza che nessuno l'abbia deciso.
- La gestione delle chiavi è un problema di prodotto. Cosa succede quando il salone cambia tablet? Se la risposta non è progettata bene come il resto dell'interfaccia, «il server non può leggerle» diventa «nessuno può più leggerle».
- I test vanno preparati prima del bisogno. Se non conservi i dati di produzione, non puoi usarli per provare un modello nuovo. L'insieme di prova va costruito in anticipo, e i criteri di "risultato accettabile" vanno scritti prima della migrazione, non durante.
E nella tua azienda?
Il metodo è lo stesso dei servizi che offro, anche quando il settore cambia.
- Ordini che arrivano per email. «È un ordine? Di quale cliente? Quali righe?» sono decisioni chiuse: si estraggono e finiscono nel gestionale senza ricopiarle a mano, senza scomodare un modello generativo per ogni messaggio.
- Foto di produzione. Il controllo delle immagini può stare vicino alla macchina, come la prova colore sta sul tablet. Le foto non devono per forza uscire dal reparto.
- Gestionale ed e-commerce. Spesso la fascia giusta è "nessuna AI": giacenze sincronizzate fra gestionale e shop sono un'integrazione, e un'integrazione non ha bisogno di indovinare niente.
- Macchine in reparto. Stati, pezzi prodotti e allarmi letti via OPC UA, MQTT o Modbus sono dati strutturati. Prima di pensare a un modello, vanno portati dove servono.
Chiamata conoscitiva · 30 minuti · gratuita
Vuoi capire dove l'AI serve nel tuo processo, e dove no?