Пишем понятные сообщения об ошибках с ИИ
Автор: MashaGPT • 15 сентября 2026 • Нейросети
«Что-то пошло не так» появляется после оплаты, отправки формы и загрузки файла. Только вопросы у человека каждый раз разные: деньги списались? Заявка ушла? Нужно выбрать другой документ? Нейросеть умеет быстро предложить новые формулировки. Чтобы они действительно помогали, ей нужны сведения о случившемся, а не одна старая строка из интерфейса.
Начните с фактов, которые знает сервис
Соберите несколько частых ошибок из обращений поддержки или наблюдений команды. Для каждой запишите, что делал человек, на каком шаге возникла проблема и какой ответ пришёл от системы. Технический код полезен разработчику, но сам по себе редко объясняет действие для пользователя. Один и тот же HTTP-статус в разных операциях может требовать разных сообщений.
Отдельно выясните, что сохранилось. Форма осталась на экране, черновик записан на сервере, файл не загрузился, заказ создан, но подтверждение не дошло - это разные состояния. Не заменяйте их общей успокаивающей фразой «ваши данные в безопасности». Если факт не подтверждён, его нельзя обещать даже ради дружелюбного тона.
| Что уточнить | Зачем это нужно автору текста |
|---|---|
| Действие пользователя | Назвать именно ту операцию, которая не завершилась |
| Подтверждённая причина | Не обвинять формат файла, когда недоступен сервер |
| Состояние результата | Отличить неудачу от ситуации, где исход ещё неизвестен |
| Доступное действие | Предложить кнопку или шаг, который действительно существует |
| Что осталось на месте | Сообщить о сохранённых полях или черновике только при подтверждении |
| Путь в поддержку | Дать безопасный идентификатор обращения и рабочий контакт, если сам человек проблему не решит |
Нейросеть можно попросить сначала найти пробелы в этой карточке. Если она задаёт вопрос о повторном платеже или сохранении файла, это полезный результат. Не заставляйте её любой ценой закончить текст до разговора с разработчиком.
Разным причинам нужны разные сообщения
Ошибку в одном поле лучше объяснить рядом с этим полем. Неисправность сервиса требует другого сообщения: пользователь не может исправить сервер, меняя правильно введённый адрес. Отказ в доступе тоже не стоит маскировать под неверный ввод. Разделите причины ещё до редактуры, чтобы модель не предлагала одинаковое «проверьте данные и повторите» для всего подряд.
Не заполнено обязательное поле
Подсказка должна использовать то же название поля, которое видно человеку. «Проверьте идентификатор контакта» не помогает, когда форма просит почту. Не называйте адрес несуществующим, если проверили только его формат: это более сильное утверждение, для которого нужны другие данные.
Файл превышает ограничение
Не предлагайте сжать изображение, когда сервис принимает только PDF, и не советуйте разбить документ, если несколько файлов загрузить нельзя. Полезная фраза зависит от доступного действия. При ошибке сети тот же файл может быть вполне допустимым, поэтому сообщение о размере будет неверным.
Нет прав на изменение
Не путайте отсутствие прав с истёкшим входом в аккаунт. Во втором случае человеку может быть достаточно войти заново, в первом это ничего не изменит. Хороший текст экономит попытки именно потому, что правильно называет причину.
Самый опасный совет: «просто повторите»

Сеть оборвалась после нажатия «Оплатить». Браузер не получил ответ, но операция могла уже пройти на сервере. Фраза «платёж не выполнен, попробуйте ещё раз» в такой ситуации утверждает больше, чем известно. Повторное действие может создать второй заказ или другое нежелательное последствие, если защита от повторов не предусмотрена.
Разработчик должен подтвердить, как система узнаёт результат и безопасен ли повтор. Для операций, меняющих данные, нередко используется специальный идентификатор, по которому сервер узнаёт уже начатый запрос. Но автор текста не может считать такую защиту существующей только потому, что она есть у другого платёжного сервиса.
Отсутствие ответа от сервера не доказывает, что действие не выполнено.
Если сервис умеет проверять результат оплаты, подойдёт: «Не удалось получить подтверждение оплаты. Проверяем статус заказа». После этого система должна действительно проверить статус и показать результат. Если такой функции нет, предложите перейти в историю заказов или обратиться в поддержку. Выбирайте только тот путь, который работает в вашем сервисе.
Похожая осторожность нужна после отправки заявки, бронирования и массового изменения записей. Просите ИИ выделять случаи с неизвестным исходом отдельно. В них нельзя автоматически писать «ничего не изменилось», «файл удалён» или «деньги не списаны».
Как получить от нейросети полезные варианты
Опишите модели, что произошло и что видно на экране. Назовите аудиторию, действующие кнопки и ограничения места. Попросите несколько разных вариантов, но не заставляйте ужимать смысл в произвольные двадцать символов. Иногда нужна короткая строка и отдельное пояснение, иногда достаточно одного конкретного предложения.
В ChatGPT на MashaGPT можно разобрать обезличенный набор старых сообщений. Не вставляйте пароли, токены, полные ответы сервера с клиентскими данными и внутренние адреса. Для редактуры достаточно описать подтверждённую причину и действия, которые доступны пользователю.
Сравнивайте варианты по смыслу. В одном может быть удачный ритм, но ложное обещание сохранения. В другом всё точно, однако термин непонятен без знания устройства сервиса. Итоговую фразу часто удобнее собрать редактору из удачных частей, снова сверив её с подтверждённым состоянием.
Уберите вежливую пустоту и опасные подробности

