Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Progress и cancellation
L17 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Я хочу показывать ход операции, но прогресс не должен становиться обещанием точного оставшегося времени. Изменение счётчика помогает человеку понять, что работа идёт; завершение подтверждается окончательным результатом.
Как я это использую
Привяжите обновления к конкретной операции и проверяйте порядок значений. Для современного HTTP отмена связана с закрытием SSE-запроса; в stdio применяется предусмотренное протоколом уведомление отмены. Отмена означает просьбу прекратить работу, а не гарантированный откат уже выполненного внешнего действия. Сервер должен освобождать ресурсы при отключении.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"timeline": [
"accepted",
"reading: 1/3",
"writing: 2/3",
"complete: 3/3"
],
"cancelAt": 2,
"question": "Была ли запись уже выполнена?"
}
Лаборатория · L17
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
В лаборатории время виртуальное: можно остановить операцию на шаге, когда запись уже произошла. Это показывает, зачем нужны идемпотентность и отдельное подтверждение результата, вместо оптимистичной надписи «всё отменено».
Практика и самопроверка
Перемотать операцию, отменить её и исследовать гонку с завершением. Сравнить stdio и HTTP по нормативным сценариям.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.