Бета · редакция 2026.10-beta1 · MCP 2026-07-28

Типы содержимого и структурированный результат

L10 · MCP 2026-07-28 · открытая бета · редакция 2026.10-beta1

Я разделяю представление для человека и данные для программы. content содержит типизированные блоки, structuredContent позволяет клиенту работать с результатом без разбора естественного языка. В современном профиле structuredContent не ограничен только объектом: допустимость конкретного значения определяет объявленный контракт.

Предварительно: L07 · L08

Как я это использую

Текст, изображения, аудио, ссылки на ресурсы и встроенные ресурсы имеют свои поля и ограничения. Проверяйте тип и mimeType перед отображением. Если инструмент объявляет outputSchema, тестируйте соответствие structuredContent этой схеме. В нашем портале нет видеотеки: для объяснений достаточно JSON и статичных диаграмм, а не встроенных роликов.

Контекст и действие

Разбираем конкретный контракт

Это учебный fixture: поля с доменом .example и идентификаторы вымышлены. Если показан фрагмент, его нужно поместить в соответствующий envelope выбранного профиля.

{
  "resultType": "complete",
  "content": [
    {
      "type": "text",
      "text": "Найдено 2 задачи"
    }
  ],
  "structuredContent": [
    {
      "id": "task-101"
    },
    {
      "id": "task-102"
    }
  ]
}

Лаборатория · L10

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

Что легко сломать

Не вставляйте HTML из content напрямую в DOM и не считайте resource_link подтверждением безопасного URL. Большой base64-блок может исчерпать память ещё до отображения: лимитируйте тело запроса, декодированный размер и число блоков.

Практика и самопроверка

Исследовать text, image, audio и resource content на локальных примерах. Проверить тип structuredContent и клиентские ограничения.

Я советую сначала предсказать результат, затем изменить один параметр в лаборатории и объяснить разницу. Сохраните небольшой fixture с нормальным и ошибочным случаем для своего проекта. Тренажёр открыт без регистрации; для сохранения ответов на тесты и завершения урока войдите в аккаунт.

В конце страницы — три вопроса. После правильных ответов можно завершить урок; ошибка в следующей тренировке не стирает уже полученное подтверждение этой редакции теста.

На что я опирался

Профиль и ссылки проверены 15 октября 2026. Core, deprecated compatibility и extensions в этом курсе помечены отдельно. Примеры объясняют выбранные сценарии; для реализации сверяйте нормативные MUST/SHOULD и schema соответствующей версии.

Проверка знаний

Читайте свободно. Войдите, чтобы отвечать и сохранять прогресс.

Может ли structuredContent быть массивом?

Что проверить перед показом бинарного блока?

Безопасен ли произвольный HTML из tool?