Уже в App Store

Gramota — proofreading for Russian, on your device

Проверка и исправление русского текста прямо на телефоне. Без интернета. Без отправки текста на сервер — всё остаётся на устройстве.

Работает офлайн Ничего не отправляется на сервер iOS, iPadOS, macOS
ДЛЯ КОГО

Три способа потерять уверенность в письменном русском, и один способ её вернуть

01

Если вы выросли с русским дома

Говорите свободно, но падежи и слитное/раздельное написание путаются — потому что в школе на этом языке вы не учились. Грамота показывает именно те правила, которые обычно выпадают из разговорной практики.

02

Если вы пишете по-русски профессионально

Письма, документы, посты: там, где опечатка или пунктуационная ошибка стоит репутации. Быстрая проверка без необходимости отправлять текст куда-либо.

03

Если вы изучаете русский язык

Видите не просто исправление, а какое правило было нарушено — что помогает запомнить его, а не просто принять готовый ответ.

КАК ЭТО РАБОТАЕТ

Простой ввод текста, разборчивый результат

Глубокая проверка

Отдельная, более мощная модель читает текст предложение за предложением и ловит то, что не видит обычная проверка: сильно испорченные слова, редкую пунктуацию, непривычные обороты. Скачивается один раз, а дальше работает офлайн, как и всё остальное.

Проверка и исправление

Вставьте или напишите текст: Грамота находит ошибки в орфографии, пунктуации и грамматике и сразу показывает исправленный вариант.

Что именно изменилось

Каждое исправление показано как переход «было → стало», а не просто переписанный текст — видно, что конкретно поменялось и почему.

Оценка текста

Каждая проверка получает оценку от 0 до 100 и короткий вердикт — «Отлично», «Хорошо», «Есть над чем поработать» — чтобы видеть, насколько текст готов, ещё до того, как его отправить.

История и прогресс

Все проверки сохраняются, чтобы вы видели типичные ошибки и то, как письмо становится увереннее со временем. История синхронизируется между iPhone, iPad и Mac через iCloud.

Исправление из других приложений

Через системный шорткат «Поделиться → Грамота» можно отправить текст из заметок, почты или мессенджера прямо в проверку, без копирования и переключения между приложениями.

Офлайн и приватно

Модель работает прямо на устройстве. Текст никогда не покидает телефон, не отправляется на сервер и доступен без интернета, в самолёте, в метро, где угодно.

ПОД КАПОТОМ

Почему проверять русский на устройстве сложно, и как это всё-таки построено

Грамоту построил один человек: Андрей Троегубов, продакт-менеджер без инженерного образования, который пишет код вместе с AI-агентами. Идея появилась, когда в конце 2024-го Apple Intelligence вышла без русского языка; основная работа шла в течение 2026-го, и летом приложение вышло в App Store. Ниже инженерная часть истории, с настоящими цифрами, включая неловкие.

~130×
ускорение после разворота архитектуры
99,7%
операций модели выполняется на Apple Neural Engine
17 мс
на проверку одного предложения
2,1 млн
синтетических обучающих пар, собранных на одном Mac

Что делает задачу сложной

Язык спорит со слухом

Русская орфография сознательно игнорирует произношение. Безударное «о» звучит как «а» («молоко» на слух «малако»), звонкие согласные глохнут в конце слова, а «-тся» и «-ться» звучат одинаково и различаются только грамматикой. Корректор должен восстановить написание из того, что автор услышал, а это ровно то направление, которое слух проверить не может.

Одна буква ломает модели зрение

Нейросети читают текст кусочками-subword, а не словами. Поменяйте одну букву на слух, и слово нарежется на другие кусочки: модель видит не то же слово с ошибкой, а незнакомое слово. Русский усугубляет это: смысл сидит в окончаниях, ровно там, где сжатие и маленькие модели теряют точность первыми.

Правильных ответов несколько

На реальных текстах даже профессиональные разметчики не согласны друг с другом близко к 99%: у многих предложений несколько допустимых исправлений. Цель выше уровня шума метрики не амбициозная, она неопределённая. К 99% может и должна стремиться другая метрика: не портить текст, который уже был правильным.

