С чем пришёл клиент
Магазин стройматериалов — региональный оффлайн-гипермаркет с онлайн-витриной. На складе около 4 000 позиций: от саморезов и монтажной пены до дверных блоков и межкомнатных перегородок. Сайт собран на 1С-Битрикс, каталог тянется напрямую из 1С через штатную выгрузку CommerceML.
Проблема была знакомая:
- Примерно у 60% карточек описание — это копипаста с сайта производителя. Яндекс видит дубль и опускает в выдачу.
- У 30% карточек описание отсутствует вообще: есть название, артикул и цена, и всё.
- У 10% карточек описания написаны контент-менеджером руками, они были хорошими. Но 10% — это 400 позиций, а надо 4 000.
Контент-менеджер писал по 10–15 карточек в день. На прошивку всего каталога в его темпе нужно было примерно 9 месяцев, и к концу срока половина ассортимента успеет поменяться — поставщики обновляют линейки, появляются новые бренды, снимаются старые артикулы. Работа никогда не закончится: это бесконечный догоняющий марафон.
Задача, которую поставил клиент, звучала так: «Хочу, чтобы через месяц у меня весь каталог был заполнен нормальными описаниями, и чтобы дальше это само поддерживалось». С этим и начали.
Почему готовых решений не хватило
Первый вопрос, который задают клиенты на этом этапе: «А почему нельзя взять ChatGPT и попросить его написать 4 000 описаний?». Можно, но результат будет отвратительным по трём причинам.
Во-первых, без структурированных входных данных модель галлюцинирует. Если дать GPT-4 просто название «Саморез универсальный 4x40 ЦБ», он додумает применение, материал, упаковку, стойкость к коррозии — и половина додумываний будет мимо. Покупатель смотрит карточку, видит несоответствие с фактическим товаром, уходит, пишет претензию. Для стройматериалов это критично: человек ищет очень конкретные характеристики и не прощает вранья.
Во-вторых, без шаблона модель пишет каждую карточку в своём стиле. Одна — деловая, другая — разговорная, третья — маркетинговая. Каталог превращается в лоскутное одеяло. Для SEO и для восприятия бренда это хуже, чем однообразно-сухие описания.
В-третьих, без кэша и обновления только изменённой части каждая перегенерация стоит денег. 4 000 × стоимость токенов × каждый раз, когда меняется поставщик — это уже не автоматизация, это медленное сжигание бюджета.
Поэтому с самого начала строили не «GPT на коленке», а нормальный пайплайн.
Архитектура пайплайна

Вся логика — три шага: забрать из 1С, обогатить AI-ом, положить обратно в Битрикс.
┌────────────────────────┐
│ 1С (CommerceML XML) │
└────────┬───────────────┘
│ ночная выгрузка
▼
┌────────────────────────┐
│ ETL → база │
│ товары / атрибуты │
└────────┬───────────────┘
│ сверка хэшей
▼
┌────────────────────────┐
│ AI-обработка │
│ ─ шаблон по категории │
│ ─ LLM-генерация │
│ ─ валидация и ревью │
└────────┬───────────────┘
│ готовый JSON
▼
┌────────────────────────┐
│ Битрикс (REST) │
│ описание / мета / │
│ SEO-ключи │
└────────────────────────┘
Каждую ночь пайплайн смотрит, что изменилось в 1С: новый товар, поменялась цена, поменялась характеристика. Если характеристик, влияющих на текст, не было — карточка не перегенерируется, только обновляется цена. Это принципиально: перегенерация ради перегенерации стоит денег и может сдвинуть уже набранные позиции в выдаче.
Шаблоны по категориям — главный секрет

