Один голос, десять дорожек: день на диктовке
Как выглядит день параллельных стартап-дорожек, когда клавиатура перестаёт быть единственным каналом вывода. Разбор от основателя, час за часом.
Двое детей, три стартапа, один голос рассказывал историю происхождения: параллельные стартап-дорожки с высокими ставками, второй ребёнок младше полугода и клавиатура, которая тихо стала единой точкой отказа для всего. Та статья объясняла, почему Keebye существует. Люди продолжали задавать более практичный вопрос: а как на самом деле выглядит день?
Так вот, это тот самый день. Не типичный, потому что типичного не бывает, но реальная форма, которая повторяется. Я намеренно избегаю цифр. Я никогда не измерял прирост в процентах и не доверял бы такому измерению, если бы оно у меня было. Что я могу описать — где используется голосовой канал, где не используется и что изменилось в фактуре работы.
Про «десять дорожек». Это не бахвальство. Дорожка — это всё, что продвигается от одного моего предложения: кодовый агент посреди задачи, ревью, которого кто-то ждёт, тред в Slack, письмо юристу инвестора, черновик документа. В загруженный день открытых дорожек действительно примерно столько. Большинство из них в любой момент простаивает. Проблема в том, что те, которые просыпаются, делают это по своему расписанию, а не по моему.
Раннее утро: одна рука, три агента
День начинается раньше, чем дом, а значит — с младенцем на одной руке. Именно в этот час голос из удобства превратился в необходимость.
Три агентские дорожки уже работают с вечера, каждая в своём терминале, каждая в своём репозитории. Первое, что я делаю, — читаю, что они сделали. Чтению нужны глаза, а не руки, так что с младенцем всё в порядке. Второе — скорректировать тех, кто ушёл вбок, и вот тут клавиатура раньше проигрывала.
Теперь: клик в терминал, удержание правой ⌘, произнесённая корректировка, отпускание. «Миграция нормальная, но ты переименовал таблицу в модели и не переименовал в скрипте сидов. Почини сиды и перезапусти тесты». Текст оказывается в поле ввода. Enter. Следующая дорожка.
Есть маленькая привычка, на которую ушло время: говорить полными предложениями. Агенты с ними справляются лучше, а диктовка выдаёт их естественно, потому что люди так говорят. Телеграфный стиль, которым я раньше печатал («почини сиды, перезапусти»), был артефактом клавиатуры, а не предпочтением.
Этот час обнажает и единственную особенность первой диктовки, о которой стоит знать. Микрофон прогревается после первой диктовки за сессию и с этого момента держит пред-запись в 500 мс. Самое первое утреннее удержание может заплатить цену старта потока и обрезать слово, если начать говорить слишком рано. Я научился выдерживать паузу. Механику объясняет статья почему приложения диктовки съедают ваше первое слово; коротко — это проблема всей категории с частичным решением, а не решённая.
Позднее утро: дорожка ревью
В двух стартапах, с которыми я работаю, ревью кода ждут меня почти каждое утро. Ревью — лучший из возможных сценариев для диктовки: это чтение с редким коротким выводом в прозе, и эта проза адресована человеку.
Я читаю диф во вкладке браузера. Когда нужно оставить комментарий, кликаю в поле, удерживаю, говорю, отпускаю. Пользовательский словарь несёт идентификаторы проекта, поэтому reconnectBackoff выходит как reconnectBackoff, а не как три английских слова. Очистка по умолчанию основана на правилах: слова-паразиты и повторы уходят, моя формулировка остаётся. Для комментариев в ревью я держу опциональную доводку локальной LLM выключенной, потому что стоящая за ней защита достоверности — эвристика против серьёзной потери токенов, разрастания или повторов, а не гарантия того, что отрицание уцелело, а в ревью перевёрнутое «не» меняет вердикт.
Одна из этих команд делает ревью по-румынски. Движок Keebye на 25 языков справляется с этим на устройстве; я закрепляю язык в меню, и следующая фраза декодируется как румынская, вместе с английскими идентификаторами. Подробности — в статье диктуйте ревью кода на своём языке, включая честный список того, какие языки покрыты, а какие нет.
Ближе к полудню: человеческие дорожки
Не всякая дорожка — агент. Примерно в это время треды в Slack и письма, состарившиеся за ночь, требуют ответов, и раньше именно здесь день незаметно терял часы. Не потому, что ответы были трудными, а потому, что каждый ответ означал уход с дорожки, а у возвращения есть цена.
Голос изменил экономику ответа. Ответ в Slack на два предложения — это одно удержание клавиши, произнесённое в поле сообщения, пока глаза наполовину остаются на соседнем терминале. Письма, связанные с инвесторами, длиннее, и я по-прежнему пишу их аккуратно, но первый черновик теперь произносится, а потом правится. Проговорить черновик — быстрый способ задать форму; править его руками — там, где появляется точность.
Это и тот час, когда требование к приватности важнее всего. То, что я диктую здесь, — внутренности чужих компаний: невыпущенные продукты, разговоры о безопасности, деньги. Keebye расшифровывает на устройстве, работает с выключенным Wi-Fi после загрузки модели, держит локальную историю только из текста, которая сама удаляется через 30 дней, и не отправляет телеметрию. Развёрнутая версия того, почему для меня это было непререкаемым, — в статье куда уходит ваш голос.
День: глубокая работа и дорожки, которые просыпаются
Дни отданы дорожке, требующей настоящей мысли: дизайну, тяжёлому багу, документу, который должен быть правильным. Это набирается руками. Голос — канал управления, а не канал мышления, и трудная задача не становится легче от того, что её произнесли.
Но остальные дорожки не знают, что сейчас время глубокой работы. Агент заканчивает и задаёт вопрос. Ревьюер отвечает на мой комментарий контраргументом. Раньше каждый такой случай был решением: сломать фокус и переключить окно или дать вопросу состариться. Теперь большинство из них — взгляд и предложение. Взгляд на вопрос агента, клик, «да, но оставь старый эндпоинт живым, пока клиент не выйдет», клик назад. Окно глубокой работы остаётся в основном целым, потому что прерывание — это несколько секунд речи, а не полное переключение контекста в чужую задачу.
Хочу быть точным насчёт утверждения. Голос не делает прерывания бесплатными. Он делает механическую цену ответа достаточно малой, чтобы осталась только цена мысли, — а она и была настоящей ценой всегда.
Вечер: дорожка, тяжёлая терминалом
Один из стартапов ведёт большую часть операционной работы по SSH, в tmux, на серверах, где вставка из буфера обмена не существует как понятие. Именно здесь инструменты диктовки обычно валятся, потому что большинство из них вставляет текст.
Keebye по умолчанию тоже вставляет — с разбиением на части с учётом особенностей шелла. Для SSH и tmux я включаю опциональный режим набора, который вводит текст нажатиями клавиш Unicode вместо того, чтобы полагаться на буфер обмена. Он работает с раскладками, отличными от QWERTY, а это важно для румынской клавиатуры на одной из машин. Настройку разбирает статья диктовка, которая выживает в терминале, а компромиссы — руководство по терминалу.
Keebye также отказывается вставлять текст в поля защищённого ввода, поэтому, когда сервер просит парольную фразу, горячая клавиша не делает ничего. Иногда это раздражает и совершенно правильно.
Что не изменилось
День вроде этого можно прочитать так, будто голос решил проблему избытка дорожек. Не решил. Он решил одно конкретное узкое место: физическую цену доставки предложения на ту дорожку, которой оно нужно. Всё остальное — как было.
Мышление всё ещё узкое место для трудной работы. Чтение всё ещё занимает столько, сколько занимает. Агенты всё ещё уходят вбок и всё ещё нуждаются в корректировке, а невнятная корректировка даёт невнятный результат — произнесённая она или набранная. Голос — дополнение к рукам, а не замена; я печатаю много, просто больше не как единственное горлышко, за которым ждут все дорожки.
И у приложения есть шероховатости раннего софта. Идентификаторы слышатся неправильно. Первое слово дня иногда обрезается. Словаря голосовых команд нет, поэтому перемещение между окнами — всё ещё клик. Работает только на Mac и Windows.
Форма всей этой штуки
Старая картинка 10x-разработчика — один человек, который печатает быстрее. Картинка, которая пришла на самом деле, — один человек-дирижёр: несколько дорожек, часть автоматических, часть человеческих, и каждая ждёт предложения. В этом мире рычаг — не скорость набора. Это то, насколько дёшево вы можете доставить намерение той дорожке, которой оно нужно, в любом физическом положении, включая занятую руку.
Если ваш день такой формы, руководство для разработчиков — практическая точка входа, а если вы взвешиваете приложения диктовки под него, альтернативы Keebye — честное сравнение, где сказано, кому что подходит лучше. Пробный период — 14 дней, и он начинается с первого входа в десктопное приложение, так что настоящая неделя дорожек — ровно то, для чего он нужен.
Дорожек больше, чем рук? Попробуйте второй канал.
Начните бесплатный пробный период и проживите один настоящий день с голосом как вторым каналом вывода — 14 дней, на устройстве, без карты.
Start free trialFor Mac and Windows. Your 14 days start when you first sign in from the app.
Читать дальше
Двое детей, три стартапа, один голос
История основателя Keebye: параллельная работа с высокими ставками, ребёнок младше шести месяцев и результат, растущий с числом дорожек, управляемых голосом.
Диктуйте ревью кода на своём языке
Код — на английском. Комментарии в ревью — не обязательно. Как диктовать замечания на одном из 25 языков на устройстве и зачем закреплять язык.
Диктовать промпты параллельным агентам: дорожка за дорожкой
Два-три кодовых агента сразу — и узким местом становится сам промпт. Голосовой процесс: кормить параллельные дорожки, не покидая текущую.