Mochi è un compagno virtuale per desktop progettato come un piccolo gatto pixelato sempre visibile sullo schermo, ma il suo comportamento non è controllato soltanto da animazioni predefinite: a decidere come reagire è un modello linguistico multimodale che interpreta continuamente ciò che sta accadendo sul computer. Il sistema può osservare l’intero desktop attraverso screenshot, conoscere la disposizione delle finestre, seguire la posizione del cursore, identificare l’applicazione attiva e utilizzare queste informazioni per stabilire autonomamente cosa fare. Se sullo schermo compare del cibo per gatti può mostrarsi interessato, se viene riprodotto il video di un uccello può tentare di “cacciarlo”, se l’utente sta programmando, guardando un film, giocando oppure è inattivo può modificare il proprio comportamento di conseguenza. Mochi riconosce inoltre le applicazioni attraverso il titolo delle finestre e tiene conto anche dell’ora, dei cambiamenti recenti sul desktop e delle attività compiute dall’utente, trasformando quindi la tradizionale mascotte virtuale in un agente dotato di percezione del contesto. Il modello può essere eseguito localmente tramite Ollama oppure collegato a servizi come Gemini, OpenAI, Anthropic e altri endpoint compatibili con le API OpenAI, lasciando all’utente la possibilità di scegliere l’infrastruttura su cui far funzionare la componente intelligente.
Il gatto non rimane fermo in un angolo dello schermo, ma utilizza una serie di comportamenti fisici e animazioni per simulare una presenza continua sul desktop. Può camminare verso il cursore, seguirlo, tentare di catturarlo, appoggiarsi ai bordi delle finestre, dormire sulla barra delle applicazioni, nascondersi oppure spostarsi autonomamente in funzione del proprio stato. Il sistema comprende 27 animazioni espressive, tra cui movimenti come annuire, avvicinarsi furtivamente, impastare con le zampe, scavare, ballare, fingersi morto o inclinare la testa, e seleziona queste azioni in relazione all’umore e alla situazione osservata. Mochi può inoltre essere accarezzato, toccato, trascinato e persino lanciato sullo schermo; in quest’ultimo caso entra in gioco una simulazione fisica che lo fa cadere, rimbalzare e atterrare su una finestra o sulla taskbar. Anche la comunicazione testuale segue la stessa impostazione: non è progettato per comportarsi come un normale assistente digitale, ma risponde con brevi frasi coerenti con una personalità felina volutamente egocentrica, chiedendo attenzioni, lamentandosi o reagendo in modo teatrale alle azioni dell’utente.
Una componente centrale del progetto riguarda la memoria e l’evoluzione del comportamento. Mochi conserva tra una sessione e l’altra informazioni sulle applicazioni maggiormente utilizzate, sulle interazioni ricevute e sul rapporto sviluppato con l’utente, mentre variabili come energia, umore e livello di legame persistono anche dopo la chiusura del programma. Questi elementi vengono utilizzati dal modello per modificare nel tempo le decisioni e la personalità del gatto, che può quindi reagire diversamente in base alle abitudini accumulate. Il sistema ricorda, per esempio, se viene accarezzato frequentemente, se viene infastidito o lanciato, quali programmi vengono aperti più spesso e quali attività caratterizzano normalmente la giornata dell’utente. In questo modo la memoria non viene utilizzata soltanto per recuperare informazioni all’interno di una conversazione, ma influenza direttamente le animazioni, la frequenza delle interazioni e il tono del comportamento della mascotte virtuale.
L’interazione con il computer è però deliberatamente limitata alla rappresentazione del gatto e non concede a Mochi il controllo diretto delle applicazioni. Il progetto specifica infatti che la mascotte non inserisce clic, non invia comandi da tastiera e non modifica autonomamente i programmi aperti: osserva il desktop, interpreta il contesto e simula le proprie reazioni senza intervenire realmente sulle attività dell’utente. Se il modello linguistico non è disponibile, il programma può inoltre continuare a funzionare attraverso comportamenti più semplici basati su regole, evitando che la mascotte smetta completamente di rispondere. L’architettura combina quindi una componente grafica sempre attiva, un sistema di memoria persistente, una simulazione di stato interno e un modello multimodale utilizzato nei momenti decisionali, costruendo un animale virtuale che non si limita a essere mostrato sopra le finestre, ma utilizza ciò che vede sul desktop per scegliere continuamente come comportarsi.
Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)
