Řekni, co jsem řekl: diktování bez přepisování od AI
Diktování vylepšené AI přepisuje, co jste řekli — zmizí upřesnění, převrátí se význam. Proč vás doleštění pomocí LLM parafrázuje a proč Keebye zůstává doslovný.
Existuje stížnost na diktování vylepšené AI, která zní paradoxně, dokud si ji nezažijete: přepis byl v pořádku — zkazilo to to, co se stalo po přepisu. Řekli jste jednu věc a nástroj doručil vybroušenou, sebejistou, trochu jinou věc. Potichu zmizelo upřesnění. Zmizela opatrná formulace. Věta se přestavěla do něčeho, co byste nikdy neřekli. A v nejhorší variantě toho vzorce — v té, kvůli které lidé nástroj na místě opustí — se převrátí význam. Z „nenasazuj, dokud neprojdou testy“ vyleze na druhé straně instrukce o nasazování, minus to ne.
U příležitostného diktování je to otrava. Pro způsob, jakým diktování používám já — krmím prompty do Claude Code, postup z článku Řízení Claude Code hlasem — je to jed. Agent na psaní kódu bere vaše slova jako specifikaci. Neví, že vás váš diktovací nástroj parafrázoval. Pokud se upřesnění, které dělalo instrukci bezpečnou, uhladilo někde mezi vašimi ústy a terminálem, agent tu uhlazenou verzi vesele provede. Přesnost je celý smysl promptu a vrstva, která přepisuje pomocí AI, je stroj na odstraňování přesnosti, který přitom výsledek nechá vypadat promyšleněji.
Proč diktovací nástroje s AI přepisují, co jste řekli?
Odpověď na úrovni kategorie není, že by se někdo rozhodl řeč deformovat. Je to tím, že „ukliď tenhle přepis“ je opravdu lákavá funkce a zjevný způsob, jak ji postavit, je prohnat syrový přepis jazykovým modelem.
Syrová řeč je nepořádná — vycpávková slova, falešné starty, opakovaná slova, chybějící interpunkce. LLM, který má tohle uklidit, vyprodukuje krásný výstup. Potíž je, že jazykový model neprovádí úpravy tak, jak je provádí lidský korektor odstraňující „ehm“. Regeneruje. Výstupem je nový text, který model považuje za dobrou verzi vašeho vstupu, a „dobrá“ je místo, kudy uniká váš záměr. Modely trénované směrem k užitečnosti a plynulosti mají názory: opatrné formulace vypadají jako šum, upřesnění vypadají jako nepořádek a neohrabaná, ale přesná formulace vypadá jako něco, co by šlo vylepšit. Většinou je to přepsání neškodné. Ale je pravděpodobnostní a z výstupu nepoznáte, které věty byly přepsané a které složené. Vyleštění je rovnoměrné; věrnost ne.
To je ten hluboký problém pipeline s doleštěním pomocí LLM: selhává tiše a sebejistě. Rozpoznávač řeči, který vás špatně slyší, obvykle vyprodukuje něco viditelně špatného. Vrstva přepisování, která vás zradí, vyprodukuje něco viditelně správného — gramatického, věrohodného, oblečeného do vašeho hlasu — a přesně proto se převrácené „nenasazuj“ odešle, místo aby se chytilo.
Doslovný ve výchozím nastavení
Postoj Keebye je jednoduchý: co model pro převod řeči na text slyšel, to přistane u vašeho kurzoru. Ve výchozím nastavení mezi přepisem a vaším terminálem nesedí žádný jazykový model, který by skládal lepší verzi vás — výchozím krokem doleštění je krátký seznam deterministických pravidel, a to je vše.
Je to záměrná sázka a vychází z použití při vibe codingu. Když je vaše diktování řídicím kanálem pro agenty na psaní kódu, je prací nástroje přeprava, ne autorství. Vy jste autor; agent je publikum; diktovací vrstva nemá mít názory. Ten postup — vyslovování celých promptů místo jejich psaní — je rozepsaný v článku hlasové diktování promptů pro AI.
Doleštění pomocí LLM v Keebye je — hned se k němu dostanu — ale je volitelné, běží celé na vašem stroji a funguje pod kontrolou navrženou k odmítnutí běžných forem ujetí, rozbujení a opakování. Když výstup tuhle kontrolu neprojde, Keebye se vrátí k pravidlům. Výchozí zůstávají pravidla.
Tak co to čištění vlastně dělá?
Doslovný nemusí znamenat syrový. Keebye má volitelný průchod čištěním — vylepšení, ve výchozím nastavení zapnuté a přepsatelné pro jednotlivé aplikace — ale je založené na pravidlech, ne na modelu, a kompletní seznam toho, co dělá, se vejde do jednoho odstavce:
Odstraňuje samostatná vycpávková slova (um, uh, erm, you know). Sráží bezprostřední opakování slov — z „the the“ udělá „the“. Sráží bílé znaky. Píše první písmeno velké a doplňuje tečku na konci, pokud jste větu nezakončili. To je celý seznam. Pravidla jsou deterministická a úzce vymezená; záměrně nepřehazují větné členy, neodstraňují zápory ani nenahrazují slova synonymy.
Než se čištění spustí, uplatní se náhrady z vašeho slovníku — uživatelem definované záměny pro žargon a vlastní jména, která řečové modely komolí, takže „pnpm“ a názvy vašich modulů dorazí napsané tak, jak je píše vaše kódová základna.
A pokud je i průchod založený na pravidlech větší zásah, než chcete, vypněte vylepšení a Keebye vloží syrový přepis z řečového modelu: s vycpávkami, opakováním a vším. V některých kontextech — když někoho citujete, když diktujete do pole, kde koncová tečka něco rozbije — je syrový přepis lepší volbou a přepsání nastavení pro jednotlivou aplikaci vám ho umožní zvolit.
Volitelné doleštění a kontrola věrnosti kolem něj
Teď to LLM, ke kterému jsem se slíbil dostat. Pro lidi, kteří chytřejší čištění chtějí, nabízí Keebye volitelný režim doleštění (polish_mode nastavený na local_llm): malý model Qwen3 běžící přímo na zařízení přes llama.cpp, akcelerovaný přes Metal, nic se nikam neodesílá. Jeho instrukce jsou úzkou verzí doleštění — oprav interpunkci a velká písmena, odstraň vycpávky, zachovej uživatelova přesná slova, jazyk a význam, kód a názvy souborů zachovej doslova. Generování je deterministické (greedy sampling, stejný vstup → stejný výstup) a má strop; pokud se model zasekne za dvousekundovou lhůtou, jeho výstup se zahodí.
Instrukce jsou ale jen naděje a tenhle článek existuje proto, že naděje nejsou záruky. Takže každý výsledek doleštěný LLM projde před tím, než se smí dotknout vašeho kurzoru, kontrolou věrnosti. Výstup si musí zachovat aspoň 50 % tokenů původního přepisu. Nesmí se nafouknout — cokoli za zhruba dvojnásobkem původní délky (plus čtyři tokeny) neprojde. Rozbujelé opakování se detekuje. Pokud doleštěný výsledek jednu z těch kontrol neprojde, Keebye ho zahodí a vrátí se místo něj k čištění podle pravidel.
Ta kontrola zachytí vážnou ztrátu tokenů, rozbujení a opakování dřív, než výstup modelu může nahradit přepis vyčištěný pravidly. Je to heuristika, ne sémantický důkaz: krátké přepsání nebo změněný zápor by jejími prahy pořád mohly projít. Pokud si nějaké upřesnění nemůže dovolit ujet, nechte doleštění pomocí AI vypnuté a vložený text si před odesláním zkontrolujte.
Upřímné limity
Doslovný znamená doslovný. Když blábolíte, přistane váš blábol — i to volitelné doleštění je instruované a hlídané směrem k čištění, ne ke skládání, takže Keebye z rozvláčné myšlenky ostrou instrukci neudělá. Disciplína říkat, co myslíte, zůstává na vás.
Čištění podle pravidel je záměrně hloupé. Odstraní „ehm“; neopraví vám gramatiku, nepřestaví souvětí ani si nevšimne, že jste si protiřečili. Cokoli chytřejšího by znovu zavedlo přesně ty úsudky, kvůli kterým tenhle návrh existuje.
A věrnost chrání proti přepisování, ne proti špatnému rozpoznání. Pokud řečový model slyší místo „cache“ slovo „cash“, tahle chyba se věrně zachová — kontrola nemá tušení, co jste chtěli říct, jen co bylo přepsáno. Doslovné diktování posouvá hranici důvěry na model pro převod řeči na text; neruší ji. (Související: pokud je vaším problémem, že model přepisuje rovnou ve špatném jazyce, je to jiné selhání s jinou nápravou — Připněte si jazyk diktování.)
Nakonec rámování celé kategorie: doleštění pomocí AI není podvod a spousta uživatelů opravdu dává přednost výstupu, který se čte hladčeji, než jak mluví. Pokud jste to vy, jiné nástroje do toho jdou dobře a naše srovnání to říkají upřímně — Keebye vs Wispr Flow i Keebye vs Superwhisper obsahují skutečnou sekci „kdy vám sedne ten druhý nástroj líp“.
Přeprava, ne autorství
Nabídka Keebye je záměrně úzká: promluvíte a lehce vyčištěný přepis přistane tam, kde je váš kurzor. Když jsou ta slova prompty pro agenta, který podle nich bude doslova jednat, je úzkost funkce. Nejdražší věc, kterou diktovací nástroj může vývojáři udělat, není překlep. Je to plynulá věta, kterou jste nikdy neřekli.
Keebye je v předběžném přístupu pro macOS. Bezplatnou zkušební verzi spustíte níže, nadiktujte „Nenasazuj, dokud neprojdou testy“ a zkontrolujte, jestli tohle přesné omezení přežije čištění. Tenhle test je celý produkt.
Otestujte instrukci, která si ujetí nemůže dovolit
Spusťte bezplatnou zkušební verzi a nadiktujte prompt s kritickým upřesněním — hlavně s nějakým „ne“ — a pak si prohlédněte, co dorazilo.
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.
Čtěte dál
Diktování promptů paralelním agentům, dráhu po dráze
Když běží dva tři agenti naráz, úzkým hrdlem se stane promptování. Hlasový postup, jak krmit paralelní dráhy, aniž byste opustili tu, ve které jste.
Řízení Claude Code hlasem: stavění v paralelních dráhách
Agenti na psaní kódu s AI udělali z psaní úzké hrdlo. Praktický postup, jak na macOS diktovat prompty, review a přesměrování napříč paralelními dráhami agentů.
Diktování, které přežije terminál
Vkládání diktátu tiše selhává v terminálech, SSH, tmuxu a rozloženích mimo QWERTY. Proč tam selhává schránka a co místo ní dělá režim psaní.