Gramota — proofreading for Russian, on your device
Проверка и исправление русского текста прямо на телефоне. Без интернета. Без отправки текста на сервер — всё остаётся на устройстве.
Говорите свободно, но падежи и слитное/раздельное написание путаются — потому что в школе на этом языке вы не учились. Грамота показывает именно те правила, которые обычно выпадают из разговорной практики.
Письма, документы, посты: там, где опечатка или пунктуационная ошибка стоит репутации. Быстрая проверка без необходимости отправлять текст куда-либо.
Видите не просто исправление, а какое правило было нарушено — что помогает запомнить его, а не просто принять готовый ответ.
Отдельная, более мощная модель читает текст предложение за предложением и ловит то, что не видит обычная проверка: сильно испорченные слова, редкую пунктуацию, непривычные обороты. Скачивается один раз, а дальше работает офлайн, как и всё остальное.
Вставьте или напишите текст: Грамота находит ошибки в орфографии, пунктуации и грамматике и сразу показывает исправленный вариант.
Каждое исправление показано как переход «было → стало», а не просто переписанный текст — видно, что конкретно поменялось и почему.
Каждая проверка получает оценку от 0 до 100 и короткий вердикт — «Отлично», «Хорошо», «Есть над чем поработать» — чтобы видеть, насколько текст готов, ещё до того, как его отправить.
Все проверки сохраняются, чтобы вы видели типичные ошибки и то, как письмо становится увереннее со временем. История синхронизируется между iPhone, iPad и Mac через iCloud.
Через системный шорткат «Поделиться → Грамота» можно отправить текст из заметок, почты или мессенджера прямо в проверку, без копирования и переключения между приложениями.
Модель работает прямо на устройстве. Текст никогда не покидает телефон, не отправляется на сервер и доступен без интернета, в самолёте, в метро, где угодно.
Грамоту построил один человек: Андрей Троегубов, продакт-менеджер без инженерного образования, который пишет код вместе с AI-агентами. Идея появилась, когда в конце 2024-го Apple Intelligence вышла без русского языка; основная работа шла в течение 2026-го, и летом приложение вышло в App Store. Ниже инженерная часть истории, с настоящими цифрами, включая неловкие.
Русская орфография сознательно игнорирует произношение. Безударное «о» звучит как «а» («молоко» на слух «малако»), звонкие согласные глохнут в конце слова, а «-тся» и «-ться» звучат одинаково и различаются только грамматикой. Корректор должен восстановить написание из того, что автор услышал, а это ровно то направление, которое слух проверить не может.
Нейросети читают текст кусочками-subword, а не словами. Поменяйте одну букву на слух, и слово нарежется на другие кусочки: модель видит не то же слово с ошибкой, а незнакомое слово. Русский усугубляет это: смысл сидит в окончаниях, ровно там, где сжатие и маленькие модели теряют точность первыми.
На реальных текстах даже профессиональные разметчики не согласны друг с другом близко к 99%: у многих предложений несколько допустимых исправлений. Цель выше уровня шума метрики не амбициозная, она неопределённая. К 99% может и должна стремиться другая метрика: не портить текст, который уже был правильным.
Без серверов модель живёт в памяти и тепловом пакете телефона. Первая попытка, модель на 8 миллиардов параметров, запускалась, но из RAM не уходила: iPadOS просто не освобождала память. Все архитектурные решения дальше принимались об эту стену.
Модель на 8 миллиардов умерла об память. Адаптированная под русский на 3 миллиарда об качество. Спроектированная с нуля на 82 миллиона об потолок ёмкости: работала до предела, а дальше выдумывала редкие формы слов. Самым трудным решением стало поставить на готовую предобученную модель на 820 миллионов, которая из коробки набрала 0% на задаче исправления. Звучит как приговор, пока не понимаешь причину: её учили восстанавливать замаскированный текст, чинить предложения её никто не просил. Правильный русский под этим шумом был виден. После дообучения она стала первым рабочим движком: 85% на продуктовом benchmark. С одной оговоркой.
Оговорка: движок тратил около 2 160 мс на предложение, потому что генерация текста означает полный проход decoder на каждый выходной токен. Решение оказалось архитектурным: вместо переписывания предложения модель классифицирует каждое слово (оставить, удалить, поменять падеж, исправить букву), а правки применяет детерминированный код. Такую форму сети Apple Neural Engine исполняет нативно: 246 миллионов параметров, 99,7% операций на ANE, около 17 мс на предложение, примерно в 130 раз быстрее.
И такая модель структурно не умеет пересказывать: правки берутся из фиксированного меню, а переписывания в этом меню нет. На benchmark новый движок уже был впереди; финальной проверкой стало сравнение на свежем тексте из 212 слов, которого не видел ни один из движков. Новый сделал 13 исправлений, и все 13 верные. Генеративный сделал 21, из них 3 плохих, включая одно с изменением смысла предложения. Это подтвердило выбор, и старый движок на 800 МБ покинул приложение.
Самое ценное исправление проекта не касалось модели. Оценочный набор, по которому наводилось обучение, пересобирался из тех же данных, на которых модель училась, поэтому оценки измеряли память, а не умение: одна категория показывала 22,6% при честных 4,4%. Лечение скучное: замороженный benchmark, который никогда не попадает в обучение, плюс карантинный срез свежих данных каждого раунда.
Та же дисциплина окупалась дальше. Расчёт теоретического потолка (46,2% для той архитектуры) вскрыл баг, который никто не подозревал: 38,9% правильных ответов не мог воспроизвести сам код сборки текста из правок. А перемножение вероятностей вдоль «самоулучшающегося» цикла показало, что из 1 400 прицельных примеров за раунд модель видела около 16. Цикл был декоративным, просто никто не умножал. Теперь всё это автоматические проверки после каждого раунда обучения, потому что однажды две регрессии прожили 49 раундов, пока я смотрел на дашборд.
Первая честная цифра была обидной: модель правила 41% предложений, в которых ошибок не было. В каждом обучающем примере сидели ошибки, и модель выучила, что текст всегда сломан. Примерно треть обучения стала парами «чистое → чистое»: если модель должна уметь ничего не делать, этому тоже нужно учить.
Дальше всё строится вокруг точности, потому что неверная правка портит текст, а пропущенная просто оставляет его как есть. Словарный слой срабатывает только при трёх условиях сразу: слово неизвестно словарю на 422 тысячи форм, замена похожа на механику реальной опечатки (подмена «на слух» или соседняя клавиша), и исправление минимум в 10 раз частотнее ближайшего конкурента. Ложные срабатывания на живом неформальном тексте: с 16,7% до 0,5%.
У меня нет инженерного диплома и не было инженерной должности. Код написан вместе с AI-агентами, и мне проще сказать это прямо, чем позволить странице намекать на обратное. Интересен другой вопрос: что остаётся человеку, когда набор кода бесплатен.
Агенты выдают настоящие исправления и убедительную чепуху с одинаковой скоростью и одинаковой уверенностью. Однажды сгенерированный AI отчёт о тестировании пришёл с таблицами, количествами и конкретными «пропущенными исправлениями»: при проверке на реальном конвейере части этих исправлений не оказалось ни в одной версии тестового текста. Так что работа человека выглядела так: выбрать планку качества, построить оценки, которые нельзя обмануть, пропустить перенос на Swift через побайтовые эталонные проверки (tokenizer 199/199, весь конвейер 149/150) и принимать решения: развернуть архитектуру, закрыть три модели, удалить запасной движок, отказаться от 99%. Это работа продакт-менеджера, выполненная на инженерной глубине.
План честный по отношению к платформам: каждая получает то, что реально поддерживают её железо и привычки, а не копию соседнего приложения.
Движок-классификатор остаётся: на телефоне 17 мс и почти нулевые ложные срабатывания важнее любой дополнительной мощности. Поверх него придёт Репетитор: приложение уже знает, какие правила вы нарушаете, и может превращать ваши же исправленные предложения в упражнения, повторяя их ровно до того момента, когда правило закрепится. Движок готов и проверен (1 120 из 1 120 сгенерированных упражнений сходятся с корректором), остались продуктовые детали.
Правило приватности то же: Репетитор учится на том, когда вы принимаете или отменяете правки, а не на отправке вашего текста куда-либо.
Mac-версии приложений, выросших из iOS, обычно делаются по остаточному принципу: те же экраны на большом мониторе. Так теряется главное, что есть у Mac: запас. У него в разы больше памяти, чем у телефона, и никакой тревоги за батарею у розетки, поэтому он может держать класс моделей, который телефону не светит.
Это и есть текущее исследовательское направление: заметно более крупная модель для Mac, по-прежнему работающая на устройстве, но выходящая за пределы фиксированного меню правок, в сторону объяснения исправлений и переписывания под нужный тон. Классификатор при этом остаётся на точной работе, где он структурно сильнее. Правило то же, что и в первый день: всё работает на машине, и ничего её не покидает.
«Научиться» отвечает на вопрос «что сделать?» и пишется с мягким знаком.
Если этот раздел похож на портфолио, так и задумано. Обо мне, других проектах и как со мной связаться: troegubov.co.
Грамота доступна для iPhone, iPad и Mac. Загрузите приложение и начните проверять русский текст прямо на устройстве, бесплатно и без интернета.