«К сожалению, в настоящий момент выполнение операции не представляется возможным» занимает место, но не называет ни действие, ни выход. Начните с конкретного: «Не удалось сохранить изменения». Затем добавьте проверенную причину или следующий шаг. Извинение допустимо, если уместно по тону сервиса, но оно не должно заменять полезную информацию.
Шутки после потери работы, оплаты или ошибки с документами обычно не помогают. Нейтральный тон лучше сохраняет ясность. Не нужно и обвинять человека: сообщение должно объяснять, что изменить, а не сообщать, что он «неправильно заполнил всё».
- Не выводите в основной текст SQL, внутренние пути, токены и содержимое технической трассировки.
- Не повторяйте полный введённый секрет или персональные данные, чтобы показать ошибку.
- Если нужен номер обращения, используйте предусмотренный безопасный идентификатор, а не случайный фрагмент журнала.
- В сценариях входа и восстановления не раскрывайте существование чужого аккаунта вопреки политике безопасности.
- Не обещайте «попробуйте через пять минут», если срок восстановления неизвестен.
Попросите нейросеть отметить каждую фразу, которая требует технического доказательства. Получится короткая проверка честности текста: действительно ли сохранён черновик, действительно ли можно продолжить позже, действительно ли поддержка получает нужный номер. Всё неподтверждённое либо уточняется, либо убирается.
Сообщение должно быть заметно без красного цвета

Хорошая формулировка бесполезна, если её не замечают. Проверяйте расположение рядом с проблемным полем, читаемый контраст и переносы на телефоне. Не уменьшайте шрифт, чтобы длинный текст влез в одну строку. Лучше сократить ненужное, перенести пояснение или изменить размер блока.
Не обозначайте ошибку только красной рамкой. Нужен текст, который объясняет проблему. Для формы с несколькими ошибками полезна сводка с переходами к полям; названия в сводке и возле полей должны совпадать. Это помогает и тому, кто пользуется клавиатурой, и тому, кто просто не понял, где остановилась отправка.
Динамическое уведомление должно быть доступно программе экранного чтения. Конкретный способ объявления и управление фокусом выбирает разработчик с учётом сценария: не каждую фоновую мелочь стоит превращать в срочное оповещение. Важно, чтобы сообщение прозвучало вовремя, не перебило работу без необходимости и не исчезло раньше, чем человек успел отреагировать.
Проверяйте текст вместе с действием
После редактуры воспроизведите ошибку в тестовой среде. Проверьте, сохранились ли введённые поля, ведёт ли кнопка туда, куда обещает, и изменяется ли сообщение после исправления. Скриншот одного состояния не покажет, что кнопка «Повторить» ничего не делает или уже исправленное поле продолжает считаться ошибочным.
- Вызовите именно ту причину, для которой написан текст, и отдельно соседнюю похожую ошибку.
- Прочитайте сообщение без контекста разработки: понятно ли, что случилось и что делать.
- Выполните предложенное действие и проверьте результат.
- Повторите на узком экране и с клавиатуры; проверьте объявление динамического сообщения.
- Сверьте варианты с отсутствующим ответом сервера, чтобы не выдать неопределённость за подтверждённую неудачу.
- Сохраните текст вместе с кодом состояния и условиями его показа, чтобы следующая правка не оторвала одно от другого.
После выпуска полезно смотреть, какие сообщения вызывают повторные обращения и удаётся ли людям завершить действие. Но падение числа показов ошибки само по себе не доказывает улучшение текста: могла измениться форма или пропасть событие аналитики. Нейросети можно поручить свести обезличенные обращения, а проверять результат надо по реальному пользовательскому пути.
Начните с нескольких частых и болезненных ситуаций. Исправленная строка рядом с оплатой или сохранением документа обычно полезнее десятка декоративных вариаций общего «упс». Сильный текст здесь узнаётся просто: он точно описывает известное состояние и помогает сделать следующий безопасный шаг.



