Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Ошибки обрывы и повтор
L18 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Самые неприятные ошибки начинаются после успешной записи, когда ответ потерялся в сети. Пользователь нажимает «повторить», и задача создаётся второй раз. Я проектирую этот случай раньше, чем счастливый путь.
Как я это использую
Разделяйте JSON-RPC error, прикладной isError и транспортный обрыв. Для чтения допустим ограниченный retry с backoff. Для записи сначала установите, известен ли исход операции, и используйте ключ идемпотентности на уровне приложения. Новое id JSON-RPC не является таким ключом. Не повторяйте бесконечно 401 или 403: исправьте аутентификацию и разрешения.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"operation": "create_task",
"idempotencyKey": "operation-101",
"failure": "write committed; response lost",
"retry": "reuse application idempotency key; new JSON-RPC id"
}
Лаборатория · L18
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
В инжекторе ошибок выбирайте момент разрыва: до выполнения, после записи или после ответа. Сравните состояние хранилища и состояние UI. Неподтверждённый результат лучше обозначить явно, чем показать ложный успех или автоматически повторить побочный эффект.
Практика и самопроверка
Исправить обработчик ошибок; решить, когда новый запрос безопасен. Проверить прикладную идемпотентность при потере ответа.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.