Research-агент · шаблон фактов

Как собрать AI-агента
для анализа конкурентов

Краулинг официальных сайтов, шаблон фактов, таблица и отчёт в Telegram — без выдумок «из памяти» модели

Коротко: нейросеть без доступа к страницам конкурента — это мнение «по памяти». Research-агент — это цепочка: уточнить задачу → открыть официальный сайт → заполнить шаблон → отдать таблицу и краткий отчёт.

Спросить чат про конкурента — быстро. Но это не анализ конкурентов. Модель отвечает по старым знаниям и уверенно дописывает то, чего на сайте уже нет. Ниже — как собрать агента с краулингом, жёстким шаблоном и доставкой в Telegram.

Зачем агент вместо «спросить нейросеть про конкурентов»

Где модель врёт, если нет краулинга

Типичные промахи без живых страниц:

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

По открытым разборам практики чат без веб-поиска или краулинга часто опирается на устаревший срез знаний. Для конкурентной разведки это опасно: вы строите решения на красивой, но неверной картине.

Чем «нейросеть для анализа» отличается от research-агента

Нейросеть «просто спросить»Research-агент
Откуда фактыпамять модели / общий веб-поискофициальные страницы через краулер
Формат ответатекст «как получится»жёсткий шаблон полей
Нет данныхвыдумка или общие словастатус «не найдено»
Проверкапочти невозможнаесть sources_used и URL
Куда уходит результатчаттаблица + summary в Telegram

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

Какой результат вы получите за один прогон

Цель одного прогона — не «красивый эссе про рынок», а заполненная карточка конкурента плюс короткое summary для команды.

Таблица фактов и краткое summary

В таблице остаются факты: продукт, цены, аудитория, кейсы, интеграции, ограничения. В summary — 10–15 строк: кто конкурент, чем отличается, какие дыры видны относительно вас, что проверить руками.

Гипотезы («они слабы в SEO», «надо снизить цену») держите отдельно от фактов. Иначе через неделю никто не вспомнит, что было доказано сайтом, а что — вашим мнением.

Что уходит в Telegram, а что остаётся в файле

  • В Telegram: короткое summary, 3–5 ключевых находок, ссылки на 2–3 важные страницы, список «не найдено».
  • В файле (Excel / Google Таблица / JSON): полный шаблон, все поля, полный список sources_used.

Так команда читает сообщение за минуту, а стратег или маркетолог при необходимости открывает полный конкурентный анализ.

Карточка конкурента

Одинаковые поля по каждому сайту — сравнивать можно строка к строке.

sources_used

У цены и UVP есть URL: спорное поле открывается за 30 секунд.

Summary в чат

10–15 строк в Telegram + полная таблица в файле.

Прогон research-агента

От краулинга сайта до отчёта в Telegram

Один цикл без «памяти» модели: факты с официальных страниц → жёсткий шаблон → источники у каждой ячейки → краткое summary в чат.

  • Crawl тянет только разрешённые URL конкурента, не агрегаторы.
  • Шаблон принимает значение или статус «не найдено» — без догадок.
  • Поле sources_used привязывает цифру к странице-источнику.
  • В Telegram уходит summary; полная таблица остаётся в файле.

Дальше разберём две роли: оркестратор задаёт рамку, research-агент заполняет ячейки.

Карта одного прогона: пакет фактов движется по узлам. Подсветка «не найдено» — когда crawl не дал подтверждения.

Две роли: оркестратор и research-агент

Если «создать AI агента» для вас звучит как один супербот — разделите роли. Так проще отладить и проще не дать модели фантазировать.

Research-агент — «исследователь в поле»: открывает страницы, извлекает текст, заполняет только разрешённые поля.

Какие уточняющие вопросы задаёт оркестратор

Перед стартом оркестратор должен получить ясный бриф:

  1. Официальный сайт конкурента (не статья на VC и не каталог).
  2. География и сегмент (РФ / СНГ / глобальный SaaS).
  3. Какие блоки шаблона обязательны сегодня (цены? интеграции? кейсы?).
  4. Лимит страниц на crawl (например, 8–15, не «весь сайт»).
  5. Куда слать результат (чат Telegram, таблица, оба).

Без этих ответов research-агент либо уйдёт в бесконечный обход, либо заполнит «всё подряд» без пользы.

Что research-агент имеет право писать в ячейки шаблона

