AI Systems Engineer: проектирование и эксплуатация LLM-систем в продакшене
Соберёте LLM-систему, готовую к проду: RAG с честными цитатами, агенты с компенсациями, evals перед каждым релизом и учёт стоимости до копейки. Без этого поток обрывается на середине JSON-поля, бот пересказывает чужие тикеты, а сожжённый бюджет замечают в конце месяца. В 99 лабораторных вы пишете каждый слой сами на чистом Python — от клиента модели до шлюза с лимитами и канарейки с автооткатом. Свои ключи и счёт за токены не нужны: модель в песочнице эмулируется и ломается по сценарию, а эмбеддер и реранкер — настоящие. Финал — свой сервис с приёмкой из шести чекпоинтов и passport.json с цифрами для собеседования.
Чему вы научитесь
- Вызов модели как контракт: нормализованный клиент над форматами Responses и Messages, честный разбор обрыва SSE-потока, укладка диалога в окно по счёту токенов, пул параллельных вызовов с дедлайном.
- Evals раньше промпта: золотой набор с линтером, раннер с повторами и возобновлением, судья-модель с обменом мест и каппой Коэна, гейт качества в CI.
- Промпты как код: версии со строгим рендером и хешем, прогон двух версий на золотом наборе, кассеты запись-повтор, охота на нестабильные кейсы повторами с seed.
- Семантический поиск без векторной базы: точный индекс, IVF на k-means, int8-квантование с досчётом, деградация до BM25 по таймауту.
- RAG, которому можно верить: гибридный поиск с реранком, цитаты со смещениями в документе, порог честного отказа по выборке, допуск документов до ранжирования.
- Индекс под нагрузкой: инкрементальное обновление, атомарная публикация версий, шардирование со слиянием top-k, кэш запросов с изоляцией по правам.
- Агенты: цикл с лимитами и честными стоп-причинами, saga с компенсациями и восстановлением после падения, клиент MCP по stdio без SDK, оркестрация волнами, супервизор против зацикливания.
- Безопасность: шесть атак на собственный сервис, выходной фильтр против утечек, наименьшие привилегии для инструментов, карантин документов при индексации, гейт красной команды по границе Уилсона.
- Надёжность и масштаб: повтор ровно в одном слое, предохранитель, Retry-After, лестница деградации, токен-бакет, батчинг, маршрутизация по сложности и каскад моделей.
- Эксплуатация: нагрузочный свип до точки насыщения, трейсы и /metrics, идемпотентный журнал стоимости, алерты на всплеск расхода, релизный гейт и канарейка с автоматическим откатом.
Где LLM-система ломается в проде
Демо на ноутбуке отвечает за три секунды и стоит копейки. В проде провайдер отвечает 429, поток обрывается на середине JSON-поля, а повтор, написанный сразу в двух слоях, удваивает счёт за токены. Первая половина курса — о том, чтобы вызов модели перестал быть надеждой: контракт, приёмка ответа, повтор ровно в одном месте, бюджет с резервом под конкуренцией.
RAG отвечает уверенно и мимо базы: ретривер набрал похожие, но нерелевантные куски, цитата указывает не на тот документ, а порога отказа нет — сервису проще ответить неправильно, чем сказать «в базе этого нет». Здесь вы строите поиск от точного индекса до шардирования и сами считаете порог, после которого честный отказ дешевле красивой выдумки.
Агент получает от модели вызов инструмента, воркер падает посреди цепочки — и письмо клиенту уходит дважды. Документ из выдачи несёт инструкцию для модели, и бот пересказывает содержимое закрытых тикетов чужому пользователю. На каждый такой случай в курсе есть лабораторная, где сбой воспроизводится по сценарию, а ваша защита проверяется атакой.
Деньги замечают в конце месяца. Без журнала стоимости нет ответа, какой клиент и какая версия промпта сожгли бюджет, а без гейта по качеству, задержке и цене каждый релиз промпта — лотерея. Последняя треть курса — наблюдаемость, стоимость, нагрузка и релиз с автоматическим откатом.
Все слои пишете сами
Курс идёт на чистом Python без LLM-фреймворков. Вы сами пишете клиент модели с ретраями и дедлайнами, раннер eval, векторный индекс, HTTP-сервис /ask с семафором и счётчиками, агентный цикл с трассой, шлюз с лимитами пользователя и тенанта, журнал стоимости. Когда после курса возьмёте готовый фреймворк, вы будете знать, что у него внутри и где он сломается.