И всё это должно уместиться в телефон

Без серверов модель живёт в памяти и тепловом пакете телефона. Первая попытка, модель на 8 миллиардов параметров, запускалась, но из RAM не уходила: iPadOS просто не освобождала память. Все архитектурные решения дальше принимались об эту стену.

Понадобилось четыре модели

Модель на 8 миллиардов умерла об память. Адаптированная под русский на 3 миллиарда об качество. Спроектированная с нуля на 82 миллиона об потолок ёмкости: работала до предела, а дальше выдумывала редкие формы слов. Самым трудным решением стало поставить на готовую предобученную модель на 820 миллионов, которая из коробки набрала 0% на задаче исправления. Звучит как приговор, пока не понимаешь причину: её учили восстанавливать замаскированный текст, чинить предложения её никто не просил. Правильный русский под этим шумом был виден. После дообучения она стала первым рабочим движком: 85% на продуктовом benchmark. С одной оговоркой.

От 2 160 миллисекунд к 17

Оговорка: движок тратил около 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-агентами, и мне проще сказать это прямо, чем позволить странице намекать на обратное. Интересен другой вопрос: что остаётся человеку, когда набор кода бесплатен.

Агенты выдают настоящие исправления и убедительную чепуху с одинаковой скоростью и одинаковой уверенностью. Однажды сгенерированный AI отчёт о тестировании пришёл с таблицами, количествами и конкретными «пропущенными исправлениями»: при проверке на реальном конвейере части этих исправлений не оказалось ни в одной версии тестового текста. Так что работа человека выглядела так: выбрать планку качества, построить оценки, которые нельзя обмануть, пропустить перенос на Swift через побайтовые эталонные проверки (tokenizer 199/199, весь конвейер 149/150) и принимать решения: развернуть архитектуру, закрыть три модели, удалить запасной движок, отказаться от 99%. Это работа продакт-менеджера, выполненная на инженерной глубине.

Куда это движется

План честный по отношению к платформам: каждая получает то, что реально поддерживают её железо и привычки, а не копию соседнего приложения.

Движок-классификатор остаётся: на телефоне 17 мс и почти нулевые ложные срабатывания важнее любой дополнительной мощности. Поверх него придёт Репетитор: приложение уже знает, какие правила вы нарушаете, и может превращать ваши же исправленные предложения в упражнения, повторяя их ровно до того момента, когда правило закрепится. Движок готов и проверен (1 120 из 1 120 сгенерированных упражнений сходятся с корректором), остались продуктовые детали.

Правило приватности то же: Репетитор учится на том, когда вы принимаете или отменяете правки, а не на отправке вашего текста куда-либо.

Репетиторскоро
Найдите ошибку:
Он хочет научится плавать.
научится научиться ✓

Mac-версии приложений, выросших из iOS, обычно делаются по остаточному принципу: те же экраны на большом мониторе. Так теряется главное, что есть у Mac: запас. У него в разы больше памяти, чем у телефона, и никакой тревоги за батарею у розетки, поэтому он может держать класс моделей, который телефону не светит.

Это и есть текущее исследовательское направление: заметно более крупная модель для Mac, по-прежнему работающая на устройстве, но выходящая за пределы фиксированного меню правок, в сторону объяснения исправлений и переписывания под нужный тон. Классификатор при этом остаётся на точной работе, где он структурно сильнее. Правило то же, что и в первый день: всё работает на машине, и ничего её не покидает.

Грамота для Macисследование
Он хочет научится плавать.
Он хочет научиться плавать.
Тон: Нейтральный Дружелюбный Официальный
Почему

«Научиться» отвечает на вопрос «что сделать?» и пишется с мягким знаком.

Если этот раздел похож на портфолио, так и задумано. Обо мне, других проектах и как со мной связаться: troegubov.co.

Уже в App Store

Грамота доступна для iPhone, iPad и Mac. Загрузите приложение и начните проверять русский текст прямо на устройстве, бесплатно и без интернета.