Задача
В обычном PR команда вручную проходит длинную цепочку. Мониторит новости, ищет повод, соотносит его с позиционированием компании, определяет спикера и формулирует угол подачи. Ищет журналистов, проверяет их специализацию, собирает контакты и пишет каждому своё письмо. Потом согласовывает текст, планирует отправку, отслеживает ответы и следит, чтобы не написать одному человеку дважды с неуместным предложением.
Каждое звено требует человека, который держит в голове контекст компании и рынка. Инструменты на рынке закрывают отдельные звенья: база журналистов отдельно, мониторинг отдельно, генератор пресс-релизов отдельно. Стыковать их всё равно приходится руками. Отдельная сложность в том, что одна и та же новость для большинства компаний пустая, а для конкретного клиента — единственная за месяц возможность высказаться. Поэтому релевантность нельзя посчитать «вообще», только относительно его тем, весов, конкурентов, региона и экспертизы спикеров.
Решение
Вся цепочка собрана в один управляемый процесс из девяти шагов, и каждый шаг живёт внутри чата с агентом.
Каждый Flow — чат. Newsjacking, Announcement и Trade Pitch открываются как отдельные беседы в одном диалоговом интерфейсе. Внутри каждой появляются структурированные карточки и редакторы, сверху идёт общий степпер этапов. Завершённая кампания остаётся доступной для чтения, к ней можно вернуться без потери контекста, но состояния разных кампаний не смешиваются.
Профиль компании как источник контекста. Онбординг собирает позиционирование, спикеров с их зонами экспертизы, прямых и косвенных конкурентов, разрешённые и нежелательные темы с весами, регионы, отраслевые издания и примеры текстов. Отдельно строится профиль стиля: платформа разбирает утверждённые тексты компании и вытаскивает тон, лексику, длину фраз и формулировки, которых надо избегать. Дальше этот профиль ограничивает генерацию, и письма пишутся голосом компании.
Непрерывный мониторинг. Бэкенд собирает корпус из RSS, Serper, NewsAPI, GNews и Firecrawl, вытягивает полный текст, нормализует заголовки, дедуплицирует и извлекает темы. Затем считаются два независимых балла: значимость новости самой по себе и релевантность для этой компании. Для каждой истории в ленте сохраняется объяснение «почему это относится к вам» и происхождение данных.
Медиалист по личной специализации. Подбор учитывает запреты на контакт, обезличенные редакционные адреса, статус верификации и текущее место работы. В расчёт идут регион, должность, уровень издания и совпадение специализации с углом подачи, доказательством служат недавние статьи. Действуют пауза после прошлого контакта и лимит на число людей из одного издания. LLM-судья оценивает консервативно и смотрит на то, о чём человек пишет, а не на известность СМИ. В аудит попадают балл, причина, доказательства, модель, версия промпта и итоговое решение.
Три режима выката. Новая логика отбора включается в режиме off, shadow или strict. В shadow она считает и сохраняет результат, но не влияет на то, что видит клиент: версии сравниваются на реальных данных, пороги настраиваются заранее, и только потом решение попадает в клиентский путь.
Базовый питч, потом персонализация. Сначала пользователь утверждает общий смысл кампании: тему письма, зачин, главный тезис, факты, позицию спикера, призыв. Только после этого запускается адаптация под каждого журналиста: тема, первая фраза, отсылка к его недавнему материалу, связь с его специализацией, тезисы, длина. Ссылки и утверждения сверяются с фактическим контекстом, придумывать статьи при персонализации запрещено.
Человек перед отправкой. Customer Success может заблокировать поток на правку, поправить угол, медиалист и тексты, отправить тестовое письмо, вернуть запрос клиенту или одобрить кампанию. Пока идёт проверка, клиентские изменения блокируются; после снятия блокировки пользователь возвращается в корректное состояние.
Отправка и ответы. Одобренная кампания уходит в очередь отправки: письма разнесены во времени, учитываются рабочие окна и часовые пояса, есть повторные попытки и собственные верифицированные домены. Входящий вебхук связывает ответ с кампанией, журналистом и веткой переписки и различает интерес, отказ, запрос деталей, автоответ, «не тот адресат» и отписку.
Архитектура. Go-бэкенд на chi и pgx — единый слой оркестрации. На нём держатся потоки с их машинами состояний, сбор новостей, скоринг, журналисты, питчи и кампании. Там же доставка, вебхуки, планировщик и воркеры. PostgreSQL — источник истины, Vespa хранит семантический индекс, фоновые задачи идут через очередь на самой Postgres с приоритетами, повторами и подъёмом зависших задач после рестарта. Клиент — React и TypeScript, мобильная оболочка — React Native вокруг адаптивного веба. Модельный роутер не привязан к одному вендору: OpenAI, Anthropic, Gemini, DeepSeek, Perplexity. Промпты и лимиты лежат в базе и меняются без релиза. Дешёвые модели работают на классификации и пакетном скоринге, сильные — на стратегии.
Результат
Пользователь проходит весь цикл в одном последовательном процессе: платформа понимает компанию, находит момент, помогает сформировать экспертную позицию, выбирает журналистов, пишет индивидуальные обращения, проводит их через проверку и отслеживает ответы.
Каждая из шести ролей получила своё. Основатель — упоминания без содержания PR-отдела и контроль над тем, что уходит от лица компании. Внутренняя команда коммуникаций — операционную систему вместо пяти вкладок. Спикер — сохранённые темы, маркеры доверия и варианты формулировок. Customer Success — возможность вмешаться в конкретный поток, не переписывая кампанию с нуля. Команда по работе с данными — каталог журналистов и изданий с обогащением и очередями ручной проверки. Администратор платформы — отдельное приложение для клиентских аккаунтов, доступов и настроек.
Тяжёлую операционную работу — мониторинг, скоринг, сбор медиалиста, черновики писем — делает ИИ. Человек принимает решения: утверждает темы и спикеров, выбирает возможности и подтверждает отправку. Ни один неподтверждённый текст не уходит журналисту автоматически.
За простым интерфейсом стоит многоприложенческая архитектура: клиентское, серверное, административное, аналитическое и мобильное приложения работают независимо. Двадцать модулей, от концепции и дизайн-системы до планировщиков, наблюдаемости и вывода в эксплуатацию, вошли в одну поставку.