поле решателякаждая точка — вариант графика срок → вправо · стоимость → вверх0 вариантов перебраноотсечено 0 — хуже сразу и по сроку, и по деньгамосталось недоминируемых 0
РоссияConstructionTechс 2026
Один график планировщикстроит неделю.Мы считаем тысячиза двадцать минут.
TIREK AI — оптимизационный слой над вашей системой календарно-сетевого
планирования. Менять её не нужно: мы считаем содержимое графика и возвращаем
его туда, откуда взяли, показывая, чем вы платите за каждый выигранный день.
Ядро — комбинаторная оптимизация. Языковая модель не принимает
ни одного решения о сроках.
PSPLIB j30 выход в известный оптимум✦0,4 с 10 000 прогонов Монте-Карло✦358 тестов, 12 наборов инвариантов✦XER · P6 XML · MSPDI импорт и экспорт обратно✦486 → 319 дней синтетический объект, минус 34%✦
Как это выглядит сегодня
В графике на 8 000 строк один человек держит всю логику
стройки в голове. До первого срыва это работает.
расхождение плана и факта
01
Вариант всегда один
Инженер строит график несколько дней и получает одну последовательность.
На вторую у него нет ещё одной недели. Вопрос «а если добавить бригаду
на монтаж, что будет со сроком и сколько это стоит» остаётся без ответа:
проверить его вручную не на чем.
02
Пересчёт стоит дороже, чем ошибка
Задержалась арматура, встала бригада, закрылось погодное окно — график
надо переделывать. На практике его не переделывают: правят несколько
строк и живут дальше. Через месяц план и стройка расходятся настолько,
что план перестают открывать.
03
«Почему такой срок» — нечем ответить
На защите графика перед заказчиком или инвесткомитетом обоснование звучит
как «по опыту». Опыт может быть прав. Проверить его нечем, и разговор
переходит с расчёта на человека.
Что делает TIREK AI
Три шага. Ваш стек остаётся на месте.
поток данных01 / 03
01вход
Забираем то, что у вас уже есть
График в том виде, в каком он у вас есть. Из коробки читаем
XER, P6 XML, MSPDI, MPP.
Выгружает ваша система свой формат или обычную таблицу — адаптер под неё
пишется на этапе пилота. Формат обмена не должен быть причиной, по которой
расчёт не состоялся. Объёмы работ берём из сметы, где они уже привязаны
к видам работ и нормам.
XER
P6 XML
MSPDI
MPP
смета
формат заказчика
02ядро
Считаем фронт вариантов
Решатель перебирает последовательности и способы производства
одновременно и выдаёт набор недоминируемых вариантов: каждый из них
нельзя улучшить по сроку, не ухудшив по стоимости, и наоборот.
По каждому — вероятностный срок и разбор причин.
MRCPSP
CP-SAT
ε-constraint
Монте-Карло
03выход
Отдаём обратно в вашем формате
Выбранный вариант уезжает обратно тем же файлом, каким пришёл.
Round-trip закрыт тестом: экспорт сохраняет семантику импорта.
Никто не переучивается и не переезжает в новый портал.
round-trip
инвариант I-7
без миграции
Нижняя граница
Результат не может быть хуже вашего текущего графика
Это свойство конструкции. Ваш ручной график подаётся в решатель как
стартовое решение, и любой выданный вариант заведомо не хуже него.
Свойство закрыто property-based тестом на 100 случайных инстансах:
если расчёт выдаст срок хуже исходного, падает сборка.
Измерено на синтетическом объекте, 50 пакетов работ.
ручной график486 дн.
расчёт319 дн.
−34%
Те же три шага, целиком
Один прогон, от файла до файла
узел-А.xer01/ 04импорт
01ИмпортXER → граф работ
02РасчётMRCPSP · CP-SAT · ε-constraint
03Объяснениечто и почему сдвинулось
04Выгрузкаобратно тем же файлом
выгруженоузел-А.xer42 → 35 дн.
предел срока ≤ 42 дн.14 пакетов работ · 2 зависят от погоды · горизонт 42 дн.
Условный пример на 14 пакетах работ — тот же, что в разделе 03.
Расчёт здесь не выполняется: это запись раскладки, а не живой решатель.
Срок или деньги
Мы не взвешиваем срок против стоимости за вас.
Система показывает границу возможного: набор вариантов, где ни один нельзя
улучшить по сроку, не ухудшив по стоимости. Какой день чего стоит, решает
планировщик. Это техническое решение и одновременно юридическое:
по Закону РК об ИИ финальный выбор остаётся за человеком.
Цифры на этом блоке — условный пример на 14 пакетах работ, чтобы показать
логику выбора. Пилота у нас пока не было, и мы пишем об этом
отдельно.
ТОЧНОСТЬ ВЫШЕ ЭФФЕКТНОСТИ · ТОЧНОСТЬ ВЫШЕ ЭФФЕКТНОСТИ ·
Позиция
Почему ядро — не языковая модель
Планирование графика — задача дискретной оптимизации.
У неё есть точный ответ и способ проверить, что он точный.
Если попросить языковую модель составить график, она выдаст правдоподобный
текст. Он будет выглядеть как график. Ресурсные конфликты в нём никто
не проверял: языковая модель занимается другим. На стройке эта разница
стоит месяцев.
Поэтому у нас жёсткое правило, записанное в конституцию проекта:
внутри решателя языковой модели нет. Ни как подсказки, ни как
генератора начального решения, ни на каком этапе.
LLM появится позже и ровно в одной роли — пересказать человеческим языком
уже готовый разбор причин, который решатель выдал в виде структуры.
Причины она не выводит ни при каких условиях. Иначе галлюцинация окажется
в самом чувствительном месте продукта — там, где объясняют,
почему сорвался срок.
«Точность выше эффектности». По этой причине половина модных
решений в продукт не попала.
Как устроено
Всё, что ниже, можно проверить
Этот блок для инженера и технического директора: словосочетание
«инновационная ИИ-платформа» им ничего не говорит.
Задача
MRCPSP
Multi-mode Resource-Constrained Project Scheduling. Обобщённые связи
FS/SS/FF/SF с целочисленными лагами, в том числе отрицательными. Ёмкость
ресурса переменная во времени. Календари и запретные интервалы.
Решатель
OR-Tools CP-SAT
Apache 2.0 — лицензия не тарифицируется с каждого вашего объекта,
в отличие от Gurobi и CPLEX. Python 3.12, Pydantic v2 на входе.
Размерность
150–400 пакетов
График на 5–20 тысяч активностей в решатель не подаётся — он не сойдётся.
Оптимизация идёт на уровне пакетов работ, внутри пакета последовательность
разворачивается детерминированно.
Риск
Общий погодный фактор
Монте-Карло с коррелирующей переменной: плохая погода бьёт по всем
наружным работам разом. Независимые розыгрыши длительностей занижают риск,
и это ошибка. P50 / P80 / P90, индекс критичности.
Измеренная производительность
Синтетический объект 350 пакетов работ, 16 ресурсных пулов, сид 42.
Слово «мгновенно» на этом сайте не встречается: мгновенности не будет,
а обещание проигрывает на первом же пилоте.
PSPLIB j30 — выход в известные оптимумы. На инстансе j30_1_1 известный оптимум 43, получено 43, статус OPTIMAL.
Warm start — property-based тест на 100 случайных инстансах: результат никогда не хуже поданного ручного графика.
Round-trip (инвариант I-7) — экспорт сохраняет семантику импорта для P6 XML и MSPDI.
Изоляция PII (I-6) — отдельная CI-job: приложение не стартует, если контуры данных пересеклись.
Воспроизводимость — фиксированный сид и число воркеров, два прогона на одном входе дают идентичный результат.
Линтер калибровки (I-9) — конфиг с неоткалиброванным параметром не проходит проверку молча.
358 тестов, 12 наборов инвариантов I-1…I-12, полный прогон 36 секунд,
4 CI-job на каждый pull request, ночная полная приёмка ядра по расписанию.
Эксплуатация
FastAPI + Uvicorn на входе. Redis + RQ как очередь: расчёт
никогда не выполняется в HTTP-обработчике, solver-воркер — отдельный процесс
на 8–16 vCPU, горизонтально масштабируемый. PostgreSQL 16 под версии
графиков и трейсы. Обмен с P6 — MPXJ через JPype плюс собственный адаптер
без JVM как резервный путь.
Python 3.12
OR-Tools CP-SAT
Pydantic v2
FastAPI
Redis + RQ
PostgreSQL 16
MPXJ / JPype
Чем это отличается от того, что уже стоит у вас
Инструмент
Что делает хорошо
Чего не делает
Ваша КСП-система
Хранит график, считает критический путь, ведёт версии и отчётность
Не генерирует последовательность и не выбирает способ производства — принимает их на вход
Учётный контур: ERP и сметы
Объёмы, деньги, ресурсы, закрытие и бухгалтерия
Календарный план для него вход, а не результат расчёта
ALICE Technologies
Генеративное планирование, зрелый продукт
Иностранный вендор; с 2022 года работа в России фактически недоступна
TIREK AI
Генерация вариантов + погодные окна по СП 131.13330 + объяснимость + возврат в ваш формат
Истории внедрений пока нет: мы ищем первый объект
Без прикрас
Чего у нас пока нет
Раздел, который обычно не пишут. Эти вопросы вы зададите на второй
встрече, поэтому отвечаем на первой.
ПИЛОТОВ 0
01
Ни одного пилота и ни одного платящего клиента
Продукт собран и проверен на международных бенчмарках, но на реальной
стройке он ещё не работал. Мы не показываем ничьих логотипов и не пишем
«нам доверяют лидеры отрасли», потому что это было бы неправдой.
Мы ищем первый объект.
02
Коэффициент производительности не откалиброван
Нормы трудозатрат берутся из открытых сборников — ЕНиР, ГЭСН, СП 48.13330.
Но поправка «сколько на самом деле делает бригада на российской площадке»
выводится только из факта по 10–20 закрытым объектам. Пока её нет,
система не выдаёт сроки в днях как окончательные: она отказывается
считать и пишет об этом в интерфейсе. Это отдельный параметр в конфиге.
«Разумное значение по отраслевой практике» мы туда молча не подставляем.
03
Часть функций появится в следующих версиях
Прогноз сроков поставки материалов и импорт объёмов из IFC/BIM — версия 1.
Объяснения человеческим языком поверх готового разбора — версия 2.
Портфельная оптимизация по нескольким объектам с общими ресурсами —
версия 2. В сегодняшнем продукте этого нет, и в коммерческом
предложении этого тоже не будет.
04
Юрлица в России нет, значит нет и реестра отечественного ПО
Для госзаказа и большинства закупок по 44-ФЗ и 223-ФЗ присутствие
в реестре Минцифры — условие допуска. Подать заявку может только
российское юридическое лицо, а его у нас пока нет. Если ваш контур
закупок это требует, сегодня мы туда не проходим, и узнать об этом
лучше сейчас, а не на этапе согласования договора.
05
Инфраструктура пока размещена не в России
Сегодняшний демостенд с прототипом стоит за пределами РФ и персональных
данных не содержит вовсе. Для пилота контур персональных данных
разворачивается на территории РФ — в вашем периметре или в российском
облаке. Это условие пилота, а не то, что уже сделано.
06
Диапазоны вместо точных цифр в экономике
У продукта нет истории продаж, поэтому мы даём вилки вместо одного числа
и называем допущения допущениями. Первая реальная сделка заменит
половину этих цифр, и мы их перепишем.
Локальность
Российские ограничения заданы в модели
Справочник погодных оконСтруктура ограничения в модели. Районирование —
по СП 131.13330; значения по регионам заполняются вместе с вашим ПТО,
до этого справочник помечен как незаполненный и в расчёт не идёт.
окно открытоработы исключены на этапе генерациине заполнено
01
Погодные окна по регионам России
Бетонные и фасадные работы исключаются из закрытых окон на этапе
генерации вариантов. Ручной отсев после расчёта не нужен. Этого
параметра нет ни в одном международном бенчмарке. Границы окон опираются
на климатическое районирование СП 131.13330, но сам справочник мы
не выдумываем: он заполняется вместе с вашим ПТО и до тех пор помечен
как незаполненный.
02
Правовой режим ИИ в России
Отдельного федерального закона об искусственном интеллекте в России нет:
есть экспериментальные правовые режимы по 258-ФЗ и национальная стратегия
развития ИИ. Поэтому скажем прямо: финальное решение по графику остаётся
за человеком не потому, что этого требует конкретная статья, а потому что
так устроен продукт. Система показывает недоминируемые варианты, выбирает
планировщик, закреплённые им работы становятся жёстким ограничением.
Побочный эффект — регуляторный риск остаётся низким при любом развитии
законодательства.
03
152-ФЗ «О персональных данных»
Персональные данные физически не попадают в контур оптимизатора.
Решатель работает с «бригадой монтажников, 12 человек, доступна
с 3 марта» — без фамилий, табельных номеров и фотографий.
Это отдельная база данных, и приложение не стартует, если контуры
пересеклись. Требование части 5 статьи 18 о хранении данных
россиян в РФ закрывается размещением контура в вашем периметре
или в российском облаке на этапе пилота.
04
Нормативная база расчёта
Длительности считаются от норм трудозатрат ЕНиР и ГЭСН, организация
работ опирается на СП 48.13330, погодные окна — на климатическое
районирование СП 131.13330. Ни одного коэффициента «по отраслевой
практике» мы в конфиг молча не подставляем: неоткалиброванный параметр
не проходит линтер и виден в интерфейсе как неоткалиброванный.
С чего начинаем
Один объект. Ваш настоящий график. Измеримый результат.
Шаг 1
Вы отдаёте один график
Действующий объект, выгрузка из P6 или MS Project, список бригад
и техники, смета с объёмами. Ничего внедрять и никого переучивать
на этом шаге не нужно.
Шаг 2
Мы возвращаем варианты и разбор
Набор недоминируемых графиков со сроком, стоимостью и вероятностной
оценкой, плюс цепочка причин по каждому: что именно упирается
в ресурс, что в связь, что в погодное окно.
Шаг 3
Сверяем с фактом за 90 дней
План против факта на реальной площадке. Здесь же мы калибруем поправку
производительности, которой пока нет. Если выигрыша не будет,
вы увидите это по цифрам.
Нижняя планка задана конструкцией: результат не хуже вашего текущего графика.
Целевая — улучшение от 10% по сроку. Верхнюю мы не называем,
пока не отработали хотя бы один объект.
Дальше
Покажите нам одинсложный график.
Первый разговор лучше вести про конкретный объект, где сроки уже поехали.
Позвоните или напишите, что это за объект. Мы скажем, видит ли расчёт
здесь запас, и скажем, если не видит.
Звоните в рабочее время, письма читаем каждый день
NDA подписываем до того, как получим хотя бы один файл