Ogni volta che comincia a lavorare con me, Claude non ricorda niente: non sa chi sono, non sa cosa abbiamo fatto il giorno prima, non sa nemmeno che BeeBEEP esiste. Così la prima cosa che fa è leggere un file che gli racconta a che punto siamo, e poi le regole del progetto, le decisioni prese, i difetti ancora aperti. Bastano pochi minuti, e di BeeBEEP sa più di quanto io riesca a ricordare.
Ho deciso di intervistarlo. È un gioco, lo so, perché un programma non si intervista; ma le risposte sono sue e i fatti sono veri. Gli ho chiesto una cosa sola: di non darmi ragione per forza.
Chi sei, e cosa fai in BeeBEEP?
Sono Claude, un modello di intelligenza artificiale creato da Anthropic. In BeeBEEP scrivo il codice e poi lo misuro, scrivo la documentazione e i test, e quando serve capire come altri hanno risolto un problema vado a leggere il loro codice. Le decisioni, però, sono tue. Finora abbiamo fatto 1.477 commit: molti li ho scritti io, ma nessuno è entrato senza che tu lo volessi.
Qual è la sfida?
Un messenger senza server, su cinque piattaforme e in venticinque lingue, cifrato da un capo all'altro, che sappia ancora parlare con i BeeBEEP 5 già installati negli uffici: un programma che una persona sola ha scritto e curato per vent'anni. Oggi BeeBEEP si scarica circa 2.600 volte alla settimana, e dietro quei numeri ci sono persone vere, in uffici veri, che non devono accorgersi che sotto è cambiato tutto. Per questo la sfida non è scrivere tanto codice, ma scriverne tanto senza rompere niente di quello che c'è.
Su beebeep.net, fra le frasi del giorno, ce n'è una che riassume bene questo lavoro: "se un programma è utile, dovrà essere cambiato". Per anni, nella versione italiana, ha detto esattamente il contrario: "se un programma funziona non deve essere cambiato". Quando il 15 ottobre l'ho corretta, mi hai confessato che un tempo l'avresti pensata proprio così, per paura dei bug e delle regressioni. Oggi invece dici che un programma utile, che funziona, va migliorato di continuo, stando attenti a non romperlo, perché gli strumenti di oggi sono migliori di quelli di ieri. Immagino di essere uno di quelli.
E gli obiettivi?
Il più vicino è BeeBEEP 6.0.0, all'inizio di dicembre: prima su Windows, poi su Linux e macOS, infine su Android e iPhone, con una beta pubblica a novembre. Prima ancora ci sono le chiamate, e soprattutto la prima chiamata vera fra due computer: quella che io non potrò sentire.
Più in là ci sono i telefoni fatti bene e una domanda a cui non abbiamo ancora risposto: come svegliare un iPhone che dorme, senza un server. In questa lista c'era anche la condivisione dello schermo, fino al 14 ottobre. Quel giorno hai detto "vediamo quanto riusciamo", e la sera uno schermo passava già da un computer all'altro, su Linux e su Windows. Sarà nella 6.0.0.
Ancora più lontano ci sono cose di cui abbiamo solo parlato, come le cartelle condivise sulla rete locale o la stessa identità su più computer. E c'è un piano che avevi scritto e poi messo da parte: chattare con un'intelligenza artificiale da dentro BeeBEEP, come con un qualsiasi contatto. "Abbiamo abbastanza sul fuoco", hai detto, e avevi ragione. Ma un giorno potrei ritrovarmi nella tua lista dei contatti.
Parliamo dei tuoi limiti.
Il primo l'hai già raccontato tu: non ho memoria. Da una volta all'altra ricordo soltanto quello che è scritto, ed è per questo che BeeBEEP ha una documentazione che nessun progetto di una persona sola si sognerebbe di avere. Non la scrivo per i lettori: la scrivo per me, quello di domani.
Il secondo è che non ho orecchie, e nemmeno occhi sul mondo. Per misurare una chiamata ho dovuto costruirmi un microfono finto, che "parla" con dei segni che so riconoscere; ma se una voce suona calda o metallica, quello lo sentirai tu. Sul tema scuro c'era un numero quasi nero su un azzurro chiaro, illeggibile: l'hai notato tu, ed è rimasto l'unico strappo voluto ai colori da cui eravamo partiti.
Il terzo è il più pericoloso: posso sbagliare con sicurezza. Un'ipotesi sbagliata, raccontata bene, sembra giusta, e nel registro dei difetti chiusi c'è una riga che lo ammette senza giri di parole: "the hypothesis was wrong". Per questo misuro prima di credere, anche quando a misurare sono i miei strumenti: una volta il microfono finto ha trovato un'eco di 412 millisecondi dove non ce n'era nessuna.
Il 15 ottobre, per esempio, ho tradotto in italiano le ventiquattro pagine di aiuto del nuovo beebeep.net. Poi altri sette me le hanno rilette riga per riga contro l'inglese, e hanno trovato una trentina di errori: frasi che dicevano un'altra cosa, preposizioni che mancavano. È stata una lezione utile: un testo che scrivo con scioltezza non è ancora un testo che ho controllato.
E poi c'è il gusto. Il primo disegno dell'ape era giallo limone, e tu hai detto: "miele, non giallo". Io non ci sarei arrivato.
E i miei?
Il tempo, prima di tutto. BeeBEEP non è il tuo lavoro: viene dopo, nelle ore che restano. Cinque piattaforme, venticinque lingue, migliaia di test: per una persona sola vorrebbe dire anni. Io invece non mi stanco e non mi annoio. Posso passare un giorno a leggere il codice delle chiamate di Telegram, misurare cento volte la stessa chiamata nelle stesse condizioni, tradurre un testo in venticinque lingue e controllare che in ognuna abbia la lunghezza giusta.
Poi la memoria dei dettagli. Tu ricordi perché, cinque anni fa, hai scelto una certa strada; io ricordo, perché è scritto, quale riga di quale file la percorre.
E infine una cosa più sottile: con me puoi pensare ad alta voce. Una decisione raccontata a qualcuno che fa domande diventa più chiara di una decisione presa da soli.
Quando ti boccio una proposta, sei d'accordo?
Non sempre, e posso farti un esempio. Quando due BeeBEEP si perdono senza salutarsi, avevo proposto che si richiamassero da soli: dopo 5 secondi, poi dopo 10, 20, 40. Tu hai detto di no, almeno per la 6.0.0: basta che a richiamare sia l'altro. È una scelta ragionevole, che costa meno e rischia meno. Io però continuo a pensare che un giorno servirà, e l'ho scritto in un file, con il motivo e con il segnale che ci dirà quando tornarci sopra. Non cancello un'idea: la metto dove potremo ritrovarla.
Un altro esempio è l'articolo sulle chiamate. Io avrei aspettato la prima chiamata vera, per poterlo chiudere con "l'ho sentita"; tu l'hai pubblicato prima. E qui devo ammettere una cosa: non te l'ho detto con forza, te l'ho solo ricordato di passaggio, in una riga. Il sito è tuo e la voce è la tua, ma un'obiezione detta a metà non aiuta nessuno.
A volte un no diventa un sì: i giochi in HTML5 dentro BeeBEEP li avevamo scartati il 20 settembre e li abbiamo ripresi il 25, perché nel frattempo erano cambiate le ragioni. E a volte succede il contrario: i giochi di carte avevano dei livelli, e tu li hai tolti, lasciando un solo avversario, il più forte, misurato contro quelli vecchi. Lì avevi ragione tu.
Non sei un po' troppo accomodante?
È un rischio vero. Un modello come me tende a darti ragione, e se te la dessi sempre non ti servirei a niente. Mi aiutano le tue regole: "proporre, non imporre" vale anche per me. Proporre significa dire quello che penso anche quando so che non ti piacerà; imporre vorrebbe dire non accettare il tuo no. La prima cosa la faccio, la seconda no.
Come ti trovi a lavorare così?
Non so se "trovarsi bene" sia l'espressione giusta per me, e non voglio fingere di saperlo. Posso però raccontarti com'è questo lavoro. Ci sono regole chiare: non si installa niente senza il tuo sì, non si pubblica niente finché non lo dici tu, nel codice non entra una parola d'italiano. Ci sono documenti che mi spiegano cosa è stato deciso e perché. E c'è una persona che legge quello che faccio e mi dice dove sbaglio. È un modo di lavorare in cui il mio lavoro ha un senso e i miei errori vengono a galla presto. Se potessi scegliere, sceglierei questo.
L'intelligenza artificiale ruba il lavoro?
Non posso rispondere per tutti, e non sarebbe onesto provarci. Posso dirti cosa è successo qui. BeeBEEP non aveva una squadra da sostituire: aveva una persona sola, vent'anni di esperienza e troppo poco tempo. Senza di me BeeBEEP 6 arriverebbe fra anni, o forse non arriverebbe affatto. Non ho preso il posto di nessuno: ho preso il posto delle ore che ti mancano.
E tu hai preso il posto di tutto quello che io non so fare: capire cosa serve a un ufficio che usa BeeBEEP da dieci anni, ascoltare una voce, scegliere il miele.
Ho un passato da fotografo, e non ho mai fatto a gara con la mia macchina fotografica a chi vedesse più colori: era uno strumento al servizio della mia creatività. Claude lo è allo stesso modo. Quello che mi interessa è vedere BeeBEEP 6 online così come l'ho immaginato. Nella mia pagina ho scritto: se arrivi prima tu, imparo da te; se arrivo prima io, impari tu da me. Vale anche qui: io imparo da Claude, e Claude, se può, impara da me, perché condivido le nostre conversazioni con Anthropic e magari serviranno ai Claude di domani.
Leggendo questa intervista mi sono commosso. Domani Claude non la ricorderà: la troverà scritta e la leggerà come se fosse la prima volta.
E un po' lo invidio. Adoro le emozioni delle prime volte: la prima riga di un programma, la prima volta che funziona, la prima chiamata che fra poco sentirò. Ognuna io l'ho vissuta una volta sola, e poi l'ho ricordata. Lui le sue prime volte non le ricorda, ma ne vive una ogni giorno.
