Дата публикации
ai_products

Как RAG научили писать нормальный бэк: опыт сервиса для рерайта новостей

Что появилось / что изменилось

Команда «Рерайт-Завода» — сервиса для автоматического рерайта новостей в региональных СМИ — вернула в продукт RAG-подход (retrieval-augmented generation). Но не для стиля, как планировали изначально, а для самой болезненной части новостей — бэков.

Ключевые изменения:

  1. Автоматические бэки к новостям
    Теперь система не просто переписывает текст из RSS, а ищет в архиве издания связанные материалы и генерирует короткий абзац-контекст:

    • что уже происходило с этой дорогой/чиновником/объектом;
    • какие были прошлые скандалы, сроки, обещания;
    • на что есть смысл сослаться.
  2. Архитектура на трёх агентах вместо одного
    Вместо монолитного «сделай всё» теперь три отдельных шага:

    • агент поиска ищет кандидатов в архиве;
    • агент фильтрации отбрасывает нерелевантные материалы (другая улица, другой объект, слишком старые новости);
    • агент генерации пишет один абзац бэка или честно признаёт, что контекста нет.
  3. RAG только для контента, а не для стиля
    Команда отказалась от идеи учить стиль через RAG: семантическая близость вообще не гарантирует похожий тон. Стиль берут из корпуса издания целиком, а RAG применяют только для поиска содержательно связанных текстов.

  4. Эмбеддинги для русского текста
    Для поиска по архиву сервис использует text-embedding-3-small от OpenAI. Это не идеальный вариант для русского, но:

    • даёт приемлемое качество поиска по смыслу;
    • достаточно быстрый и дешёвый для продакшена;
    • позволяет держать векторную базу статей и быстро доставать кандидатов для бэка.

Цифр по скорости и цене команда пока не раскрывает, но из описания понятно: без явных ограничений по длине контекста, зато с жёстким контролем качества на каждом шаге.

Как это работает

Боль, которую сервис решает, простая: обычный AI-рерайтер берёт текст пресс-релиза, переписывает его «в стиле издания» — и на этом всё. У него нет памяти. Он не знает, что редакция уже три раза писала про ту же улицу Веткина и каждый раз это был скандал.

Живой журналист помнит:

  • сроки переносили;
  • подрядчик менялся;
  • в комментариях сотни злых жителей.

И добавляет бэк: один абзац, который превращает «ремонт дороги» в «ещё один провал ремонта, о котором мы уже писали».

AI без RAG выдает формально корректный, но пустой текст. Именно это редакторы и описывают как «нормально, но мёртво».

Как RAG чинит ситуацию:

  1. Векторный поиск по архиву

    • Все статьи издания (если их вообще удалось вытащить из древней CMS) кодируются через text-embedding-3-small.
    • Новость про «ремонт улицы Веткина» превращается в вектор.
    • Система ищет по близости векторных представлений.
  2. Проблема «похожее ≠ связанное»
    Без фильтрации эмбеддинги радостно находят материалы про «ремонт проспекта Мира» с similarity 0.89. Смысл близкий, но объект другой. Такой бэк хуже, чем отсутствие бэка.

    Поэтому второй агент жёстко режет кандидатов по:

    • совпадению сущностей (улица, район, персонажи);
    • времени (новости пятилетней давности — это уже археология, а не контекст);
    • типу события.
  3. Временная релевантность
    «Свежий бэк» — не универсальная величина:

    • для губернатора нормальна ссылка годичной давности;
    • для погоды — уже мусор.

    Логика порогов зависит от тематики. Это зашито в правилах фильтрующего агента.

  4. Генерация бэка
    Если после фильтрации кандидаты остались, третий агент:

    • сжимает важное в один абзац;
    • добавляет формулировки уровня «Напомним, ранее…»;
    • при необходимости оставляет ссылку на прошлый материал.

    Если кандидатов нет — честно не пишет бэк. Это принципиальная позиция: лучше без контекста, чем с фальшивым.

Что это значит для вас

Для редакторов и главредов

  1. AI-тексты перестают быть «пустыми»
    Если вы пробовали ChatGPT или аналогичные сервисы для рерайта, вы точно видели этот эффект: текст без ошибок, но без памяти. Подход с RAG и тройкой агентов как раз закрывает этот пробел — возвращает новостям историю, которую обычно держит в голове журналист.

  2. Нормальная проверяемость
    Бэк опирается на конкретные прошлые статьи издания. Можно кликнуть в ссылку, проверить, что модель не нафантазировала, и быстро поправить формулировки.

  3. Ограничения

    • Если у издания нет цифрового архива — RAG работать почти не с чем. Многие региональные СМИ до сих пор сидят на старых CMS без API, с ручной выгрузкой.
    • Придётся один раз заморочиться: вытащить статьи, прогнать через эмбеддинги, настроить пороги по времени для разных тематик.

Для разработчиков медиа-инструментов

  1. Не пытайтесь учить стиль через RAG
    Семантическая близость не равна стилистической. Стиль издания примерно одинаков по всему корпусу. Для обучения стилю не нужен поиск похожих текстов — нужен просто хороший датасет из ваших материалов.

  2. RAG логичен там, где нужна «память»
    Новости, обзоры, расследования, юридические и медицинские тексты — везде, где важно «что было раньше по этой же теме», RAG даёт реальную пользу. В задачах типа «просто перефразируй» он избыточен.

  3. VPN и доступность
    text-embedding-3-small — это OpenAI. Для российских редакций это значит:

    • нужен VPN или прокси для работы с API;
    • юридические риски придётся оценивать самостоятельно;
    • возможны задержки и блокировки.

    Если вы не готовы к этому, придётся смотреть на локальные модели и свои эмбеддинги — с потерей качества или скоростью разработки.

Место на рынке

Рынок AI-инструментов для медиа сейчас делится на два лагеря:

  • сервисы уровня «переписать текст под SEO/ТЗ»;
  • кастомные решения, которые пытаются повторить работу редакции.

«Рерайт-Завод» явно идёт во второй сегмент.

По сравнению с ChatGPT и аналогами

  • Качество бэков:
    ChatGPT без доступа к вашему архиву и без RAG не знает, что именно ваше издание писало про эту дорогу или этого чиновника. Он может придумать общий контекст, но не ссылку на конкретный прошлый материал.

  • Контролируемость:
    Подход с тремя агентами и явной фильтрацией даёт редакции больше контроля:

    • можно менять пороги по времени;
    • можно настраивать правила фильтрации по сущностям;
    • можно отключить бэки там, где архив слишком грязный.
  • Стоимость и скорость:
    text-embedding-3-small — одна из самых дешёвых и быстрых моделей эмбеддингов у OpenAI, но это всё равно дороже, чем прогнать тот же текст через локальную LLM без поиска. Зато вы получаете не просто рерайт, а текст, который ближе к работе живого журналиста.

По сравнению с простыми AI-рерайтерами

  • Простые сервисы:

    • быстро;
    • дёшево;
    • без памяти.
  • Подход с RAG и бэками:

    • медленнее и дороже из-за поиска по векторной базе;
    • требует наличия архива;
    • даёт тексты, которые читатель реже принимает за «голую нейросеть без головы».

Если вы делаете продукт для медиа, главный вывод здесь простой:

  • RAG не панацея и не «магия для всего»;
  • для стиля он бесполезен;
  • для бэков и контекста — один из немногих способов приблизить AI к тому, как реально думает и пишет журналист.
Как RAG научили писать нормальный бэк: опыт сервиса для рерайта новостей — VogueTech | VogueTech