- Дата публикации
Как RAG научили писать нормальный бэк: опыт сервиса для рерайта новостей
Что появилось / что изменилось
Команда «Рерайт-Завода» — сервиса для автоматического рерайта новостей в региональных СМИ — вернула в продукт RAG-подход (retrieval-augmented generation). Но не для стиля, как планировали изначально, а для самой болезненной части новостей — бэков.
Ключевые изменения:
-
Автоматические бэки к новостям
Теперь система не просто переписывает текст из RSS, а ищет в архиве издания связанные материалы и генерирует короткий абзац-контекст:- что уже происходило с этой дорогой/чиновником/объектом;
- какие были прошлые скандалы, сроки, обещания;
- на что есть смысл сослаться.
-
Архитектура на трёх агентах вместо одного
Вместо монолитного «сделай всё» теперь три отдельных шага:- агент поиска ищет кандидатов в архиве;
- агент фильтрации отбрасывает нерелевантные материалы (другая улица, другой объект, слишком старые новости);
- агент генерации пишет один абзац бэка или честно признаёт, что контекста нет.
-
RAG только для контента, а не для стиля
Команда отказалась от идеи учить стиль через RAG: семантическая близость вообще не гарантирует похожий тон. Стиль берут из корпуса издания целиком, а RAG применяют только для поиска содержательно связанных текстов. -
Эмбеддинги для русского текста
Для поиска по архиву сервис используетtext-embedding-3-smallот OpenAI. Это не идеальный вариант для русского, но:- даёт приемлемое качество поиска по смыслу;
- достаточно быстрый и дешёвый для продакшена;
- позволяет держать векторную базу статей и быстро доставать кандидатов для бэка.
Цифр по скорости и цене команда пока не раскрывает, но из описания понятно: без явных ограничений по длине контекста, зато с жёстким контролем качества на каждом шаге.
Как это работает
Боль, которую сервис решает, простая: обычный AI-рерайтер берёт текст пресс-релиза, переписывает его «в стиле издания» — и на этом всё. У него нет памяти. Он не знает, что редакция уже три раза писала про ту же улицу Веткина и каждый раз это был скандал.
Живой журналист помнит:
- сроки переносили;
- подрядчик менялся;
- в комментариях сотни злых жителей.
И добавляет бэк: один абзац, который превращает «ремонт дороги» в «ещё один провал ремонта, о котором мы уже писали».
AI без RAG выдает формально корректный, но пустой текст. Именно это редакторы и описывают как «нормально, но мёртво».
Как RAG чинит ситуацию:
-
Векторный поиск по архиву
- Все статьи издания (если их вообще удалось вытащить из древней CMS) кодируются через
text-embedding-3-small. - Новость про «ремонт улицы Веткина» превращается в вектор.
- Система ищет по близости векторных представлений.
- Все статьи издания (если их вообще удалось вытащить из древней CMS) кодируются через
-
Проблема «похожее ≠ связанное»
Без фильтрации эмбеддинги радостно находят материалы про «ремонт проспекта Мира» с similarity 0.89. Смысл близкий, но объект другой. Такой бэк хуже, чем отсутствие бэка.Поэтому второй агент жёстко режет кандидатов по:
- совпадению сущностей (улица, район, персонажи);
- времени (новости пятилетней давности — это уже археология, а не контекст);
- типу события.
-
Временная релевантность
«Свежий бэк» — не универсальная величина:- для губернатора нормальна ссылка годичной давности;
- для погоды — уже мусор.
Логика порогов зависит от тематики. Это зашито в правилах фильтрующего агента.
-
Генерация бэка
Если после фильтрации кандидаты остались, третий агент:- сжимает важное в один абзац;
- добавляет формулировки уровня «Напомним, ранее…»;
- при необходимости оставляет ссылку на прошлый материал.
Если кандидатов нет — честно не пишет бэк. Это принципиальная позиция: лучше без контекста, чем с фальшивым.
Что это значит для вас
Для редакторов и главредов
-
AI-тексты перестают быть «пустыми»
Если вы пробовали ChatGPT или аналогичные сервисы для рерайта, вы точно видели этот эффект: текст без ошибок, но без памяти. Подход с RAG и тройкой агентов как раз закрывает этот пробел — возвращает новостям историю, которую обычно держит в голове журналист. -
Нормальная проверяемость
Бэк опирается на конкретные прошлые статьи издания. Можно кликнуть в ссылку, проверить, что модель не нафантазировала, и быстро поправить формулировки. -
Ограничения
- Если у издания нет цифрового архива — RAG работать почти не с чем. Многие региональные СМИ до сих пор сидят на старых CMS без API, с ручной выгрузкой.
- Придётся один раз заморочиться: вытащить статьи, прогнать через эмбеддинги, настроить пороги по времени для разных тематик.
Для разработчиков медиа-инструментов
-
Не пытайтесь учить стиль через RAG
Семантическая близость не равна стилистической. Стиль издания примерно одинаков по всему корпусу. Для обучения стилю не нужен поиск похожих текстов — нужен просто хороший датасет из ваших материалов. -
RAG логичен там, где нужна «память»
Новости, обзоры, расследования, юридические и медицинские тексты — везде, где важно «что было раньше по этой же теме», RAG даёт реальную пользу. В задачах типа «просто перефразируй» он избыточен. -
VPN и доступность
text-embedding-3-small— это OpenAI. Для российских редакций это значит:- нужен VPN или прокси для работы с API;
- юридические риски придётся оценивать самостоятельно;
- возможны задержки и блокировки.
Если вы не готовы к этому, придётся смотреть на локальные модели и свои эмбеддинги — с потерей качества или скоростью разработки.
Место на рынке
Рынок AI-инструментов для медиа сейчас делится на два лагеря:
- сервисы уровня «переписать текст под SEO/ТЗ»;
- кастомные решения, которые пытаются повторить работу редакции.
«Рерайт-Завод» явно идёт во второй сегмент.
По сравнению с ChatGPT и аналогами
-
Качество бэков:
ChatGPT без доступа к вашему архиву и без RAG не знает, что именно ваше издание писало про эту дорогу или этого чиновника. Он может придумать общий контекст, но не ссылку на конкретный прошлый материал. -
Контролируемость:
Подход с тремя агентами и явной фильтрацией даёт редакции больше контроля:- можно менять пороги по времени;
- можно настраивать правила фильтрации по сущностям;
- можно отключить бэки там, где архив слишком грязный.
-
Стоимость и скорость:
text-embedding-3-small— одна из самых дешёвых и быстрых моделей эмбеддингов у OpenAI, но это всё равно дороже, чем прогнать тот же текст через локальную LLM без поиска. Зато вы получаете не просто рерайт, а текст, который ближе к работе живого журналиста.
По сравнению с простыми AI-рерайтерами
-
Простые сервисы:
- быстро;
- дёшево;
- без памяти.
-
Подход с RAG и бэками:
- медленнее и дороже из-за поиска по векторной базе;
- требует наличия архива;
- даёт тексты, которые читатель реже принимает за «голую нейросеть без головы».
Если вы делаете продукт для медиа, главный вывод здесь простой:
- RAG не панацея и не «магия для всего»;
- для стиля он бесполезен;
- для бэков и контекста — один из немногих способов приблизить AI к тому, как реально думает и пишет журналист.