Una voce, dieci corsie: una giornata di dettatura
Illustrazione

Una voce, dieci corsie: una giornata di dettatura

Com'è una giornata di corsie di startup parallele quando la tastiera non è più l'unico canale di output. Il racconto di un fondatore, ora per ora.

Teodor Deleanu3 settembre 20269 min di lettura

Due figli, tre startup, una voce raccontava la storia delle origini: corsie di startup parallele ad alta posta, un secondo figlio di meno di sei mesi e una tastiera che era diventata in silenzio il punto di rottura unico di tutto. Quell'articolo spiegava perché Keebye esiste. Poi continuava ad arrivare una domanda più pratica: com'è fatta davvero una giornata?

Ecco quella giornata. Non una giornata tipica, perché non esiste, ma una forma reale che si ripete. Eviterò i numeri di proposito. Non ho mai misurato una percentuale di miglioramento e non mi fiderei di una, se l'avessi. Quello che posso descrivere è dove il canale vocale viene usato, dove no, e cosa è cambiato nella texture del lavoro.

Una nota su «dieci corsie». Non è un vanto. Una corsia è qualsiasi cosa che avanzi grazie a una mia frase: un agente di coding a metà compito, una review del codice che qualcuno sta aspettando, un thread Slack, una email all'avvocato di un investitore, la bozza di un documento. In una giornata piena ce ne sono davvero circa una decina di aperte. La maggior parte è inattiva in un dato momento. Il problema è che quelle che si svegliano lo fanno secondo il loro calendario, non il mio.

Prima mattina: un braccio, tre agenti

La giornata inizia prima della casa, il che significa che inizia con un neonato su un braccio. Questa è l'ora in cui la voce è passata da comodità a necessità.

Tre corsie di agenti girano già dalla notte prima, ognuna nel proprio terminale, ognuna in un repository diverso. La prima cosa che faccio è leggere cosa hanno fatto. Leggere richiede occhi, non mani, quindi il neonato sta bene. La seconda è raddrizzare quelle che sono andate di traverso, ed è lì che la tastiera perdeva.

Adesso: clic nel terminale, tieni premuto ⌘ destro, di' il cambio di rotta, rilascia. «La migrazione va bene, ma hai rinominato la tabella nel modello e non nello script di seed. Sistema il seed e rilancia i test.» Il testo atterra nel prompt. Invio. Corsia successiva.

Ho una piccola abitudine che ho imparato con il tempo: parlare in frasi complete. Gli agenti se la cavano meglio, e la dettatura le produce in modo naturale perché è così che parlano le persone. Lo stile telegrafico che digitavo prima («sistema seed, rilancia») era un artefatto della tastiera, non una preferenza.

Quest'ora fa emergere anche l'unica particolarità della prima dettatura che vale la pena conoscere. Il microfono si scalda dopo la prima dettatura di una sessione e da lì in poi tiene un pre-roll di 500 ms. La primissima pressione del mattino può pagare un costo di avvio dello stream e tagliare una parola se comincio a parlare troppo presto. Ho imparato ad aspettare un attimo. Perché le app di dettatura si mangiano la tua prima parola spiega la meccanica; la versione breve è che è un problema della categoria con una soluzione parziale, non risolto.

Metà mattina: la corsia delle review

Due delle startup con cui lavoro hanno review del codice che mi aspettano quasi ogni mattina. La review è il miglior caso d'uso possibile per la dettatura: è lettura con un occasionale output di prosa breve, e quella prosa è rivolta a un essere umano.

Leggo il diff in una scheda del browser. Quando qualcosa richiede un commento, clicco nel campo, tengo premuto, parlo, rilascio. Il dizionario personalizzato porta gli identificatori del progetto, così reconnectBackoff esce come reconnectBackoff e non come tre parole inglesi. La pulizia è basata su regole per impostazione predefinita: i riempitivi e le parole ripetute vanno via, la mia formulazione resta. Tengo spenta la rifinitura opzionale con LLM locale per i commenti di review, perché la guardia che c'è dietro è un'euristica contro una perdita grave di token, un'espansione o una ripetizione, non una garanzia che una negazione sia sopravvissuta, e in una review un «non» ribaltato cambia il verdetto.

Uno di questi team fa le review in rumeno. Il motore da 25 lingue di Keebye lo gestisce on-device; fisso la lingua nella barra dei menu e l'enunciato successivo viene decodificato come rumeno, identificatori inglesi compresi. Detta le review del codice nella tua lingua ha i dettagli, compreso l'elenco onesto di quali lingue sono coperte e quali no.

Tarda mattina: le corsie umane

Non tutte le corsie sono un agente. Più o meno adesso i thread Slack e le email invecchiate durante la notte chiedono risposte, ed è qui che la giornata perdeva ore in silenzio. Non perché le risposte fossero difficili, ma perché ogni risposta significava lasciare una corsia, e lasciare una corsia ha un costo di rientro.

