TL;DR. “Local-first” è diventata una bugia educata nell'IA personale. La maggior parte dei prodotti commercializzati come locali tiene in realtà il grosso del lavoro nel cloud, con la cache sul tuo dispositivo. Ostler esegue ogni componente su una sola macchina Mac, quella che il cliente possiede già. Costa di più da costruire, ed è l'unica risposta onesta alla promessa di privacy che questa categoria continua a fare. C'è anche un punto finanziario più sommesso: l'inferenza con LLM cloud è oggi fortemente sovvenzionata, e ci si aspetta ampiamente che diventi più costosa; l'inferenza locale non costa nulla al cliente per query, oggi o mai.
“Local-first” è diventata una bugia educata.
Leggi le pagine di marketing dell'attuale raccolto di prodotti di IA personale e troverai l'espressione ovunque. Poi leggi i diagrammi di architettura, quando l'azienda è abbastanza generosa da pubblicarne uno, e troverai un viaggio di andata e ritorno silenzioso. I tuoi messaggi vengono riassunti sulla GPU di qualcun altro. Le tue foto vengono vettorializzate in un servizio di vettori gestito. Il tuo “livello di memoria” è un'API a pagamento da qualche parte in us-east-1. La parte locale è la cache.
Quello non è local-first. È local-cache-first. La differenza conta, perché la parte che passa sul cavo è la parte che conta: le tue parole private, in chiaro, lette da un modello che gira su una macchina che non possiedi.
Questo post parla di cosa abbiamo fatto invece, e del costo ingegneristico di farlo in quel modo.
Cosa significa davvero macchina-singola
Quando diciamo che Ostler gira su una sola macchina, intendiamo la cosa ovvia. Ogni componente che tocca i tuoi dati vive sul tuo Mac. Non “vive sul tuo Mac e anche sui nostri server”. Non “vive sul tuo Mac a meno che il modello non sia troppo grande”. Un Mac. Quello che hai comprato. Quello davanti a te.
Concretamente, ecco la superficie che viene distribuita:
- Qdrant. Il database di vettori. Vettori di ogni e-mail, messaggio e nota – indicizzati per il richiamo semantico. Gira come processo locale. Ascolta su localhost. Non parla con nient'altro.
- Oxigraph. L'archivio del grafo RDF. Triple strutturate che collegano persone, organizzazioni, argomenti, date, luoghi – il tuo grafo di conoscenza come fatto, non come impressione. Processo locale. Localhost.
- Redis. Cache e un bus di messaggi interno per la pipeline di ingestione. Processo locale. Localhost.
- Ollama. Il runtime del modello. Ospita il LLM locale (Qwen 3.5 9B, circa 6,6 GB su disco, a suo agio su Apple Silicon) e il modello di embedding (nomic-embed-text). L'inferenza avviene sulla GPU e sui core neurali della tua macchina.
- Whisper. Trascrizione vocale per note vocali e registrazioni di chiamate. Locale. L'audio non se ne va mai.
- Il compilatore del wiki. Costruisce il tuo wiki privato dal grafo. Markdown in uscita, in una cartella che puoi aprire nel Finder. Ventuno tipi di pagina, renderizzati interamente in locale.
- Il runtime dell'agente. Un processo Rust che orchestra il recupero, l'uso degli strumenti e la risposta. Ascolta i tuoi canali (iMessage, WhatsApp, e-mail, l'app iOS) e instrada verso il modello locale.
- Un archivio SQLite cifrato. Stato dell'utente, preferenze, log di controllo. SQLCipher, su disco, nella tua home directory.
Questo è l'intero stack. Non c'è alcun servizio di inferenza remoto. Non c'è alcun database di vettori ospitato. Non c'è alcun demone di sincronizzazione che invia delta a un backend. Stacca il cavo di rete dal retro del tuo Mac e ognuno di questi servizi continua a girare. L'assistente continua a rispondere. Il wiki continua a renderizzare. Il grafo continua a crescere man mano che vengono ingerite nuove fonti locali.
Gli unici percorsi fuori dalla macchina sono quelli che il cliente attiva. Ricerca web pubblica, senza alcun contesto personale allegato. L'iCloud Drive di Apple stesso, se si desiderano backup nel filesystem visibile. Ognuno è opt-in, ognuno è nominato sulla schermata delle impostazioni, e il valore predefinito è nessuno.
Il costo dell'onestà
Questo è più difficile da costruire rispetto all'alternativa ibrida. È giusto dirlo ad alta voce.
Ricorri a un modello cloud gestito e il problema dell'inferenza scompare. Qualcun altro gestisce il data center, paghi una tariffa per query, e non devi pensare se il portatile del cliente riesca a tenere in funzione un modello di dimensioni ragguardevoli. Ricorri a un database di vettori ospitato e scompare anche il problema del recupero. Ricorri a un grafo-come-servizio e lo stesso vale per il problema della modellazione delle relazioni. Scegli tutti e tre e starai eseguendo un sottile guscio macOS sopra una pila di servizi online a pagamento, con un testo di marketing che spera che nessuno legga il log di rete.
Il percorso della macchina singola significa distribuire i runtime noi stessi. Includere Ollama. Scegliere un modello che stia su un Mac di consumo e produca comunque buone chiamate agli strumenti. Eseguire Qdrant come sottoprocesso dell'installer dell'Hub. Versionare Oxigraph. Scrivere le migrazioni. Possedere ogni dipendenza nella catena di fornitura, perché non c'è alcuna via di fuga gestita quando qualcosa si rompe. È più ingegneria. Pensiamo sia l'ingegneria che vale la pena fare.
Perché le alternative fanno trapelare
Ci sono tre pattern che la categoria adiacente dell'IA personale usa oggi, e ognuno di essi fa trapelare la parte che conta.
Il pattern ibrido. Un modello locale gestisce i “compiti di basso livello” (riassumere, completamento automatico, instradamento) e un modello remoto gestisce il ragionamento significativo. openhuman, uno dei prodotti più onesti in questo spazio, distribuisce esattamente questa forma: LLM locale per le cose facili, trenta e più provider cloud inclusi per quelle difficili. La loro stessa pagina di posizionamento è chiara su questo. Il problema architettonico di questo pattern è che le “cose difficili” sono la parte che usa i tuoi dati privati. Il modello economico e locale riceve la tua lista della spesa. Il modello costoso e remoto riceve la trascrizione della tua terapia. Le tue query più difficili e personali sono proprio quelle che lasciano la macchina. Questo inverte la promessa di privacy.
Il pattern dello spazio di lavoro cloud. Un database a grafo con agenti sopra, ospitato in un SaaS. I concorrenti di forma cloud in questa categoria puntano ai knowledge worker che costruiscono spazi di lavoro condivisi, non agli individui che cercano di tenere la propria vita sul proprio hardware. Il problema architettonico è che il grafo è alimentato da documenti che carichi. Il prodotto, strutturalmente, non può raggiungere i dati sul tuo Mac come può fare Ostler. Per usarlo, devi prima consegnare i dati.
Il pattern locale multi-macchina. Una box per l'archiviazione, un'altra per il calcolo, una rete privata tra di esse, un homelab nella tua stanza degli ospiti. NovaStation è l'esempio impressionante di questo pattern: un centro di comando di IA personale ripartito tra un MacBook, un iMac, un Dell e un ThinkPad. Il problema architettonico è duplice. Primo, aggiunge una rete privata da mantenere e proteggere dove nessuna era necessaria. Secondo, chiede al cliente di fare il lavoro di un sistemista. Io stesso ho fatto girare una versione a due macchine di questo per un anno prima di prodottizzarla. È stato un meraviglioso ambiente di ricerca. Non è dove vogliamo che viva la maggior parte delle persone.
C'è un altro costo che vale la pena nominare, ed è finanziario piuttosto che architettonico. L'inferenza con modelli cloud è oggi tariffata come se il calcolo fosse un prodotto civetta. Ogni prompt inviato a un modello ospitato costa denaro reale al provider, e quel denaro viene attualmente trasferito ai consumatori a tariffe fortemente sovvenzionate progettate per creare abitudine. I commentatori del settore si aspettano sempre più che quei prezzi salgano una volta che abbastanza utenti siano legati a un dato prodotto. L'inferenza locale non ha alcun costo per query. Il modello gira su una macchina che il cliente possiede già; il costo marginale di un prompt in più è zero, oggi e a ogni data di rinnovo successiva.
La macchina singola aggira tutti e tre i pattern architettonici sopra, e la traiettoria dei costi per giunta. Non c'è inferenza remota, quindi non c'è inversione della promessa di privacy. Non c'è spazio di lavoro cloud, quindi non c'è passaggio di caricamento. Non c'è rete homelab da mantenere, quindi non c'è superficie di attacco aggiuntiva né tassa di amministrazione di sistema.
Una sola fonte di verità
C'è un beneficio più sommesso della forma macchina-singola che non compare nel marketing.
Quando c'è una macchina, c'è una copia dei tuoi dati. La tua memoria è il disco davanti a te, e nient'altro. Non c'è conflitto di sincronizzazione. Non c'è finestra di consistenza eventuale. Non c'è “il portatile dice una cosa e il cloud ne dice un'altra, quale è quella attuale?” Il disco è la risposta.
Sembra banale finché non hai vissuto nell'altro mondo. Chiunque abbia provato a tenere le note sincronizzate su tre dispositivi, o abbia visto un evento del calendario de-annullarsi silenziosamente perché due repliche erano in disaccordo, conosce il costo della verità distribuita. I dati personali sono singolarmente sensibili a questa classe di bug. L'inferenza corretta su una memoria obsoleta è comunque una risposta sbagliata.
Una macchina. Una copia. Una fonte di verità. Il sistema può sbagliarsi su cosa volevi, ma non può essere confuso su cosa ha.
La chiusura
The world does revolve around you.™ Anche la tua conoscenza dovrebbe.
Non la tua conoscenza nel data center di qualcun altro, utilmente messa in cache sul tuo portatile. Non la tua conoscenza in una pipeline ibrida che sussurra le parti sensibili sul cavo. La tua conoscenza, sulla tua macchina, dove puoi staccare il cavo e guardarla continuare a funzionare.
Questa è l'asticella. Una sola macchina. Un solo cliente. Una sola fonte di verità. Tutto il resto è local-cache-first travestito.
Domande, correzioni, disaccordi – [email protected].