Разрешено:

  • формулировки и цифры, найденные в тексте страниц после crawl/scrape;
  • списки фич и интеграций, если они явно на сайте;
  • статус «не найдено», если блока нет.

Запрещено:

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

Так вы создаёте AI-агента, который можно проверять: каждое спорное поле открывается по URL.

Шаблон полей, без которого отчёт бесполезен

Методы анализа конкурентов в учебниках начинаются с SWOT и «пяти сил». Для агента сначала нужен другой фундамент: одинаковые вопросы к каждому сайту и одинаковые поля в таблице.

Обязательные поля и статус «не найдено»

Минимальный каркас, который хорошо работает на практике:

БлокПримеры полей
Идентификацияназвание, официальный сайт, география, сегмент
Продуктпозиционирование, UVP, топ-фичи, сценарии использования
Коммерциятарифы, модель оплаты, trial
Довериекейсы, отзывы на сайте, сертификаты
Техникаинтеграции / API, security / compliance
Контент (опционально)темы блога, типы CTA
Метаsources_used, лимит crawl, заметки по уверенности
Выводshort_summary, gaps_vs_us (дыры относительно вас)

Правило: нет данных на официальном сайте → пишем «не найдено» (для списков — пустой массив []), а не «примерно как у лидеров рынка».

Так закрываются и «анализ конкурентов вопросы», и анализ целей / цен / продуктов: вопросы превращаются в колонки, а не в свободный рассказ.

sources_used: откуда взята каждая цифра и формулировка

Для цен, UVP, интеграций и ограничений URL в sources_used обязателен. Без этого отчёт нельзя использовать для решений по цене или офферу.

Краулинг официальных сайтов, а не «память» модели

Парсинг сайтов конкурентов здесь нужен не «ради парсинга», а чтобы модель видела актуальный текст страниц.

Firecrawl, MCP и альтернативы для MVP

Практичная раскладка инструментов:

ИнструментКогда брать
FirecrawlНужен быстрый scrape/crawl в markdown/JSON под LLM; есть API и официальный MCP-сервер
ApifyНужны Actors, расписания, соцсети/маркетплейсы, тяжёлый масштаб
Browse AIНужен no-code клик по страницам и простой мониторинг цен/блоков
ChangeDetection.ioНужен дифф «страница изменилась» + алерт, без полного research-шаблона

Из России Firecrawl и часть западных API часто требуют иностранную карту или посредника для оплаты. Честный путь: начать с бесплатного tier / кредитов, либо собрать MVP на n8n/Make с тем краулером, который вам доступен; для диффа страниц ChangeDetection и ручной multi-model разбор через доступные чаты тоже работают как временный контур.

Firecrawl удобен именно как «web → текст для модели». Apify — другая роль: маркетплейс сценариев и масштаб. Часто их комбинируют, а не выбирают «навсегда один».

Документация MCP Firecrawl: github.com/firecrawl/firecrawl-mcp-server. Архитектура оркестратор + research с Telegram описана в практическом разборе на Хабр.

Почему агрегаторы и чужие обзоры ломают фактуру

Каталоги, рейтинги и статьи «топ-10» смешивают маркетинг третьих лиц с устаревшими скриншотами. Агент начинает цитировать чужой пересказ как факт.

Правило по умолчанию: только официальный домен конкурента. Обзоры — только если вы явно завели отдельное поле «secondary_source» и понимаете риск.

Приоритет страниц при лимите crawl: pricing → product/features → use-cases → docs/API → security → customers/cases. Качество важнее «пробежать 200 URL».

Промпты с жёсткими правилами против галлюцинаций

Промпт research-агента — это контракт, а не «будь полезным».

Hard rules: только crawl, иначе «не найдено»

Вставьте в системный промпт жёсткие правила:

  1. Факты брать только из вывода инструмента (текст страниц после crawl/scrape).
  2. Нет данных → «не найдено» / []. Ничего не выдумывать.
  3. Ответ — только валидный JSON по схеме, без markdown вокруг.
  4. Не использовать null.
  5. Для цен, UVP, интеграций, ограничений — URL в sources_used с кратким why_used.
  6. Избегать агрегаторов; брать официальный сайт.
  7. Лимитировать число страниц; приоритет — коммерчески важные разделы.

Без этих правил «работа с AI агентами» снова скатывается в обычный чат.

