Обновить

Проектируем ИИ-агента для конкурентного анализа

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.2K
Всего голосов 9: ↑6 и ↓3+3
Комментарии4

Комментарии 4

Бывает ли проблема что данных очень много и контекст заполняется быстро? Как решаете эту проблему?

Бывает, особенно если вы получаете не структурированные данные от парсера: В нашем случае решаем чанкингом: то есть полученный контекст скорим на количество токенов если превышает 10-12 тысяч, то делим по 10 тысяч и отправляем стримингом в LLM модель.

В случае если вы для себя будете делать, то вот как бы я решал: делил анализ на задачи: то есть
- первый запрос будет достать УТП, описание, контакты, и т. – ну базовую информацию, сохранили в кэш или сразу таблицу заполнили по конкуренту N
- второй запрос найди цены, ну и так далее.

По опыту я в личном использовании еще не сталкивался с лимитом контекстного окна у больших "популярных" LLM моделей, в этом и есть большой плюс Firecrawl он отдает LLM читаемый формат.

В команде, где я внедрял этот продукт, да такую проблему решали – описал выше.

Подскажите, а как вы делали вот эту часть:

сам собирает кандидатов и фиксирует официальные сайты.

Спасибо

Да, это делается через tool calling у research-агента.

Как устроено:

  1. Оркестратор формирует задачу: “найди топ-5 конкурентов в <ниша/гео> и зафиксируй официальный сайт”.

  2. Research-агент вызывает инструмент web_search (через function calling), делает 2-3 запроса в поиске и собирает кандидатов из верхних результатов.

  3. Он чистит список: убирает агрегаторы/каталоги, оставляет официальные домены (обычно по признакам типа pricing/features/about).

  4. После этого передает список доменов в Firecrawl, чтобы уже нормально спарсить контент сайтов и дальше сделать анализ.

Если вы делаете своего агента на LangGraph или любой другой библиотеке, то нужно:

  • выбрать LLM модель для research-агента, у которой есть tool calling, (OpenAI API модели выше 4о уже поддерживают web_search как tool , Claude API, Google Gemini API и т.д)

  • и в системных инструкциях агента явно прописать, когда вызывать web_search, а когда переходить к Firecrawl.

Пример инструкции для агента:

If the user did not provide a list of competitors, call the web_search tool first and collect 5 competitor candidates for the given niche and geography.
Exclude aggregators, directories, review sites, marketplaces, and social networks.
For each remaining candidate, determine the official website domain.
Return a structured list of 5 items with: name, official_domain, and 1–2 evidence URLs (homepage and pricing/features/about).
Then pass the official URLs to Firecrawl for crawling and content extraction.
If the official domain is ambiguous, ask a clarifying question or mark the item as "needs_manual_review".
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации