К обычному разбору
Тренировка по собеседованиюТехническое собеседование2026-04-13

ML System Design: прогноз производства по отчетам и LLM-фичи

Идите сверху вниз: сначала попробуйте сами, затем откройте разбор. Если шаг с кодом, пишите решение прямо здесь и запускайте проверки на странице.

Шагов
12
Вопросов
12
Задач
0
1Кейс10 мин

Tabular baseline для прогноза добычи

Нужно прогнозировать поквартальную добычу по рудникам. Какие признаки и baseline-модель стоит построить до LLM-слоя?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Базовый слой строится на истории добычи, руднике, регионе, компании, capacity, макро- и рыночных признаках. Для MVP достаточно бустинга или регуляризованной линейной модели с time-based validation.

Подробный разбор

Сначала нужен честный табличный baseline без LLM. Единица прогноза - рудник и квартал. В признаки входят история добычи, лаги и rolling statistics, регион, оператор/владелец, тип рудника, capacity, сезонность, цены на металл и публичные макро- или отраслевые сигналы.

Модель можно начать с CatBoost/LightGBM или регуляризованной линейной модели. Split должен идти по времени и по рудникам аккуратно: нельзя случайно смешивать будущие кварталы в train. Такой baseline задает нижнюю границу качества и показывает, где текстовые события действительно добавляют сигнал.

2Кейс10 мин

Structural break в прогнозе добычи

Почему модель на исторической добыче может резко ошибиться, если компания инвестирует в новый способ добычи или расширение рудника?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

История описывает старый режим работы рудника. Инвестиции, расширение capacity или смена технологии меняют data-generating process, поэтому лаги добычи больше не достаточны.

Подробный разбор

Исторический baseline хорошо работает, пока будущее похоже на прошлое. Инвестиции, запуск новой линии, смена технологии добычи или maintenance shutdown меняют режим процесса. Модель, которая видит только лаги добычи, регион и сезонность, продолжит экстраполировать старую динамику.

Нужны event features: дата объявления, ожидаемый ramp-up, изменение capacity, planned production, delay risk и confidence источника. Такие события лучше хранить как состояние рудника во времени, чтобы модель видела, с какого квартала новый режим должен влиять на target.

3Кейс10 мин

Какие сигналы извлекать из PDF-отчетов

Какие факты из PDF-отчетов компаний полезны для прогноза добычи, и как отличать их от шумного текста?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужны не пересказы, а структурные события: production guidance, maintenance, outages, capacity expansion, grade, ore quality, delays и даты влияния на кварталы.

Подробный разбор

Из PDF стоит извлекать факты, которые меняют будущий ряд: production guidance, planned maintenance, shutdowns, expansion projects, grade/ore quality, recovery rate, capex milestones, delays, accidents и management commentary с привязкой к руднику и периоду.

Фича должна быть структурной: тип события, рудник, дата публикации, affected quarters, direction, magnitude, source span и confidence. Свободный summary отчета хуже, потому что его сложно валидировать и использовать в табличной модели. Для контроля качества нужны ссылки на страницу/фрагмент документа и правила на невозможные значения.

4Кейс12 мин

Как использовать LLM для фичей в прогнозе производства

Есть прогноз производства по рудникам/активам. В отчетах компаний есть текст, планы роста, графики и будущие ожидания. Как использовать LLM, чтобы улучшить табличную модель, но не заменить ее полностью?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

LLM лучше использовать как extractor структурированных признаков из отчетов: планы роста/падения, guidance, capex, запуск/остановка активов, риски. Финальный прогноз может делать бустинг или другая табличная модель.

Подробный разбор

Сильная архитектура разделяет извлечение информации и прогноз. LLM читает отчет, таблицы или графики и превращает их в структурированные признаки: плановый рост производства, горизонт плана, confidence, наличие guidance, события по конкретному активу, задержки, capex, regulatory risks.

Затем эти признаки попадают в табличную модель вместе с историей добычи, ценами, сезонностью, регионом, типом актива и макро-факторами. Это сохраняет интерпретируемость и позволяет валидировать ML-модель на historical backtesting.

Важно не просить LLM "сделать прогноз" без контроля. Лучше задать схему вывода, требовать цитаты/страницы источника, отдельное поле missing/unknown и не использовать знания модели вне данного документа.

Типичные ошибки

  • Попросить LLM сразу предсказывать production без структурированной схемы.
  • Не отделить evidence из отчета от предположений модели.
  • Не объяснить, как эти фичи будут валидироваться исторически.

Как сказать на собеседовании

  • Скажи: LLM извлекает фичи, бустинг прогнозирует.
  • Обязательно добавь schema, citations и missing value policy.
5Кейс10 мин

State для планового производства

Как хранить извлеченный из документов план производства, чтобы новые отчеты корректно обновляли forecast features?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Хранится версионированный state по руднику: текущий план по кварталам, источник, дата публикации, confidence и история изменений. Новый документ делает patch, а не перезаписывает все вслепую.

Подробный разбор

Состояние удобно хранить как temporal feature state по руднику. В нем есть production plan по кварталам, capacity, grade, ключевые события, source document, extraction timestamp, publication date и confidence. Важно различать дату события, дату публикации и дату, когда система узнала факт.

Новый отчет не должен просто перетирать state. Extractor возвращает patch: какие поля подтверждены, какие изменились, какие устарели и какие требуют review. Это дает воспроизводимость backtest: для каждого исторического прогноза можно восстановить, какие документы были доступны на тот момент.

6Кейс10 мин

Почему годовой guidance нельзя наивно усреднять

Компания дала годовой guidance роста добычи. Почему опасно равномерно размазать его по кварталам?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Годовой рост может начаться только после запуска проекта или ремонта. Равномерное распределение завысит ранние кварталы и занизит кварталы после ramp-up.

Подробный разбор

Годовой guidance - агрегат, а модель прогнозирует кварталы. Если рост связан с запуском линии в четвертом квартале, равномерный коэффициент уже в первом квартале создаст ложный сигнал. Модель увидит повышение там, где operationally оно еще невозможно.

Лучше хранить не только annual delta, но и timing assumptions: start quarter, ramp-up curve, confidence, dependency on milestones и delay risk. Если timing неизвестен, признак должен отражать неопределенность, например несколько сценариев или распределение по кварталам, а не один уверенный коэффициент.

7Кейс10 мин

Event stream вместо одного summary из LLM

Как превратить документы в признаки для прогноза: один summary, JSON-state или ленту событий?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Надежнее извлекать event stream и обновлять JSON-state: событие, объект, период влияния, величина, источник и confidence. Summary слишком трудно валидировать.

Подробный разбор

Для прогноза полезнее не текстовый summary, а структурная лента событий. Каждое событие содержит рудник, тип события, дату публикации, affected period, направление влияния, magnitude, confidence и ссылку на источник. Затем deterministic слой обновляет JSON-state рудника.

Такой дизайн разделяет обязанности. LLM отвечает за извлечение кандидатов из текста, rules/schema validator проверяет формат и допустимые значения, feature pipeline превращает state в табличные признаки. Это упрощает аудит, backtest и ручную проверку спорных событий.

8Кейс10 мин

Leakage из pretraining LLM на историческом backtest

Почему исторический backtest LLM-фичей может быть нечестным, даже если документы подаются с правильными датами?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

LLM могла видеть будущие отчеты или новости на pretraining. Тогда при backtest она достает знание не из переданного документа, а из параметров модели.

Подробный разбор

В классическом backtest мы ограничиваем модель информацией, доступной на дату прогноза. У LLM появляется дополнительный канал: pretraining мог включать будущие отчеты, новости, статьи или агрегированные датасеты. Даже если prompt содержит только старый документ, модель может восстановить будущий факт из параметрической памяти.

Снижение риска: использовать модели/снэпшоты с известной датой обучения, требовать citations/source spans, запрещать ответы без опоры на документ, сравнивать с extractive baseline и делать ablation, где LLM получает только документные фрагменты после retrieval. Метрика backtest должна отдельно учитывать leakage risk.

9Кейс12 мин

Как валидировать LLM-фичи и не дать модели додумывать

LLM извлекает признаки из PDF-отчета: например, будущий план производства. Как проверить, что признак основан на документе, а не на внешних знаниях или догадках?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужно требовать evidence: ссылка на страницу/таблицу/цитату, confidence, тип извлечения, missing/unknown вместо догадки и human review для спорных признаков.

Подробный разбор

Контроль начинается с формата вывода. LLM должна возвращать не только значение признака, но и evidence: page id, fragment id, цитату, единицы измерения, период, confidence и reason. Если evidence нет, значение должно быть null/unknown.

