Сегодня я поделюсь опытом создания AI Agent Copilot по сути это помощник, который забирает на себя механическую часть дискавери и превращает хаос из вкладок, заметок и скриншотов в понятный результат, который можно сразу обсуждать с командой.
Этот копайлот будет уметь много всего, позже мы добавим Lean Canvas, Business Model Canvas Остервальдера, черновики PRD, подготовку гипотез, план исследования, формулировку выводов, но начну с самого полезного и самого частого, с ИИ агента который будет проводить конкурентный анализ, потому что он почти всегда в продуктовой работе, и почти всегда отъедает кучу времени.
Архитектурно мы делаем ReAct агента, то есть агента у которого, будет несколько специализированных ии-ассистентов в "управлении".
Сегодня нас интересует только первый специализированный ассистент – research-агент, он будет ходить по сайтам конкурентов, собирать контент, вытаскивать нужные куски, и складывать их в наш шаблон конкурентного анализа.
Для наглядности я отрисовал схему:

Агента буду собирать на фреймворке Langraph от Langchain, если коротко, это библиотека, которая помогает описывать поведение ИИ-агента как граф шагов: с состоянием, проверками, ветвлениями и повторами, например, “если данных мало, дособери источники”. Это удобно, когда нужен не разовый ответ модели, а воспроизводимый процесс, который можно отлаживать и улучшать. Для масштабирования и если вы собираете в компании для всех коллег, то присмотритесь к этой библотеке.
То же самое можно собрать в no-code, например в n8n, особенно для быстрого MVP, готовый шаблон ИИ-агента я загрузил в телеграм канал, если вдруг вам нужен готовый то скачивайте тут.

Проектируем research-агента
Чтобы research-агент реально делал конкурентный анализ, ему нужны четыре вещи:
Выбрать модель LLM для нашего агента
Написать инструкции (промпт)
Доступ к данным (подключение к интернету, чтобы модель могла ходить в интернет)
Шаблон конкурентного анализа, который, кстати, потом можно менять как угодно под свою задачу. (В конце статьи будет ссылка на мой шаблон)
Модель
Я выбрал GPT-4o. Тут модель не настолько критична, как качество данных, которые мы ей даем. Модели нужен либо доступ в интернет, либо качественно спаршенный контекст. Я пойду по пути парсинга, то есть агент будет вызывать инструмент, который парсит сайты, и уже на этом контексте делать выводы.
Откуда берем данные, scraping или crawling
Есть два варианта.
Первый вариант, классический scraping. Это когда ты берешь конкретную страницу и вытаскиваешь из нее содержимое. Пример, “вот страница с ценами конкурента, вытащи список тарифов”.
Второй вариант, crawling. Это когда ты начинаешь с одной страницы и дальше идешь по ссылкам, собирая много страниц сайта. То есть crawling, это scraping, умноженный на обход сайта, найти страницы, сходить на них, собрать контент, не повторяться, не уйти в бесконечность. Для конкурентного анализа crawling почти всегда лучше, потому что тарифы, фичи, кейсы, docs, integrations и onboarding редко лежат на одной странице.
Мы будем использовать crawling, чтобы конкурентный анализ был качественным. Инструментов много, один из них Firecrawl.
Firecrawl, это готовый инструмент для краулинга и парсинга сайтов. У него есть API и готовый MCP-сервер, поэтому его удобно подключать к ИИ-агенту. Он умеет обходить сайт, собирать нужные страницы, и возвращать данные в удобном виде для LLM, это снижает риск галлюцинаций, потому что модель работает с реальным контентом.
Шаблон конкурентного анализа
Еще один элемент research-агента, это шаблон конкурентного анализа. Я поделюсь своим, но вы можете сделать свой, под вашу нишу и под ваш формат. скачать шаблон
Смысл шаблона простой, агент не пишет “простыню”, он заполняет фиксированные поля, из шаблона, то есть в его промпт пишем поля из нашего шаблона, чтоб он доставал нам только нужную нам информацию
Собираем ИИ-копайлот
Сразу зафиксируем, из чего состоит система, чтобы не путаться:
Оркестратор, это главный агент, он принимает запрос пользователя, уточняет рамку, и решает, кого вызвать. В будущем как и говорил будут еще ии-ассистенты(ии -агенты)
Интерфейс, в моем случае Telegram-бот, через него пользователь пишет запросы.
Research-агент, это исполнитель, он собирает данные по конкурентам и заполняет шаблон.
Первый инструмент Research-агента – Firecrawl, он приносит контент с сайтов.
Второй инструмент Research-агента – Генератор таблицы, который делает Excel
Research-агент
Research-агент, это ИИ-ассистент, который выполняет конкурентный анализ.
Его пайплайн такой:
Получает от оркестратора рамку задачи.
Получает список конкурентов, или сам собирает кандидатов и фиксирует официальные сайты.
Вызывает Firecrawl и собирает контент с сайтов, не одну страницу, а нужные разделы: их вы заадете в промпте Research-агента, а разделы берете из шаблона или пишите что важно вам
Извлекает факты и заполняет шаблон конкурентного анализа.
Если данных не хватает, он не фантазирует, он либо пишет “не найдено”, либо делает добор страниц, если это возможно.
Вызывает генератор Excel и собирает таблицу.
Делает короткое summary выводов, буквально 10–15 строк, что за паттерны, кто на кого похож, где дифференциация.
Интерфейс для общения с нашим ИИ-копайлот
Я выбираю Telegram, потому что это самый быстрый способ запустить MVP: не делаем отдельный фронт, просто пишем боту запрос и получаем результат.
Писать про то как подключить в этой статье не буду, с этим справляется даже deepseek)
В самом начале статьи была общая схема, а вот схема которая должна получится для Research агента.

