редакции
Как я автоматизировал подбор товаров для тендеров: ИИ вместо рутины и Ctrl+F
Любой специалист по закупкам или тендерам знает эту боль: открываешь техническое задание (ТЗ) заказчика, а там спецификация на 100 позиций. Причем каждая позиция описана не четким артикулом, а целым абзацем сплошного текста: смесь габаритов, материалов, ссылок на ГОСТы и допусков.
Задача специалиста — найти под эти пространные требования подходящие товары в своей базе или в прайс-листах дистрибьюторов (где могут быть десятки тысяч строк), сопоставить их и просчитать экономику. А если человек новый в нише? А если специфика сложная? Обычно это решается вычленением ключевых слов и бесконечным нажатием Ctrl+F по вкладкам Excel. Это долго, дорого и ведет к ошибкам из-за банальной усталости.
Я решил автоматизировать этот процесс и собрал B2B-инструмент на стыке локальных баз данных, алгоритмов обработки естественного языка (NLP) и больших языковых моделей (LLM).
В этой статье я расскажу, как устроен продукт «под капотом», с какими проблемами я столкнулся при сопоставлении неструктурированных данных и как выстроил архитектуру, которая заменяет рутину машинным интеллектом.
Откуда брать и как структурировать данные?
Чтобы ИИ искал точно, ему нужна структурированная база. Если у компании есть выгрузки из 1С, CSV или готовые прайсы в Excel — проблема решается простой загрузкой в нужную директорию.
Но на практике прайс-листы есть не всегда. Часто товары представлены только в веб-каталоге производителя. Писать кастомный парсер под каждый сайт — утопия. Поэтому в систему пришлось интегрировать модуль автоматического сбора данных.
Как это работает сейчас:
- Пользователь просто дает ссылку на сайт-донор.
- ИИ самостоятельно анализирует DOM-дерево и понимает структуру страницы. Он сам определяет, где находится карточка товара, где цена, а где технические характеристики, игнорируя «инфошум» (новости, баннеры, контакты).
- Для обхода защит от парсинга система использует виртуальный браузер, имитируя поведение реального пользователя.
- На выходе получается стандартизированная Excel-таблица, которая сразу интегрируется в поисковую базу инструмента. Без привлечения программистов.
Как работает поиск (Pipeline обработки запроса)
Обычный полнотекстовый или даже векторный поиск здесь пасует. В тендерном ТЗ слишком много «мусорных» слов, которые сбивают алгоритм. Поэтому сопоставление требований заказчика с доступным ассортиментом я реализовал через многоступенчатый конвейер.
Вот как выглядит флоу обработки одной позиции:
- AI-Диспетчер (роутинг). Сначала модель анализирует запрос и сужает зону поиска. Если в ТЗ ищут «микроскоп», диспетчер отсекает загруженные прайс-листы с офисной мебелью и направляет запрос только в файлы с лабораторным оборудованием. Это экономит время и ресурсы.
- AI-Помощник (извлечение сущностей). Абзац из ТЗ разбивается на смысловые группы. Например: Группа 1 [ноутбук, лэптоп], Группа 2 [15 дюймов], Группа 3 [intel core].
- Математический скоринг. На этом этапе подключается математика. Программа сканирует лемматизированную базу данных. Товар получает баллы: точное совпадение по артикулу дает максимум, совпадение характеристик в начале описания ценится выше, чем в конце. Формируется топ-20 кандидатов.
- AI-Ранжировщик. Здесь LLM включает логику. Простой пример: в ТЗ требуется «стол». Математический скоринг нашел идеальное текстовое совпадение в позиции «Комплект мебели: стол и 4 стула». Ранжировщик применяет правило «анти-комплект» и пессимизирует этот результат, опуская его вниз списка.
- AI-Эксперт. Для финального топа (например, 3 лучших позиций) ИИ генерирует аналитическое заключение. Он сравнивает исходное ТЗ с найденным товаром и выдает вердикт.
Пользовательский опыт: 2 режима работы
Чтобы инструмент был применим в реальном бизнесе, я разделил логику интерфейса на два сценария.
Режим 1: Точечный подбор (Одиночный поиск)Идеально для сложных, единичных запросов. Пользователь не вычленяет слова, он просто копирует весь огромный абзац из документации и вставляет в поиск. Можно задать фильтр источников (например, искать совпадения только в каталоге конкретного завода). Система выдает карточку лучшего кандидата.
Режим 2: Пакетная обработка (Batch-режим)Основная «киллер-фича» для снабженцев. Специалист загружает в систему файл со сметой (десятки или сотни строк). Программа считывает колонку с требованиями и выстраивает очередь. Дальше процесс идет полностью в фоне. На глубокий машинный анализ одной сложной позиции уходит около минуты. Пока программа автономно перебирает базы и сопоставляет характеристики, человек может вести переговоры или заниматься другими задачами.
Что на выходе? Интерфейс vs. Excel
Я понимал, что выдавать просто «сырые» ссылки на совпадения — бессмысленно. Цель B2B-продукта — дать готовую аналитику для принятия решений.
В интерфейсе результаты группируются по папкам: исходная строка ТЗ → раскрывающийся блок с товарами-кандидатами. Подтягиваются фотографии с сайтов доноров, цены и артикулы.
Но главное происходит при экспорте. Итоговым продуктом работы программы является сводная таблица Excel. И здесь я внедрил цветовую индикацию (систему «Светофор»), основанную на выводах AI-Эксперта:
- Зеленая заливка: ИИ уверен, что найденный товар полностью совпадает с ТЗ. Специалист может не тратить время на перепроверку и сразу брать эту цену для расчета рентабельности.
- Желтая заливка: Найден аналог, но есть технические расхождения. В колонке «Вердикт» ИИ пишет причину («⚠ Оговорка: запрошен стол из дерева, а найденный вариант из ЛДСП»). Внимание специалиста фокусируется только на этих строках — нужно решить, пропустит ли заказчик такой аналог.
- Красная заливка: Программа честно говорит, что подходящего товара в ваших базах нет.
Такой подход меняет парадигму работы: человек больше не ищет товары, он работает по принципу исключений, проверяя только «желтые» спорные позиции.
Бизнес-кейсы: где это применяется?
Помимо первичного просчета тендеров (когда нужно за час понять маржинальность спецификации на 70 пунктов), архитектура отлично решает еще две задачи:
- Подбор аналогов: Когда в ТЗ жестко прописан ушедший с рынка бренд, система по характеристикам подбирает релевантный отечественный или китайский аналог.
- Мониторинг конкурентов: Загружаете прайс конкурента как поисковую базу, прогоняете через нее свой каталог и получаете таблицу точных аналогов для выстраивания ценовой стратегии.
Итоги
Внедрение AI-пайплайна превращает задачу, на которую раньше уходили дни механической работы, в фоновый процесс на пару часов. Человеческий фактор (усталость, потеря концентрации) сводится к минимуму.
Сейчас проект активно развивается. Если вы работаете в закупках, тендерах, оптовых продажах, или вам просто интересно обсудить архитектуру LLM-решений для B2B и протестировать инструмент на своих базах данных — буду рад пообщаться.
Более подробно я написал алгоритм здесь