Автоматизация работы с контентом часто начинается с иллюзии: кажется, достаточно связать пару моделей через API, настроить сбор источников, прикрутить цепочку промптов для редактуры, и на выходе получится автономная редакция. На практике конвейер, работающий сразу на четыре платформы (Telegram-канал, блог проекта и внешние витрины), сталкивается с системными сбоями уже на первой сотне публикаций.
Архитектура конвейера: от парсинга до четырех очередей
Базовая схема фабрики строится на пяти последовательных модулях: сбор исходных данных, написание чернового текста, агентная редактура, валидация через ворота качества и публикация через диспетчер. На входе парсер каждые два часа сканирует технические репозитории, блоги разработчиков и базы релизов. Фильтр отсекает дубли по эмбеддингам и передает чистые факты в генератор.
Генератор готовит основу материала под два формата: короткую сводку для Telegram и развернутый технический гайд для блога. Задача выглядит тривиальной, но уже на этапе распределения по площадкам возникают конфликты форматирования. В Telegram требуются короткие абзацы, дефисы вместо длинных тире и полное отсутствие тяжелых решеток заголовков. В блоге, напротив, нужна четкая иерархия H2 и H3, вложенные списки и технические подробности.
После генерации в дело вступает диспетчер. Он распределяет готовые сущности по разным базам данных и очередям публикаций. На бумаге цикл выглядит полностью замкнутым, пока дело не доходит до проверки фактической точности.
Иллюзия строгой модерации: почему LLM-редакторы подыгрывают автору
Первоначальная идея заключалась в том, чтобы передать роль главного редактора отдельной модели с системным промптом, полным запретов. Ей скармливался список штампов, правила структуры и инструкция резать любые оценочные суждения. Казалось, независимый контекст гарантирует объективность.
Реальность оказалась иной. Если первая модель придумывает правдоподобный факт, агент-редактор почти никогда его не опровергает. Он правит стиль, укорачивает предложения, вычищает канцелярит, но смысловую галлюцинацию оставляет нетронутой. Модели склонны соглашаться с уверенным тоном входящего текста, если он не нарушает базовые правила грамматики и логики построения фразы.
Попытка заставить редактора искать противоречия привела ко второй проблеме: ложным срабатываниям. Агент начинал переписывать нейтральные формулировки, удалять реальные технические параметры и заменять сухие цифры размытыми обобщениями. Смысловую ткань текста модель-редактор держит плохо, превращая связный разбор в набор однотипных параграфов.
Ворота качества: где работают правила кода, а не промпты
Единственным надежным способом фильтрации контента оказались жесткие детерминированные проверки на уровне программного кода, а не языковой модели. Ворота качества были вынесены из промптов в Python-скрипты с регулярными выражениями и четкими лимитами.
Конвейер останавливается и бракует материал, если в тексте обнаруживаются:
- Стоп-слова из черного списка: вводные клише, корпоративный жаргон и маркетинговый мусор.
- Нарушения типографики: появление длинных тире, кавычек неправильного формата или запрещенных служебных тегов.
- Несовпадение структуры: отсутствие нужного количества разделов, превышение лимитов по объему абзацев или пустые блоки.
- Ссылки на неразрешенные внешние домены.
Программный шлюз не пытается «понять контекст». Он работает по бинарному принципу: либо тест пройден, либо задача падает с ошибкой в лог. Это отсекает около 40% неудачных генераций еще до того, как они попадут на глаза человеку, не расходуя токены на повторные диалоги с LLM.
Ручной апрув как единственный надежный предохранитель
После фильтрации встает вопрос: можно ли отдавать проверенный скриптами пост сразу в публикацию? Практика показала, что нельзя. Автоматика способна проверить соответствие правилам оформления, но не чувствует контекста и фальши.
Поэтому финальная часть пайплайна была спроектирована вокруг бота согласования. Когда материал проходит ворота качества, он падает в закрытый чат в виде карточки с предпросмотром для каждой площадки. Под карточкой находятся три кнопки: «Опубликовать», «Редактировать» и «Отклонить».
На ручную вычитку уходит от двадцати до сорока секунд. Этого времени достаточно, чтобы заметить подмену понятий, логическую нестыковку или неуместный тон. Если текст чистый, нажатие одной кнопки запускает одновременную отправку постов в Telegram, на сайт и во внешние ленты с правильной разметкой для каждой платформы.
Что в сухом остатке для продакшена
Попытка построить полностью автономную фабрику контента приводит либо к генерации пустого информационного шума, либо к регулярным репутационным факапам. Полная автономия здесь работает как ловушка: вы экономите время на письме, но затем тратите втрое больше на удаление постов и оправдания перед аудиторией.
Эффективная автоматизация забирает на себя поиск сырья, форматирование, черновую сборку и технический контроль стоп-листов. Рутинная часть работы сокращается в разы, но финальное решение всегда должно оставаться за человеком. Автоматика готовит патроны, но нажимать на спуск без прямого контроля пока непозволительная роскошь.