Sano mitä sanoin: sanelua ilman tekoälyn muokkauksia
Tekoälysanelu kirjoittaa sanasi uusiksi: varaukset katoavat, merkitys kääntyy. Miksi LLM-viimeistely muotoilee uudelleen ja Keebye pysyy kirjaimellisena.
Tekoälyllä tehostetusta sanelusta on valitus, joka kuulostaa paradoksaaliselta kunnes olet elänyt sen: litterointi oli kunnossa — sen pilasi se, mitä tapahtui litteroinnin jälkeen. Sanoit yhden asian, ja työkalu toimitti kiillotetun, itsevarman, hieman eri asian. Varaus hiljaa pudotettu. Epäröinti poistettu. Lause rakennettu uudelleen joksikin, mitä et ikinä sanoisi. Ja kuvion pahimmassa versiossa — siinä, joka saa ihmiset lopettamaan työkalun käytön siihen paikkaan — merkitys kääntyy. ”Älä deployaa ennen kuin testit menevät läpi” tulee toisesta päästä ulos ohjeena deployata, miinus älä.
Satunnaisessa sanelussa tämä on harmi. Siinä tavassa, jolla itse käytän sanelua — syötän prompteja Claude Codelle, työnkulku artikkelista Claude Coden ohjaaminen äänellä — se on myrkkyä. Koodausagentti ottaa sanasi määrittelynä. Se ei tiedä, että sanelutyökalusi parafraseerasi sinua. Jos se varaus, joka teki ohjeesta turvallisen, silotettiin pois suusi ja terminaalin välillä, agentti suorittaa iloisesti silotetun version. Täsmällisyys on promptin koko tarkoitus, ja tekoälyn uudelleenkirjoituskerros on kone, joka poistaa täsmällisyyttä ja saa tuloksen näyttämään harkitummalta.
Miksi tekoälysanelutyökalut kirjoittavat uusiksi sen mitä sanoit?
Kategorian tason vastaus ei ole se, että kukaan olisi lähtenyt vääristämään puhetta. Se on se, että ”siivoa tämä litterointi” on aidosti houkutteleva ominaisuus, ja ilmeinen tapa rakentaa se on ajaa raaka litterointi kielimallin läpi.
Raaka puhe on sotkuista — täytesanoja, vääriä aloituksia, toistuvia sanoja, puuttuvia välimerkkejä. Kielimalli, jota pyydetään siistimään se, tuottaa kaunista tulostetta. Ongelma on siinä, että kielimalli ei muokkaa samalla tavalla kuin ihmiskielenhuoltaja, joka poistaa ”öö”:n. Se generoi uudelleen. Tuloste on uusi teksti, jota malli pitää hyvänä versiona syötteestäsi, ja ”hyvä” on se kohta, josta aikomuksesi vuotaa ulos. Avuliaisuuteen ja sujuvuuteen koulutetuilla malleilla on mielipiteitä: epäröinnit näyttävät kohinalta, varaukset sotkulta, kömpelö mutta täsmällinen muotoilu joltain, mitä pitäisi parantaa. Useimmiten uudelleenkirjoitus on harmiton. Mutta se on todennäköisyyspohjainen, etkä voi tulosteesta päätellä, mitkä lauseet litteroitiin ja mitkä sepitettiin. Kiillotus on tasaista; uskollisuus ei ole.
Se on LLM-viimeistelyputkien syvä ongelma: ne pettävät äänettömästi ja itsevarmasti. Puheentunnistin, joka kuulee sinut väärin, tuottaa yleensä jotain näkyvästi väärää. Uudelleenkirjoituskerros, joka pettää sinut, tuottaa jotain näkyvästi oikeaa — kieliopillista, uskottavaa, sinun äänelläsi puettua — ja juuri siksi käännetty ”älä deployaa” lähtee eteenpäin sen sijaan että se jäisi kiinni.
Kirjaimellinen oletuksena
Keebyen kanta on yksinkertainen: se, minkä puheentunnistusmalli kuuli, on se mikä laskeutuu kursorillesi. Oletuksena litteroinnin ja terminaalisi väliin ei asetu kielimallia sepittämään sinusta parempaa versiota — oletusviimeistelyvaihe on lyhyt lista deterministisiä sääntöjä, siinä kaikki.
Se on tietoinen veto, ja se tulee vibe-koodauksen käyttötapauksesta. Kun sanelusi on koodausagenttien ohjauskanava, työkalun tehtävä on kuljetus, ei kirjoittaminen. Sinä olet kirjoittaja; agentti on yleisö; sanelukerroksella ei pitäisi olla mielipiteitä. Tuo työnkulku — kokonaisten promptien puhuminen niiden kirjoittamisen sijaan — on kuvattu sivulla puhesanelu tekoälyprompteihin.
Keebyessä on LLM-viimeistely — palaan siihen — mutta se otetaan käyttöön erikseen, se toimii täysin koneellasi ja se operoi vartijan alaisuudessa, joka on suunniteltu hylkäämään yleisiä liukuman, karkaavan paisumisen ja toiston muotoja. Jos tuloste ei läpäise tarkistusta, Keebye perääntyy sääntöihin. Oletus pysyy sääntöinä.
Mitä siivous sitten oikeasti tekee?
Kirjaimellisen ei tarvitse tarkoittaa raakaa. Keebyessä on valinnainen siivousvaihe — tehostus, oletuksena päällä ja sovelluskohtaisesti ohitettavissa — mutta se on sääntöpohjainen, ei malli, ja täydellinen lista siitä mitä se tekee mahtuu yhteen kappaleeseen:
Se poistaa itsenäiset täytesanat (um, uh, erm, you know). Se tiivistää välittömät sanatoistot — ”the the” muuttuu muotoon ”the”. Se tiivistää välilyönnit. Se muuttaa ensimmäisen kirjaimen isoksi ja lisää lopettavan pisteen, jos et päättänyt lausetta sellaiseen. Siinä on koko lista. Säännöt ovat deterministisiä ja kapeasti rajattuja; ne eivät tarkoituksella järjestä lauseenosia uudelleen, poista kieltoja tai vaihda synonyymejä.
Ennen siivousta sovelletaan sanakirjakorvauksiasi — käyttäjän määrittelemiä korvauksia sille jargonille ja niille erisnimille, jotka puhemallit runtelevat, jotta ”pnpm” ja moduuliesi nimet saapuvat kirjoitettuna niin kuin koodikantasi ne kirjoittaa.
Ja jos sääntöpohjainenkin vaihe on enemmän puuttumista kuin haluat, kytke tehostus pois, niin Keebye syöttää raa'an puhemallin litteroinnin: täytesanat, toistot ja kaikki. Joissain yhteyksissä — jotakuta lainatessa, saneltaessa kenttään jossa lopun piste rikkoo asioita — raaka litterointi on parempi valinta, ja sovelluskohtainen ohitus antaa sinun valita sen.
Erikseen käyttöönotettava viimeistely ja sitä ympäröivä uskollisuusvartija
Nyt se LLM, johon lupasin palata. Niille, jotka haluavat älykkäämpää siivousta, Keebye tarjoaa valinnaisen viimeistelytilan (polish_mode arvossa local_llm): pienen Qwen3-mallin, joka pyörii laitteella llama.cpp:n kautta Metal-kiihdytettynä, eikä mitään lähetetä minnekään. Sen ohjeet ovat viimeistelyn kapea versio — korjaa välimerkit ja isot alkukirjaimet, poista täytesanat, säilytä käyttäjän täsmälliset sanat, kieli ja merkitys, säilytä koodi ja tiedostonimet sellaisenaan. Generointi on deterministinen (ahne näytteenotto, sama syöte → sama tuloste) ja katkaistu; jos malli jumittuu yli kahden sekunnin määräajan, sen tuloste hylätään.
Mutta ohjeet ovat toiveita, ja tämä artikkeli on olemassa siksi, etteivät toiveet ole takeita. Siksi jokainen LLM-viimeistelty tulos kulkee uskollisuusvartijan läpi ennen kuin se voi koskea kursoriisi. Tulosteen on säilytettävä vähintään 50 % alkuperäisen litteroinnin tokeneista. Se ei saa paisua — mikä tahansa yli suunnilleen kaksinkertaisen pituuden (plus neljä tokenia) hylätään. Karkaava toisto tunnistetaan. Jos viimeistelty tulos ei läpäise yhtä näistä tarkistuksista, Keebye hylkää sen ja perääntyy sääntöpohjaiseen siivoukseen.
Vartija nappaa vakavan tokenikadon, karkaavan paisumisen ja toiston ennen kuin mallin tuloste voi korvata sääntösiivotun litteroinnin. Se on heuristiikka, ei semanttinen todistus: lyhyt uudelleenkirjoitus tai muuttunut kielto voisi silti läpäistä sen kynnysarvot. Jos varauksella ei ole varaa liukua, pidä tekoälyviimeistely pois päältä ja katselmoi syötetty teksti ennen sen lähettämistä.
Rehelliset rajat
Kirjaimellinen tarkoittaa kirjaimellista. Jos rönsyilet, rönsyilysi laskeutuu — myös erikseen käyttöönotettava viimeistely on ohjeistettu ja vartioitu siivoukseen, ei sepittämiseen, joten Keebye ei muuta vaeltavaa ajatusta täsmälliseksi ohjeeksi. Kuri sanoa mitä tarkoitat pysyy sinulla.
Sääntöpohjainen siivous on tarkoituksella tyhmä. Se poistaa ”um”:n; se ei korjaa kielioppiasi, jäsennä uusiksi rönsyilevää virkettä tai huomaa että olet ristiriidassa itsesi kanssa. Mikä tahansa älykkäämpi toisi takaisin ne harkintapäätökset, joiden välttämiseksi tämä suunnittelu on olemassa.
Ja uskollisuus suojaa uudelleenkirjoitukselta, ei väärin tunnistamiselta. Jos puhemalli kuulee ”cache” muodossa ”cash”, se virhe säilyy uskollisesti — vartijalla ei ole aavistustakaan siitä mitä tarkoitit sanoa, vain siitä mitä litteroitiin. Kirjaimellinen sanelu siirtää luottamusrajan puheentunnistusmalliin; se ei poista sitä. (Aiheeseen liittyen: jos ongelmasi on että malli litteroi kokonaan väärällä kielellä, se on eri vika eri korjauksella — kiinnitä sanelukielesi.)
Lopuksi kategorian kehystys: tekoälyviimeistely ei ole huijaus, ja moni käyttäjä aidosti pitää tulosteesta, joka on sujuvampaa luettavaa kuin hänen oma puheensa. Jos se olet sinä, muut työkalut nojaavat siihen hyvin, ja vertailumme sanovat sen rehellisesti — sekä Keebye vs Wispr Flow että Keebye vs Superwhisper sisältävät aidon ”milloin toinen työkalu sopii paremmin” -osion.
Kuljetus, ei kirjoittaminen
Keebyen tarjoama sopimus on tarkoituksella kapea: sinä puhut, ja kevyesti siivottu litterointi laskeutuu sinne missä kursorisi on. Kun ne sanat ovat prompteja agentille, joka toimii niiden mukaan kirjaimellisesti, kapeus on ominaisuus. Kallein asia, jonka sanelutyökalu voi tehdä kehittäjälle, ei ole kirjoitusvirhe. Se on sujuva lause, jota et koskaan sanonut.
Keebye on ennakkokäytössä macOS:lle. Aloita ilmainen kokeilu alta, sanele ”Älä deployaa ennen kuin testit menevät läpi” ja tarkista, selviääkö tuo täsmällinen rajoitus siivouksesta. Se testi on koko tuote.
Testaa se ohje, jolla ei ole varaa liukua
Aloita ilmainen kokeilu ja sanele prompti, jossa on ratkaiseva varaus — erityisesti ”älä” — ja tarkista sitten mitä saapuu.
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.
Jatka lukemista
Promptien sanelu rinnakkaisagenteille, kaista kerrallaan
Kahden tai kolmen koodausagentin ajaminen tekee promptaamisesta pullonkaulan. Työnkulku rinnakkaiskaistojen syöttämiseen poistumatta siitä, jolla olet.
Claude Code äänellä: rakentamista rinnakkaiskaistoilla
AI-koodiagentit tekivät näppäilystä pullonkaulan. Työnkulku promptien, katselmointien ja suunnanmuutosten saneluun rinnakkaisille agenteille macOS:llä.
Sanelu, joka selviää terminaalista
Sanelun liittäminen pettää hiljaa terminaalissa, SSH:ssa, tmuxissa ja ei-QWERTY-asetteluissa. Miksi leikepöytä ei toimi ja mitä kirjoitustila tekee.