АГЕНТ 02 / 07
Поиск
Слой обнаружения флота. Семь бэкендов за одним вызовом, объединённые гибридным и умным режимами с ранжированием RRF → запрос охватывает весь веб, а не первую страницу.
searching · autonomous
01Что делает
Семь бэкендов — один честный ответ
Настраиваемые поисковые бэкенды
Настроенные провайдеры можно выбирать по отдельности, либо гибридный и умный режимы объединяют доступные движки в один вызов web_search. Рантайм сохраняет стабильность интерфейса, пока деплои выбирают провайдеров.
гибридный режим (по умолчанию)
Приоритетная цепочка опрашивает настроенные движки по порядку и использует первый непустой набор результатов. Рантайм сообщает об отсутствии ответа от настроенных источников вместо имитации покрытия.
умный режим + RRF
Все настроенные движки работают параллельно через tokio::join!. Результаты дедуплицируются по нормализованному URL и ранжируются методом reciprocal rank fusion (k=60), поэтому страницы, подтверждённые несколькими движками, оказываются в топе.
Соцсети и новостные площадки
search_social и search_news могут использовать настроенные API или публичные веб/RSS-площадки с эвристическим извлечением сущностей и сохранением источников для проверки.
Каталоги и реестры
search_business_directory может параллельно опрашивать настроенные каталоги и объединять записи: названия, категории, адреса, телефоны, сайты и источники — если эти поля доступны.
Композируемый конвейер поиска
Воркер может выстраивать в цепочку поиск по каталогам, парсинг сайтов, соцпоиск, атрибуцию, дедупликацию и ранжирование по уверенности в переиспользуемый рабочий процесс. Поиск лидов — лишь одно из применений, а не суть продукта.
02Как это работает
От запроса к ранжированным источникам
Выбор поверхности
Воркер выбирает подходящий источник под задачу: открытый веб, репозитории, документы, соцпрофили, прессу или настроенные каталоги.
Разветвление по бэкендам
Настроенные движки могут работать параллельно с таймаутами для каждого источника; недоступные провайдеры фиксируются явно, а не скрываются за предположениями.
Защита и загрузка
Каждый URL проходит SSRF-защиту — все резолвленные IP должны быть публичными. Редиректы обрабатываются вручную, максимум 5 переходов, с повторной проверкой на каждом шаге.
Слияние и ранжирование
smart mode нормализует URL (регистр, фрагмент, слэш в конце), дедуплицирует и скорит через RRF: каждый ранг r даёт вклад 1 / (60 + r) — совпадения из нескольких движков побеждают.
Передача дальше
Ранжированные результаты с метаданными источников поступают на загрузку и извлечение; кэши загрузки и MX сессии (TTL 10 минут) обеспечивают мгновенное повторное чтение.
03Под капотом
Базовый рантайм
| [search] бэкенд | hybrid (по умолчанию) · smart · или выбранный настроенный движок; доступность провайдера отображается оператору |
| порядок hybrid | Настроенные движки опрашиваются по приоритету; побеждает первый непустой набор результатов, а недоступные источники остаются видимыми |
| умная фузия | все настроенные движки параллельно; дедупликация по нормализованному URL; оценка RRF Σ 1 / (60 + rank) |
| результаты | сниппеты до 1 000 символов; лимит по умолчанию 10, макс. 50; структурированные метаданные источников для sources.md |
| каталоги | Настроенные источники каталогов опрашиваются в рамках своих лимитов, затем объединяются и дедуплицируются с сохранением происхождения |
| новости | Настроены новостные API или публичные RSS; упомянутые сущности извлекаются эвристически и сохраняются с указанием источников |
| соцсети | Настроены социальные API или публичные страницы профилей; заблокированные ответы фиксируются, а источники остаются привязанными |
| конвейер обнаружения | Настроенные источники можно комбинировать для парсинга сайтов, ролевых запросов, атрибуции и оценки достоверности |
| Защита от SSRF | loopback / RFC1918 / link-local / cloud-metadata IP блокируются для каждого разрешённого адреса; ≤ 5 редиректов, каждый хоп повторно проверяется |
| кэши | общий для сессии кэш fetch (64 записи) и MX (256 записей), TTL 10 минут, наследуется каждым агентом |
04Инструменты