Мы пришли на хакатон с 12 гипотезами. Одна из них — поиск аналогов материалов — превратилась в систему с точностью 98,4% и экономическим эффектом больше миллиарда рублей. Рассказываем, как это было на самом деле — с ошибками, командировками на завод и задвижкой за 1 рубль.

Поиск аналогов материалов: почему предприятие закупает то, что уже есть на складе

Когда говорят «цифровая трансформация в промышленности», обычно представляют роботов, умные конвейеры и красивые дашборды. Но есть проблема, которую не показывают на слайдах: корпоративный справочник материалов — МТР, материально-технические ресурсы.

В крупном промышленном предприятии этот справочник содержит сотни тысяч позиций. И значительная их часть — одно и то же, просто записанное по-разному.

«Кабель ВВГнг 3×2.5» и «провод ВВГнг-LS 3×2.5 ГОСТ» — для любого инженера это очевидно одно и то же. Для системы — два разных товара. Один лежит на складе в Перми, второй закупается в Москве. Деньги утекают.

Именно с этой болью к нам пришёл СИБУР. Не абстрактной болью, а вполне конкретной: 43% базы из более чем 400 000 позиций оказались дублями и синонимами одного и того же. Филиалы закупали одинаковые материалы под разными названиями, система не видела связи, снабженцы листали базу вручную.

До нас это выглядело так: технолог или специалист ТОиР перед закупкой шёл искать, нет ли уже такого же на складе или у другого поставщика дешевле — листая базу в SAP SRM, ориентируясь на собственный опыт и знание предметной области. Это не «инструмент», это люди плюс Excel плюс годами накопленная экспертиза в голове.

Хакатон, подшипники и честный подход

Проект родился на внутреннем хакатоне. СИБУР дал нам 12 AI-гипотез, мы устроили быстрый отбор — что из этого реально можно решить, что даст эффект. Аналоги МТР вошли в финал.

Первый прототип мы сделали на подшипниках — узко, но показательно. 20 000 наименований, PDF-файлы ГОСТов, сайты иностранных производителей. И здесь важный момент, о котором стоит сказать честно:

Первый поиск был не нейросетевым.

Языковую модель мы применили только для одной задачи — понять «кривой» запрос. Строку вида «Подшипник 30×62×16 ГОСТ 8338-75» модель разбирала на характеристики: тип, диаметры, ширину, стандарт. Это давало устойчивость к неполным описаниям.

Сам поиск работал как трёхуровневый алгоритм:

  1. Блокирующие правила — шариковый подшипник никогда не предложат вместо роликового

  2. Точные совпадения — по критичным размерам и артикулу → «сильный аналог»

  3. Близкие совпадения — те же характеристики, другой производитель; с распознаванием разных написаний (SKF = СКФ)

Скорость — меньше 0,1 секунды на один поиск. Но важнее скорости была честность подхода: для точных размеров нейросеть не нужна, и мы её не добавляли ради красивой презентации.

Почему алгоритма перестало хватать

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

У МТР нет единого артикула. У одной позиции бывает несколько обозначений — ГОСТ, DIN, ISO, внутренний код. Описания у разных филиалов — разной длины и разных формулировок. Плюс синонимы материалов, размеров, классов.

Поиск по слову «кабель» возвращает тысячи нерелевантных позиций. Поиск по точному артикулу — ничего, потому что артикул у всех записан по-своему. Нужен поиск по смыслу.

Так появилась текущая архитектура — в четыре шага:

Запрос → Нормализация названий → Понимание запроса LLM
       → Поиск похожих по смыслу → Вердикт A–D + пояснение

Вердикт — не просто «аналог / не аналог», а шкала:

  • A — точный аналог: характеристики идентичны

  • B — вероятный: малые отличия, применим в большинстве случаев

  • C — возможный: значимые отличия, нужна проверка инженера

  • D — не аналог

К каждому результату — пояснение на русском: что совпало, что отличается, почему это важно.

Но это только техническая часть. Дальше началось самое сложное.

Командировка, которая сдвинула проект с мёртвой точки

Точность алгоритма надо было проверять. Сначала мы делали это дистанционно — отправляли СИБУРу перечни подобранных аналогов и ждали обратную связь с заводов.

Это работало плохо.

Заводы отвечали медленно. От разных площадок приходили противоречивые ответы по одной и той же позиции. Непонятно было, почему специалист говорит «нет» — потому что аналог действительно не подходит, или потому что привык работать с конкретным брендом.

Стало ясно: дистанционно критерии не выверить. Мы поехали на завод.

