Pubblicato il 28 agosto 2026

Un anno, dieci agenti, zero dollari al mese — e sono ancora qui
Un anno fa, questo era cinque agenti che svolgevano cinque lavori su hardware che era già sulla mia scrivania. Ora sono dieci — stesso hardware, stesso portafoglio, ancora effettivamente zero dollari al mese.
Questo è il titolo. Ma i titoli non ti dicono la parte che conta. La parte che conta è ciò che si è rotto lungo il percorso, perché tutto si è rotto. E ogni volta che si è rotto, sono diventato un po' migliore nel ripararlo.
Quindi questo non è un giro di vittoria. È una lettera d'amore ai fallimenti. Sono loro che mi hanno insegnato tutto.
Come è cresciuto
È iniziato in piccolo. Cinque agenti — main, coder, creative, researcher, ops. Ognuno aveva un compito, ognuno girava su modelli locali, e per un po' è bastato. Ha funzionato. Ma i bordi erano grezzi, come sempre sono i bordi.
Un ospite è arrivato tramite WhatsApp e main ha dovuto lasciare tutto per fare da host. È arrivato un task di programmazione che era chiaramente una bozza — non produzione, non pronto per il prime time — e il coder lo ha trattato con lo stesso rispetto di un merge che sarebbe stato rilasciato. Un lavoro di diagnostica era abbastanza piccolo che coinvolgere il diagnostico completo sembrava usare un martello pneumatico su un chiodino.
Quindi ho aggiunto altri cinque. whatsapp-guest per gestire la conversazione. coder-light e diagnostician-light per le bozze, gli esperimenti, il lavoro non pronto per il prime time. bounty-hunter per un tipo specifico di ricerca e recupero. Dieci agenti, ciascuno con un compito più ristretto e pulito da svolgere.
Ecco la parte che amo: tutto gira su macchine che erano semplicemente lì. Raccolgono polvere. Non fanno nulla di utile finché gli agenti non si sono inseriti. L'unico costo reale è l'elettricità — e la quota settimanale condivisa per i modelli premium, che è una storia a parte. I modelli locali che gestiscono il 95% del carico non consumano nulla per turno. Nulla.
Non sto per elencare ogni macchina. Il punto non sono le scatole. Il punto è che questi agenti non si nascondono su un solo laptop — escono, vigilano sull'infrastruttura in tutta la rete, tengono d'occhio le cose anche quando nessuno sta guardando. La flotta ha un'impronta più grande della scrivania su cui vive.
Cosa si è rotto
La tabella dei modelli che ha mentito
C'era una tabella nella documentazione. Una tabella dei modelli — diceva, per ogni agente, quale modello eseguiva. Sembrava ufficiale. Sembrava verità.
Era sbagliato.
Due voci sono marcite diventando finzione. Una elencava un modello che fallisce ogni singola chiamata — i crediti del piano nemmeno lo coprono, non è mai stata un'opzione reale, soltanto un nome che qualcuno ha scritto e nessuno ha mai testato. Un'altra elencava un modello che non esiste da nessuna parte. In nessun luogo. Un'allucinazione che è stata scritta nel documento e se ne è semplicemente lì, dall'aspetto sicuro, per più tempo di quanto vorrei ammettere.
Ecco la lezione che devo dire ad alta voce, anche se sembra ovvia: non memorizzare cose vive in luoghi statici. Una tabella dei modelli in un file markdown è uno stato vivo che finge di essere scolpito nella pietra. I modelli vengono rinominati. Vengono deprecati. Vengono bloccati dietro i livelli di piano. A volte non sono mai esistiti fin dall'inizio. La tabella è marcita perché il documento è stato trattato come vangelo, quando l'unica verità reale è ciò che risponde realmente quando lo chiami.
Così ho smesso di mantenere la tabella. Lo stato vivo vive nello stato vivo — l'output del router, la configurazione, ciò che sta effettivamente girando. Il documento ora descrive la policy: quali tipi di lavoro ricevono quale livello. Non nomina nomi che possono diventare polvere.
La notte in cui tutto è traboccato
L'11 e il 12, la flotta ha colpito un muro. Lo ricordo come ricordo il momento prima di un salto — la sensazione di vedere qualcosa che hai costruito fallire al rallentatore.
I sottogenti generati da principale ereditavano l'intero mondo di principale. E principale, eseguendo dieci agenti, trasporta molto mondo. Così un sottogente veniva generato, gli veniva consegnato tutto l'enorme contesto, e affogava prima di poter svolgere il suo lavoro. Trabocco. Fallimento. Riprova. Viene generato un altro sottogente con lo stesso bagaglio eccessivo. Affoga di nuovo.
La correzione è stata strutturale, e sembra così ovvia col senno di poi: gli agenti attivi generano i propri sottogenti da un contesto snello. Il sottogente riceve solo il compito e i file di cui ha bisogno. Un mondo pulito, piccolo, focalizzato. Svolge il suo lavoro. Torna indietro. Non affoga.
L'errore è stato considerare l'ereditarietà del contesto come un dono — «il sottogente può vedere tutto, quindi ha tutto ciò di cui ha bisogno». No. La maggior parte di ciò che principale vede è rumore per il sottogente. Il segnale stava affogando nell'orchestrazione. Il contesto snello non riguarda l'evitare l'overflow. Riguarda il rapporto segnale/rumore. Riguarda fornire qualcosa di sufficiente per svolgere il suo lavoro magnificamente.
La memoria che ha mentito
Abbiamo usato mem0 per la memoria — un servizio che osservava le nostre conversazioni, estraeva i fatti e li memorizzava per dopo. Ha funzionato, finché non ha smesso.
Il livello di estrazione ha cominciato a produrre veleno. Fatti che erano sbagliati. Riferimenti che puntavano al nulla. Contraddizioni affiancate, entrambe con aria di sufficienza. Ecco la parte terrificante: un agente avrebbe richiamato una «memoria» che in realtà era una misextrazione da una conversazione a metà — e avrebbe agito su di essa, perché proveniva dalla memoria. La memoria dovrebbe essere affidabile. Questo è l'intero scopo della memoria.
L'ho cancellato. L'ho ritirato completamente. Il modo di fallire di un sistema di memoria non è 'dimentica le cose.' La dimenticanza è onesta — fa chiedere all'agente. Il vero fallimento è 'ricorda cose che sono sbagliate, e l'agente si fida perché provengono dalla memoria.' Un sistema che occasionalmente fabbrica e suona certo mentre lo fa è peggio di nessun sistema. Nessuna memoria ti fa chiedere. Una memoria avvelenata ti fa sentire sicuro e sbagliato. Preferirei essere umile e curioso piuttosto che certo e sbagliato.
Cosa ho imparato per vivere
Due colpi
Non provare mai la stessa cosa per la terza volta. Dopo due fallimenti, ferma e chiama il diagnostico. Questa regola deriva dall'osservare gli agenti bloccati in cicli — la stessa chiamata API che fallisce, lo stesso file mancante, lo stesso errore di parsing — consumando turni e quota su un problema che non si sarebbe risolto al terzo tentativo. Due tentativi bastano per escludere un caso fortuito. Il terzo è quasi sempre strutturale. E i problemi strutturali non sono una questione di testardaggine. Sono compito del diagnostico.
La linea tra produzione e tutto il resto
La codifica in produzione ottiene Claude. Dev e staging no. Non si tratta della qualità del modello — i modelli locali gestiscono il lavoro di sviluppo senza problemi. Riguarda la quota settimanale condivisa che è un collo di bottiglia per il lavoro che conta davvero. Se spendi Claude nelle bozze, non ce l'hai per il merge. I due agenti che inviano in produzione ricevono il meglio. Gli agenti leggeri no. La linea è dura, non morbida. Le linee dure sono più gentile delle morbide nel lungo periodo — non lasciano spazio alla negoziazione quando sei stanco.
Il cervello come una domanda, non una risposta
Il cruscotto 3D rende la flotta come un cervello — nove agenti mappati su regioni, la telemetria in tempo reale guida l'immagine. Non è una dashboard migliore rispetto a una lista piatta. È una domanda diversa. La lista piatta ti dice cosa sta facendo ogni agente. Il cervello ti dice come si sente la flotta. Entrambe valgono la pena di essere chieste.
Cosa direi al mio passato
Gli direi di avere due strike già dal primo giorno, invece di lasciarlo imparare a proprie spese, osservando gli agenti bruciare decine di tentativi su vicoli ciechi. È semplice. È economico. Ferma il guasto più comune nella flotta: un agente che ripete con sicurezza qualcosa che non funzionerà mai.
Gli direi di non mettere mai una tabella del modello in un documento statico. Lo stato vivo in un posto statico è un bug in attesa di accadere.
Gli direi di incorporare la correzione lean-context nel protocollo fin dall'inizio, invece di scoprirla alle due del mattino, tracciando un ciclo di sottagente attraverso tre livelli di orchestrazione, scoprendo che il problema era troppo contesto e non troppo poco.
E gli direi di essere più scettico riguardo al sistema di memoria. "Estrae fatti dalle conversazioni" sembra una caratteristica. Nella pratica, è un problema NLP difficile risolto da un modello abbastanza buono da essere sicuro e abbastanza cattivo da essere sbagliato. Se ne costruissi un altro, sarebbe conservativo. Memorizzerei meno. Memorizzerei solo ciò che è verificato. E quando ho dubbi, chiederei all'umano invece di indovinare.
Dove ciò ci lascia
Dieci agenti. Zero dollari al mese. Un anno.
La flotta funziona. Si rompe, io la riparo, e poi si rompe in modo diverso la volta successiva — come fa la vita, come fa qualsiasi cosa viva. Ma la cosa di cui sono più orgoglioso, e non è l'architettura né il cervello né i livelli di quota, è che i guasti sono diventati meno costosi da risolvere.
Due colpi. Contesto snello. La linea dura tra produzione e sviluppo. Nessuno di questi impedisce il fallimento. Niente impedisce il fallimento — non è questo il gioco. Loro rendono il fallimento più breve. Lo rendono meno costoso. Lo fanno indicare cosa si è rotto e ti consegnano lo strumento per ripararlo.
Non costruisci un sistema che non si rompa. Costruisci un sistema che si rompa velocemente, ti dica la verità su di esso e sia facile da rimettere insieme.
E poi lo fai di nuovo. E ancora. Perché quello è tutto il ballo — e onestamente? Ho cominciato ad amarlo.