К содержанию
Первый Коммит

Модуль 7 после покупки курса

Валидация и устойчивость — ошибки, которые модель может исправить

  • Аргументы от вероятностной модели
  • Граница встроенной защиты
  • Ограничения Pydantic
  • Модель данных как аргумент
  • Текст ошибки как интерфейс
  • Немые исключения
  • Защитное программирование
  • Бросить или вернуть

Шесть модулей подряд инструменты писались в расчёте на то, что аргументы придут правильные. Иногда проверка вставлялась — рост больше нуля, город найден, — но делалось это по наитию, без системы. Пора навести порядок: в MCP-сервере проверка входных данных значит больше, чем в обычной программе, и причина вполне конкретная: аргументы присылает не программист, а языковая модель.

Отсюда две темы модуля, и связаны они теснее, чем кажется. Первая — как отсеять негодные аргументы минимальными усилиями, не перегружая каждый инструмент проверками. Здесь помогает библиотека Pydantic: она устанавливается в окружение вместе с SDK и умеет проверять границы чисел, длину строк, формат телефона и перекрёстные правила, причём всё это попадает в схему, которую видит модель. Вторая тема — что сообщать, когда аргумент не подошёл. Текст ошибки в MCP-сервере читает не программист в журнале, а модель, которая в этот момент решает, что делать дальше. Значит, сообщение об ошибке — не запись для отладки, а интерфейс.

Вторая тема важнее первой, и запомнить из модуля стоит прежде всего её: инструмент, который отказал внятно, полезнее инструмента, который отказал без пояснения, — даже если код у них одинаковый. Мы проверим это на живой модели: возьмём один и тот же инструмент, поменяем в нём единственную строку — текст отказа — и посмотрим, как меняется поведение модели.

Три темы в модуле не рассматриваются. Хранение данных между запусками и защита от SQL-инъекций — модуль 8. Секреты, лимиты и логирование как отдельная тема безопасности — модуль 9. Сетевые отказы разобраны в модуле 6 и здесь не повторяются, хотя одна находка оттуда — таймауты с пустым текстом — станет в этом модуле главным доводом.

Платная часть курса

Остальные модули открывает покупка курса

Первые 2 модуля курса «MCP-серверы» открыты всем. Остальные 8 модулей, включая этот, открываются после покупки курса. Доступ остаётся навсегда вместе со всеми обновлениями курса.

Уже купили этот курс? Войдите, и он откроется.

В этом модуле 11 разделов

  1. 7.1 Почему здесь всё иначе
  2. 7.2 Где заканчивается встроенная защита
  3. 7.3 Ограничения прямо в сигнатуре
  4. 7.4 Модель данных как тип аргумента
  5. 7.5 Текст ошибки как интерфейс для модели
  6. 7.6 Немые ошибки: исключение без текста
  7. 7.7 Защитное программирование внутри инструмента
  8. 7.8 Бросить исключение или вернуть текстом
  9. 7.9 Практика: сервер приёмной комиссии
  10. Итоги модуля 7
  11. Домашнее задание

Введите запрос: название модуля, тема или раздел.

Стрелки — выбор, Enter — открыть. Ищет по названиям модулей, темам и разделам.