Как я с нуля создал две независимые системы ИИ-аналитики на Python для контроля упоминаний бренда и ссылок на поиске и в чатах
Новая реальность: почему классическое SEO больше не работает в одиночку
Ландшафт поискового маркетинга меняется прямо сейчас. С запуском блоков Яндекс Нейро и Google AI Overviews (SGE), а также с ростом популярности ChatGPT, DeepSeek, Gemini идр., пользователи все чаще получают готовые ответы на свои вопросы без перехода на сайты.
Для нас, как для специалистов, это стало вызовом нового поколения — GEO (Generative Engine Optimization) и AEO (Answer Engine Optimization). Если вашего бренда нет в текстовом ответе нейросети, вы теряете клиента.
Чтобы контролировать этот генеративный трафик, мне потребовалось регулярно сканировать коммерческие промпты. Я решил разобраться как устроены данные решения на рынке и создать собственный инструмент.
Существующие на рынке SaaS-решения для ИИ-мониторинга меня не устроили по ряду причин:
- Высокая стоимость: Постоянное расширение пула запросов и добавление новых клиентских сайтов в сторонних сервисах ведет к линейному росту расходов, делая аналитику дорогой.
- Проблема «черного ящика»: Коммерческие платформы скрывают свою внутреннюю логику парсинга, не понятно как они отрабатывают ошибки и т.д.. Для профессиональной работы мне нужна 100% прозрачность.
Чтобы получить 100% прозрачность сбора данных, сделать удобный интерфейс как я хочу и собирать то что мне нужно, а не только то что предлагают сервисы, я разработал софт на Python, создав в рамках единой платформы две функционально независимые аналитические системы.
Этот кейс — история создания моего личного рабочего MVP-инструмента. Я спроектировал и написал его полностью самостоятельно (с помощью Gemini) под конкретную практическую задачу: объективно оценивать результаты GEO-продвижения, отслеживать не просто абстрактные упоминания, а кликабельные ссылки на домен, и иметь независимый контур контроля качества данных.
Инструмент №1: Прямой опрос баз знаний ИИ-ассистентов через официальные API
Эта автономная подсистема предназначена для прямого взаимодействия с ИИ-моделями через их официальные шлюзы. Она работает изолированно от текущего поискового контекста и автоматизирует отправку маркерных промптов, имитируя поведение живого пользователя в диалоговом окне чат-бота.
Чем можно управлять:
- Выбор проекта с пулом промптов
- Выбор нужных нейронок для проверки
- Выбор промптов
Какие параметры собирает и фиксирует подсистема опроса ИИ:
- Текстовое упоминание бренда: Проверяется факт вхождения названия компании, синонимов или брендовых маркеров в сгенерированный ответ.
- Гиперссылка (Клик-контур): Модуль ищет наличие, доступность и анкоры активных Markdown-ссылок на домен, проверяя, ведет ли ИИ пользователя на ваш сайт или оставляет «слепое» текстовое название.
Инженерные решения, реализованные в коде подсистемы:
- Ротация ключей (Модуль gemini_service.py): Пакетное сканирование больших матриц промптов приводило к ошибке 429 Too Many Requests от Google Gemini. Чтобы сессия не прерывалась, я внедрил алгоритм динамической ротации: в файле config.py хранится массив ключей, и бэкенд автоматически подставляет следующий рабочий токен при утыкании в лимит.
- Обход ограничений даты обучения (Knowledge Cutoff): Чтобы нейросети могли оперировать актуальными данными из интернета в режиме реального времени, в конфигурации запросов к ChatGPT Search и Google Gemini были принудительно активированы встроенные инструменты веб-серчинга.
- Regex-обработчик разметки (format_ai_response_text): Модели часто возвращали ответы в виде сплошного неструктурированного текста. Для обеспечения читаемости в интерфейсе я написал модуль предобработки строк на базе регулярных выражений, который перехватывает символы списков (1., -) и маркеры жирного шрифта, принудительно добавляя перед ними двойные переносы строк (\n\n), переводя сырой массив данных в человекочитаемый Streamlit-вид.
Техническая конфигурация подсистемы опроса ИИ:
- Google Gemini: gemini-2.5-flash (Принудительное включение нативной функции веб-поиска google_search.)
- OpenAI ChatGPT: gpt-4o (Активация встроенного инструмента web_search для сканирования сети.)
- DeepSeek: deepseek-chat (Подключение через OpenAI-сомместимый клиент со строгим JSON-форматированием ответа.)
- YandexGPT: YandexGPT / Алиса (Авторизация через Yandex Cloud API с использованием индивидуального Folder ID.)
Необходимо было собрать собрать и добавить ключи всех движков.
Как это работает
Промпт отправляется в нейроку, как-будто пользователь обращался в чате
Фиксирует в базу ответы и вставляет в таблицу:
- Название нейронки
- Промпт
- Найден или нет бренд и/или ссылка
- Ответ нейронки в виде HTML
Динамика позиций сайта в ИИ
Инструмент №2: Сквозной мониторинг генеративной выдачи поисковиков (Яндекс Нейро и Google AI Overviews)
Эта автономная подсистема создана для работы с живой поисковой выдачей (SERP), ландшафт которой полностью изменился после запуска блоков Яндекс Нейро и Google AI Overviews (SGE). Задача контура — регулярно сканировать коммерческие запросы по региону Москва, находить генеративные ответы поисковиков, вытаскивать их содержимое, фиксировать текстовый контекст и ссылки, а также сопоставлять данные с классической органической выдачей.
Технологическая цепочка подсистемы мониторинга выдачи SERP:
- Пакетный сбор данных через API-шлюз: Чтобы собирать чистые данные в режиме реального времени, обходить капчи и не тратить ресурсы на прокси, я настроил интеграцию с XML-шлюзом XMLRiver (модуль xmlriver_service.py).
- Декодирование скрытых массивов (Base64-декодер): Главная техническая сложность заключалась в том, что поисковые системы не отдают контент ИИ-блоков в открытом виде. Они кодируют сгенерированные ответы в огромные Base64-строки и прячут их глубоко в узлах XML-дерева. Я написал кастомный декодер в модуле yandex_serp_service.py, который находит эти скрытые элементы и на лету распаковывает их в сырой HTML-код.
- Хирургическая очистка кода через BeautifulSoup4: Сырой HTML-код из ИИ-блоков перенасыщен техническим мусором (ломающие инлайновые стили, тяжелые SVG, скрытые кнопки). Оставлять это в исходном виде было нельзя — верстка Streamlit-панели управления просто поплыла бы. Модуль очистки DOM-дерева полностью вырезает мусор, отдавая на фронтенд легкий и понятный HTML.
- Параллельный мониторинг органики: Параллельно со сбором ИИ-ответов трекер проверяет ТОП-10 стандартной органической выдачи. Чтобы исключить ложноположительные текстовые срабатывания, проверка была переписана строго на валидацию доменного имени: система полностью игнорирует текст сниппета и сверяет точное совпадение целевого домена внутри тега ссылки.
Вначале я допустил ошибку и писал громоздкие файлы отвечающие за насколько задач. Например отрисовка ответов в HTML у Гугл и Яндекс отличается и когда я правил одно, другое ломалось. Я принял решение отделить файлы и точно вносить изменения.
Как работает инструмент сквозной мониторинг генеративной выдачи поисковиков (Яндекс Нейро и Google AI Overviews)
- Выбирается проект
- Выбирается режим
- Выбор ИИ
- Выбор промптов
- Нажимаем Запуск
- В таблицу собираются данные
В таблице можно увидеть было или нет упоминание бренда в ИИ-ответе, а так же встречался или нет в обычной органической выдаче.
Ответ полностью формируется в HTML, чтобы было удобно смотреть, если есть необходимость.
Я сделал так чтобы в отчет попадали не только данные об упоминании бренда и ссылки в нейроответах поисковых систем, но и выдача ТОП10 поисковика.
Архитектура платформы: структура изолированных слоев кода
В этом инструменте я не стал разворачивать собственную сложную инфраструктуру для заходов на поиск, а просто воспользовался сервисом XMLRiver. Он собирает живую выдачу, отдает ИИ-ответы и ТОП10, за низкую стоимость.
База данных
Всю собранную информацию можно скачать в виде csv или HTML и анализировать информацию больших данных.
Что понадобится:
Любая нейронка для помощи в работе, чем мощнее тем лучше.
Ссылки для скачивания и настройки среды:
- Python официальный сайт: https://www.python.org/downloads/ (⚠ Обязательно поставьте галочку "Add Python.exe to PATH" при установке!)
- VS Code редактор: https://code.visualstudio.com/Download
Для получения ключей
- Google AI Studio (для Gemini 2.5): https://aistudio.google.com/
- OpenAI Platform (для ChatGPT): https://platform.openai.com/
- DeepSeek Platform: https://platform.deepseek.com/
- Yandex Cloud (для YandexGPT/Алисы): https://cloud.yandex.ru/
- XMLRiver (для парсинга SERP): https://xmlriver.com/
Команда для установки библиотек в терминале
pip install streamlit google-genai openai requests beautifulsoup4
Что еще сказать
Я хотел поделится тем, как самостоятельно смог собрать собственный MVP-инструмент.
- Он обходится дешевле платных онлайн сервисов.
- Его можно кастомизировать под себя: Собирать ту информацию которая нужна, настроить визуал так как удобно, делать более сложные анализы. Например: за 1000 проверок XMLRiver просит 35 рублей. Одна проверка ровна 1 промпту, 1 поисковой системе и 1 ответу в котором есть и ИИ-ответ и органика.
- В отличие от платных сервисов я знаю как работает этот сбор, если прилетаю ошибки, я их вижу и понимаю что данные учитывать не стоит. В платных сервисах ответ будет пустым, как будто не найдено упоминание, это искажает статистику.
- Я не знаток Питона, я пользовался Gemini, время на сборку составило 2 дня. Можно и быстрее, я тестировал разные плюшки, поэтому получилось чуть дольше. Мои шаги были примерно такими, я пишу промпт с пожеланиями, ии пишет код, я внедряю, проверяю, иду дальше если все ОК. Важно точно понимать что а как должно работать.
- Продукт буду допиливать и адаптировать под свои хотелки.
- Если кто-то решит создать что-то самостоятельно в первый раз, я советую дробить файлы по отдельным задачам, при масштабировании задач, это облегчит работу над модификацией и исправлением ошибок.
- Еще одно преимущество, например в одном из платных SaaS-сервисов экран вывода ответа в виде HTML очень маленький и не информативный, я же могу развернуть ответ на весь экран.
- Работает он с локального компьютера.
Итог
Полностью готовый инструмент (GEO/AEO-аналитики для мониторинга (сайта и бренда) в чатах нейросетей и генеративной выдаче), которые качественно и что важно точно собирает информацию с которой я могу работать, анализировать качество ИИ-оптимизации своих сайтов.
Спасибо за внимание! Надеюсь, этот разбор поможет вам лучше понять, как автоматизировать GEO-аналитику, собрать себе что-то похожее перестать зависеть от сторонних сервисов.
С вами был Тимур, Senior SEO-специалист (AI-Search, AEO, GEO), интернет-маркетолог и директолог, в веб-студии ХОЧУ САЙТ (хочу-сайт.москва).