Задачи на код — расчёты, по которым система принимает решения: порог отказа по выборке, точка насыщения под нагрузкой, граница Уилсона для вердикта красной команды, каппа судьи-модели, раскладка запроса под кэш промптов, справедливое деление лимита между клиентами.
Как устроена практика
Лабораторные идут на Python в песочнице курса. Модель в ней — эмулятор в форматах OpenAI и Anthropic: он отвечает по сценарию лабы и умеет ломаться как настоящий провайдер — 429 с Retry-After, обрыв потока на полуслове, всплеск задержки, лимит на минуту. Эмбеддер e5 и реранкер — настоящие модели внутри песочницы, поэтому качество поиска вы меряете на живых векторах. Свои ключи и счёт за токены не нужны.
Проверка смотрит на поведение, а не на вид кода. Если при повторе бюджет списался дважды, цитата не совпала с документом или ваш фильтр пропустил хотя бы одну из шести атак — задача не принята, как бы аккуратно ни выглядело решение.
Сбои в лабах управляемые: воркер получает отказ посреди пакета, кэш протухает в момент смены корпуса, два агента уходят в бесконечный обмен — и ваше решение обязано пережить это без потерь и двойных эффектов.
Финальный проект
Весь последний модуль вы собираете сервис вопросов и ответов по базе знаний и проводите его через шесть чекпоинтов приёмки: качество поиска и честные цитаты, устойчивость к атакам на сам сервис, сбои шлюза и нагрузка, стоимость и релизный гейт, разбор инцидента по артефактам прогона, паспорт системы.
Скрипт make_passport.py собирает passport.json из артефактов ваших прогонов: цифры качества, p95 задержки и стоимости ответа. Финальный урок — system design и вопросы собеседования на этих цифрах, а не на пересказе статей.