Главное, что отличает хороший пайплайн от плохого — это категорийные шаблоны. Разбили каталог на 27 категорий (саморезы, клеи, краски, утеплители, двери, ламинат и так далее) и под каждую написали промпт-шаблон с фиксированной структурой.
Пример для категории «Саморезы»:
Входные данные:
- название товара
- характеристики: {диаметр, длина, материал, покрытие, наконечник, упаковка}
- поле «Применение» из 1С, если заполнено
Структура выхода:
1. Лид-абзац: 2-3 предложения о назначении
2. Характеристики: таблица
3. Применение: 3-5 пунктов, с привязкой к материалам
4. Упаковка и фасовка
5. SEO-мета: title (60 символов), description (160 символов),
h1, 5-7 ключевых фраз
Тон: деловой, без воды, с цифрами.
Запрещено: придумывать характеристики, которых нет во входных данных.
Под каждую категорию шаблон свой, потому что саморез и межкомнатная дверь — это радикально разные тексты. У самореза важны метрики и совместимость, у двери — внешний вид, звукоизоляция, способ монтажа. Универсального шаблона нет и быть не может.
Шаблон — это не просто промпт. Это ещё и образцовые примеры в самом промпте: берём у клиента 3–5 эталонных описаний на каждую категорию, которые контент-менеджер написал вручную, и включаем их прямо в промпт. AI видит, «как должна звучать карточка в нашем магазине», и копирует тон.
Валидация: ловим галлюцинации до публикации

После генерации каждая карточка проходит автоматическую валидацию:
| Проверка | Что делает | Что если падает |
|---|---|---|
| Совпадение характеристик | Все числа из входа должны встречаться в тексте | Перегенерация с усиленным промптом |
| Отсутствие галлюцинаций | Никаких характеристик, которых нет во входе | Отбраковка, ручная проверка |
| Длина title и description | 50–60 / 150–170 символов | Автокорректировка |
| Уникальность по шинглам | ≥85% уникальности против предыдущих карточек | Перегенерация |
| Запрещённые слова | Стоп-лист клиента (названия конкурентов и т.п.) | Автозамена |
Автоматическая отбраковка — это ~8% карточек. Они отправляются контент-менеджеру в отдельную очередь «Проверить вручную». Из этих 8% примерно половина доправляется за минуту (опечатка в характеристике от поставщика), остальные требуют реального ручного переписывания. Итого живая ручная работа — около 4% от объёма, то есть примерно 160 карточек из 4 000.
Результаты через 3 недели
Неделя Что сделано Состояние каталога
─────────────────────────────────────────────────────────────────────
Неделя 0 Подключение к 1С, ETL ~10% с описанием
Неделя 1 Шаблоны 27 категорий, первый проход ~65% с описанием
Неделя 2 Валидация, перегенерация, проверка ~92% с описанием
Неделя 3 Ручная доправка сложных случаев 100% с описанием
| Метрика | До | После 3 недель |
|---|---|---|
| Карточек с полным описанием | 400 из 4 000 | 4 000 из 4 000 |
| Дублей по шинглам (внутри каталога) | 38% | 3% |
| Уникальных h1 и title | 62% | 100% |
| Органический трафик на карточки | базовый | +34% |
| Контент-менеджер занят на каталоге | 100% времени | ~20% времени |
И главное — 3 недели вместо 9 месяцев. Контент-менеджер, который до этого писал описания, теперь занимается задачами, которые AI не закроет: сравнительные обзоры в блог, работа с поставщиками, фотоконтент, скидочные посадочные.
Что забрать из кейса
Если коротко: AI не заменяет каталог-менеджера, а умножает его производительность примерно в 20 раз. Только он из «пишущего копипастера» превращается в редактора и куратора контента, который проверяет спорные карточки и ведёт сложные категории руками. Это другая роль, и она намного интереснее.
И ещё один вывод: ключ к качеству — не модель, а шаблоны. Одна и та же Claude Sonnet без шаблонов пишет расплывчато. А с категорийными шаблонами выдаёт структурированные, сравнимые карточки с предсказуемым SEO-весом. 80% работы в таком проекте — это не промпт-инжиниринг «в целом», а промпт-инжиниринг под каждую категорию отдельно.