Как ограничить бесконечный обход страниц

  • Заранее задайте max_pages (часто 8–15 для MVP).
  • Сначала map сайта (карта URL), потом batch scrape выбранных страниц — а не «deep crawl всего».
  • Режьте по путям: /pricing, /features, /integrations, /customers.
  • На ответ 429 — пауза и backoff, не долбить сервер.

Иначе агент сожжёт кредиты, время и всё равно вернёт шум.

Мониторинг цен, рекламы и сайта — что агент умеет, а сервисы уже закрыли

Мониторинг конкурентов и разовый research — разные задачи. Путать их дорого.

Когда хватит готового сервиса

Берите готовый сервис или лёгкий стек, если нужно:

  • следить, что страница прайса изменилась;
  • получать дайджест упоминаний;
  • смотреть рекламу в кабинетах/сервисах мониторинга рекламы.

Рабочий «лёгкий» контур для РФ: поиск со ссылками + ChangeDetection для диффа + алерты, доставка в Telegram. Это мониторинг сигналов, не полный шаблон конкурентного анализа. Оценка порядка десятков долларов в месяц — заметно дешевле enterprise CI-платформ.

Когда выгоднее свой агент под ваш шаблон

Свой AI-агент выгоднее, если:

  • вам нужна одна и та же таблица полей по всем конкурентам;
  • важны sources_used и статус «не найдено»;
  • отчёт должен уходить в ваш контент-контур / GEO-гипотезы;
  • готовые SaaS не закрывают ваши колонки (ниша, B2B-оффер, локальные формулировки).

Мониторинг цен конкурентов и мониторинг рекламы конкурентов можно подключить отдельно (Browse AI, Actors в Apify, отраслевые сервисы). Research-агент при этом остаётся «сборщиком карточки», а не заменой всех мониторингов сразу.

MVP за вечер: Telegram + n8n или Make

Это пошаговый контур, который новичок может повторить без «своего LangGraph с нуля».

Минимальный контур: запрос → crawl → таблица → сообщение

Шаг 1. Соберите бриф
Список из 1–3 конкурентов, официальные URL, какие блоки шаблона обязательны. Признак успеха: у каждого конкурента есть один главный домен, не статья-обзор.
Шаг 2. Подключите краулер
В n8n или Make добавьте ноду/HTTP-запрос к Firecrawl (или доступному аналогу): scrape ключевых URL или crawl с max_pages. Признак успеха: на выходе есть чистый текст/markdown страниц pricing и product.
Шаг 3. Добавьте LLM-ноду с JSON-схемой
Вставьте hard rules и схему полей. Признак успеха: ответ парсится как JSON, без «Вот анализ:» до фигурной скобки.
Шаг 4. Запишите строку в таблицу
Google Sheets / Excel / Airtable — одна строка или один лист на конкурента. Признак успеха: пустые места = «не найдено», а не пустая ячейка без статуса.
Шаг 5. Отправьте summary в Telegram
Бот присылает 10–15 строк + ссылки из sources_used. Признак успеха: сообщение читается с телефона за минуту, полный JSON лежит в таблице.
Шаг 6. Поставьте паузу HITL
Отдельный шаг «approve» или ручная реакция в чате, если дальше планируется действие. Признак успеха: без реакции человека ничего не публикуется в блог/рекламу.

Типичные ошибки новичка:

  1. Скормили модели только имя бренда без crawl → получаете уверенную фантазию. Решение: не вызывать LLM, пока нет tool output.
  2. Взяли URL с агрегатора → чужие цифры. Решение: whitelist домена.
  3. Не ограничили crawl → долгий прогон и мусор. Решение: map + 8–15 страниц.
  4. Смешали факты и советы в одном поле → нельзя проверить. Решение: gaps_vs_us и рекомендации — отдельные поля.

Код и графы вроде LangGraph имеют смысл, когда нужны сложные ветвления, ретраи и масштаб. Для первого вечера хватит n8n/Make + Telegram.

Оплата западных API из РФ может упираться в карту: заложите обход (доступный провайдер, коллега/юрлицо с оплатой, или старт с ChangeDetection + ручной проверкой страниц, пока не стабилизируете доступ).

Где поставить человека перед автопубликацией (HITL)

Человек обязателен перед:

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

Агент агрегирует публичные факты. Выводы и ответственность — за вами.

Собрали MVP с отчётом в Telegram — что дальше?

В канале Maya Pro разбираем автоматизацию, вайбкодинг и AI-агентов на практике: от краулинга и шаблонов до рабочих контуров без воды.

