Автоматизация контента: AI-генерация описаний для 1С-Битрикс
Каждый интернет-магазин сталкивается с проблемой: сотни и тысячи товаров без уникальных описаний. Копировать тексты конкурентов — риск санкций, писать вручную — долго и дорого. Решение — интеграция AI-модели с инфоблоком Битрикса. Мы настроили такой пайплайн для 50+ проектов: система забирает характеристики из инфоблока, формирует промпт и возвращает готовый текст в карточку товара. Время написания одного описания сокращается с 20 минут до 20 секунд, а бюджет на контент уменьшается до 80%.
Наша команда — сертифицированные инженеры с 5+ годами опыта. За это время автоматизированы каталоги от бытовой техники до промышленного оборудования. REST API и инфоблоки v2.0 — стек, с которым работаем постоянно. Результат: органический трафик на карточки товаров растёт до 34% за 3 месяца после индексации. Свяжитесь с нами — покажем, как это выглядит на ваших данных. Закажите аудит текущего состояния — мы предложим план внедрения.
Как мы собираем данные для промпта?
Процесс сбора данных состоит из нескольких шагов:
- Получаем элемент инфоблока через
CIBlockElement::GetByID.
- Извлекаем поля (название, раздел) и все свойства, исключая технические вроде
MORE_PHOTO.
- Добавляем актуальную цену через
CCatalogProduct::GetOptimalPrice.
- Формируем строку контекста с разделением на строки.
Качество текста прямо пропорционально качеству входных данных. Пример реализации:
function buildProductContext(int $elementId): string {
$element = CIBlockElement::GetByID($elementId)->GetNextElement();
$fields = $element->GetFields();
$props = $element->GetProperties();
$context = "Товар: {$fields['NAME']}\n";
$context .= "Раздел каталога: " . getSectionName($fields['IBLOCK_SECTION_ID']) . "\n";
foreach ($props as $prop) {
if (!empty($prop['VALUE']) && $prop['CODE'] !== 'MORE_PHOTO') {
$context .= "{$prop['NAME']}: {$prop['~VALUE']}\n";
}
}
// Добавляем цену для контекста
$price = CCatalogProduct::GetOptimalPrice($elementId);
$context .= "Цена: {$price['PRICE']['PRICE']} {$price['PRICE']['CURRENCY']}\n";
return $context;
}
Свойства типа MORE_PHOTO и другие технические пропускаем — в промпте нужны только семантически значимые данные. Как отмечает документация 1С-Битрикс: «Инфоблок — универсальный способ хранения структурированной информации».
Многоуровневая система промптов
Не один промпт для всех товаров — отдельные шаблоны для каждой товарной категории. Электроника и детская одежда требуют разного тона и структуры.
Система промптов с наследованием:
- Базовый промпт — общие инструкции по стилю, запрещённым фразам, структуре.
- Категорийный промпт — специфика категории (технический язык для электроники, эмоциональный для lifestyle-товаров).
- Промпт конкретного инфоблока — особенности магазина (фирменный голос бренда).
Если категорийный промпт не задан — используется промпт родительской категории, затем базовый.
| Уровень |
Назначение |
Примеры параметров |
| Базовый |
Тон, структура, ограничения |
Длина 200–350 слов, без гипербол |
| Категорийный |
Специфика категории |
Эмоциональность, типичные характеристики |
| Инфоблочный |
Уникальный голос бренда |
Фирменные фразы, tone of voice |
Форматирование и структура вывода
Просить AI вернуть чистый HTML-текст ненадёжно — модель может нарушить структуру. Лучше просить структурированный JSON:
{
"preview_text": "Краткое описание до 100 слов для листинга",
"detail_text": "Полное описание 200-350 слов с HTML-форматированием",
"bullet_points": ["ключевое преимущество 1", "ключевое преимущество 2"],
"target_audience": "Для кого этот товар"
}
JSON-режим доступен в OpenAI через response_format: {type: "json_object"}. Bullet points используем для блока «Преимущества» на карточке товара через свойство инфоблока типа S с флагом MULTIPLE.
Как организовать батчевую генерацию?
GPT-4o-mini имеет контекстное окно 128K токенов. Можно отправлять батч из нескольких товаров в одном запросе — это снижает расходы на накладные системные токены:
Опиши следующие 5 товаров. Верни JSON-массив из 5 объектов...
[товар 1]
[товар 2]
...
Батч из 5 товаров экономит до 30% токенов на системных инструкциях. Но при ошибке теряем весь батч — делаем retry с повышением и батчи по 3–5 товаров максимум.
Почему важно тестировать промпты?
Для высококонкурентных категорий стоит тестировать разные промпты:
- Группа A: технический стиль (спецификации → выгоды)
- Группа B: эмоциональный стиль (образ жизни → технические детали)
Битрикс поддерживает A/B через маркетинговый модуль, но проще сохранить вариант промпта в свойство элемента и замерить конверсию через цели в Яндекс.Метрике.
Кейс: генерация описаний для 28 000 SKU из нашей практики
Задача: бытовая техника, 3 категории (крупная, мелкая, климатическая), разные требования к тексту.
Реализация:
- 3 категорийных промпта, разработанных совместно с маркетологом за 2 дня
- GPT-4o-mini для основной массы (80%), GPT-4o для топ-100 SKU по обороту
- Батчи по 3 товара, 8 параллельных воркеров
- Общее время генерации 28 000 описаний — 14 часов
Результат: органический трафик на карточки товаров вырос на 34% за 3 месяца после индексации. Экономия бюджета на контент — до 80% по сравнению с ручным написанием. Закажите консультацию — подберём оптимальную конфигурацию для вашего магазина.
Что входит в работу
- Проектирование системы промптов: анализ вашего каталога, разработка базового и категорийных шаблонов
- Интеграция с инфоблоком: сборщик контекста, передача данных в AI, запись результатов обратно в свойства элемента
- Батчевый генератор: постановка задач в очередь, обработка с retry, логирование ошибок
- Контроль качества: модерация первых 100 описаний, настройка чек-листов
- Обучение и документация: передача системы, инструкция по эксплуатации, поддержка в течение месяца
Таймлайн работ
| Этап |
Срок |
| Проектирование системы промптов, итерации |
2–4 дня |
| Сборщик контекста товара, интеграция с инфоблоком |
1–2 дня |
| Батчевый генератор, очереди, retry |
1–2 дня |
| Контроль качества, модерация |
1 день |
| A/B тесты, аналитика |
2–3 дня (опционально) |
Итого: 5–9 рабочих дней до первой продуктивной генерации.
Получите консультацию по автоматизации контента в вашем магазине — наши инженеры помогут подобрать оптимальное решение. Свяжитесь с нами, и мы покажем, как это работает на ваших данных.
Разработка каталога 1С-Битрикс: как превратить фильтр за 4 секунды в мгновенный отклик
В интернет-магазине 80 000 товаров, умный фильтр на Битрикс тормозит — каждый клик по свойству превращается в 4-секундное ожидание. Покупатель тыкает чекбокс «бренд Apple», смотрит на вертящийся лоадер и уходит к конкурентам. Конверсия падает на 20%. Это знакомая боль. Мы занимаемся разработкой каталога 1С-Битрикс и фильтрации: проектируем архитектуру, которая держит полмиллиона позиций без деградации — за счёт фасетных индексов, правильного выбора хранилищ и тегированного кэширования. Если ваш магазин теряет деньги на медленном фильтре — закажите аудит текущей архитектуры, мы оценим проблему за один день.
Как инфоблоки влияют на производительность каталога?
Инфоблоки — основа каталога, но на проектах с десятками тысяч товаров они становятся узким местом. Стандартный bitrix:catalog.smart.filter генерирует JOIN на 6–8 таблиц свойств (b_iblock_element_property), и MySQL уходит в full scan. Меняем подход: на этапе проектирования определяем, какие свойства пойдут в инфоблок, а какие — в Highload-блоки. Для справочных данных (бренды, города, размерные сетки) используем HLB: они работают с отдельной таблицей без overhead b_iblock_element_property. Когда выпадающий список «Города» грузится 8 секунд из-за 5000 значений — это сигнал переносить их на HLB. Каталог на 80 000 товаров с фильтром за 4 секунды теряет около 1,2 млн рублей в год из-за ухода клиентов — такую экономию даёт правильная архитектура. Свяжитесь с нами, чтобы прикинуть выгоду для вашего проекта.
Что такое фасетный индекс и почему он важен?
Основная производительность кроется здесь. Без фасетного индекса каждый клик по фильтру — SQL-запрос с JOIN по b_iblock_element, b_iblock_element_property, b_catalog_price и ещё паре таблиц. На 100 000 товаров такой запрос выполняется 2–4 секунды. С фасетным индексом — 30–80 мс. Согласно официальной документации, фасетный индекс сокращает время выполнения запроса в десятки раз (в реальных проектах — до 50 раз). Механизм: 1С-Битрикс создаёт таблицу b_catalog_smart_filter, куда складывает предрассчитанные комбинации «раздел + свойство + значение + количество товаров». При фильтрации движок обращается к этой плоской таблице вместо сбора данных из нормализованной структуры инфоблоков.
При настройке фасетного индекса часто допускают одни и те же промахи. Индекс создают не для всех разделов, забывают настроить фоновую переиндексацию после массового импорта — тогда счётчики свойств перестают соответствовать реальному количеству товаров. Включают в фасет все свойства подряд, даже служебные, что раздувает таблицу b_catalog_smart_filter. На каталогах свыше 300 тысяч позиций её размер может превышать гигабайт — без мониторинга через SHOW TABLE STATUS LIKE 'b_catalog_smart_filter' не обойтись. Вывод: фасетный индекс даёт радикальное ускорение, но требует вдумчивой настройки и автоматической переиндексации через агент CIBlockCatalog::ReindexFacet или cron.
Почему Highload-блоки быстрее инфоблоков для справочников?
| Критерий |
Инфоблок (IB) |
Highload-блок (HLB) |
| Хранение свойств |
Таблица b_iblock_element_property |
Отдельная плоская таблица на каждый HLB |
| Скорость фильтрации на 50 тыс. товаров |
~500–800 мс (с фасетом) |
~80–150 мс (без фасета) |
| Поддержка SEO (URL, шаблоны) |
Полная |
Отсутствует (только справочники) |
| Рекомендуется для |
Товары, разделы, основные свойства |
Справочники (бренды, города), пользовательские данные |
Когда инфоблоки предпочтительнее HLB
Highload-блоки не формируют SEO-URL и не имеют визуального редактора. Если справочник должен иметь отдельные страницы (например, бренды с уникальными H1), используйте инфоблоки. HLB — для сугубо служебных данных, не требующих индексации.
На практике лучшая архитектура — гибридная. Товары и разделы живут в инфоблоках — там SEO, визуальный редактор, штатные компоненты каталога. А справочные свойства с тысячами значений переносим в Highload-блоки. Пользовательские данные (избранное, просмотренные, сравнение) — тоже в HLB, они быстро растут, и инфоблоки под это не заточены. Хотите узнать, какую архитектуру выбрать для вашего каталога? Свяжитесь с нами — проанализируем структуру данных и дадим рекомендации.
SEO-фильтры: как получить ЧПУ и не попасть под фильтр Яндекса?
Стандартный фильтр генерирует ?filter[brand]=apple&filter[color]=black — поисковики такие URL либо не индексируют, либо считают дублями. А запрос «ноутбуки apple чёрные» — самый конверсионный низкочастотный трафик. Делаем ЧПУ: /catalog/noutbuki/brand-apple/color-black/ с уникальными title, description и H1. Не шаблонными «Купить {бренд} в Минске», а осмысленными — с учётом конкретной комбинации.
- Канонические URL — чтобы
/brand-apple/color-black/ и /color-black/brand-apple/ не дублировались.
- Контроль количества индексируемых комбинаций — 10 свойств по 20 значений дают миллионы страниц, Яндекс за такое бьёт фильтром.
- Автоматическая sitemap для SEO-страниц фильтрации.
- Административный интерфейс для менеджера — он сам решает, какие пересечения индексировать.
Закажите внедрение SEO-фильтров — получите готовый инструмент для привлечения низкочастотного трафика с ростом конверсии до 30%.
Какие методы дают ощутимый прирост производительности?
- Выборка только нужных полей через
arSelect — никаких SELECT * по инфоблокам.
- Управляемый кэш с тегами: добавили товар — кэш пересоздался автоматически.
- Композитный кэш для анонимов: TTFB < 100 мс, HTML отдаётся без запуска PHP.
- Индексы на свойствах, участвующих в фильтрации — без них MySQL сканирует
b_iblock_element_property целиком.
- Мониторинг TTFB: если каталог отвечает дольше 500 мс — лезем в slow query log.
Что входит в комплексную разработку каталога на 1С-Битрикс
Мы передаём не просто работающий код, а полный комплект документации и инструментов для самостоятельного управления. В deliverables входят:
- Аудит текущей архитектуры каталога и фильтрации.
- Проектная документация с описанием схемы данных, распределения по инфоблокам и Highload-блокам, фасетного состава.
- Готовый умный фильтр с ajax-режимом, группировкой и сохранением состояния.
- Настроенный фасетный индекс с cron-переиндексацией.
- SEO-фильтры с ЧПУ, уникальными метатегами, каноникалами и sitemap.
- Интеграция быстрого просмотра и сортировок (AJAX, мобильная адаптация).
- Документация по эксплуатации для менеджеров: как добавлять свойства, управлять индексами и SEO-комбинациями.
- Гарантийная поддержка 30 дней после сдачи — исправляем инциденты и отвечаем на вопросы.
Как мы разрабатываем каталог: пошаговый план
Мы не просто ставим компоненты. Процесс включает:
- Аудит текущего каталога — разбор структуры свойств, выявление узких мест, проверка индексов и кэша.
- Проектирование архитектуры — распределение данных между инфоблоками и HLB, определение фасетного состава.
- Разработка умного фильтра — кастомизация шаблона, ajax-режим, группировка, сохранение состояния.
- Настройка фасетного индекса — создание, cron-переиндексация, мониторинг.
- SEO-фильтры — ЧПУ, метатеги, каноникалы, sitemap.
- Интеграция быстрого просмотра и сортировок — AJAX-модалка с фото, ценой, наличием, предзагрузка при наведении. На мобильных — bottom sheet вместо попапа.
- Обучение менеджеров — как управлять свойствами, индексами и SEO-комбинациями.
- Гарантийная поддержка — 30 дней после сдачи.
Сроки реализации
| Задача |
Ориентировочный срок |
| Настройка умного фильтра |
3–5 дней |
| Фасетный поиск |
2–3 дня |
| SEO-фильтры |
1–2 недели |
| Быстрый просмотр |
3–5 дней |
| Кастомный шаблон каталога |
1–2 недели |
| Миграция на Highload-блоки |
2–4 недели |
| Комплексная разработка каталога |
4–8 недель |
Каталог окупается через рост конверсии и приток SEO-трафика по низкочастотке. Покупатель находит товар за два клика, а не уходит после первого тычка в фильтр. Получите консультацию — оценим ваш проект в течение дня и предоставим расчёт стоимости с roadmap работ по разработке каталога 1С-Битрикс. Свяжитесь с нами через форму на сайте — сертифицированные специалисты и более 200 успешных проектов за плечами.