На площадке НКНХ (Нижнекамскнефтехим) вместе с технологами разобрали категорию за категорией: что действительно критично при подборе, а что — нет. Для подшипника важны диаметр, тип, класс точности. Для условного расходного материала — совсем другой набор. Единого правила «что важно» не существует, его нельзя придумать в офисе — только собрать на месте вместе с людьми, которые работают с этими материалами каждый день.

После поездки мы заложили эти критерии в справочник категорий МТР. Подбор стал заметно точнее и, главное, объяснимее — стало понятно, почему две позиции считаются аналогами.

Честный провал: задвижка за 1 рубль

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

Система однажды выдала задвижку Flowserve за 1 рубль, а подшипник SKF за 34 рубля.

Причина: внутренний код СИБУР случайно совпал с каким-то посторонним товаром в интернете. Алгоритм нашёл «цену» — и уверенно её вернул.

Вывод оказался не о том, как «сделать модель умнее». Вывод о том, что уверенно-неверный ответ не должен проходить без проверки человеком. Мы отказались от поиска цены по внутреннему коду в пользу поиска по бренду и названию, добавили перекрёстную проверку между источниками и человеческое подтверждение сомнительных результатов.

Это универсальный урок для любого AI-продукта в критичных процессах: защита не в точности модели, а в архитектуре проверки.

Что получилось в цифрах

  • Точность подбора — 98,4%, подтверждена на площадке НКНХ на выборке из 1800 позиций

  • Экономический эффект — свыше 1 млрд рублей у СИБУРа

  • 730 000+ пар аналогов рассчитано

  • 400 000+ позиций номенклатуры в продуктивной базе

  • Поиск аналога: с ручного перелистывания базы (минуты и часы) — до секунд

Но важнее голых цифр — что произошло с пониманием задачи. Мы начинали с вопроса «как искать аналоги». В итоге ответили на другой вопрос: как сделать так, чтобы компания не тратила деньги на то, что уже есть.

Ещё один неожиданный вывод: значительную часть дублей можно найти вообще без AI — простым точным совпадением приведённых к единому виду названий. Искусственный интеллект нужен для хвоста — когда один и тот же товар назван совсем по-разному, и обычным поиском его уже не поймать. Иногда честный алгоритм лучше нейросети, натянутой ради демонстрации.

Почему нельзя просто взять готовый поиск

Когда объясняешь задачу людям вне промышленности, первый вопрос всегда одинаковый: «Вы же просто взяли маркетплейс-поиск и переобучили?»

Нет. И вот почему:

Описания пишет инженер, не маркетолог. Никакого продающего текста — только жёсткие характеристики: материал, давление, класс, ГОСТ. Модели, обученные на потребительских товарах, этой специфики просто не видят.

Цена ошибки другая. В магазине не подошло — вернул. В промышленности неверный аналог — это брак партии или авария, потому что за позицией стоит ГОСТ, DIN или ASME.

Закупка партиями. Сотни и тысячи штук, цена за объём отличается кратно — нельзя просто взять «цену из карточки».

Данные закрытые. Корпоративная номенклатура не индексируется в интернете. Готового решения «с полки» не существует.

От кейса — к продукту

Проект не закончился — он превратился в продукт. На базе кейса СИБУР мы строим AI-агента полного цикла закупок. https://sandboxer.ru/projects/procurement-agent

Следующие шаги уже в работе:

  • Подсказка актуальной цены по открытым источникам — не один источник, а перекрёстная проверка

  • Автоматическая переписка с поставщиками: запрос цены, разбор ответов

  • Подбор новых поставщиков под конкретную позицию

  • Перенос на другие отрасли — энергетика, машиностроение

Конкуренты в этой нише есть — НОРБИТ, АСКОН, AGORA. Каждый продаёт инструмент нормализации, движок без данных. Наше отличие — готовая, наполненная и проверенная база аналогов, собранная в реальном проекте с реальным клиентом. Именно данные, а не алгоритм — главная ценность.

Три вывода, которые остались

Во-первых, поездку на завод не заменит удалёнка. Самый важный поворот в проекте произошёл не за компьютером — а в разговоре с технологом на площадке. Экспертиза живёт в людях, а не в документах.

Во-вторых, честный алгоритм лучше нейросети ради нейросети. Первый прототип на подшипниках работал без AI-поиска — и работал хорошо. LLM мы добавили там, где она реально нужна, а не для красоты питча.

В-третьих, архитектура проверки важнее точности модели. Задвижка за 1 рубль научила нас больше, чем любой бенчмарк. В критичных процессах уверенный неверный ответ опаснее неуверенного верного.

Если у вас похожая задача с номенклатурой или вы хотите разобраться, где в вашем каталоге деньги — напишите, разберём вместе.

Комментарии (0)