Cómo DeepSeek y Wordstat convirtieron la recopilación manual de palabras clave en un sistema SEO multiagente
Un intento por dejar de copiar datos de Wordstat a Excel terminó en la creación de un pipeline SEO con DeepSeek, SERP Veto y ensemble voting. El autor armó un s
Автор на Habr показал, как рутинный перенос данных из Wordstat в Excel превратился в полноценный SEO-инструмент с несколькими агентами, голосованием моделей и отдельным арбитром. В итоге система обрабатывает около 3000 ключей за 20–30 минут, оставляя на ручную проверку лишь около 5% спорных запросов.
Как вырос пайплайн
Изначально задача была предельно приземлённой: перестать копировать ключевые слова руками. Первая версия скрипта просто тянула данные из Bukvarix и складывала их в файл. Потом автор понял, что для рекламных кампаний этого мало: частотность в таких источниках может устаревать на месяцы, а значит, решения по бюджету принимаются по старым данным.
Поэтому в систему добавили XMLRiver как более свежий источник данных из экосистемы Яндекса, а вместе с ним — базовую, точную и уточнённую частотность. Дальше проект ушёл от банального парсинга к полноценной обработке семантики. Для кластеризации автор подключил SentenceTransformers, но быстро упёрся в типичную проблему NLP: семантически похожие запросы не всегда должны попадать на одну страницу.
Чтобы не смешивать, например, геозависимые запросы вроде ремонта в Москве и Воронеже, поверх эмбеддингов появился SERP Veto — проверка по пересечению URL в выдаче. Перед этим список ещё чистится от мусора регулярками и схлопывается через fuzzy deduplication, что убирает 30–40% дублей ещё до дорогих SERP-запросов.
Почему одного LLM мало
Когда таблица уже умела собирать, частотить и кластеризовать ключи, осталась самая неприятная часть: отсеивать мусор. Речь о вакансиях, агрегаторах, запросах с информационным интентом и других пограничных кейсах, которые сложно убрать простыми минус-словами. Автор попробовал отдать задачу одной LLM-модели DeepSeek с простым промптом, но быстро выяснилось, что без контекста модель угадывает нишу слишком вольно.
Слово «ремонт» для неё может означать и квартиры, и телефоны, и двигатель. Чтобы снизить хаос, перед классификацией появился PlannerAgent. Он получает описание ниши и генерирует ориентиры для следующего шага: кто целевой клиент, какие примеры считать релевантными, какие ловушки отсекать, как обращаться с географией.
Параллельно автор оптимизировал стоимость: вместо возврата полных строк модель стала отвечать только ID ключей. Это снизило объём ответа примерно с 400 до 80 токенов на батч и дало экономию в 30–40% на больших прогонах.
Зачем понадобилось голосование
Даже после этих улучшений один и тот же набор из 671 ключа при трёх прогонах показывал лишь 37,7% полностью стабильных решений. Причина оказалась не в температуре, а в самом процессе: PlannerAgent каждый раз чуть менял few-shot-примеры, и пограничные запросы уезжали в разные категории. Тогда автор сделал Ensemble Voting: каждый батч из 20 ключей прогоняется три раза параллельно, а итог определяется большинством голосов.
Если все три ответа расходятся, запрос отправляется в лист «Проверить», а позже его разбирает отдельный арбитражный агент. стабильность классификации выросла с 37,7% до примерно 85% ручная проверка сократилась до около 5% запросов 3000 ключей обрабатываются за 20–30 минут вместо 3–4 часов стоимость прогона с тремя голосами составляет около 0,3 доллара > «Фикс три строки в промпте. Три строки.
А я перед этим неделю строил архитектуру.» Эта фраза хорошо описывает главный вывод автора. После всей архитектурной работы оказалось, что один очевидный коммерческий запрос стабильно улетал в спорные просто потому, что в правилах промпта не было формулировки «под ключ».
То есть сложная мультиагентная схема действительно повысила качество, но не отменила базовую необходимость валидировать сам промпт на крайних случаях до того, как обвешивать его ансамблями и арбитрами.
Что это значит Этот кейс полезен не только SEO-специалистам.
Он показывает, как прикладная автоматизация с реальной болью пользователя может быстро вырасти в агентную систему, если упереться в качество, стоимость и нестабильность вывода. И одновременно напоминает о более неприятной истине: иногда главный прирост даёт не новый агент, а три хорошо написанные строки в промпте.