Дальше нужна валидация: schema validation, range checks, consistency checks между таблицами и текстом, сравнение с предыдущими отчетами, ручная разметка golden set и метрики extraction quality. Для числовых признаков полезны exact match или tolerance-based метрики, для категориальных — accuracy/F1.

В production стоит логировать source snippets и отдельно мониторить долю unknown, частоту конфликтов и drift форматов отчетов. Для high-impact признаков нужен human-in-the-loop.

Типичные ошибки

  • Принимать число от LLM без ссылки на источник.
  • Не разрешить модели отвечать unknown.
  • Не делать отдельную оценку качества extraction перед forecast quality.

Как сказать на собеседовании

  • Повтори принцип: no evidence -> no feature.
  • Раздели validation на schema/range checks, golden set и human review.
10Кейс10 мин

Как превратить годовой guidance в квартальные фичи

В отчете сказано: производство вырастет на 20% за год, рост начнется во второй половине года. Модели нужен прогноз по кварталам. Что должна вернуть LLM-фича?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Лучше вернуть структурированный объект: annual_guidance=+20%, timing=second_half, q1/q2 evidence missing, assumption_needed=true, confidence ниже. Не надо молча делить на 4.

Подробный разбор

Если отчет дает годовой рост и говорит, что он начнется во втором полугодии, LLM не должна автоматически распределять +20% равномерно по кварталам. Это уже предположение, а не извлечение.

Правильный output: зафиксировать годовой guidance, период действия, timing hint, evidence, а для квартальных значений вернуть либо null, либо диапазон/сценарий с явным флагом assumption. Например: q1_growth=unknown, q2_growth=unknown, h2_growth_positive=true, annual_growth=20%.

Дальше бизнес-логика или downstream model может решить, как использовать это: отдельная categorical feature "growth concentrated in H2", сценарные фичи, prior distribution или ручная проверка. Главное — не смешивать факт из документа и синтетическое распределение.

Типичные ошибки

  • Молча разделить годовое число на 4 квартала.
  • Не пометить, что квартальное распределение является предположением.
  • Потерять evidence и units.

Как сказать на собеседовании

  • Скажи: факт отдельно, assumption отдельно.
  • Предложи structured output с annual value, timing hint, evidence и confidence.
11Кейс10 мин

Связывание событий из нескольких документов

Один факт о руднике встречается в годовом отчете, презентации и call transcript. Как объединить эти источники в один forecasting state?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Нужны entity resolution по руднику/компании, event deduplication, приоритет источников, temporal ordering и хранение conflicting evidence.

Подробный разбор

Multi-document слой сначала нормализует сущности: рудник, компания, оператор, регион и период. Затем события дедуплицируются по типу, объекту и временному окну. Если источники расходятся, state должен хранить конфликт, а не молча выбирать последнее значение.

Приоритет источников можно задать правилами: audited annual report выше новости, свежий quarterly update выше старого guidance, но sudden outage из news может быть быстрее официального отчета. Для модели важны не только итоговые поля, но и признаки качества: число источников, recency, confidence и наличие противоречий.

12Кейс10 мин

Как интерпретировать backtest при возможном leakage

Как сравнивать модели прогноза, если LLM-extractor может знать будущие факты из pretraining?

Ответьте без подсказки

Сначала проговорите ответ вслух или тезисами.

Запишите черновик

Формулы, план решения, риски и примеры.

Сравните с разбором

Откройте разбор только после своей попытки.

Показать разбор

Короткий ответ

Сравнение остается полезным, если явно ограничить evidence path, добавить leakage flags и сравнивать не LLM “как oracle”, а extractive pipeline с проверяемыми источниками.

Подробный разбор

Backtest нельзя трактовать как честную оценку будущего, если LLM могла видеть future facts. Но его можно использовать для сравнения controlled variants: один и тот же document set, одинаковый retrieval cutoff, одинаковые schema validators и одинаковая табличная модель.

Отдельно нужно считать leakage-sensitive slices: события после cutoff, документы с поздней публикацией, редкие крупные изменения. Если LLM-фичи дают слишком резкий прирост именно на таких срезах, результат требует ручной проверки. Production-критерий - не только RMSE/MAPE, но и auditability: можно ли показать, из какого доступного источника появилась фича.