Бета · редакция 2026.10-beta1 · MCP 2026-07-28
Elicitation в режиме form
L19 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1
Мне всегда неудобно, когда агент угадывает проект или количество задач. Elicitation form позволяет задать человеку понятный вопрос и получить структурированный ответ. Это не окно для пароля или токена: секреты третьей стороны не должны попадать в такую форму.
Как я это использую
В MRTR сервер возвращает запрос elicitation/create с mode form, message и requestedSchema. Поддерживается ограниченное подмножество схем для плоских полей и вариантов выбора; произвольный вложенный JSON Schema нельзя считать поддерживаемым UI-контрактом. Ответ содержит accept, decline или cancel. При accept сервер повторно валидирует content и полномочия, а затем продолжает исходную операцию.
Разбираем конкретный контракт
Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.
{
"mode": "form",
"message": "В каком проекте создать задачи?",
"requestedSchema": {
"type": "object",
"properties": {
"project": {
"type": "string"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"required": [
"project",
"count"
]
}
}
Лаборатория · L19
Измените условия, проверьте результат и разберите ошибку. Все адреса и данные учебные.
Что легко сломать
В проверяемом задании составьте форму project и count от 1 до 5, затем подтвердите данные вашей попытки. Не добавляйте поле password. Даже если браузер уже проверил форму, сервер обязан проверить типы, ограничения и согласие ещё раз.
Практика и самопроверка
Собрать форму по разрешённому подмножеству schema и отправить учебный ответ. Проверяемая задача отвергает запрос секрета через форму.
Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. На этом уроке практический результат проверяется сервером: войдите в аккаунт, начните попытку и выполните условия. Без неё урок не завершится.
В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.
Попробовать локально
Скачать reference-проект с lockfile и тестами (после входа). Распакуйте в отдельную папку, используйте Node.js 22.14 или новее.
npm ci
npm test
npm start
npm start запускает локальный stdio-сервер задач. Остановите его после практики. Тесты используют официальный TypeScript SDK v2.3.1, проверяют современный HTTP handler, MRTR, отказ и подмену состояния. Fake AS проверяет PKCE, issuer, audience и одноразовый code без внешнего аккаунта. Это учебный проект: production требует долговременного хранилища, настоящей проверки токенов и транзакционной идемпотентности.
На что я опирался
Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.
Проверка знаний
Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.