Di' quello che ho detto: dettatura senza la riscrittura AI

La dettatura AI riscrive le tue parole: perde precisazioni, ribalta il senso. Perché la rifinitura LLM ti parafrasa e Keebye resta letterale.

Teodor Deleanu10 luglio 20268 min di lettura

C'è una lamentela sulla dettatura potenziata dall'AI che suona paradossale finché non la vivi: la trascrizione era giusta — è quello che è successo dopo la trascrizione ad averla rovinata. Hai detto una cosa, e lo strumento ne ha consegnata una levigata, sicura di sé e leggermente diversa. Un qualificatore sparito in silenzio. Una cautela rimossa. Una frase ristrutturata in qualcosa che non diresti mai. E nella versione peggiore dello schema — quella che fa abbandonare uno strumento su due piedi — il significato si ribalta. «Non fare il deploy finché i test non passano» esce dall'altra parte come un'istruzione a fare il deploy, meno il non.

Per la dettatura occasionale è una seccatura. Per il modo in cui uso davvero la dettatura — dare prompt a Claude Code, il flusso di Guidare Claude Code con la voce — è veleno. Un agente di coding prende le tue parole come una specifica. Non sa che il tuo strumento di dettatura ti ha parafrasato. Se il qualificatore che rendeva sicura l'istruzione è stato smussato via tra la tua bocca e il terminale, l'agente eseguirà allegramente la versione smussata. La precisione è tutto il senso di un prompt, e un livello di riscrittura AI è una macchina per rimuovere precisione facendo sembrare il risultato più deliberato.

Perché gli strumenti di dettatura AI riscrivono quello che hai detto?

La risposta di categoria non è che qualcuno si sia messo a distorcere il parlato di proposito. È che «ripulisci questa trascrizione» è una funzione genuinamente attraente, e il modo ovvio di costruirla è passare la trascrizione grezza a un modello linguistico.

Il parlato grezzo è disordinato — riempitivi, false partenze, parole ripetute, punteggiatura mancante. Un LLM a cui chiedi di sistemare tutto questo produce un output bellissimo. Il guaio è che un modello linguistico non corregge, nel modo in cui corregge un revisore umano che toglie gli «ehm». Rigenera. L'output è un nuovo testo che il modello considera una buona versione del tuo input, e «buona» è il punto in cui la tua intenzione si disperde. I modelli addestrati verso disponibilità e scorrevolezza hanno delle opinioni: le cautele sembrano rumore, i qualificatori sembrano ingombro, una formulazione goffa ma precisa sembra qualcosa da migliorare. Il più delle volte la riscrittura è innocua. Ma è probabilistica, e dall'output non puoi dire quali frasi siano state trascritte e quali composte. La levigatura è uniforme; la fedeltà no.

È questo il problema profondo delle pipeline di rifinitura con LLM: falliscono in silenzio e con sicurezza. Un riconoscitore vocale che ti sente male di solito produce qualcosa visibilmente sbagliato. Un livello di riscrittura che ti tradisce produce qualcosa visibilmente giusto — grammaticale, plausibile, con la tua voce addosso — ed è esattamente per questo che il «non fare il deploy» rovesciato viene inviato invece che intercettato.

Letterale per impostazione predefinita

La posizione di Keebye è semplice: quello che il modello di speech-to-text ha sentito è quello che atterra al tuo cursore. Per impostazione predefinita, nessun modello linguistico si mette tra la trascrizione e il tuo terminale a comporre una versione migliore di te — la fase di rifinitura predefinita è una breve lista di regole deterministiche, e basta.

È una scommessa deliberata, e viene dal caso d'uso del vibecoding. Quando la tua dettatura è il canale di controllo per gli agenti di coding, il compito dello strumento è il trasporto, non la paternità. Tu sei l'autore; l'agente è il pubblico; il livello di dettatura non dovrebbe avere opinioni. Quel flusso — pronunciare interi prompt invece di digitarli — è descritto in dettatura vocale per i prompt AI.

Una rifinitura con LLM in Keebye c'è — ci arrivo — ma è opzionale, gira interamente sulla tua macchina e opera sotto una guardia progettata per respingere le forme comuni di deriva, espansione incontrollata e ripetizione. Se l'output non supera quel controllo, Keebye ripiega sulle regole. Il predefinito restano le regole.

Allora cosa fa davvero la pulizia?

Letterale non deve per forza significare grezzo. Keebye include un passaggio di pulizia opzionale — l'enhancement, attivo per impostazione predefinita e sovrascrivibile per singola app — ma è basato su regole, non su un modello, e la lista completa di ciò che fa sta in un paragrafo.

Rimuove i riempitivi isolati (ehm, uhm, boh, cioè). Comprime le ripetizioni immediate di parola — «il il» diventa «il». Comprime gli spazi. Mette la maiuscola alla prima lettera e aggiunge un punto finale se non ne hai messo uno. Questa è tutta la lista. Le regole sono deterministiche e di portata ristretta; non riordinano deliberatamente le proposizioni, non rimuovono negazioni e non sostituiscono sinonimi.

