Узкое место оптовой компании — разбор входящих заявок. Они приходят письмом, в мессенджере, файлом, иногда фотографией списка. Каждая написана по-своему: одни называют позиции артикулами, другие своими словами, третьи присылают спецификацию в свободной форме.
Менеджер тратит время не на продажу, а на расшифровку: понять, что именно нужно, найти позиции в номенклатуре, посчитать, оформить.
Это ровно та задача, где модель незаменима: на входе текст, написанный человеком, на выходе — структура. И это же задача, где чаще всего ошибаются в реализации.
Главная ошибка: отдать модели всё
Соблазн понятный: пусть модель прочитает заявку, найдёт позиции в номенклатуре, посчитает сумму и создаст заказ.
Так делать нельзя, и вот почему.
Модель ошибается в арифметике молча. Сумма, посчитанная неверно, попадает в заказ и обнаруживается при сверке.
Модель «находит» несуществующие артикулы. Если позиции нет в справочнике, она подберёт правдоподобный код.
Результат невоспроизводим. Одна и та же заявка, обработанная дважды, может дать разный состав.
Правильное разделение:
| Шаг | Кто делает |
|---|---|
| Прочитать заявку, вернуть список позиций как они названы | модель |
| Найти позиции в номенклатуре | код, нечёткое сопоставление |
| Проверить, что каждая найдена однозначно | код |
| Посчитать сумму с учётом цен клиента | код |
| Создать заказ | код |
| Уточнить у клиента непонятное | человек или бот по сценарию |
Модель занята на одном шаге из шести. Общий принцип — «Автоматизация с ИИ: что реально работает».
Что автоматизируется
Разбор заявок в свободной форме
Основной сценарий. Из письма или сообщения извлекается список позиций с количествами в заданном формате — «Структурированный вывод модели».
Дальше код ищет по номенклатуре. Здесь ключевая деталь: сопоставление должно быть нечётким. Клиент пишет «труба 25 оцинк 3м», а в справочнике «Труба стальная оцинкованная Ø25, длина 3000 мм». Точное сравнение не сработает.
Разбор спецификаций из файлов
Заявки приходят таблицами разного формата. Извлечение позиций из файла — та же задача, что с документами: «Извлечение данных из документов».
Сложность отраслевая: у каждого клиента свой формат таблицы, свои названия колонок, свой порядок.
Ответы по условиям
Минимальная партия, сроки поставки, условия отгрузки, порядок оплаты для юрлиц, работа с отсрочкой, доставка в регионы.
Здесь та же ловушка, что во всех отраслях с договорной работой: правило и исключения к нему часто лежат в разных местах регламента, и система отвечает половиной правды. Разбор — «Чанкинг документов».
Ответы по наличию и срокам
Требует интеграции с учётной системой. Ответ «нет в наличии, будет через неделю» удерживает клиента лучше молчания.
Подготовка коммерческих предложений
Черновик по разобранной заявке и ценам клиента. Проверяет и отправляет менеджер.
Разбор входящей почты
Отделить заявки от прочего, определить клиента, связать с существующей сделкой — «Автоматическая обработка почты».
Что специфично: цены у каждого свои
Особенность опта, ломающая наивные решения: цена зависит от клиента. Категория, объём, договорённости, действующие акции, индивидуальные условия.
Практические следствия:
- цену считает учётная система, а не модель и не бот;
- бот не сообщает цену до идентификации клиента;
- в публичном канале цены не раскрываются — только «уточните у менеджера» или после авторизации;
- прайс в базе знаний бота — только общие условия, без персональных цен.
Нарушение последнего пункта — самая частая утечка в опте: бот, отвечающий по загруженному прайсу, сообщает цену одного клиента другому.
Расчёт: разбор заявок
Числа иллюстративные. Компания, 6 менеджеров.
| Величина | Значение |
|---|---|
| Заявок в месяц | 1 100 |
| Время на разбор и оформление | 14 мин |
| Часов в месяц | 257 |
| Полная стоимость часа | 900 ₽ |
| Сейчас | 231 000 ₽/мес |
| Проходит автоматически | ~70% |
| Остальные — подтверждение по 4 мин | 22 часа |
| Время на автоматические | ~0 |
| Стало | ~20 000 ₽/мес |
| Экономия | ~211 000 ₽/мес |
| Разработка | ~600 000 ₽ |
| Эксплуатация | ~30 000 ₽/мес |
Окупаемость около трёх месяцев при таком потоке.
Строка, требующая оговорки: 70% автоматической обработки достижимы при заполненной номенклатуре с синонимами. При справочнике, где одна позиция называется тремя способами и нет ни одного из клиентских вариантов, доля будет заметно ниже.
Побочный эффект, который обычно оказывается ценным: позиции, которые система не смогла сопоставить, — это готовый список того, чего не хватает в справочнике. Через месяц работы у вас появляется перечень клиентских названий, которые стоит добавить синонимами.
Чего делать не стоит
- Поручать модели арифметику — суммы считает код;
- позволять «находить» позиции, которых нет в номенклатуре;
- сообщать цены до идентификации клиента;
- загружать в базу знаний бота персональные условия клиентов;
- автоматически подтверждать заказы без проверки при неоднозначном сопоставлении;
- обещать сроки поставки без данных из учётной системы.
Частые вопросы
Как автоматизировать обработку заявок в опте?
Модель извлекает из письма список позиций так, как они названы клиентом, и возвращает в строгом формате. Дальше код ищет их в номенклатуре нечётким сопоставлением, проверяет однозначность, считает сумму по ценам клиента и создаёт заказ. Модель занята на одном шаге из шести — остальное надёжнее делать программно.
Может ли система сама посчитать сумму заказа?
Считать должен код, а не модель: она ошибается в арифметике редко, но молча, и неверная сумма попадает в заказ. Плюс в опте цена зависит от клиента, его категории и договорённостей — это расчёт учётной системы.
Что делать, если клиент называет товар своими словами?
Нужно нечёткое сопоставление с номенклатурой и словарь синонимов. Точное сравнение не сработает: «труба 25 оцинк 3м» и полное наименование из справочника не совпадут. Позиции, которые не сопоставились, стоит собирать — это готовый список синонимов для пополнения справочника.
Можно ли поручить боту сообщать цены?
Только после идентификации клиента и с расчётом из учётной системы. В опте цены персональные, и бот, отвечающий по загруженному прайсу, легко сообщит условия одного клиента другому. В публичном канале цены не раскрываются.
Какая доля заявок обрабатывается автоматически?
Зависит от состояния номенклатуры. При заполненном справочнике с синонимами — большая часть потока; при справочнике, где нет клиентских вариантов названий, — заметно меньше. Это стоит проверить на архиве реальных заявок до начала проекта.
Что нужно для запуска?
Архив реальных заявок за месяц-два, выгрузка номенклатуры, правила ценообразования по категориям клиентов и доступ к учётной системе. Отдельно — регламент условий поставки в виде, где правило и исключения к нему не разнесены по разным разделам.
Что дальше
Разбор заявок технически — «Извлечение данных из документов» и «Структурированный вывод модели». Что делать с неоднозначными случаями — «Человек в контуре проверки». Ответы по условиям — «Чат-бот по базе знаний».
Разбор архива заявок с оценкой достижимой доли автоматизации — часть аудита; построение конвейера — часть работы по автоматизации процессов.