Скажи, как я сказал: диктовка без переписывания ИИ
ИИ переписывает диктовку: теряет уточнения, меняет смысл. Почему доводка через LLM пересказывает вас и почему Keebye остаётся буквальным.
Есть жалоба на диктовку с ИИ-улучшением, которая звучит парадоксально, пока вы её не переживёте: с расшифровкой всё было в порядке — испортило дело то, что произошло после расшифровки. Вы сказали одно, а инструмент выдал отшлифованное, уверенное, слегка другое. Уточнение тихо выпало. Оговорка убрана. Фраза перестроена во что-то, что вы никогда бы не сказали. А в худшей версии этой закономерности — той, из-за которой люди бросают инструмент на месте, — смысл переворачивается. «Не деплой, пока не пройдут тесты» выходит с другого конца как инструкция деплоить, минус не.
Для бытовой диктовки это раздражает. Для того, как я на самом деле использую диктовку — подаю промпты в Claude Code, рабочий процесс из статьи управление Claude Code голосом, — это яд. Кодовый агент принимает ваши слова как спецификацию. Он не знает, что ваш инструмент диктовки вас пересказал. Если уточнение, делавшее инструкцию безопасной, сгладилось где-то между вашим ртом и терминалом, агент бодро выполнит сглаженную версию. Точность — весь смысл промпта, а слой ИИ-переписывания есть машина по удалению точности, которая при этом делает результат на вид более продуманным.
Почему ИИ-инструменты диктовки переписывают сказанное
Ответ на уровне категории не в том, что кто-то задался целью искажать речь. Он в том, что «почистить эту расшифровку» — по-настоящему привлекательная функция, а очевидный способ её построить — прогнать сырую расшифровку через языковую модель.
Сырая речь неопрятна: слова-паразиты, фальстарты, повторы, отсутствие пунктуации. Языковая модель, которую попросили это прибрать, выдаёт прекрасный результат. Беда в том, что языковая модель не редактирует так, как редактирует живой корректор, убирающий «э-э». Она генерирует заново. На выходе — новый текст, который модель считает хорошей версией вашего ввода, и вот в этом «хорошем» и утекает ваше намерение. У моделей, обученных на полезность и гладкость, есть мнения: оговорки выглядят шумом, уточнения — сором, неуклюжая, но точная формулировка — тем, что стоит улучшить. Чаще всего переписывание безобидно. Но оно вероятностное, и по результату вы не отличите, какие фразы были расшифрованы, а какие сочинены. Шлифовка равномерна; точность — нет.
В этом глубинная проблема конвейеров доводки на LLM: они дают сбой молча и уверенно. Распознаватель речи, который вас недослышал, обычно выдаёт нечто явно неправильное. Слой переписывания, который вас предал, выдаёт нечто явно правильное — грамматичное, правдоподобное, в вашей же интонации, — и именно поэтому перевёрнутое «не деплой» отправляют, а не отлавливают.
Буквально по умолчанию
Позиция Keebye проста: то, что услышала модель распознавания речи, — это то, что окажется у вашего курсора. По умолчанию между расшифровкой и вашим терминалом не сидит языковая модель, сочиняющая улучшенную версию вас: стадия доводки по умолчанию — короткий список детерминированных правил, и всё.
Это осознанная ставка, и она идёт от сценария вайб-кодинга. Когда ваша диктовка — канал управления кодовыми агентами, задача инструмента — транспорт, а не авторство. Пишете вы; аудитория — агент; у слоя диктовки не должно быть мнений. Этот рабочий процесс — произносить промпты целиком вместо набора — разобран в руководстве по голосовой диктовке для ИИ-промптов.
Доводка на LLM в Keebye есть — я до неё дойду, — но она включается по желанию, работает целиком на вашей машине и действует под защитой, спроектированной, чтобы отклонять распространённые формы смещения, разрастания и повторов. Если результат не проходит эту проверку, Keebye откатывается к правилам. По умолчанию остаются правила.
Так что же делает очистка
Буквально не обязано означать сыро. В Keebye есть опциональный проход очистки — улучшение, включённое по умолчанию и переопределяемое для каждого приложения, — но оно основано на правилах, а не на модели, и полный список того, что оно делает, умещается в один абзац.
Оно убирает отдельно стоящие слова-паразиты (um, uh, erm, you know). Оно схлопывает непосредственные повторы слов — «the the» становится «the». Оно схлопывает пробелы. Оно ставит заглавную букву в начале и добавляет точку в конце, если вы её не поставили. Вот и весь список. Правила детерминированы и узко очерчены; они намеренно не переставляют части предложения, не убирают отрицания и не подменяют синонимы.
Перед запуском очистки применяются подстановки из вашего словаря — заданные пользователем замены для жаргона и имён собственных, которые речевые модели корёжат, чтобы «pnpm» и названия ваших модулей приходили написанными так, как их пишет ваша кодовая база.
А если даже проход по правилам — большее вмешательство, чем вам хочется, отключите улучшение, и Keebye вставит сырую расшифровку речевой модели: со словами-паразитами, повторами и всем прочим. В некоторых контекстах — цитируя кого-то, диктуя в поле, где точка в конце всё ломает, — сырая расшифровка лучше, и переопределение для конкретного приложения позволяет её выбрать.
Доводка по желанию и защита точности вокруг неё
Теперь та самая LLM, до которой я обещал дойти. Тем, кто всё же хочет более умной очистки, Keebye предлагает опциональный режим доводки (polish_mode со значением local_llm): небольшая модель Qwen3, работающая на устройстве через llama.cpp с ускорением на Metal, и ничего никуда не отправляется. Её инструкции — узкая версия доводки: починить пунктуацию и заглавные буквы, убрать слова-паразиты, сохранить точные слова пользователя, язык и смысл, оставить код и имена файлов дословно. Генерация детерминирована (жадная выборка, тот же вход → тот же выход) и ограничена по объёму; если модель зависает дольше двухсекундного дедлайна, её результат отбрасывается.
Но инструкции — это надежды, а эта статья существует потому, что надежды не гарантии. Поэтому каждый результат доводки на LLM проходит через защиту точности, прежде чем сможет коснуться вашего курсора. Результат должен сохранить не менее 50 % токенов исходной расшифровки. Он не должен раздуваться: всё, что превышает примерно двойную длину оригинала (плюс четыре токена), проверку не проходит. Разгонные повторы обнаруживаются. Если отшлифованный результат не проходит одну из этих проверок, Keebye его отбрасывает и откатывается к очистке по правилам.
Эта защита ловит серьёзную потерю токенов, разрастание и повторы до того, как результат модели заменит расшифровку, очищенную по правилам. Это эвристика, а не семантическое доказательство: короткое переписывание или изменённое отрицание всё ещё могут пройти её пороги. Если уточнению нельзя дать сместиться, держите ИИ-доводку выключенной и проверяйте вставленный текст перед отправкой.
Честные ограничения
Буквально значит буквально. Если вы растекаетесь мыслью, ваше растекание и приземлится — даже включаемая по желанию доводка и по инструкциям, и по защите нацелена на очистку, а не на сочинение, так что Keebye не превратит блуждающую мысль в чёткую инструкцию. Дисциплина говорить то, что имеешь в виду, остаётся на вас.
Очистка по правилам намеренно тупа. Она убирает «um»; она не поправит вашу грамматику, не перестроит громоздкое предложение и не заметит, что вы себе противоречите. Что-либо умнее вернуло бы оценочные суждения, ради избежания которых эта конструкция и существует.
И точность защищает от переписывания, а не от ошибки распознавания. Если речевая модель услышит «cache» как «cash», эта ошибка будет добросовестно сохранена: защита понятия не имеет, что вы хотели сказать, — только то, что было расшифровано. Буквальная диктовка переносит границу доверия на модель распознавания речи; она её не устраняет. (Смежное: если ваша проблема в том, что модель расшифровывает вообще не на том языке, это другой сбой с другим решением — закрепите язык диктовки.)
Наконец, рамка категории: ИИ-доводка не обман, и многим пользователям искренне нравится результат, который читается глаже, чем они говорят. Если это про вас, другие инструменты делают на это хорошую ставку, и наши сравнения честно об этом говорят: и Keebye vs Wispr Flow, и Keebye vs Superwhisper содержат настоящий раздел «когда другой инструмент подходит лучше».
Транспорт, а не авторство
Сделка, которую предлагает Keebye, узка намеренно: вы говорите, и слегка очищенная расшифровка оказывается там, где стоит ваш курсор. Когда эти слова — промпты для агента, который поймёт их буквально, узость становится достоинством. Самое дорогое, что инструмент диктовки может сделать с разработчиком, — это не опечатка. Это гладкая фраза, которую вы никогда не произносили.
Keebye находится в раннем доступе для macOS. Начните бесплатный пробный период ниже, продиктуйте «Не деплой, пока не пройдут тесты» и проверьте, уцелеет ли это ограничение после очистки. Этот тест и есть весь продукт.
Проверьте инструкцию, которой нельзя дать сместиться
Начните бесплатный пробный период и продиктуйте промпт с критически важным уточнением — особенно с отрицанием, — а затем изучите то, что пришло.
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.
Читать дальше
Диктовать промпты параллельным агентам: дорожка за дорожкой
Два-три кодовых агента сразу — и узким местом становится сам промпт. Голосовой процесс: кормить параллельные дорожки, не покидая текущую.
Claude Code голосом: работа в параллельных дорожках
ИИ-агенты сделали набор текста узким местом. Практический процесс диктовки промптов, ревью и корректировок в параллельных дорожках агентов на macOS.
Диктовка, которая выживает в терминале
Вставка диктовки молча сбоит в терминалах, SSH, tmux и не-QWERTY раскладках. Почему буфер обмена там не работает и что делает режим набора.