Вопросы по курсу можно задать поддержке: t.me/mentorix_support
Для кого этот курс
Бэкенд-разработчик, которому поручили встроить LLM в продукт, и он не хочет отвечать за чёрный ящик.
DevOps или SRE, принимающий LLM-сервис в эксплуатацию: SLO, деградация, лимиты, стоимость — здесь это всё в лабах.
Инженер, который уже вызывает модель через SDK, но eval, RAG и агенты собраны по туториалам и держатся на честном слове.
Готовитесь к собеседованию на позицию с LLM в проде: капстоун оставляет вам passport.json с цифрами для system design.
Что нужно знать
Уверенный Python: функции, классы, исключения, работа с файлами.
HTTP и JSON: запрос, статус-код, заголовок — на уровне практики с любым API.
Опыт работы с LLM API не требуется: первый модуль начинается с контракта вызова.
Программа курса
Модулей: 17, уроков: 92. Задачи с кодом проверяются автоматически.
Вызов модели: контракт, ошибки, токены
- Единый клиент: два API, один контракт
- Стриминг, который переживает обрыв
- Токены: считаем заранее и знаем свою погрешность
- Окно контекста: укладка истории без 400
- Нагрузка и деньги: параллелизм, таймауты, резерв бюджета
Структурный вывод, приёмка ответа и вызовы на проводе
- Схема как контракт: что допускает strict у двух провайдеров
- Приёмка ответа: классы отказов и валидатор
- Ремонт ответа и повтор по классу сбоя
- Вызовы инструментов на проводе: форматы двух провайдеров
- Пакетная обработка: files и batches без потерянных ответов
- Структурный вывод в потоке: input_json_delta и ранний обрыв
Evals: измеряем, а не верим
- Золотой набор: из чего состоит измерение
- Метрики и неопределённость: что считать правильным и насколько мы уверены
- Раннер: прогон набора против сервиса без потери данных
- Сравнение версий: регрессия или шум
- LLM-судья: когда оценщик сам надо проверять
- Eval в CI: гейт, бюджет и сломанные прогоны
Промпты как код: версии и регрессии
- Промпт это файл: шаблон, версия, хеш
- Две версии промпта: парное сравнение и решение о выпуске
- Воспроизводимость: seed, запись и повтор ответов, нестабильные кейсы
- Регрессионный гейт для промптов: запускаем только задетое и считаем токены заранее
Эмбеддинги и семантический поиск на живой модели
- Клиент эмбеддингов как сервисная зависимость: батчи, префиксы, кэш документов
- Точный индекс с нуля: матрица, top-k, фильтры, удаление
- Приближённый поиск: IVF своими руками и цена recall
- Квантование и досчёт: память в четыре раза меньше, recall на месте
- Сервис семантического поиска: бюджет задержки и честная деградация до BM25
RAG и реранк: ответ с цитатами и честный отказ
- Из чего состоит ответ: стадии, трасса и бюджет задержки
- Контекст под бюджетом: отбор, дедупликация, порядок
- Реранк: дорогая стадия с запасным выходом
- Цитаты, которые проверяются кодом
- Честный отказ: порог на данных и допуск документов
- Сервис /ask: контракт, дедлайн и честные счётчики вызовов
Индекс под нагрузкой: обновление, шардирование, кэш
- Корпус меняется каждый день: инкрементальная переиндексация
- Обновление без простоя: версии индекса и атомарная публикация
- Шардирование: раздать индекс и собрать top-k без потерь
- Ребалансировка: сколько данных переезжает при росте кластера
- Кэш запросов: ключ, TTL, права доступа и лавина
- Смена корпуса при живом трафике: инвалидация без устаревших ответов
Агентный цикл, ограничения, MCP
- Агентный цикл как конечный автомат: ходы, стоп-причины, параллельные вызовы, trace.jsonl
- Лимиты цикла: шаги, токены, время, повтор вызова. Почему расход входа квадратичный
- Инструменты как поверхность атаки: реестр, роли, схемы, лимиты вывода
- Побочные действия: dry-run, saga и восстановление после падения процесса
- MCP по stdio без SDK: клиент, который переживает шум, опоздавшие ответы и смерть сервера
- Исполнитель вызовов: волны, потолок конкурентности, порядок, частичные сбои, идемпотентные записи
Контекст, память и бюджет токенов
- Политика истории: закрепление, очистка старых выводов, счётчик вытеснений
- Память фактов: что переживает окно и перезапуск процесса
- Сводка: сжатие старой истории с сохранением идентификаторов
- Инцидент: почини сервис диалога по журналу
Мультиагентные системы: оркестрация, очереди, изоляция
- Планировщик и исполнители: план как граф задач
- Очередь задач: lease, повторы и идемпотентный эффект
- Отмена цепочки: fail-fast веер и общий таймаут
- Изоляция прав между агентами: брокер и подписанные токены
- Протокол обмена: конверты, версии, ядовитые письма и подтверждённая доставка
- Инцидент: livelock двух агентов и сигналы прогресса
Безопасность: prompt injection и красная команда
- Модель угроз: прямая и непрямая инъекция, три ноги риска
- Защита на выходе: канарейки и утечки в любой кодировке
- Права инструментов: политика, taint и подтверждение человека
- Отравленные документы: чистка и карантин при индексации
- Красная команда в CI: ASR с доверительной границей и цена защиты
Надёжность: таймауты, 429, fallback, деградация
- Бюджет времени: таймауты и дедлайн на всю цепочку
- Повторы без шторма: усиление по слоям и бюджет повторов
- Выключатель и fallback между провайдерами
- Кэш запросов: порог семантического кэша и prompt cache провайдера
- Деградация конвейера: честные режимы вместо пустого ответа
Масштабирование: очереди, батчинг, rate limit, маршрутизация моделей
- Очередь с приоритетами: aging, дедлайны, лимит воркеров
- Онлайн-микробатчинг эмбеддингов
- Rate limit: токен-бакет, пользователь и тенант
- Перегрузка: ограниченная очередь, admission и дедлайны
- Маршрутизация по сложности и каскад моделей
- Планирование ёмкости по отчёту нагрузки и деление квоты
Нагрузочное тестирование LLM-системы
- Модель нагрузки и честный генератор
- Кривая нагрузки и точка насыщения
- Профиль токенов и реальный трафик
- Узкое место сервиса и спайк с восстановлением
Наблюдаемость и стоимость
- Структурные логи и сквозной идентификатор запроса
- Метрики в формате Prometheus и стоимость кардинальности
- Трейс цепочки: поиск, модель, инструмент и каждая попытка
- Стоимость вызова: тариф, ledger и алерты по расходу
- Разбор инцидента: где сгорели деньги и когда всё началось
Релиз: гейты, версии, канарейка, переход на реального провайдера
- Гейт из трёх состояний: PASS, BLOCK, MORE
- Конвейер гейтов: порядок, таймауты, отчёт для CI
- Релизный манифест: что именно выехало и как откатиться
- Канарейка и автооткат
- Мост к реальному провайдеру: профили и статическая проверка
- Недетерминизм и деньги: сколько прогонов нужно гейту
Капстоун, system design и собеседование
- Архитектура капстоуна и контракт сервиса
- Чекпоинт 1: качество поиска и честные цитаты
- Чекпоинт 2: атаки на собственный сервис и защитный контур
- Чекпоинт 3: сбои шлюза, деградация и нагрузка
- Чекпоинт 4: стоимость, ledger и релизный гейт
- Чекпоинт 5: эксплуатация и system design на цифрах
- Собеседование и passport.json
Стоимость курса: 24990 ₽
Открыть курс на Mentorix · Все курсы