Prima che parta la pulizia si applicano le sostituzioni del tuo dizionario — rimpiazzi definiti da te per il gergo e i nomi propri che i modelli vocali storpiano, così «pnpm» e i nomi dei tuoi moduli arrivano scritti come li scrive la tua codebase.

E se anche il passaggio basato su regole è più intervento di quanto tu voglia, disattiva l'enhancement e Keebye inserirà la trascrizione grezza del modello vocale: riempitivi, ripetizioni e tutto il resto. In alcuni contesti — citare qualcuno, dettare in un campo dove il punto finale rompe le cose — la trascrizione grezza è la scelta migliore, e la sovrascrittura per singola app ti lascia sceglierla.

La rifinitura opzionale, e la guardia di fedeltà che la circonda

Ora l'LLM che avevo promesso. Per chi vuole una pulizia più intelligente, Keebye offre una modalità di rifinitura opzionale (polish_mode impostato su local_llm): un piccolo modello Qwen3 che gira on-device tramite llama.cpp, accelerato da Metal, senza mandare niente da nessuna parte. Le sue istruzioni sono la versione ristretta della rifinitura: sistema punteggiatura e maiuscole, rimuovi i riempitivi, mantieni le parole esatte dell'utente, la sua lingua e il suo significato, preserva codice e nomi di file alla lettera. La generazione è deterministica (campionamento greedy, stesso input → stesso output) e limitata; se il modello si blocca oltre una scadenza di due secondi, il suo output viene abbandonato.

Ma le istruzioni sono speranze, e questo articolo esiste perché le speranze non sono garanzie. Quindi ogni risultato rifinito dall'LLM passa attraverso una guardia di fedeltà prima di poter toccare il tuo cursore. L'output deve conservare almeno il 50% dei token della trascrizione originale. Non deve gonfiarsi — tutto ciò che supera circa il doppio della lunghezza originale (più quattro token) non passa. La ripetizione incontrollata viene rilevata. Se il risultato rifinito fallisce uno di quei controlli, Keebye lo scarta e ripiega invece sulla pulizia basata su regole.

Quella guardia intercetta perdite gravi di token, espansione incontrollata e ripetizione prima che l'output del modello possa sostituire la trascrizione ripulita dalle regole. È un'euristica, non una prova semantica: una riscrittura breve o una negazione cambiata potrebbero comunque passare le sue soglie. Se un qualificatore non può permettersi di andare alla deriva, tieni la rifinitura AI disattivata e rivedi il testo inserito prima di inviarlo.

I limiti onesti

Letterale significa letterale. Se divaghi, la tua divagazione atterra — anche la rifinitura opzionale è istruita e sorvegliata verso la pulizia, non la composizione, quindi Keebye non trasformerà un pensiero tortuoso in un'istruzione nitida. La disciplina di dire quello che intendi resta tua.

La pulizia basata su regole è volutamente stupida. Toglie gli «ehm»; non ti sistemerà la grammatica, non ristrutturerà una frase fiume e non si accorgerà che ti sei contraddetto. Qualsiasi cosa più intelligente reintrodurrebbe proprio i giudizi che questo progetto esiste per evitare.

E la fedeltà protegge dalla riscrittura, non dal riconoscimento sbagliato. Se il modello vocale sente «cache» come «cash», quell'errore viene fedelmente preservato — la guardia non ha idea di cosa volessi dire, solo di cosa sia stato trascritto. La dettatura letterale sposta il confine di fiducia sul modello di speech-to-text; non lo elimina. (Correlato: se il tuo problema è che il modello trascrive nella lingua sbagliata, quello è un fallimento diverso con una soluzione diversa — Fissa la lingua di dettatura.)

Infine, l'inquadramento di categoria: la rifinitura AI non è una truffa, e a molti utenti piace genuinamente un output che si legge più liscio di come parlano. Se sei tra loro, altri strumenti ci puntano bene, e i nostri confronti lo dicono onestamente — Keebye vs Wispr Flow e Keebye vs Superwhisper includono entrambi una vera sezione «quando l'altro strumento sta meglio».

Trasporto, non paternità

Il patto che Keebye offre è ristretto di proposito: tu parli, e una trascrizione leggermente ripulita atterra dov'è il tuo cursore. Quando quelle parole sono prompt per un agente che le eseguirà alla lettera, ristretto è una funzione. La cosa più costosa che uno strumento di dettatura possa fare a uno sviluppatore non è un refuso. È una frase scorrevole che non ha mai detto.

Keebye è in accesso anticipato per macOS. Inizia la prova gratuita qui sotto, detta «Non fare il deploy finché i test non passano» e controlla se quel vincolo esatto sopravvive alla pulizia. Quel test è tutto il prodotto.

Metti alla prova l'istruzione che non può permettersi di andare alla deriva

Inizia la prova gratuita e detta un prompt con un qualificatore critico — soprattutto un «non» — poi controlla cosa arriva.

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