Il grafo di agenti, le sessioni tenute lato server, il pianificatore, il registro dei dati, la memoria, l'osservabilità, le sei lingue e il deployment su un Raspberry Pi: l'ossatura su cui poggia tutto il resto.
Orchestrazione · 14
Piattaforma e rilascio · 10
Modelli e costi · 6
Affidabilità e prestazioni · 5
ottobre 2025
2 decisioni
ADR-001Orchestrazione
LangGraph orchestra gli agenti
LIA ha bisogno di un motore capace di condurre una conversazione in più passaggi, di fermarsi per chiedere un'approvazione e poi di riprendere. LangGraph fornisce questo grafo di esecuzione: lo stato di ogni conversazione viene salvato nel database e le risposte arrivano parola per parola.
I token conservati nel browser erano esposti al furto e impossibili da revocare. Un server intermedio (BFF) ora tiene la sessione lato server e affida al browser solo un cookie inaccessibile a JavaScript — una sessione si revoca all'istante.
Inviare al modello l'intero catalogo di strumenti a ogni domanda decuplicava la dimensione del prompt e il costo. Il router individua i domini interessati e viene caricato solo il loro sottoinsieme di strumenti, con un ripiego sul catalogo completo in caso di dubbio.
Invece di interrompere l'esecuzione strumento per strumento, LIA presentava il suo piano da approvare prima di cominciare. Oggi l'approvazione del piano è automatica: la validazione avviene su ogni azione sensibile.
I primi piani erano troppo semplicistici e fallivano spesso. Ora il pianificatore analizza l'intenzione, scompone la richiesta, poi scrive un piano di esecuzione motivato passo per passo.
Il piano di riserva non viene più eseguito in doppio
L'esecutore parallelo lanciava insieme il piano principale e la sua alternativa di riserva: doppia chiamata, doppio costo. Ora i passaggi scartati vengono rimossi prima di lanciare ogni ondata.
Chiedere «tutti i contatti» poteva restituire centinaia di schede e far esplodere il costo. Tre barriere — avviso del pianificatore, tetto rigido nello strumento, registrazione nei log — ora impediscono una lista senza limiti.
Alcuni nodi del grafo contavano centinaia di righe ed erano diventati illeggibili. La logica di business passa in servizi dedicati; un nodo si limita a coordinare.
Un file di configurazione di quasi 1.800 righe raccoglieva tutte le impostazioni. È stato suddiviso in moduli per dominio, riuniti in un unico oggetto di impostazioni validato all'avvio, senza cambiare il modo di importarlo.
Il dominio si chiamava Gmail, come se esistesse un solo fornitore. È stato rinominato in modo generico per accogliere Outlook, Apple Mail e altri senza dover rinominare tutto a ogni aggiunta.
Serve un finto «connettore» per gli strumenti interni (contesto, memoria)? No: gli strumenti che parlano con un servizio esterno e gli strumenti di utilità restano due categorie distinte, ciascuna con il suo schema semplice.
Gli strumenti restituivano testo grezzo che nulla conservava. Ora un registro dei dati conserva ogni elemento restituito, con i suoi metadati, perché una domanda successiva possa farvi riferimento e una bozza possa essere confermata.
L'assistente dimenticava tutto da una sessione all'altra. Una memoria a lungo termine, isolata per persona e interrogata per significato, conserva preferenze e fatti importanti — compresi gli argomenti delicati da trattare con tatto.
Eseguire gli strumenti uno dopo l'altro sommava i tempi di attesa. Un piano di esecuzione esprime dipendenze, condizioni e ripieghi, e lancia contemporaneamente tutto ciò che si può lanciare.
Ogni strumento dei connettori ripeteva 150 righe identiche (autenticazione, errori, cache). Una classe base raccoglie questo nucleo comune; un nuovo strumento scrive solo ciò che gli è proprio.
Ogni dominio identifica e mostra i suoi elementi in modo diverso. Un registro dei tipi di contesto descrive ogni dominio una volta sola, e la risoluzione di «questo» o «il terzo» funziona ovunque allo stesso modo.
Bisognava proteggere sia gli utenti dagli abusi sia le quote delle API esterne, anche con più istanze. Una limitazione distribuita tramite Redis, per persona e per categoria, ripiega in locale se Redis cade.
Aspettare dieci secondi una risposta completa è snervante. Il server trasmette man mano ogni parola, i passaggi del piano e le richieste di approvazione tramite Server-Sent Events.
Il pianificatore deve sapere quali strumenti esistono, quanto costano e cosa richiedono. Manifest tipizzati fanno insieme da documentazione e da configurazione, filtrati per dominio per risparmiare token.
Nessuno strumento copre da solo metriche, tracce e monitoraggio delle chiamate ai modelli. Prometheus, Tempo e Langfuse lavorano ciascuno per conto proprio, e l'applicazione continua se uno di loro cade.
Gli accessi Google dovevano restare illeggibili nel database, rinnovarsi prima della scadenza e non subire mai due refresh contemporanei. Crittografia a riposo, refresh anticipato sotto lock distribuito e PKCE ne coprono il ciclo di vita.
Per riprendere dopo un'interruzione o un riavvio, lo stato del grafo viene salvato in PostgreSQL per ogni thread di conversazione, con regole di fusione che troncano la cronologia al budget di token.
Ogni parte gestiva i propri errori a modo suo. Un formato comune per gli strumenti, una gerarchia di eccezioni registrate nei log e messaggi tradotti in sei lingue rendono gli errori coerenti e misurabili.
L'interfaccia, i messaggi del server e gli URL devono parlare la lingua della persona. i18next lato browser, gettext lato server, sei lingue e indirizzi localizzati per la SEO.
Le istruzioni date ai modelli devono poter evolvere e tornare indietro. Vivono in file versionati, caricati secondo una versione configurabile e riempiti con delle variabili.
Il routing, la pianificazione e la risposta non hanno le stesse esigenze. Ogni componente riceve il suo modello, dietro un'astrazione che permette di cambiare fornitore senza toccare il codice.
Per essere sfruttati, i log devono essere leggibili da una macchina. structlog produce JSON contestualizzato (richiesta, persona, conversazione) e filtra i dati personali prima della scrittura.
Identificativi UUID, date sempre in UTC, cancellazione logica e metadati JSONB: le convenzioni dello schema PostgreSQL sono fissate una volta sola per tutta l'applicazione.
Sessioni, stati OAuth, limitazione delle richieste, lock e cache passano da Redis. Ogni uso ha il suo database, le sue scadenze e le sue operazioni atomiche, e un'indisponibilità degrada il servizio senza bloccarlo.
Una conversazione è piena di riferimenti impliciti: «il secondo», «questo», «lui». La risoluzione del contesto individua il tipo di turno e collega queste parole agli elementi giusti, senza mescolare i domini, in sei lingue.
Non si possono chiamare modelli veri a ogni test. La strategia simula il fornitore al suo confine, isola il database di ogni test e copre il codice asincrono.
L'API REST segue un'unica convenzione: prefisso di versione, schemi Pydantic validati, router per dominio e un formato di errore comune, documentati automaticamente.
Una quindicina di servizi devono girare sia in sviluppo sia su un Raspberry Pi 5. Docker Compose orchestra il tutto, con controlli di salute, limiti di risorse e immagini per due architetture.
Un servizio esterno guasto non deve trascinare giù tutta l'applicazione. Circuit breaker, nuovi tentativi distanziati, sonde di salute e degrado controllato tengono in piedi il servizio.
Entusiasta, professoressa o amica: ognuno sceglie il tono di LIA. Le personalità sono memorizzate nel database, tradotte in sei lingue e inserite nei prompt.
Per personalizzare davvero, LIA estrae in background ciò che conta nelle conversazioni, lo ritrova per significato e modula il suo tono secondo la delicatezza dell'argomento, senza mai bloccare la risposta.
Le conversazioni salvate devono restare leggibili quando il loro formato cambia. Lo stato porta un numero di versione e viene migrato automaticamente al caricamento.
Una conversazione nasce al primo messaggio, può essere eliminata logicamente, lascia un log di audit e scompare a cascata con l'account, in conformità al GDPR.
Ogni dominio (email, contatti, agenda…) ha il suo agente e i suoi strumenti, supervisionati da un grafo padre che condivide uno stato unico e propaga l'osservabilità.
Inviare una email o creare un appuntamento richiede un'approvazione. La bozza viene presentata, modificabile o annullabile, ed è eseguita solo dopo la conferma — ogni decisione viene tracciata.
Repository, servizi e router si concatenano tramite l'iniezione delle dipendenze di FastAPI, con sessioni di database aperte e chiuse al momento giusto e facili da simulare nei test. Un errore della rotta raggiunge la sessione per annullare la transazione; la chiusura termina prima di propagare una cancellazione.
Gmail, Calendar, Contatti, Drive e Tasks condividono una base comune: ambiti OAuth centralizzati, token rinnovati sotto lock e quote rispettate servizio per servizio.
Ogni chiamata ai modelli va contata e ottimizzata. Conteggio preciso dei token per fornitore, costo in tempo reale, caching e selezione semantica degli strumenti hanno diviso per dieci il catalogo inviato.
Tassi di cambio, pulizia dei ricordi, invio dei promemoria: certe attività devono girare da sole. Uno scheduler asincrono le lancia secondo espressioni cron, si arresta in modo pulito e pubblica le sue metriche.
Elenchi di parole chiave per lingua davano punteggi bassi e richiedevano una manutenzione infinita. Ora il router confronta il significato della domanda con quello dei domini e degli strumenti, in più di cento lingue.
Un promemoria si crea in linguaggio naturale, si memorizza in UTC e parte come notifica push su tutti i dispositivi, con un messaggio personalizzato — senza mai essere inviato due volte, anche con più worker.
Capitolo 2 · 1 gen 2026 – 31 mar 2026 · 18 decisioni
Oltre la tastiera
Un primo rafforzamento della sicurezza, la dettatura vocale, gli spazi di conoscenza e la sincronizzazione di una cartella online, i diari di bordo di LIA, il browser pilotato, i limiti di utilizzo — e la prima versione pubblica open source.
Memoria e personalizzazione · 4
Conoscenze e documenti · 3
Orchestrazione · 3
Modelli e costi · 2
gennaio 2026
3 decisioni
ADR-034Sicurezza
Rafforzamento della sicurezza
Cookie HTTP-only, query parametrizzate, protezione CSRF, password con hash: l'applicazione allinea le sue difese alle raccomandazioni OWASP.
I risultati degli agenti possono essere contatti, email, luoghi… Una validazione esplicita di questa unione di tipi impedisce qualsiasi perdita silenziosa di dati durante la conversione.
Dopo ogni risposta, LIA individua in background uno o due argomenti che interessano la persona, senza rallentare la conversazione, per personalizzare le sue risposte e poi le sue iniziative.
Parola di attivazione «OK Guy», pulsante del microfono, rilevamento della fine del parlato e trascrizione multilingue gratuita sul server: l'input vocale arriva senza costi di API ricorrenti.
Ognuno può caricare i propri documenti; LIA li suddivide, li indicizza e li ritrova con una ricerca ibrida (significato + parole) per arricchire le sue risposte, in spazi rigorosamente isolati.
Invece di scaricare e poi caricare i propri file, si collega una cartella Drive: LIA riutilizza il connettore esistente e indicizza i documenti con la stessa pipeline, file per file.
L'assistente scrive le proprie riflessioni e osservazioni, in prima persona, colorate dalla sua personalità, e le rilegge in base al significato per ragionare meglio con ciascuno.
A «Cosa sai fare?», LIA rispondeva in modo generico. Uno spazio di conoscenza di sistema, indicizzato dalla FAQ, le fornisce risposte esatte sulle sue funzionalità.
Compilare un modulo, cercare un prodotto, leggere una pagina dinamica: un agente autonomo pilota un browser Playwright isolato, prende un compito descritto in linguaggio naturale e lo porta a termine.
Ogni chiamata ai modelli costa denaro vero. Tetti per persona — token, messaggi, costo — per periodo o in totale proteggono l'operatore da una spesa fuori controllo.
Un'applicazione MCP disattivata continuava a ricevere richieste. Ora i domini restituiti dall'analizzatore vengono filtrati rispetto a quelli realmente disponibili, a ogni passaggio.
Un piano rigido non poteva reagire a ciò che scopriva. Una fase di iniziativa rilegge i risultati e propone verifiche utili, e un sub-agente iterativo sa esplorare un server MCP complesso.
Con quattro processi, un'impostazione modificata ne raggiungeva uno solo. Un'invalidazione diffusa tramite Redis Pub/Sub ricarica la cache in ogni worker.
La personalità conversazionale contaminava le note del diario. Ora un personaggio fisso di analista scrive osservazioni cliniche e direttive operative, qualunque sia la personalità attiva.
I nodi degli agenti per dominio non venivano mai più attraversati. L'analisi lo documenta, perché l'amministrazione non proponga più impostazioni che non servono a nulla.
Per non dover più pagare né aspettare un servizio esterno a ogni ricerca semantica, un modello di embedding multilingue gira sulla macchina, anche su un Raspberry Pi.
Due archivi diversi imponevano cinque calcoli di embedding per turno. Memoria e diari passano su PostgreSQL con pgvector, e un solo embedding serve tutti gli usi.
Attivo, disattivato, eliminato, cancellato: un account segue un ciclo di vita che conserva lo storico di fatturazione dopo l'eliminazione e cancella tutto su richiesta ai sensi del GDPR.
La modalità ReAct, una psiche che evolve, le competenze, i dati sulla salute, il briefing del mattino, la voce di LIA, i sub-agenti e un ragionamento regolato per fornitore.
Orchestrazione · 5
Voce · 4
Memoria e personalizzazione · 3
Modelli e costi · 3
aprile 2026
10 decisioni
ADR-068Memoria e personalizzazione
Una psiche che evolve
La personalità era un testo fisso. Un motore psicologico a cinque livelli — tratti, umore, emozioni, relazione, motivazioni — fa evolvere lo stato di LIA nel corso degli scambi.
La ricerca semantica passa a Gemini, con due spazi distinti per memorizzare e per cercare, e due vettori per elemento (contenuto e parole chiave) per ritrovare meglio.
Un piano rigido non si adatta a un risultato inatteso. Una seconda modalità, a scelta della persona, lascia che il modello chiami uno strumento, legga il risultato e decida il seguito, in un ciclo integrato nel grafo.
Due meccanismi in concorrenza identificavano le competenze. Ora l'analizzatore di richieste confronta la domanda con la descrizione di ogni competenza attiva: un solo segnale, semantico.
Il gestore del contesto conservava tre viste per dominio, di cui una inutile. Ora conserva solo l'ultima lista e l'elemento corrente, il che semplifica la risoluzione dei riferimenti.
Gli avvisi meteo riguardavano la casa anche in viaggio. Un'ultima posizione nota, conservata su richiesta, permette alle notifiche di seguire la persona dove si trova.
Diversi campi di output venivano confusi tra loro. Le entità di business passano per un unico contratto esplicito e piatto, che i consumatori leggono senza dover indovinare.
Una mappa, una dashboard, un codice QR: una competenza può restituire, oltre al testo, un riquadro interattivo o un'immagine, tramite un contratto JSON tipizzato.
Un comando rapido dell'iPhone invia ogni giorno, a lotti, passi e frequenza cardiaca, autenticato da un token personale revocabile, per seguire le tendenze e rilevare le variazioni.
La home diventa un briefing del giorno: meteo, agenda, email, promemoria… letti in parallelo fuori dal grafo degli agenti, con una cache per sezione e una sintesi scritta.
Le capacità e i prezzi dei modelli erano fissati nel codice. Ora il catalogo vive nel database, modificabile dall'amministratore senza un nuovo deployment.
Il diario diventa l'organo di metacognizione di LIA: osservazioni grezze, direttive, sintesi e ritratto della persona, ciascuno con il proprio stato di prova e la propria autovalutazione.
Una sintesi vocale neurale, multilingue e trasmessa frase per frase dà una voce a LIA, con un primo suono in meno di tre secondi e un'attivazione a scelta di ciascuno.
Come opzione, il riconoscimento vocale può passare da ElevenLabs Scribe, più preciso; i prezzi acquisiscono un'unità al minuto o all'ora di audio per essere conteggiati correttamente.
Client HTTP persistente, suddivisione in frasi durante la generazione e invio immediato: la voce comincia a parlare prima della fine della risposta scritta.
Un riassunto di cinque email aveva consumato quasi 500.000 token. La delega a un sub-agente passa per un ciclo ReAct parametrizzato e limitato, e il vecchio meccanismo viene eliminato.
«I miei appuntamenti medici» non dava alcun risultato: la parola «medico» veniva cercata così com'era. Un principio di pianificazione separa ciò che un servizio sa filtrare da ciò che il modello deve giudicare.
Dopo la conferma, tre promemoria eliminati apparivano come tre righe identiche. Un registro dichiarativo per tipo di bozza, verificato all'avvio, stabilisce come mostrare ciascuna.
Una conversazione troppo lunga impediva qualsiasi nuovo messaggio. La compattazione si dota di timeout, nuovi tentativi, osservabilità, e di un troncamento visibile invece di un blocco.
Il client OpenAI nativo e un ragionamento per fornitore
Un client fatto in casa di 1.800 righe viene sostituito dal client nativo; il modo di chiedere il ragionamento diventa una configurazione per fornitore.
Un mese di cento decisioni: un audit da cima a fondo, la sicurezza e i backup, una CI che esegue esattamente ciò che lo sviluppatore lancia, avvisi che svegliano per un motivo, e le prime regole di onestà.
Esperienza e interfaccia · 16
Piattaforma e rilascio · 15
Affidabilità e prestazioni · 14
Orchestrazione · 12
luglio 2026
101 decisioni
ADR-090Orchestrazione
Un livello semantico governato
I collegamenti tra tipi di dati e strumenti avevano due fonti non sincronizzate. Ora sono l'unione dell'ontologia e dei manifest, e dei test ne garantiscono l'integrità.
La risposta aspettava la fine dell'iniziativa prima di caricare il suo contesto. Ora le due fasi si sovrappongono, il che toglie diversi secondi ai turni con strumenti.
Riprendere dopo un'approvazione ripeteva chiamate costose. Ora ogni nodo pone una sola interruzione e cicla attraverso il grafo, il che rende sicura la ripresa.
L'indirizzo del client poteva essere falsificato e si poteva iniettare HTML. Porte legate al loopback, header del proxy verificati e sanificazione dell'HTML chiudono queste due falle.
Tre funzioni di windowing non venivano più chiamate da nessuna parte. Spariscono con le loro impostazioni e i loro test: un sottosistema morto costa a ogni modifica.
Un audit ha trovato sette famiglie di difetti silenziosi. Ognuna viene corretta e riceve una salvaguardia permanente — un test, una metrica o una regola scritta — perché non ritorni mai più.
Un audit ha preso di mira tre frontiere: il codice sincrono che congelava il loop asincrono, i servizi interni raggiungibili dalla rete locale, e l'output dei modelli mostrato senza filtri. Ogni difetto viene corretto e misurato prima/dopo.
Alcuni difetti emergono solo in parallelo o quando si elimina un account. Una sessione di database per ogni attività parallela, una cancellazione GDPR completa e una sandbox delle competenze rafforzata li fanno sparire.
La politica di sicurezza dei contenuti rompeva i widget MCP. Ora ogni widget di terzi riceve il proprio documento, quindi la propria politica, senza indebolire quella dell'applicazione.
Un reverse proxy nginx fornito fin dalla prima versione non era mai stato collegato a nulla. Viene eliminato, perché un file che non serve inganna chi lo legge.
A volte un modello rispondeva con del JSON nel testo invece della struttura attesa, e la richiesta falliva. Una rete di sicurezza recupera quel JSON, e una convenzione di scrittura dei prompt evita il conflitto.
«I miei prossimi appuntamenti medici» falliva a caso a seconda della modalità. Lo strumento elenca il periodo e poi filtra da sé, azzera le date e limita il volume letto.
Ogni dominio ha un nome al singolare e una chiave di risultato al plurale, entrambi ricavati da un registro unico: niente più tabelle mantenute a mano.
Parti della validazione umana restavano in francese per tutti. Le istruzioni ai modelli passano a un inglese neutro e tutto ciò che la persona legge è tradotto nelle sei lingue, con una verifica di parità a sostegno.
L'umore di LIA restava bloccato in pochi stati. La causa — le emozioni create a ogni turno — viene trattata alla fonte, con soglie regolabili senza dover ricostruire.
Lo stato psicologico restava descritto da aggettivi astratti e non si percepiva. Passa nel modo di parlare — ritmo, lunghezza, registro — senza mai dire «mi sento».
Le modalità Pipeline e ReAct attivavano le conferme in due modi diversi. Ora un contratto unico, tipizzato, serve ogni validazione, qualunque sia la modalità.
Motori di autonomia e un framework di approvazione non venivano più chiamati. Vengono eliminati in cinque gruppi verificati, senza perdere nulla di vivo.
Brave, OpenWeatherMap e Perplexity limitavano le richieste processo per processo, quindi in modo errato con più worker. Ereditano una base rafforzata, dal ciclo di vita deterministico.
Nessun backup del database era versionato. Un container dedicato esporta ogni notte con una politica di conservazione, e uno script dimostra il ripristino in un database usa e getta.
Le opzioni di crittografia dei backup vengono analizzate e confrontate; la decisione è di rimandare, con una strada già tracciata verso una copia fuori sede.
Ogni worker condivideva una sola connessione per salvare tutte le conversazioni. I pool di connessioni eliminano questo collo di bottiglia, il primo del sistema.
Le versioni installate divergevano da una macchina all'altra. Lockfile universali, generati da uv e verificati in CI, fissano ogni dipendenza transitiva.
250 test di integrazione non giravano in nessun job. Entrano nella CI con un vero database, le quarantene sono vietate e la copertura non può più arretrare.
Il cuore della chat era protetto solo dalla tipizzazione. Ora centinaia di test coprono lo streaming, le approvazioni e la voce, con soglie di copertura che non arretrano.
Chiudere la scheda interrompeva la generazione. Ora la risposta viene prodotta a parte, trasmessa tramite Redis Streams, e riprende in diretta quando si torna.
Il generatore di competenze richiedeva quattro operazioni manuali. La competenza si installa direttamente, tramite un'unica pipeline di importazione rafforzata.
L'alerting era stato disattivato senza una decisione scritta. Riparte un nucleo minimo di avvisi vitali, valutati da Prometheus e inviati via email, ciascuno con la sua procedura.
«Da mio fratello» non porta più in un posto a caso
Un tragitto verso «mio fratello» a volte partiva verso un luogo arbitrario. Prove deterministiche del riferimento a una persona e una salvaguardia sui parametri in fase di esecuzione chiudono ogni anello della catena del guasto.
Solo il 14% dei parametri aveva un tipo semantico. Una campagna di annotazione collega finalmente partecipanti, mittenti, indirizzi e date da uno strumento all'altro.
LIA può chiamare una terza persona per verificare una disponibilità, poi riportare un riassunto nella chat. La chiamata passa dal tuo connettore personale, resta confermata, limitata e in sola lettura.
Metà delle notifiche parlava dello stesso argomento. Gli interessi vengono raggruppati per argomento percepito ed estratti in base alla loro rarità, misure alla mano.
Un connettore revocato produceva una scusa vaga. Un banner propone la riconnessione con un clic, grazie a una classificazione per tipo di eccezione, mai per messaggio.
L'heartbeat tornava di continuo sugli stessi interessi senza nulla di concreto. Campione vario, registro comune, controllo anti-ripetizione sul contenuto e arricchimento concreto correggono il tiro.
Su iPhone, mappe e applicazioni MCP restavano vuote senza alcun messaggio. Un assetto di isolamento adeguato e stati di errore visibili sistemano la visualizzazione.
👍 o 👎 sotto ogni risposta, con un commento facoltativo: il verdetto viene conservato e reinserito nell'apprendimento, mai per rigenerare la risposta al posto tuo.
Le impostazioni psicologiche erano state rilasciate senza misurazioni. Prima arriva uno strumento di osservazione, e le proprietà desiderate diventano test.
Passkey, secondo fattore TOTP con codici di backup e nuova verifica prima di ogni azione sensibile: massima sicurezza e massima comodità, senza mai esporre un segreto al browser.
Ognuno vede i dispositivi collegati al proprio account e può revocarne uno a distanza, con un minimo rigoroso di dati (famiglie di browser, IP troncato).
Isolare uno script cambiando utente proteggeva solo se l'API girava come root. Ora ogni script di competenza viene eseguito in un container usa e getta, senza rete.
Il workflow di integrazione continua conteneva quasi cento comandi scritti inline. Ora ogni passaggio chiama un task del Taskfile: la CI esegue letteralmente ciò che ognuno lancia in locale.
Classificare una risposta libera a una richiesta di approvazione (sì, no, modifica) sbagliava su certi nomi di strumenti. La classificazione avviene per verbo d'azione, con esempi che coprono tutti i casi.
La voce tagliava a metà di un URL o di un numero decimale. Un delimitatore chiude una frase solo se è seguito da uno spazio o se è a fine testo, nelle due implementazioni ora unificate.
Dieci suite di test si spegnevano per mancanza di una chiave API, quindi non giravano mai in CI. Il fornitore viene simulato o il test viene marcato in modo visibile, e una salvaguardia impedisce la ricaduta.
Una vulnerabilità di una dipendenza JavaScript richiedeva una versione incompatibile. Una piccola patch di interoperabilità applica la vera correzione a monte senza rompere gli strumenti di sviluppo.
Un solo tema del diario riceveva quasi tutte le voci. La classificazione avviene per argomento, e un harness di misura verifica che ogni tema resti vivo.
Sei richieste di immagine consecutive erano fallite: il modello scriveva la parola «null» come nome della competenza. Gli output vengono normalizzati e due tetti che rendevano impossibile la funzione vengono rimossi.
Su mobile, una risposta poteva restare bloccata su «Generazione…» anche se era pronta. Un watchdog lato browser rileva il silenzio e riprende automaticamente il flusso.
Quattro worker reindicizzavano la conoscenza di sistema nello stesso momento e saturavano il fornitore. Uno solo ottiene il diritto di indicizzare, e la sua cache sopravvive al deploy.
Un solo worker calcola gli embedding degli strumenti
Al primo avvio, ogni worker ricalcolava gli stessi embedding. Una rivendicazione tramite file designa un solo calcolatore; gli altri attendono il suo risultato.
Ogni decisione di estrazione verso la memoria, gli interessi o il diario viene ora contata, per verificare che nessun tipo di turno sia ignorato per errore.
Per ritoccare una competenza, l'assistente rilegge la versione attuale e rigenera il pacchetto completo, confermato nello strumento, invece di applicare una correzione parziale.
Ogni argomento menzionato diventava un interesse. La domanda diventa: la persona ha mostrato un legame duraturo? Chiedere non significa amare, e ogni creazione esige un fondamento citato.
Il testo scritto da terzi — un'e-mail, un invito, una pagina — deve restare un dato, mai un'istruzione. La fiducia è dichiarata per tipo di dato, e applicata ovunque il modello lo legga.
Una ricerca ibrida della memoria non era più usata da mesi. Il modulo, le sue impostazioni e le sue metriche spariscono, prove di inattività alla mano.
Il contesto di un turno ReAct fa parte dello stato
Le istruzioni del turno ReAct venivano aggiunte come messaggi e sparivano con il windowing della cronologia. Diventano parte dello stato, ricomposto in testa a ogni iterazione.
Il tempo passato ad attendere il tuo consenso veniva contato come calcolo. Il budget ReAct conta solo il calcolo vero, e una guardia ferma un ciclo che ripete la stessa chiamata.
Una regola CSS globale rendeva inefficaci da sempre tutti gli elementi «sticky». Un altro valore di overflow ritaglia la pagina senza rompere l'aggancio.
Trovare un'impostazione di cui si conosce il nome richiedeva di espandere tutto. Un campo di ricerca indicizza le sezioni e dice chiaramente quando una destinazione non esiste.
La revisione 2026-07-28 del protocollo MCP è un rifacimento. LIA parla entrambe le epoche e lega il suo OAuth all'emittente scoperto, senza regressioni.
Un link che precompila il campo e un link che invia la richiesta hanno ora due parametri distinti, per non inviare mai un testo che la persona non ha convalidato.
Dopo una chiamata sopravvivevano solo un riassunto e qualche dato. Impegni, seguiti proposti e incertezze sono ora conservati in un debriefing strutturato.
Una routine può attivarsi su una condizione — un'attività in ritardo, un cambio del meteo — verificata a ogni tick, e si esegue una sola volta per ogni fatto nuovo.
Callout, elenchi puntati, tabelle, blocchi comprimibili: un vocabolario di componenti permette risposte impaginate, sanificate secondo uno schema esteso.
Oltre alla tecnica, una dashboard misura i risultati utili, l'attivazione, la retention e il costo per risultato, a partire da dati durevoli nel database.
Il resoconto di una chiamata arrivava in inglese e senza il suo debriefing: un percorso aggirava la porta comune. Ogni output strutturato passa ora da lì, con una guardia AST a sostegno.
Scoprirsi per nome esatto, connettersi dopo un accordo reciproco, scriversi da assistente ad assistente e condividere in sola lettura: un contesto dedicato organizza questi legami.
Consapevolezza delle connessioni e ammissione fedele del fallimento
«È disponibile domani?» rispondeva che nessun servizio era configurato. Il routing ora conosce le connessioni, e un fallimento viene riferito così com'è.
Una stessa richiesta falliva e poi riusciva a caso. Un catalogo filtrato deve essere chiuso: tutto ciò che uno strumento richiede deve essere prodotto da un altro strumento del catalogo.
Il pianificatore non vedeva i limiti che lo strumento applicava in silenzio. Ogni vincolo applicato viene pubblicato a chi produce il valore, e un verdetto di validazione non equivale a un fallimento.
Un numero mostrato deve essere esatto o non esistere: contare su una pagina troncata sottostima in silenzio. Aggregato su tutto l'insieme, paginazione delle sole righe, totale esatto accanto.
Le parole di un messaggio hanno diritto a un periodo di grazia
Il contenuto di un messaggio inoltrato veniva cancellato appena consegnato. Ora è conservato per un tempo limitato, come le chiamate, prima di essere eliminato.
La vista relazioni può leggere contatti e compleanni presso il fornitore, a condizione di dire che cosa ha guardato e di verificare ogni corrispondenza.
Capitolo 5 · 1 ago 2026 – 31 ago 2026 · 62 decisioni
Rendere tutto visibile
L'accessibilità per contratto, le impostazioni e le capacità mostrate, i costi per fascia oraria, l'installer per il self-hosting, un catalogo di modelli che dice il vero, gli occhi espressivi e l'autodiagnosi.
Esperienza e interfaccia · 15
Piattaforma e rilascio · 10
Orchestrazione · 7
Modelli e costi · 6
agosto 2026
62 decisioni
ADR-190Orchestrazione
Ciò che il catalogo annuncia, il registro lo mantiene
Uno strumento annunciato ma assente dal registro rispondeva a vuoto. Una guardia confronta i due, e la scheda contatto mostra tutti i suoi campi.
Un punto 360° tornava mutilato: lo strumento non era raggiungibile dal dominio richiesto. Ogni strumento dichiara i domini che serve, e un clic non è una frase.
Un dominio che sa solo scrivere spinge a scrivere. Vengono aggiunte tre capacità di lettura (chiamate, impegni, messaggi), e l'identità di una persona si può correggere.
Un percorso di riferimento errato tra i passi veniva scoperto solo in esecuzione. Una guardia CI verifica che ogni esempio pubblicato sia davvero prodotto.
La richiesta di chiarimento mostrava la descrizione tecnica di un problema. Ogni tipo di problema ha la sua domanda, in sei lingue, verificata all'avvio.
Per non ricevere più notifiche tratte dalle e-mail bisognava disconnettere le e-mail. Undici interruttori separano ora la connessione dal permesso di interrompere.
Calcolando le cinque prossime esecuzioni è emerso un difetto legato al cambio dell'ora. Una routine si esegue al massimo una volta per giorno locale, per costruzione.
Un ricordo affermava una preferenza senza dire da dove venisse. Ogni conclusione conserva un riferimento alla propria origine, e una cancellazione lascia una traccia datata.
Messaggi inoltrati, notifiche, promemoria: cinque flussi non avevano un luogo in cui leggerli. Una destinazione «Avvisi» li riunisce, senza regolare nulla.
Un audit UX ha mostrato che l'accessibilità era verificata solo su una frazione dell'interfaccia. Il contratto di un campo vive in un solo punto, e una schermata vuota offre sempre una via d'uscita.
Tre schermate simili esponevano le loro azioni in tre modi, a volte invisibili da tastiera. Un componente unico le rende sempre visibili e accessibili.
Il pannello di debug mostrava i passi in disordine. Ogni chiamata porta ora il suo istante, misurato dall'inizio del run, e il pannello segue l'ordine reale di esecuzione.
Promuovere campi variabili a etichette Loki moltiplicava i flussi indicizzati. Solo i campi con un piccolo insieme chiuso di valori diventano etichette; il resto si filtra in lettura.
Tre punti leggevano l'indirizzo del chiamante, e un visitatore poteva falsificarlo. Un solo risolutore preferisce l'header che Cloudflare sovrascrive, il che chiude l'aggiramento dei limiti.
LIA impara quando fai cosa con statistiche deterministiche e spiegabili, calibrate per simulazione. Ogni abitudine si vede, si corregge, si blocca, e un solo interruttore chiude ogni apprendimento.
Un installatore guidato costruisce l'applicazione in locale o usa immagini verificate tramite impronta, e non legge mai un segreto se non dallo standard input.
I limiti per utente non pongono un tetto a un'istanza: N account significano una spesa illimitata. Un budget giornaliero d'istanza, aggiornato in modo atomico, limita il deployment stesso.
Trascrizione, sintesi vocale, immagini… ogni capacità che non è un connettore ha il suo interruttore di amministrazione, che toglie davvero la capacità all'assistente.
I test del dimostratore fissavano ciò che il codice faceva il giorno della consegna. Ogni promessa viene ricalcolata dalla fonte di verità; una novità non classificata fa fallire la CI.
Alcuni fornitori restituiscono il consumo solo se lo si chiede. Ogni fornitore dichiara la propria modalità di conteggio, verificata all'avvio, e una chiamata a pagamento senza conteggio fa scattare un allarme.
Il timeout per modello era modificabile ma mai applicato. Diventa il limite di trasporto di ogni chiamata, confrontato con le latenze reali, e nulla attorno a una chiamata lo interrompe prima.
«Fai una ricerca e poi formalizzala in CSV»: un modello redattore produce il contenuto strutturato, e motori locali costruiscono il file Excel, Word, PowerPoint o PDF.
Cinquantuno sezioni ripiegate a fisarmonica erano tante. Una colonna elenca le sezioni, un pannello mostra quella selezionata, entrambi generati da un'unica tabella.
La pagina delle capacità descriveva il prodotto di sei mesi prima. Una sola aggregazione risponde a «a che punto è questa capacità», e un assert obbliga ogni novità a figurarvi.
Amministrare 124 modelli una finestra di dialogo alla volta non è sostenibile. Il catalogo si esporta in una cartella di lavoro Excel e si reimporta, con un'anteprima delle modifiche prima della scrittura.
L'autovalutazione del diario non produceva alcun segnale da mesi. Soglie adattive per persona, una guardia dell'iniziativa e cicli finalmente chiusi la riattivano.
Il programma di evoluzione si chiude su un inventario provato: la proattività ambientale esisteva già sotto forma di routine condizionali, la cui creazione vale come consenso. Le missioni di più giorni, un critico automatico e la trasformazione di routine in competenze sono riservati all'arbitrato del proprietario, prove alla mano.
Occhi animati traducono ciò che LIA sta facendo — riflettere, cercare, parlare, attendere il tuo consenso — a partire da segnali che esistevano già, senza alcun backend nuovo.
Il punteggio lessicale schiacciava quello semantico e scartava passaggi validi. La soglia si applica prima al significato, e il lessicale aggiunge solo un bonus limitato.
89 modelli su 114 portavano capacità predefinite mai verificate. Due registri pubblici alimentano il catalogo, e ogni riga dice da dove vengono le sue capacità.
Le app mobili sono pubblicate una sola volta per tutti i server auto-ospitati. Android riceve le notifiche tramite il Firebase di ciascun server; iOS passa da un relè che non trasporta alcun contenuto.
Chiedere a un modello di riflettere passava per quattro forme memorizzate e sette costruttori. Una sola intenzione, un profilo derivato e una sola cucitura di traduzione per fornitore.
LIA produceva centinaia di metriche senza leggerne nessuna. Un autocontrollo periodico, una memoria degli incidenti diagnosticati e risposte che aggirano un guasto noto.
«Dammi un minuto» non è una risposta. Il ciclo ReAct condivide la memoria della pipeline, si guadagna il budget producendo, e non pubblica mai un messaggio che annuncia un lavoro che non farà.
L'identità di un turno viaggiava in un dizionario non tipizzato. Passa in un contesto tipizzato e immutabile di LangGraph — senza adottare Agent Server, incompatibile con LIA.
Per i calcoli che un modello fa male, l'agente scrive un breve script e lo esegue nella sandbox esistente, solo in modalità ReAct, con dati passati senza essere ricopiati.
Il deploy terminava con un errore che si era imparato a ignorare. Il verdetto remoto viene ora letto in un file, mai dedotto da un codice di uscita SSH.
53 sezioni di impostazioni avevano lo stesso colore e a volte la stessa icona. Le icone in collisione vengono corrette, e dodici toni di gruppo, misurati, aiutano a orientarsi.
Gli occhi avevano raggiunto il tetto del CSS. Un motore TypeScript calcola ogni canale a ogni fotogramma e pubblica proprietà che il foglio di stile si limita a leggere.
Registri sigillati, conti esatti, la bacheca di lavoro, le riunioni, il telefono e la modalità Live — e fallimenti dichiarati anziché indovinati.
Esperienza e interfaccia · 21
Connettori e strumenti · 17
Affidabilità e prestazioni · 15
Modelli e costi · 14
settembre 2026
75 decisioni
ADR-253Esperienza e interfaccia
La risposta dichiara il suo registro
Il modello che scrive la risposta dichiara da sé il proprio registro — rassicurato, dispiaciuto, allegro… — in un vocabolario proprio dell'animazione del volto.
Sei attività in background partivano nello stesso secondo. Uno sfalsamento casuale alla fonte, un ammortizzatore breve lato fornitore e un'attesa che scade aperta assorbono la raffica.
La lettura degli schemi JSON degli strumenti MCP era duplicata. Un solo modulo legge la dichiarazione alla lettera dello standard, per l'adattatore come per il pianificatore.
Il budget ReAct contava solo il ragionamento. Il tempo degli strumenti diventa un secondo budget con un nome, ogni chiamata ha il suo limite, e una delega non può più consumare tutto.
Una rassegna della letteratura è servita da griglia di lettura: la provenienza sopravvive alla compattazione, l'ancora del turno tiene, i conteggi della traccia sono onesti, la validazione verifica la copertura e il contesto consegnato viene misurato.
Il pulsante «+» trasforma il telefono o il computer in un registratore: l'audio parte a segmenti, e LIA restituisce un verbale strutturato — data, partecipanti, decisioni, azioni.
Resettare una conversazione cancellava anche degli apprendimenti. Ogni famiglia di chiavi dichiara il proprio ambito, e la pulizia rimuove solo ciò che la sua famiglia dichiara.
Una notifica push di Gmail o di Drive mette in coda un risveglio. LIA lo serve nel rispetto di tutte le sue regole di idoneità, e Drive risincronizza solo ciò che è cambiato.
Ogni azione dichiara ciò che deve, e lascia una traccia
Ogni strumento dichiara se legge, redige, chiede conferma o agisce. Ogni azione viene registrata prima di avvenire e poi chiusa in base al suo risultato, e tre registri, che l'istanza può sigillare per account, ripercorrono ciò che LIA ha fatto, letto e deciso.
Le sopracciglia hanno una curvatura, uno stesso respiro porta il volto, e la bocca ha una vita propria: il volto di LIA si muove senza mai uscire da un budget di pochi pixel.
Il sistema di diagnosi raccoglie le prove nel momento in cui l'incidente si verifica, fonte per fonte, e un testo inviato a un fornitore di embedding è sempre una stringa esatta.
Ollama è servito dal suo client nativo, e il suo server dichiara da sé ciò che i suoi modelli sanno fare: strumenti, visione, ragionamento, dimensione del contesto.
Per ogni relazione, LIA scrive una volta al giorno una sintesi datata — a che punto sei, cosa affrontare —, ripresa dalla chat senza mai farla passare per un fatto verificato.
Ogni modulo che chiama un modello dichiara dove viene registrata la sua spesa, e ogni riga del registro dichiara chi ne è l'autore: tu, una routine o LIA di sua iniziativa.
Il modello dice che cos'è un contenuto — elenco, citazione, avviso, tabella — e il motore di rendering lo disegna con i meccanismi nativi di Word, PowerPoint, Excel e PDF, senza mai sforare.
Un output troncato è un rifiuto, non un salvataggio
Una risposta strutturata troncata dal limite di token non viene più ricucita in un documento più corto annunciato come riuscito: è un rifiuto, detto come tale.
Un ticket ha un ciclo di vita, un responsabile e un risultato. LIA può eseguire un ticket, porvi le sue domande e attendere la tua risposta, da sola o con un pari.
La dimensione del contesto non è più un'impostazione globale dell'istanza: ogni slot configurato ha la sua, precompilata da ciò che il server dichiara.
Venticinque capacità hanno ciascuna il proprio interruttore. Spegnere una capacità toglie la funzione, mai i tuoi dati, e la mappa delle capacità conta solo ciò che nomina.
Ogni processo dichiara e pubblica la memoria che occupa: il supervisore non carica più l'applicazione, le librerie pesanti si caricano all'uso e la cache vocale è limitata.
L'audit dei prompt ha trovato sei punti in cui il testo diceva altro rispetto al codice. Ogni variabile ha un produttore, ogni limite viene da un'unica costante.
Un modello che riflette per impostazione predefinita spendeva tutto il budget a pensare e restituiva promemoria vuoti. Una risposta breve si chiede senza ragionamento, e una famiglia di modelli si dichiara una volta sola.
Il risultato di uno strumento viene proiettato elemento per elemento sotto un budget di token, e il taglio viene annunciato: l'agente legge e-mail intere invece di intestazioni tecniche.
Un'e-mail arriva ripulita — senza cronologia citata né firma —, a tre livelli di dettaglio, e il suo riassunto viene calcolato una sola volta e poi messo in cache.
Due e-mail indipendenti in uno stesso turno vengono presentate una dopo l'altra, ciascuna con la sua decisione; solo un lotto già approvato resta raggruppato.
LIA ti chiama su un numero verificato da un codice pronunciato, legge i tuoi dati durante la chiamata, e ciò che dici diventa un tuo messaggio nella chat.
Il ciclo ReAct sceglie i suoi strumenti per pertinenza
Invece di un catalogo tagliato nell'ordine di registrazione, il ciclo ReAct lega gli strumenti più pertinenti alla tua domanda, coprendo ogni famiglia.
Sopracciglia posate sull'occhio, parlato generato sillaba per sillaba, gesti vari e piccole scene a riposo: l'avatar non recita mai due volte la stessa cosa.
Uno script può chiamare un servizio attraverso un solo proxy, con token che non può leggere. Un host sconosciuto dà luogo a una domanda che LIA non può saltare.
Un modello vocale ascolta e risponde nello stesso respiro, sulla tua chiave personale; ogni richiesta di dati o di azione viene delegata al motore di LIA, con le stesse regole della chat.
Ogni fornitore dichiara la sua modalità di connessione e il suo modo di delegare, senza alcuna diramazione in base al suo nome: Gemini Live, GPT-Live e poi ElevenLabs passano per la stessa cucitura.
Al telefono come nel browser, «Live» delega ogni richiesta durante la conversazione e «Live diretto» legge senza agire e poi trasmette le tue parole alla fine: una sola chiusura per entrambe.
Riconnettere i propri servizi Google o Microsoft richiede un solo flusso OAuth per account, verificato da un'identità firmata, e ogni servizio conserva il proprio stato.
Il fallimento di uno strumento è detto, mai indovinato
Quando uno strumento fallisce, LIA lo dice con la vera ragione invece di inventare una diagnosi, e le metriche contano finalmente i fallimenti come fallimenti.
Una connessione al database non attende più la risposta di un fornitore: i risvegli bloccati, i lock trattenuti e le connessioni «in transazione» inattive spariscono.
Ogni famiglia di modelli di immagine dichiara ciò che accetta e come viene fatturata: OpenAI e Qwen Image passano da un solo client, e un'immagine può essere ritoccata.
La superficie di richiesta dei modelli Claude è dichiarata una volta, e la cache del prompt viene modellata e fatturata esattamente come la misura il fornitore.
Una cache che sopravvive da un turno ReAct all'altro
Un'opzione fa riutilizzare a ogni turno ReAct il prefisso del turno precedente — tutti gli strumenti, poi il contesto del turno dopo la domanda —, per pagare meno i token già inviati.
Un'unica impaginazione del prompt per tutte le cache
Lo stabile prima del variabile, una sola frontiera, nessuna scrittura di cache che nessuno rilegge: ogni fornitore traduce la stessa regola nel proprio meccanismo.
Ciò che il ciclo parte a cercare finisce ottenuto o dichiarato mancante. Una mancanza dichiarata apre un passaggio di recupero limitato, e la risposta dice ciò che non si è potuto ottenere.
Ognuno sceglie tra scambi frequenti e occasionali. Frequenti: LIA tiene tutti i suoi strumenti e prepara ogni turno perché il successivo lo rilegga dalla cache, un primo messaggio più costoso e poi altri molto più economici. Occasionali: sceglie gli strumenti per pertinenza, con un costo stabile.
Un messaggio inviato ad alcuni account scelti veniva poi mostrato a tutti al loro accesso successivo: l'elenco dei destinatari non veniva conservato. Ora sì, e sotto il modulo l'amministratore rilegge la cronologia paginata di ciò che è stato inviato: data, destinatari, scadenza.
Finora LIA ricordava solo ciò che il messaggio evocava. Ora può cercare un argomento scoperto strada facendo: il mittente di un'e-mail, un luogo, un'istruzione data un giorno. Al telefono, quella ricerca risponde finalmente alla domanda posta invece di restituire gli ultimi ricordi.
Scrivere alla propria casella non chiede più di convalidare una bozza, come la telefonata a se stessi: «ogni mattina mandami il meteo per e-mail» può funzionare come routine. Il destinatario non è mai un parametro: la casella collegata o l'indirizzo verificato dell'account.
Un prompt d'immagine può essere migliorato senza essere tradito
Per chi lo attiva, un modello dedicato riscrive la descrizione di ogni nuova immagine con le tecniche raccomandate dai fornitori: inquadratura, luce, obiettivo, stile. Ciò che viene chiesto non cambia, il testo da scrivere nell'immagine resta parola per parola e, al minimo dubbio, la richiesta originale parte così com'è.
Condividere un'immagine generata con una connessione
Un clic su un'immagine la invia a una connessione, con un commento se vuoi. Arriva tra le sue immagini, come se l'avesse generata, e nella sua chat, con il commento citato così com'è: mai trasformato in un link o in un'immagine nascosta.
I log conservano fatti, mai le parole di una persona
Fuori dal debug, i log conservano solo numeri, lunghezze e identificativi: niente ricerche, niente interessi, niente nomi di contatti o di file. Quando un database o un servizio cita il dato che rifiuta, la citazione viene rimossa prima di scrivere la riga. Un test legge ogni riga di log del codice e rifiuta quella che scriverebbe le parole di una persona.
LIA calcola invece di stimare, e ritrova ciò che ha fatto
Un calcolo, una data o una conversione di valuta non si stimano più a occhio: LIA li calcola esattamente, al tasso di riferimento del giorno, che indica. Può anche cercare nel suo diario un argomento scoperto strada facendo, dirti ciò che ha fatto e consultato in un periodo con totali esatti, e mostrarti di nuovo un file che ha prodotto finché esiste ancora.
Dalla galleria puoi conservare un'immagine, un documento o una schermata: la pulizia automatica non lo elimina più, entro un limite per account mostrato prima di ogni rifiuto. Smettere di conservarlo gli ridà una scadenza, mai un'eliminazione immediata, e la chat dice a ogni lettura se il file è conservato o non esiste più.
Un messaggio che arriva da altrove — un'altra scheda, Telegram, una routine, un promemoria — compare senza ricaricare la pagina: il server lo segnala appena il messaggio è salvato, e la chat aggiunge ciò che manca senza toccare ciò che è già mostrato. Nulla si muove mentre una risposta viene scritta, e chi è risalito nel filo non viene spostato.
Un'immagine, un documento, uno screenshot o una risposta parte per e-mail, come allegato, con l'oggetto e le parole scelti dalla persona — LIA non scrive nulla al suo posto. Parte dalla sua casella collegata verso chi vuole oppure, senza casella, va al suo indirizzo verificato. Ogni casella ha la sua dimensione massima, presa dalla documentazione del fornitore e indicata prima dell'invio.
Una routine segue o una pianificazione o una condizione — mai entrambe: prima si sceglie quando viene eseguita, e compaiono solo i campi di quella scelta. Una routine che aspetta qualcosa non ha più orari: LIA verifica la condizione da sola, giorno e notte, fino a un ultimo giorno facoltativo. Viene eseguita solo per qualcosa di nuovo, mai due volte per la stessa cosa, entro un limite giornaliero.
Le email, il bot Telegram, i messaggi di errore e i cataloghi dell'applicazione sono ora scritti nella lingua di chi li legge: nessuna frase in francese servita per impostazione predefinita a un account tedesco o cinese, nessuna email di verifica ricevuta in inglese. Ogni tabella di traduzioni contiene le sei lingue — un controllo automatico lo garantisce a ogni modifica. Il francese scritto nel codice che leggeva solo il modello passa all'inglese tecnico, per non favorire nessuna lingua; ciò che resta — alcuni prompt ed etichette in francese, testi rivolti al modello tradotti nelle sei lingue — attende che una misura mostri cosa cambia traducendoli.
LIA diventa un'emittente radio su richiesta nella tua lingua: la tua giornata, poi le notizie dei media seguiti e dei siti che aggiungi, scritte, verificate e lette per te mentre ascolti. Un palinsesto fisso decide cosa va in onda, i modelli si limitano a scrivere e ogni frase mostra la sua fonte. Non si produce nulla quando nessuno ascolta, non si conserva nulla dopo, e il costo della sessione si vede mentre spende.
JEV decide, ogni utilizzo mantiene il proprio interruttore
JEV aiuta a scegliere, orientare o valutare tra opzioni limitate, con un interruttore immediato per uso e il percorso esistente in caso di dubbio. Due usi facoltativi, disattivati per impostazione predefinita, rilevano l’assenza di riferimenti personali o il rifiuto di tutte le azioni in attesa; nessuno autorizza l’esecuzione. Le anteprime conservano risultati canonici e gli osservatori non bloccano scritture; gli amministratori vedono contesto ed esito, errori a pagamento e ripieghi contano entrambi, e i vantaggi si verificano sul percorso completo prima dell’attivazione.
Nessun testo ostile blocca LIA, nessun reindirizzamento la devia
Le funzioni che appiattiscono un testo per una voce, una notifica o una scheda leggevano alcuni testi in tempo esponenziale: 51 caratteri digitati nella chat costavano 4,5 s, un'e-mail trappola di 32 KB bloccava LIA per 3 s. Ogni schema è riscritto lineare e due test lo garantiscono, sul server come nel browser. La lettura di una pagina web controlla ora ogni reindirizzamento prima di seguirlo e si collega all'indirizzo verificato, mai a una risoluzione successiva del nome.
Una skill venuta da fuori è letta come un dato, e la libreria installa ciò che è stato letto
Si possono cercare skill su skills.sh o a un indirizzo GitHub, leggerle una per una prima di installarle e tenerle aggiornate; l'installazione prende esattamente il commit letto, ogni file verificato. Una skill scritta fuori da LIA gira a parte, solo con i propri file: mai i connettori della persona, nessuna immagine né contenuto web nelle sue risposte. Una skill può eseguire i propri comandi in una copia usa e getta della sua cartella, con la rete solo verso gli host consentiti, e quella scritta dalla chat entra solo con il clic della persona.
L'heartbeat non ha più una quota giornaliera: ogni passaggio arriva alla decisione
LIA non trattiene più una notifica utile perché sarebbe stato raggiunto un tetto giornaliero: è il modello di decisione a giudicare se un segnale merita di interrompere la persona. Ogni passaggio nella sua fascia oraria arriva a quella decisione, e solo la fascia, le pause tra due messaggi, una riunione in corso e i tetti di spesa limitano il ritmo. I risvegli da un'e-mail e i momenti anticipati seguono le stesse regole.
Una parola di attivazione addestrata, sentita nel browser, e uno standby Live che non fattura nulla
LIA si risveglia con una frase riconosciuta interamente nel browser da un piccolo modello addestrato per la sua lingua, senza la condizione tecnica che teneva il vecchio «OK Guy» inglese lontano dall'iPhone e dalle app native; «LIA, stop» interrompe la sua voce. Il primo modello, «Dis LIA» in francese, è distribuito in beta perché il suo banco non raggiunge ancora le soglie pubblicate, e le altre lingue mantengono il tocco. In modalità Live, un silenzio mette l'assistente in standby: la connessione con il fornitore si chiude, non viene più fatturato nulla, e un tocco o la frase la riattiva senza perdere la conversazione.
Media serviti senza lavoro a runtime: illustrazioni pregenerate, un video dichiarato dall'operatore
Le illustrazioni del blog vengono scritte una volta, in quattro larghezze e un'immagine di condivisione, e servite così come sono: il server non ridimensiona più nulla e la cache di bordo le conserva. Il video della pagina iniziale è ospitato dove l'operatore lo dichiara ed è descritto da un manifesto letto su richiesta; senza di esso la sezione non esiste. In loop, parte quando è visibile, con l'audio dove il browser lo consente e muto altrove fino a un clic, e finché l'audio suona il titolo della pagina e quelli delle sezioni battono con la musica grazie a una mappa dei battiti calcolata in anticipo.
Ciò che i controlli non vedono viene letto ogni settimana
I controlli di ogni modifica leggevano un solo database di avvisi di sicurezza: la revisione di settembre 2026 ha trovato venti avvisi pubblicati dai repository stessi delle dipendenze, che nessuno strumento vedeva. Una sorveglianza settimanale legge ora questi avvisi, le fini del supporto, i registri e il motore del browser, e ogni rilievo viene corretto o accettato per iscritto, con una data di revisione. Le versioni di Python avanzano con un solo comando, dopo un periodo di attesa, senza mai tornare indietro. Il passaggio da una generazione non più mantenuta può essere convalidato con un adattatore ufficiale, senza modificare regole e soglie; i soli metadati di compatibilità non bastano.
Log, tracce e metriche si richiamano a vicenda, e la catena di osservazione sorveglia sé stessa
Una riga di log apre la traccia della sua richiesta, una traccia apre i suoi log e le sue metriche, un punto di latenza apre l'esempio che l'ha prodotto: collegamenti misurati come interrotti in produzione ora funzionano. La catena che trasporta questi segnali è a sua volta sorvegliata, con un avviso quando dei log vanno persi, e tutte le dashboard seguono una stessa convenzione: una settimana di storico e un menu comune.
Schede che mostrano tutto ciò che è stato ricevuto, e azioni legate al messaggio che le mostra
Le risposte che contengono dati — e-mail, appuntamenti, contatti, luoghi, percorsi, meteo — appaiono come schede che mostrano tutto ciò che la fonte ha fornito, senza mai inventare un valore assente, con il dettaglio completo dietro un pannello apribile. Il modello non rilegge mai la scheda, solo i fatti autorizzati, così la conversazione non si appesantisce. Rispondere a un'e-mail o regolare un promemoria da una scheda prepara una richiesta legata al messaggio d'origine e ricontrollata al clic, e un percorso può aprirsi come mappa interattiva il cui costo viene annunciato e poi contabilizzato.
Un avatar parlante personale con una sola uscita udibile — progetto proposto
Un volto Simli opzionale accompagna la voce esistente con una chiave personale e una sola uscita udibile. L’API controlla connessione e arresto; la finestra mostra la chiusura confermata o in attesa perché il silenzio può consumare il piano. La decisione resta proposta fino alla verifica del fornitore e dei dispositivi reali; Radio mantiene il suo lettore.
Prove semantiche canoniche e dipendenze che possono iniziare
Collegare due valori richiede un'osservazione dalla fonte e dall'account corretti, con il ruolo previsto; parole identiche non bastano. Il catalogo conserva le letture necessarie ad avviare una catena e indica le dipendenze senza fonte. Un tentativo di modifica invalida le prove precedenti prima e dopo la chiamata.
I risultati richiesti sono verificati rispetto a ciò che gli strumenti hanno ottenuto
Le richieste esplicite sono ancorate alle parole della persona e confrontate con le osservazioni: valore, data, quantità, operazione e completezza. Giorno e fuso orario restano quelli dell'inizio del turno, anche dopo una ripresa. Una bozza resta in attesa e una delega opaca resta sconosciuta; le lacune verificate raggiungono il recupero di lettura limitato e la risposta.
Letture ReAct salvate prima di un'interruzione e riutilizzate nello stesso turno
Le letture indipendenti dichiarate possono procedere insieme entro un limite; i risultati sono salvati prima di una possibile conferma. Una lettura recente e completa può servire di nuovo nello stesso turno e contesto. Le modifiche invalidano il riutilizzo. Un arresto improvviso prima del salvataggio può ancora ripetere letture; le osservazioni non sono condivise tra turni.
I contratti MCP attuali descrivono capacità e identità esatta del server
Gli strumenti MCP di ogni persona sono scoperti dalle dichiarazioni attuali; vengono annunciati solo quelli costruiti correttamente. Il server conserva la propria identità esatta, distinta dai nomi semplificati di instradamento e chiamata. Un'attività legata a un server verifica la destinazione prima della conferma. Le vecchie descrizioni ricevono le capacità attuali senza pretendere di conoscere l'intera ontologia del server.
Comandi applicativi con permessi attuali e prosecuzioni private
LIA gestisce impostazioni e oggetti tramite operazioni dichiarate. I comandi durevoli cifrati legano contenuto approvato, attore, origine e scadenza; permessi, capacità e precondizioni vengono riletti all'esecuzione. I servizi sorgente conservano i controlli compare-and-set e i claim sono vincolati da token. File, OAuth, input privati e operazioni sui dispositivi proseguono nel browser autenticato. L'attesa non è un successo concluso; un risultato perso resta incerto, senza promessa di esecuzione esterna esattamente una volta.
Il disegno frontale riveste un rilievo limitato, con contorno e frange derivati dall'alfa sorgente. L'anatomia nascosta resta approssimata; occhi, sopracciglia e bocca sono proiezioni DOM/SVG, la sciarpa viene composta intenzionalmente davanti. Corpo, volto e accessori condividono il rig esistente. Visibilità, movimento ridotto, disponibilità e contesto grafico regolano risorse e ritorno al disegno fisso. I test di geometria e ciclo di vita non certificano ogni occlusione né le prestazioni su dispositivi reali.
Produzione motion modificabile e presentazione esclusiva
Un progetto Remotion offline conserva capitoli, viste HTML/CSS, pose e accenti musicali per far evolvere insieme film e focus delle funzioni. Le schermate ricostruite citano fonti native e usano dati fittizi; la geometria resta fissa fuori dai focus espliciti, con BIP che accompagna la presentazione. Il manifesto può dichiarare un film completo distinto dalla playlist: il dialogo a schermo intero sospende il lettore di sfondo. Il film è francese e i controlli sono tradotti; rendering, file consegnati, provenienza musicale e accettazione dell'emittente restano verificati separatamente.
Una campagna avatar runtime attivata dall'operatore
Un'opzione server, vuota per impostazione predefinita, presenta BIP alla successiva visita autenticata per origine e browser. Un identificatore esplicito cambia solo stile e marcatore; visibilità, dimensioni, posizioni e scelte manuali successive restano intatte. Nessuna colonna avatar viene aggiunta all'account. Web Locks coordina le schede quando disponibile; senza questa API, rileggere il record più recente non garantisce una transazione simultanea. Disattivare la campagna interrompe nuove applicazioni senza ripristinare vecchie scelte e non raggiunge dispositivi offline.
Il ritratto legge tutto il materiale, e il suo riassunto è una sintesi
Nove registri sulla persona — ricordi, interessi, abitudini, debrief, fili aperti, Workboard, routine, promemoria, risposte conservate — sono letti per intero, ogni elemento citabile, sotto una sola quota della finestra del modello, e ogni taglio è dichiarato. Il ritratto torna a essere un'analisi della persona su sette sfaccettature, mai un inventario, e il riassunto è scritto come frasi proprie; la revisione semantica, misurata mentre respingeva letture fondate, è rimossa: ciò che rifiuta l'invenzione è strutturale, ogni lettura cita ciò che la fonda. I budget sono obiettivi dichiarati, mai un taglio. Una modifica del diario rende il ritratto obsoleto, servito datato, invece di cancellarlo; una voce eliminata porta via le letture che fondava. Misurato su dev prima della consegna.
LIA salva, modifica e sposta nel cestino le bozze di Gmail, Outlook e iCloud senza chiedere: una bozza resta nella casella della persona e non raggiunge nessuno, e il cestino si può annullare. Solo l'invio chiede una conferma, su una scheda che mostra la bozza così come la casella la conserva; una bozza modificata nel frattempo nella casella non viene inviata, e una modifica chiesta sulla scheda viene scritta prima della partenza. Strada facendo, la scheda di risposta mostra finalmente tutti coloro che la risposta raggiunge, ed è a loro che invia.
Fish Audio si unisce alle voci di LIA, e ogni motore fattura solo ciò che dice
Fish Audio parla (cinque modelli, tra cui s2.1-pro e drama-3), trascrive riunioni e dettature, e le sue voci si clonano o si progettano dall'amministrazione, con una dichiarazione di consenso archiviata nel registro di audit. Ogni frase ascoltata passa da un'unica porta che la fattura una volta, nell'unità del motore che l'ha davvero pronunciata; ogni account fornitore ha un'unica riserva di richieste, condivisa da tutte le funzioni vocali; e la dettatura remota va al motore scelto dall'amministratore, che le impostazioni indicano. LIA inserisce indicazioni di interpretazione (una risata, un sussurro, un sospiro) in ciò che scrive per essere detto, nella sintassi di ogni motore che le interpreta, e le voci della radio dialogano in un'unica ripresa.
Il ripianificatore consultivo viene ritirato: un errore si dice, non si ripete
Misurato in produzione, l'analizzatore che seguiva ogni piano fallito definiva passeggeri errori che non lo erano, e il ciclo di ripresa che attendeva avrebbe ripetuto l'irreparabile. Scompare: un errore viene detto nella risposta, un guasto passeggero viene ritentato dal client che lo ha incontrato, e un contatore tipizzato mostra ogni passo fallito, anche uno avvenuto prima della chiamata a uno strumento.
Ciò che uno strumento di lettura trova arriva alla risposta, e un rifiuto non è mai un successo
In modalità pipeline la risposta nasceva da una frase sui dati di uno strumento — «2 destinazioni» — mentre i tempi di percorrenza, le connessioni o la pagina successiva restavano da parte: senza di essi, 0 risposte su 9 davano i tempi, 27 su 27 con essi. Ora arrivano come in modalità autonoma, limitati e marcati come contenuto di terzi. E il rifiuto di uno strumento non può più diventare un successo lungo la strada: i comandi Hue dicevano di aver acceso una lampada che non esisteva.
L'esperienza di LIA si impara dalle prove, mai dal suo stesso voto
La vecchia autoefficacia si muoveva solo con l'autovalutazione di LIA, un solo scambio bastava a creare un punto di forza o una debolezza, e solo la risposta finale la leggeva. Sette domini tengono ora due assi separati: ciò che un turno ha ottenuto in modo verificabile e l'utilità che la persona ha espresso con 👍/👎. Da cinque osservazioni, LIA può verificare un punto, fare una domanda o dichiarare un limite, senza cambiare modello, strumento o budget.
Una connessione accettata riceve una copia propria disattivata di skill, server MCP o plugin, con indicazione dell’origine. Il pacchetto verificato è immutabile, i tentativi successivi preservano le modifiche del destinatario e le credenziali restano private. Una skill condivisa attivata segue esplicitamente la politica delle skill create dal destinatario.
Interfaccia e assistente condividono le stesse valutazioni indicative
Decisioni native opzionali annotano una volta le evidenze autorizzate di email e appuntamenti. Il dubbio non mostra badge, costi e quote restano applicati e né categoria né fiducia autorizzano azioni. Corpus fissi e nuovi casi avversari legano la politica consegnata a prove misurate.
Posizione raggruppa i Google Places selezionati prima delle loro schede, anche in HTML e Markdown. La mappa interattiva aspetta un clic con costo visibile; l’elenco delle fonti resta utilizzabile se Maps non è disponibile.
L’API rileva sequenze di percorsi sconosciuti e credenziali rifiutate senza penalizzare i normali errori di sessione o di risorsa. Redis condivide un blocco temporaneo tra i processi; se la cache non funziona, le richieste passano e il problema resta visibile nelle metriche.
Attribuire ogni risposta HTTP 429 all’indirizzo corretto
Ogni risposta 429 registra l’indirizzo del client risolto tramite la catena di proxy attendibili, il metodo e il percorso senza parametri di query. I normali log di accesso restano discreti e l’indirizzo non diventa mai un’etichetta di metrica.
Dettagli già acquisiti e un percorso contabilizzato verso il luogo scelto
La scheda riutilizza le informazioni già ottenute senza cercare di nuovo il luogo. Il percorso parte da una posizione del browser autorizzata, dall’ultima posizione recente e datata, oppure da casa: a piedi fino a 2 km inclusi, in auto oltre tale limite, con un solo ricalcolo se il percorso pedonale reale supera la soglia. I limiti di spesa restano applicati e ogni chiamata a pagamento viene registrata, anche se il percorso fallisce o viene annullato.
Una mappa leggibile con gli stessi numeri nell’elenco e sui segnaposto
La mappa attende un’attivazione esplicita senza riservare un grande spazio vuoto. Gli stessi dettagli si aprono in un popup sul computer e in una finestra di dialogo sul telefono, ciascuno con una sola area di scorrimento. L’elenco e i segnaposto condividono i numeri dell’ordine originale; un luogo senza coordinate conserva il suo numero e il suo collegamento senza spostare gli altri. Se il contenuto non cambia, una mappa attivata resta attiva durante gli aggiornamenti automatici della visualizzazione.
Acquisizione generica dal telefono e SMS personali
Il telefono invia eventi rigorosi deduplicati per sorgente. Consensi indipendenti, esportazione, cancellazione, registri e notifiche rispettano la stessa autorizzazione.
Discussioni proattive indipendenti e distribuzione nativa
L'iniziativa personale resta distinta dagli avvisi, con una propria politica e pubblicazione atomica nella chat. L'architettura è approvata; il produttore deve ancora essere implementato prima dell'attivazione.
Contesto longitudinale e controllo del suo utilizzo
Le osservazioni sostengono episodi e ricorrenze, con ritratto autonomo, cancellazione ed esclusioni reversibili persistenti. Le direttive limitano l'iniziativa; la base derivata è ancora da implementare.
Letture e chiamate ai modelli condividono limiti finiti e un budget riservato. Le spese restano contabilizzate anche in caso di rifiuto o annullamento; le protezioni finanziarie vanno implementate prima dell'attivazione.
Una sonda in uscita che nomina il passaggio fallito e conferma l'interruzione
La sonda di connettività in uscita separa la risoluzione DNS dalla connessione e conferma una perdita su più tentativi distanziati. Un pacchetto DNS perso non apre più un incidente critico: un recupero o un rallentamento viene segnalato come degradato, e un'interruzione reale nomina il passaggio che è fallito.
Il turno successivo rilegge ora tutta la cronologia dalla cache invece di riscriverla, e ciò che rileggerà resta conservato un'ora quando una persona attende e scambia spesso. Queste scritture di un'ora sono fatturate al loro giusto prezzo, e il ragionamento di un turno precedente torna al modello Claude che lo ha scritto, dove quel modello può rileggerlo.
Un ripristino della password limitato per account e legato ad esso
Ogni account riceve ora al massimo poche e-mail di reimpostazione, qualunque indirizzo le chieda, e un link vale solo per l'account e la password per cui è stato emesso. Un account che accede con Google riceve un avviso invece di un link, un amministratore non riceve nulla, e un'ondata di richieste o di iscrizioni avvisa il gestore.
Il browser disegna il mondo mentre Redis gestisce accesso e movimenti; le azioni conservano interfacce e approvazioni native. Nome dell'account e aspetto sono condivisi con consenso, attività e casa restano private e i contatti vedono solo uno stato di connessione generale. I messaggi restano tra i destinatari e le traduzioni autorizzate sono limitate e contabilizzate.
Registrazione, accesso con password e richieste di reimpostazione richiedono ora il token di una verifica Cloudflare Turnstile, che il server fa convalidare: uno script che chiama l'API senza browser viene respinto. La maggior parte dei visitatori non vede nulla e, se Cloudflare non risponde, passa solo l'accesso: un nuovo account o un'e-mail di reimpostazione attendono.
Il catalogo di un server MCP personale, servito senza attese
Ciò che un server MCP personale offre viene conservato sull'account e servito di nuovo da un messaggio all'altro, su qualsiasi processo, mentre uno solo lo ricontrolla in background. I server si preparano in parallelo; uno troppo lento viene escluso da quel messaggio, nominato in un avviso, e pronto per il successivo. Quando la copia conservata non è più fresca, LIA verifica prima della chiamata che lo strumento sia ancora offerto nella stessa forma, altrimenti si rifiuta di inviarla.
«L'email di Marc»: indicato per ciò che è, chiesto quando più elementi corrispondono
Quando la persona indica un elemento appena visto per ciò che è — il mittente, una parola dell'oggetto —, l'analisi della richiesta dice solo come viene indicato; è il codice a trovare, tra gli elementi realmente mostrati, quelli che quelle parole indicano. Uno: LIA agisce e lo nomina nel registro delle azioni. Più di uno: LIA chiede quale, con una domanda che nessun modello scrive, e non indovina mai; nessuno: una nuova ricerca.
È la persona a decidere quando LIA chiede prima di uno strumento MCP
La persona sceglie quando LIA le chiede l'approvazione prima di uno strumento MCP: per tutto l'account, per ogni server, per ogni strumento — «non chiedere mai» resta legato a ciò che lo strumento dichiara. Prima di qualsiasi modifica che farebbe chiedere meno a LIA, la pagina elenca ciò che LIA smetterebbe di chiedere; nulla è bloccato. A un agente dedicato si chiede una sola volta prima di ogni attività non appena uno dei suoi strumenti lo chiederebbe, e l'attività va fino in fondo; dalla conversazione LIA può solo chiedere di più.
La persona agisce da sé sui propri servizi, senza modello
La sezione «Strumenti» apre la posta, il calendario, le attività, i contatti, i file, su Google Drive o OneDrive, e le luci della persona perché li consulti e agisca a mano: nessun modello, nessun token, la velocità del fornitore. Lo schermo offre solo ciò che il fornitore accetta, e ciò che un client guadagna per esso lo guadagnano insieme gli strumenti dell’assistente; nulla di ciò che la persona fa a mano entra in un registro, perché non è un atto di LIA.
Una pagina scritta dal modello gira nella chat, nel riquadro più rigoroso
Chiedere un gioco o un piccolo strumento dà una pagina che gira nella conversazione, con il suo file; chiedere il codice dà il codice, e ciò che una persona scrive resta testo. La pagina gira isolata, senza accesso all’account né ad alcun sito di sua scelta, sotto una politica che non nomina alcun host, salvo le fonti di mappe che l’operatore consente. Riletta dalla cronologia aspetta un clic, perché un ciclo infinito bloccherebbe la scheda, e il modello ne legge solo il titolo.
Gli slot degli agenti di dominio se ne vanno con i loro nodi
L'amministrazione proponeva di regolare sedici agenti che nessun turno chiamava più: un piano esegue direttamente gli strumenti e la produzione non ha contato un solo token su di loro. Slot, nodi e prompt sono stati rimossi; lo slot Emails resta, perché scrive i messaggi. Una nuova installazione parte ora su modelli che hanno una tariffa.
Dagli Strumenti: un clic, una chiamata, una proposta
Riassumere un messaggio, proporre una risposta, leggere un biglietto da visita: un clic chiede una sola cosa a LIA e riceve una proposta che la persona legge, mai una scrittura presso il fornitore. L’atto viene tracciato e addebitato a chi ha cliccato, e nulla aggiunge un controllo a una schermata senza spazio: l’ultima icona di ogni barra apre l’elenco.
Una sessione vocale ElevenLabs impostata su una personalità cinica parlava come un assistente allegro: i tag espressivi del portale imponevano entusiasmo e le cornici di LIA chiedevano calore. Ora ogni voce della persona — Live, Live diretto, telefono e il commento vocale della chat — parla con la personalità scelta, prima la sostanza, i fatti intatti; LIA stessa scrive sull'agente la tavolozza dei tag, il saluto e i suoi strumenti. Una chiamata a terzi resta cordiale.
JEV conserva ciò che qualcuno legge, e le sue soglie diventano impostazioni
Le anteprime dei risultati che nessuno schermo mostrava più e la porta JEV dell'iniziativa, che non distingueva nulla, sono state rimosse, mentre il valutatore dell'iniziativa continua a vedere ogni turno con strumenti. Ogni soglia JEV diventa un'impostazione limitata, modificabile dalla schermata di amministrazione, e ogni giudizio pagato viene contato nel tempo, perché una soglia si decida su ciò che accade davvero e non su un corpus.
Un orario non condiziona più una richiesta ricorrente: un bisogno si riconosce dai giorni in cui ritorna, e l'orario serve solo a precompilare. Sei tipi di proposte nascono da ciò che LIA registra già — automatizzare un bisogno, spostare una routine riavviata a mano, ampliare gli orari delle notifiche, collegare una fonte… — e un clic le accetta e le esegue. La chat ne mostra al massimo una sotto una risposta, scelta dal codice.
Una scheda apre la sua voce negli Strumenti, su una prova firmata della sua fonte
Un'e-mail, un evento, un contatto, un'attività, un file o una luce mostrati nella chat si aprono negli Strumenti. La scheda porta una destinazione firmata, legata all'account e alla fonte che ha risposto; al clic il server ricontrolla quella fonte e rifiuta, dicendo perché, se l'account è cambiato, invece di aprire un'altra voce che condivida l'identificativo.
Ogni icona passa da un'unica porta che disegna lo stile scelto dall'account, Lucide, Fluent Color o Streamline Flex, senza cambiare il significato di alcun simbolo, e il contrasto elevato del sistema mantiene i suoi colori. Il tema può anche passare da solo dal chiaro al nero assoluto agli orari scelti, con l'orologio dell'account, senza che un timer scriva mai il profilo.
Principale è permanente e ogni conversazione ha il proprio contesto di esecuzione
Un pulsante apre Principale e le conversazioni con un titolo, ciascuna con la propria cronologia e il proprio indicatore. I messaggi automatici arrivano in Principale. Preferenze e apprendimenti sono comuni all’account. Reimpostazione ed eliminazione ritirano la generazione scelta e lasciano una ricevuta per seguirne la pulizia.
Letto da solo, un messaggio non può dire se ha ricevuto risposta: questa è un altro messaggio della stessa conversazione. LIA ora legge quella conversazione ogni volta che elenca la posta e dice ovunque lo stesso fatto: già risposto, risposta rimasta in bozza, risposta ricevuta. Così non propone più di rispondere a un'e-mail a cui la persona ha già risposto, nella chat come nelle notifiche, nella pagina iniziale, nelle relazioni e negli Strumenti.
«Le nove e mezza» indica un istante preciso solo insieme al fuso in cui lo dici, e ogni ora che LIA ha perso è andata persa quando l'uno ha viaggiato senza l'altro: un appuntamento spostato alle 9:30 si ritrovava alle 10:30. L'ora e il suo fuso formano ora un unico oggetto, che LIA consegna così com'è a Google, Microsoft e iCloud senza convertire nulla lungo il percorso, con una sola regola per le due notti del cambio dell'ora. E ogni percorso di un'ora, dallo schermo al calendario e ritorno, viene ripetuto su calendari simulati secondo la loro documentazione, in fusi lontani dal tempo universale.
Un modello sa quando è stato scritto ogni messaggio
Un modello conosceva l'ora attuale, mai quella dei messaggi precedenti: ripresa giorni dopo, una conversazione si leggeva come se tutto fosse appena stato detto, e «il dentista domani», scritto un martedì, era ancora da venire il venerdì. Ognuno dei tuoi messaggi porta ora il momento in cui l'hai scritto, nel tuo fuso orario, e ogni modello che rilegge la conversazione lo legge: la risposta, il ciclo ReAct, l'analisi della tua richiesta, il riassunto della compattazione, la telefonata, e ciò che LIA ricorda di te (ricordi, interessi, impegni, diario), le cui scadenze ora si leggono nel tuo fuso orario. Misurato su tre famiglie di modelli prima di scrivere il codice, le domande che ne dipendono sono passate da circa 3 risposte giuste su 21 a 14, 16 e 20 su 21.
Senza una chiave di ricerca propria, si cercava solo su Wikipedia. LIA esegue ora accanto a sé SearXNG, un metamotore senza chiave, attivo per impostazione predefinita (il gestore può rifiutarlo): la ricerca della chat, l'arricchimento delle risposte, il monitoraggio dei tuoi interessi e gli Strumenti vi trovano i loro link web, senza filtri come con Brave, e la tua chiave Brave resta prioritaria. Misurato prima di scrivere il codice: 58 ricerche utili su 60 nelle sei lingue, in 0,7 secondi in media. E una fonte del monitoraggio che non interrogherebbe nulla non viene più contata come consultata.
Due persone che rispondevano alla stessa e-mail ricevevano da LIA la stessa risposta. La prima volta che LIA scrive un'e-mail per te, ora impara come scrivi dalle tue ultime e-mail inviate — saluto, chiusura, firma, tono, mai di cosa scrivevi — e lo segue in ogni risposta e in ogni nuovo messaggio, compresa la risposta che confermi, che LIA ora scrive da sé quando non ne hai dettato le parole. Nelle impostazioni puoi leggerlo, disattivarlo o farlo dimenticare. Misurato su persone fittizie prima di scrivere il codice: le risposte sono passate da circa 42 a 63 tratti dello stile del loro autore su 66, senza copiare un solo fatto dalle vecchie e-mail.
Un messaggio scritto mentre LIA lavora aspetta il suo turno
Un messaggio inviato mentre LIA rispondeva — o mentre una routine girava sul tuo account — veniva rifiutato e perso. Ora il server lo conserva con la sua conversazione, sotto di essa, dove puoi modificarlo o ritirarlo; ciò che scrivi dopo vi si aggiunge. Parte da solo, come tuo messaggio, appena LIA ha finito normalmente; se la risposta è stata interrotta o non è riuscita, aspetta la tua decisione. Non viene mai preso come risposta a una domanda di LIA, e «Invia ora» interrompe la risposta in corso, poi lo invia. Ogni esecuzione dice ora come si è conclusa, ed è questa fine, scritta quando l'account si libera, a decidere.
Quello che scrivi mentre LIA lavora è spesso una precisazione della tua richiesta (« solo quelli aperti la domenica »), e inviarlo dopo la risposta faceva rifare il lavoro. In modalità ReAct, il tuo messaggio in attesa può ora aggiungersi alla risposta in corso: LIA lo legge al suo prossimo passo, come parole tue, e ne tiene conto da lì in poi, senza riscrivere nulla di ciò che precede. Finché non l'ha letto, puoi modificarlo o ritirarlo; se finisce prima, parte subito dopo, come al solito. La tua nota resta nella conversazione, al suo posto, e la richiesta che la risposta, la memoria e i turni successivi conservano la include.
Una routine può ora essere eseguita quando un altro sistema la chiama: una centralina domotica, una forgia di codice, un servizio di moduli. LIA assegna alla routine un proprio indirizzo e un segreto, mostrato una sola volta; l'altro sistema firma ogni chiamata con esso, e LIA serve la chiamata entro un minuto, leggendo ciò che ha inviato come dati, mai come istruzioni. Una chiamata senza firma valida viene rifiutata, una raffica è limitata, un invio ripetuto conta una volta, e un segreto perso si sostituisce con uno nuovo che annulla subito il precedente. Un amministratore può disattivare la capacità; il dimostratore la tiene disattivata.
Una routine può ora attendere che una pagina web cambi: un prezzo, un «disponibile» che ritorna, un annuncio aggiunto. LIA legge da sé la pagina pubblica, senza modello, ed esegue la routine solo per le righe che vi compaiono, lette come dati, mai come istruzioni. Una riga che sparisce e ritorna viene annunciata di nuovo.
I documenti usano ciò che i loro formati sanno fare
Un documento che LIA genera usa ora i meccanismi del suo formato: un foglio di calcolo calcola con formule vere, un grafico si modifica in Excel o PowerPoint, una presentazione che proietterai si anima con sobrietà, un rapporto si apre su una copertina con le sue cifre chiave, le sue figure e le sue fonti cliccabili. Il modello dice che cosa sono le cose e il motore le disegna, in una tavolozza dal contrasto verificato che segue il tono del documento. Le illustrazioni sono immagini generate: arrivano solo se le autorizzi in Impostazioni › Documenti, entro un budget, e ognuna è conteggiata nei tuoi costi.