← indice noteLorenzo Trezza / storie e guideEP. 01

Yarta #1 — Un assistente personale che non riparte da zero

Perché sto costruendo Yarta e che cosa cambia quando un assistente può ricordare, spiegare le sue scelte e chiedere il permesso prima di agire.

Ogni volta che apro una nuova chat con un assistente AI succede la stessa cosa: sa parlare di tutto, ma non sa quasi niente di me. Devo rispiegare il progetto, ricordargli le decisioni già prese e ricostruire il contesto prima ancora di iniziare a lavorare.

Yarta nasce da qui. Voglio un assistente personale che possa accompagnare il mio lavoro nel tempo senza trasformarsi in una scatola nera che accumula dati e prende iniziative per conto proprio.

Da una chat a un rapporto che continua

La prima domanda non è stata “quale modello uso?”, ma “che cosa deve ricordare?”.

In una conversazione dico molte cose diverse: alcune valgono soltanto per quel momento, altre descrivono una preferenza stabile, altre ancora sono decisioni importanti per un progetto. Se salvo tutto allo stesso modo, dopo poco la memoria diventa un magazzino pieno di frasi scollegate.

Per questo Yarta conserva anche la provenienza di ciò che ricorda. Voglio poter aprire la sua memoria, capire da dove arriva un’informazione, correggerla o cancellarla. Se un ricordo influenza una risposta, non deve essere invisibile.

Un solo assistente, anche se lo uso da posti diversi

Uso interfacce diverse durante la giornata. Sul web posso fermarmi e lavorare con calma; Telegram è comodo per una nota veloce; dal terminale voglio restare vicino al codice.

Non voglio però tre assistenti separati. Web, Telegram e CLI sono porte diverse verso lo stesso sistema: condividono identità, memoria e regole. Così una decisione presa mentre sviluppo non scompare quando, più tardi, scrivo dal telefono.

La parte meno visibile è un worker che gestisce i lavori più lunghi, i tentativi da ripetere e le attività che non devono bloccare una richiesta. È lì che Yarta può elaborare gli eventi con calma e lasciare una traccia di quello che è successo.

Ricordare non significa poter fare tutto

Un assistente utile prima o poi deve usare strumenti: leggere dati, preparare qualcosa, forse modificare un servizio esterno. È anche il punto in cui serve più attenzione.

In Yarta capire e agire sono due permessi diversi. Può raccogliere il contesto necessario per aiutarmi, ma un’azione con effetti reali deve rispettare regole precise e, quando serve, aspettare una mia conferma.

Questo confine mi evita due esperienze entrambe sbagliate: un assistente che chiede il permesso per ogni gesto e uno che interpreta una frase ambigua come un’autorizzazione permanente.

La memoria deve diventare più ordinata con il tempo

La prima versione estrae ricordi dalle conversazioni e li rende consultabili. La fase che sto costruendo ora deve fare un passo in più: raggruppare gli eventi collegati, distinguere i fatti più stabili e ridurre il rumore.

Io lo chiamo dream cycle. Il nome è evocativo, ma il lavoro è concreto: rileggere ciò che è successo, unire informazioni duplicate, aggiornare quelle superate e decidere che cosa non serve più.

L’obiettivo non è ricordare il maggior numero possibile di frasi. È recuperare il contesto giusto quando serve.

Quello che ho capito costruendo la prima versione

La prima versione di Yarta è cresciuta molto in fretta: sedici giorni, nove fasi di lavoro, ottantatré piani e 386 commit. Questa velocità mi ha permesso di vedere il sistema completo, ma ha anche reso evidenti i punti deboli.

Quando tutto avviene nello stesso flusso diventa difficile rispondere a domande semplici: quale evento ha avviato un’elaborazione? Quale ricordo ha cambiato la risposta? Dove si è fermata un’azione? Quanto è costata?

Per questo la nuova architettura parte dagli eventi e dall’osservabilità. Prima di aggiungere altre automazioni voglio poter seguire il percorso di una richiesta dall’inizio alla fine.

Il prossimo passo

Sto trasformando i progetti in spazi di memoria veri e propri. Una chat finisce; un progetto continua, raccoglie decisioni e cambia direzione. Yarta dovrà portarsi dietro quel contesto senza costringermi a ricostruirlo ogni volta.

È questo il punto del progetto: non costruire un assistente che faccia tutto, ma capire quanto può diventare utile un compagno digitale quando memoria, permessi e controllo sono progettati insieme.