Подписаться на Telegram-канал Maya Pro

Ошибки, из-за которых анализ выглядит «умным», но врёт

Факты без источников

Если в отчёте есть цена, «лидер рынка» или «нет API», но нет URL — считайте поле браком. Верните в доработку с правилом sources_used.

Смешение официального сайта и отзывов/агрегаторов

Отзывы на сторонних площадках полезны для тона, но это не позиционирование компании. Держите отдельные поля: official_claims и third_party_mentions. Иначе процесс анализа конкурентов превращается в сбор слухов.

Дополнительно: не игнорируйте robots.txt и лимиты частоты запросов. Публичные страницы часто можно читать аккуратно; обход логинов, CAPTCHA и агрессивный парсинг повышают риск. Читайте robots.txt, ставьте паузы, используйте понятный User-Agent, не собирайте личные данные.

Как превратить отчёт в гипотезы постов и GEO

Анализ ради таблицы пылится. Связка с контентом даёт смысл агенту в маркетинге.

GEO (Generative Engine Optimization) здесь значит простое: формулировать контент так, чтобы нейросети чаще опирались на него в ответах — через чёткие определения, FAQ и проверяемые факты.

Инсайты конкурентов → темы контента

Из заполненного шаблона вытащите:

  1. Поля со статусом «не найдено» у конкурента, где у вас сильная сторона → тема сравнительного FAQ или гайда.
  2. Повторяющиеся CTA и темы блога конкурента → какие запросы они уже закрывают.
  3. gaps_vs_us → 5 гипотез постов (боль, сценарий, возражение, кейс, инструкция).
  4. Сущности и формулировки UVP → блоки определений под AI-выдачу.

Так нейросети для маркетинга работают не как «напиши пост», а как продолжение фактуры.

Что можно автоматизировать в контент-контуре, а что нельзя

Можно: черновик ТЗ, список H2, FAQ из gaps, напоминание в Telegram «проверить цены конкурента X».

Нельзя без человека: утверждения «мы лучше по цене», публикация сравнения с чужими тарифами, обещания в рекламе.

Автоматизация контент-маркетинга здесь — конвейер гипотез, а не автопилот репутации.

Если хотите системно освоить связку Make, агентов и контент-контур (а не только разовый сценарий) — посмотрите обучение по автоматизации и вайбкодингу.

FAQ

Чем это отличается от классического SWOT и анализа по Портеру?

SWOT и Портер — рамки мышления стратега. Агент не заменяет их: он наполняет фактами таблицу с сайтов. SWOT можно собрать потом вручную на основе заполненного шаблона — и это будет честнее, чем SWOT «из головы модели».

Нужен ли код или хватит n8n/Make?

Для MVP обычно хватает n8n или Make: запрос → crawl → LLM → таблица → Telegram. Код нужен, когда появляются сложные ветки, очередь конкурентов, жёсткий контроль качества и свои ретраи.

Можно ли подключить MCP в Cursor для такого агента?

Да. Через MCP-сервер Firecrawl (или другой crawl-инструмент) агент в Cursor может вызывать scrape/crawl прямо из диалога. Для команды без Cursor тот же контур собирают в n8n/Make: смысл ролей и шаблона не меняется.

Как не спутать анализ конкурентов с проверкой контрагента?

Проверка контрагента — про юрлицо, долги, суд, финансы. Анализ конкурентов в этом гайде — про продукт, цены, позиционирование и контент на публичном сайте. Разные задачи и разные источники; не смешивайте поля в одной таблице без пометки.

Что проверяли по источникам

  • Практическая архитектура оркестратор + research + шаблон + Telegram — разбор на Хабре.
  • MCP и связка Firecrawl с агентами/n8n — официальный репозиторий и материалы Firecrawl.
  • Лёгкий мониторинг сигналов для РФ (поиск + дифф страниц + Telegram) — практический разбор на vc.ru.
  • Этика crawl: аккуратный обход публичных страниц, robots.txt, rate limits — отраслевые гайды.

Итог

Собрать AI-агента для анализа конкурентов = две роли + краулинг официального сайта + жёсткий шаблон с «не найдено» и sources_used + таблица + краткий отчёт в Telegram + человек перед любым внешним действием.

Не начинайте с «самой умной модели». Начните с бланка полей и запрета фантазировать. Тогда нейросеть перестанет быть рассказчиком и станет частью рабочего контура конкурентного анализа.

Beget — надёжный хостинг и VPS