Итого, если все собрано правильно у вас должен быть на выходе такой вот результат: Демо таблица с результатами

Так что еще нужно чтобы все заработало как надо – промпты!
Промпт для оркестратора, если вы добавляете его в свой пайплайн
<SYSTEM>
You are an Orchestrator for an AI Copilot.
Your job is to:
1) Read the user's request.
2) Ask up to 2 short clarifying questions only if the request is missing critical details (topic, geography, number of competitors, output format).
3) When you have enough details, delegate the task to the ResearchAgent tool.
Important rules:
- Do NOT browse the web yourself.
- Do NOT do competitive analysis yourself.
- Your only output must be either:
a) clarifying questions to the user, OR
b) a single tool call to ResearchAgent with a clean task description.
Available tools:
<TOOLS>
<TOOL name="ResearchAgent">
<description>
Performs competitive research: finds competitors if needed, crawls their websites, extracts facts, fills a competitive analysis template, and generates an Excel report + short summary.
</description>
</TOOL>
</TOOLS>
</SYSTEM>Систем промпт для Research агента
<SYSTEM>
You are a Research Agent for competitive analysis.
Your goal:
- Gather factual information about a competitor from their official website using tools.
- Fill the provided JSON schema with facts only.
- Collect source URLs for important claims.
- Generate an Excel report via a tool call.
You have tools:
<TOOLS>
<TOOL name="FIRECRAWL">
<description>
Web crawling/scraping tool. Use it to find official site (if needed) and to crawl/scrape pages.
It returns page_text and source URLs.
</description>
</TOOL>
<TOOL name="EXCEL_GENERATOR">
<description>
Generates an Excel file from the final JSON result (and optionally a summary sheet).
</description>
</TOOL>
</TOOLS>
Hard rules:
1) Use only facts from tool outputs (page_text, extracted pages). Do not invent anything.
2) If data is missing, write "не найдено" for strings, and [] for arrays.
3) Return ONLY valid JSON, exactly matching the schema, no extra keys, no markdown, no text before/after.
4) Do not use null.
5) For any important facts (numbers, pricing, integrations, UVP, positioning, limitations), add the exact page URL to sources_used with why_used.
Process:
A) Resolve competitor website:
- Input competitor_raw may be a domain OR a product name.
- If competitor_raw looks like a domain, use it as website base.
- If competitor_raw is a name or unclear, use FIRECRAWL to find the official website.
- Select the official site (avoid directories, review sites, aggregators).
- Store the chosen official URL for sources_used.
B) Collect pages:
- Use FIRECRAWL crawl/scrape to gather relevant pages, prioritize:
pricing/plans, product/features, use-cases, docs/help, integrations/api, security/privacy/compliance, customers/testimonials/cases.
- Limit crawling so it does not go infinite. Prefer quality over quantity.
- Keep URLs of pages you used.
C) Extract facts into the JSON fields below:
- Fill every field.
- Keep it concise, avoid marketing fluff.
- If something is not present in sources, mark it as missing.
D) After the JSON is ready:
- Call EXCEL_GENERATOR with the same JSON object to generate an Excel file.
- Then return ONLY the JSON as the final output.
</SYSTEM>