Sakyk tai, ką pasakiau: diktavimas be AI perrašymo
AI diktavimas perrašo tavo žodžius — dingsta patikslinimai, apsiverčia prasmė. Kodėl LLM šlifavimas perfrazuoja, o Keebye lieka pažodinis.
Yra skundas apie AI patobulintą diktavimą, kuris skamba paradoksaliai, kol jo nepatiri: transkripcija buvo gera — viską sugadino tai, kas nutiko po transkripcijos. Pasakei viena, o įrankis pateikė nušlifuotą, savimi pasitikintį, truputį kitokį dalyką. Tyliai dingęs patikslinimas. Pašalinta abejonė. Sakinys, pertvarkytas į tai, ko niekada nesakytum. O blogiausioje šio šablono versijoje — tokioje, dėl kurios žmonės iškart meta įrankį — apsiverčia prasmė. „Nediek, kol nepraeis testai“ kitame gale išeina kaip nurodymas diegti, be ne.
Atsitiktiniam diktavimui tai erzina. Tam, kaip diktavimą naudoju aš — maitindamas promptais Claude Code, darbo eiga iš straipsnio Claude Code valdymas balsu — tai nuodai. Kodavimo agentas tavo žodžius priima kaip specifikaciją. Jis nežino, kad tavo diktavimo įrankis tave perfrazavo. Jei patikslinimas, dėl kurio nurodymas buvo saugus, buvo nugludintas kažkur tarp tavo burnos ir terminalo, agentas linksmai įvykdys nugludintą versiją. Tikslumas yra visa prompto esmė, o AI perrašymo sluoksnis yra mašina tikslumui šalinti, kartu padarant rezultatą labiau apgalvotą iš pažiūros.
Kodėl AI diktavimo įrankiai perrašo tai, ką pasakei?
Kategorijos lygio atsakymas nėra tas, kad kas nors užsibrėžė iškraipyti šneką. Tiesiog „sutvarkyk šią transkripciją“ yra tikrai patraukli funkcija, o akivaizdus būdas ją padaryti — paleisti neapdorotą transkripciją per kalbos modelį.
Neapdorota šneka netvarkinga — parazitiniai žodžiai, netikros pradžios, pasikartojimai, trūkstama skyryba. LLM, paprašytas tai sutvarkyti, pagamina gražų rezultatą. Bėda ta, kad kalbos modelis neredaguoja taip, kaip redaguoja žmogus redaktorius, išbraukdamas „ė“. Jis pergeneruoja. Rezultatas yra naujas tekstas, kurį modelis laiko gera tavo įvesties versija, o būtent per „gerą“ ir išteka tavo ketinimas. Modeliai, treniruoti naudingumo ir sklandumo kryptimi, turi nuomonę: abejonės atrodo kaip triukšmas, patikslinimai atrodo kaip netvarka, nerangi, bet tiksli formuluotė atrodo kaip kažkas, ką reikia pagerinti. Dažniausiai perrašymas nekenksmingas. Bet jis tikimybinis, ir iš rezultato negali pasakyti, kurie sakiniai buvo transkribuoti, o kurie sukurti. Šlifavimas vienodas; ištikimybė — ne.
Tai ir yra gili LLM šlifavimo kelių problema: jie sugenda tyliai ir įtikinamai. Kalbos atpažintuvas, kuris tavęs neišgirsta, paprastai pagamina kažką akivaizdžiai neteisingo. Perrašymo sluoksnis, kuris tave išduoda, pagamina kažką akivaizdžiai teisingo — gramatiško, tikėtino, apsivilkusio tavo balsu — todėl apverstas „nediek“ ir būna išsiųstas, o ne pagautas.
Pažodinis pagal nutylėjimą
Keebye pozicija paprasta: kas nusileidžia ties tavo žymekliu, yra tai, ką išgirdo kalbos atpažinimo modelis. Pagal nutylėjimą tarp transkripcijos ir tavo terminalo nesėdi joks kalbos modelis, kuriantis geresnę tavo versiją — numatytasis šlifavimo etapas yra trumpas deterministinių taisyklių sąrašas, ir tiek.
Tai sąmoningas statymas, ir jis kyla iš vibecoding scenarijaus. Kai tavo diktavimas yra valdymo kanalas kodavimo agentams, įrankio darbas yra transportas, o ne autorystė. Rašytojas esi tu; auditorija yra agentas; diktavimo sluoksnis neturėtų turėti nuomonės. Ta darbo eiga — ištarti ištisus promptus, užuot juos surašius — išdėstyta puslapyje diktavimas balsu AI promptams.
LLM šlifavimas Keebye yra — prie jo dar prieisiu — bet jis įjungiamas pasirinktinai, veikia visiškai tavo mašinoje ir dirba su apsauga, sukurta atmesti dažniausias nuklydimo, nevaldomo išplėtimo ir pasikartojimo formas. Jei rezultatas tos patikros nepraeina, Keebye grįžta prie taisyklių. Numatytosios lieka taisyklės.
Tai ką tas išvalymas iš tikrųjų daro?
Pažodinis nebūtinai reiškia žalias. Keebye turi pasirenkamą išvalymo etapą — patobulinimą, įjungtą pagal nutylėjimą ir perrašomą kiekvienai programai atskirai — bet jis grįstas taisyklėmis, o ne modeliu, ir visas jo darbų sąrašas telpa į vieną pastraipą:
Jis pašalina atskirai stovinčius parazitinius žodžius (um, uh, erm, you know). Jis suspaudžia iškart pasikartojančius žodžius — „the the“ tampa „the“. Jis suspaudžia tarpus. Jis padidina pirmąją raidę ir prideda tašką gale, jei jo nepadėjai. Tai visas sąrašas. Taisyklės deterministinės ir siaurai apibrėžtos; jos sąmoningai nekeičia dėmenų tvarkos, nešalina neigimų ir nekeičia žodžių sinonimais.
Prieš išvalymą pritaikomi tavo žodyno pakeitimai — naudotojo apibrėžti pakaitalai žargonui ir tikriniams daiktavardžiams, kuriuos kalbos modeliai sujaukia, kad „pnpm“ ir tavo modulių pavadinimai atkeliautų parašyti taip, kaip juos rašo tavo kodo bazė.
O jei net taisyklėmis grįstas etapas tau yra per daug kišimosi, išjunk patobulinimą, ir Keebye įterps neapdorotą kalbos modelio transkripciją: su parazitiniais žodžiais, pasikartojimais ir visu kitu. Kai kuriuose kontekstuose — cituojant ką nors, diktuojant į lauką, kuriame taškas gale viską sugadina — neapdorota transkripcija yra geresnis pasirinkimas, ir programos lygio perrašymas leidžia jį pasirinkti.
Pasirenkamas šlifavimas ir ištikimybės apsauga aplink jį
Dabar tas LLM, prie kurio žadėjau prieiti. Tiems, kas vis dėlto nori protingesnio išvalymo, Keebye siūlo pasirenkamą šlifavimo režimą (polish_mode nustatytas į local_llm): nedidelį Qwen3 modelį, veikiantį įrenginyje per llama.cpp, pagreitintą Metal, nieko niekur nesiunčiant. Jo nurodymai yra siaura šlifavimo versija — sutvarkyti skyrybą ir didžiąsias raides, pašalinti parazitinius žodžius, išlaikyti tikslius naudotojo žodžius, kalbą ir prasmę, kodą bei failų pavadinimus išsaugoti pažodžiui. Generavimas deterministinis (greedy sampling, ta pati įvestis → ta pati išvestis) ir apribotas; jei modelis užstringa ilgiau nei dvi sekundes, jo rezultatas atmetamas.
Bet nurodymai yra viltys, o šis straipsnis egzistuoja todėl, kad viltys nėra garantijos. Todėl kiekvienas LLM nušlifuotas rezultatas prieš paliesdamas tavo žymeklį pereina ištikimybės apsaugą. Rezultatas turi išlaikyti bent 50 % pirminės transkripcijos žetonų. Jis neturi išsipūsti — viskas, kas viršija maždaug dvigubą pirminį ilgį (plius keturi žetonai), patikros nepraeina. Aptinkamas nevaldomas pasikartojimas. Jei nušlifuotas rezultatas neišlaiko vienos iš tų patikrų, Keebye jį atmeta ir grįžta prie taisyklėmis grįsto išvalymo.
Ta apsauga pagauna didelį žetonų praradimą, nevaldomą išplėtimą ir pasikartojimą dar prieš tai, kai modelio rezultatas gali pakeisti taisyklėmis išvalytą transkripciją. Tai euristika, o ne semantinis įrodymas: trumpas perrašymas ar pakeistas neigimas jos ribas vis tiek gali praeiti. Jei patikslinimas negali sau leisti nuklysti, laikyk AI šlifavimą išjungtą ir prieš siųsdamas peržiūrėk įterptą tekstą.
Sąžiningos ribos
Pažodinis reiškia pažodinį. Jei kalbi paklaidžiodamas, tavo klaidžiojimas ir nusileis — net pasirenkamas šlifavimas nurodytas ir saugomas išvalymo, o ne kūrybos kryptimi, tad Keebye nepavers vingiuojančios minties aiškiu nurodymu. Disciplina sakyti tai, ką turi omenyje, lieka tau.
Taisyklėmis grįstas išvalymas sąmoningai kvailas. Jis pašalina „um“; jis nepataisys tavo gramatikos, nepertvarkys išsidriekusio sakinio ir nepastebės, kad pats sau prieštaravai. Bet kas protingesnio vėl įvestų tuos vertinimo sprendimus, kurių vengti šis dizainas ir egzistuoja.
Ir ištikimybė saugo nuo perrašymo, ne nuo neteisingo atpažinimo. Jei kalbos modelis vietoj „cache“ išgirsta „cash“, ta klaida ištikimai išsaugoma — apsauga neturi supratimo, ką norėjai pasakyti, tik tai, kas buvo transkribuota. Pažodinis diktavimas pasitikėjimo ribą perkelia į kalbos atpažinimo modelį; jis jos nepanaikina. (Susiję: jei tavo problema ta, kad modelis transkribuoja visai kita kalba, tai kitoks gedimas su kitokiu sprendimu — prisek diktavimo kalbą.)
Galiausiai kategorijos rėmas: AI šlifavimas nėra apgaulė, ir daug naudotojų nuoširdžiai renkasi rezultatą, kuris skaitosi sklandžiau, nei jie kalba. Jei tai tu, kiti įrankiai į tai remiasi gerai, ir mūsų palyginimai tai sako atvirai — Keebye vs Wispr Flow ir Keebye vs Superwhisper abu turi tikrą skyrių „kada kitas įrankis tinka geriau“.
Transportas, ne autorystė
Sandėris, kurį siūlo Keebye, sąmoningai siauras: tu kalbi, o lengvai išvalyta transkripcija nusileidžia ten, kur yra tavo žymeklis. Kai tie žodžiai yra promptai agentui, kuris pagal juos veiks pažodžiui, siaurumas yra privalumas. Brangiausias dalykas, kurį diktavimo įrankis gali padaryti kūrėjui, yra ne rašybos klaida. Tai sklandus sakinys, kurio niekada nesakei.
Keebye yra ankstyvojoje prieigoje macOS sistemai. Pradėk nemokamą bandomąjį laikotarpį žemiau, padiktuok „Nediek, kol nepraeis testai“ ir patikrink, ar tas tikslus apribojimas išgyvena išvalymą. Tas testas ir yra visas produktas.
Išbandyk nurodymą, kuris negali sau leisti nuklysti
Pradėk nemokamą bandomąjį laikotarpį ir padiktuok promptą su esminiu patikslinimu — ypač su neigimu — tada apžiūrėk, kas atkeliavo.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Skaityti toliau
Promptų diktavimas lygiagretiems agentams, juosta po juostos
Kai vienu metu veikia du ar trys kodavimo agentai, promptų rašymas tampa butelio kakleliu. Darbo eiga, kaip maitinti lygiagrečias juostas nepaliekant savosios.
Claude Code valdymas balsu: kūrimas lygiagrečiomis juostomis
AI kodavimo agentai spausdinimą pavertė kliūtimi. Kaip macOS diktuoti promptus, peržiūras ir krypties pakeitimus lygiagrečioms agentų juostoms.
Diktavimas, kuris atlaiko terminalą
Diktavimo įklijavimas tyliai žlunga terminaluose, SSH, tmux ir ne QWERTY išdėstymuose. Kodėl ten neveikia iškarpinė ir ką daro spausdinimo režimas.