La voce ha cambiato l'economia di una risposta. Una risposta Slack di due frasi è una pressione tenuta della hotkey, parlata nel campo del messaggio mentre i miei occhi sono ancora mezzi sul terminale accanto. Le email vicine agli investitori sono più lunghe e le scrivo ancora con cura, ma la prima bozza ora è parlata e poi modificata. Parlare una bozza mette giù la forma in fretta; modificarla digitando è dove va la precisione.

Questa è anche l'ora in cui il requisito di privacy conta di più. Quello che detto qui è l'interno delle aziende di altre persone: prodotti non rilasciati, discussioni di sicurezza, soldi. Keebye trascrive on-device, funziona con il Wi-Fi spento dopo il download del modello, tiene in locale una cronologia solo testuale che si cancella dopo 30 giorni e non manda telemetria. Dove va la tua voce è la versione lunga del perché per me non era negoziabile.

Pomeriggio: lavoro profondo, e le corsie che si svegliano

I pomeriggi sono per la corsia che richiede pensiero vero: un design, un bug difficile, un documento che deve essere giusto. Quello si digita. La voce è un canale di controllo, non un canale di pensiero, e un problema difficile non diventa più facile perché lo pronunci.

Ma le altre corsie non sanno che è ora di lavoro profondo. Un agente finisce e fa una domanda. Un revisore risponde al mio commento con una controargomentazione. Prima, ognuno di questi era una decisione: rompere la concentrazione e cambiare finestra, oppure lasciarlo invecchiare. Ora la maggior parte è un'occhiata e una frase. Un'occhiata alla domanda dell'agente, un clic dentro, dire «sì, ma tieni in vita il vecchio endpoint finché il client non esce», un clic per tornare. La finestra di lavoro profondo resta quasi intatta perché l'interruzione è qualche secondo di parlato invece di un cambio di contesto completo verso il problema di qualcun altro.

Voglio essere preciso su quello che sostengo qui. La voce non rende le interruzioni gratuite. Rende il costo meccanico del rispondere abbastanza piccolo perché il costo che resta sia solo il pensiero, che era comunque il costo vero dall'inizio.

Sera: la corsia piena di terminale

Una delle startup fa passare molto del suo lavoro operativo via SSH, in tmux, su server dove incollare dagli appunti non esiste come concetto. È qui che gli strumenti di dettatura di solito crollano, perché la maggior parte inserisce il testo incollando.

Anche Keebye incolla per impostazione predefinita, con una suddivisione consapevole del terminale per le shell. Per SSH e tmux attivo la modalità digitazione opzionale, che inietta il testo come battute Unicode invece di affidarsi a degli appunti. Funziona con i layout non QWERTY, cosa che conta per la tastiera rumena su una delle macchine. Dettatura che sopravvive al terminale copre la configurazione e la guida al terminale copre i compromessi.

Keebye rifiuta anche di inserire nei campi di input protetti, quindi quando un server chiede una passphrase la hotkey non fa niente. È a volte fastidioso e del tutto corretto.

Cosa non è cambiato

Una giornata così può leggersi come se la voce avesse risolto il problema di avere troppe corsie. Non l'ha fatto. Ha risolto un collo di bottiglia specifico: il costo fisico di consegnare una frase alla corsia che ne aveva bisogno. Tutto il resto è uguale.

Pensare resta il collo di bottiglia del lavoro difficile. Leggere richiede ancora il tempo che richiede. Gli agenti vanno ancora di traverso e hanno ancora bisogno di essere raddrizzati, e un cambio di rotta borbottato produce un risultato borbottato, parlato o digitato. La voce è un complemento alle mani, non un sostituto; digito moltissimo, solo non più come l'unica strettoia dietro cui aspetta ogni corsia.

E l'app ha i bordi ruvidi del software giovane. Gli identificatori vengono sentiti male. La prima parola della giornata a volte si taglia. Non c'è un vocabolario di comandi vocali, quindi spostarsi tra le finestre resta un clic. Gira solo su macOS.

La forma della cosa

La vecchia immagine dello sviluppatore 10x era una persona che digita più veloce. L'immagine che è arrivata davvero è una persona che dirige: diverse corsie, alcune automatizzate e alcune umane, ognuna in attesa di una frase. In quel mondo la leva non è la velocità di digitazione. È quanto costa poco consegnare intenzione alla corsia che ne ha bisogno, nella situazione fisica in cui ti trovi, incluso avere un braccio occupato.

Se la tua giornata ha quella forma, la guida per sviluppatori è il punto di partenza pratico, e se stai valutando app di dettatura per questo, la panoramica sulle alternative a Keebye è un confronto onesto che dice dove ognuna va meglio. La prova dura 14 giorni e parte al primo accesso da desktop, quindi una settimana vera di corsie è esattamente ciò a cui serve.

Più corsie che mani? Prova l'altro canale.

Inizia la prova gratuita e vivi una giornata vera con la voce come secondo canale di output — 14 giorni, on-device, senza carta.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Continua a leggere