АГЕНТ 01 / 07

Исследователь

Универсальный воркер для флота. Собирает контекст, анализирует источники и код, возвращает находки со ссылками для любых последующих задач; веб-исследование — лишь одна из многих миссий.

researcherfathom worker

researcher · autonomous

01Что делает

Один цикл, созданный для сбора правды

01

Агентный цикл

LLM → инструменты → повтор, до 50 итераций на агента — с настоящим потоковым выводом токенов: текстовые дельты приходят в реальном времени, вызовы инструментов собираются из фрагментов потока, а при обрыве потока автоматически переключается на обычное завершение вместо ошибки.

02

Рабочий процесс миссии, формализованный

Воркер выстраивает фиксированную дугу: обнаружение контекста → сбор и анализ источников → проверка ключевых деталей → сохранение структурированных результатов. Исследование — один из сценариев; тот же цикл подходит для кода, операций и работы со знаниями.

03

Иерархическое распределение

spawn_agent наращивает дерево подагентов до max_depth с явной передачей контекста и наследованием токеновых бюджетов. Фоновый режим отсоединяет дочерний процесс и доставляет его результат позже как уведомление — родитель продолжает работу.

04

Без источника не считается

Иерархия качества источников: академические выше официальных выше новостей выше блогов выше форумов. Каждая находка сохраняет свой URL; sources.md дедуплицирует цитаты по всему флоту.

05

Многоформатный ввод

web_fetch и web_crawl для страниц, web_feed для RSS / Atom / карт сайта, analyze_image для скриншотов и документов, pdf_extract для отчётности, code_symbols + repo_map для кодовых баз.

06

Недоверие по дизайну

Полученные страницы рассматриваются как недоверенные данные и сканируются на паттерны промпт-инъекций перед попаданием в контекст; SSRF-защита блокирует внутренние IP при каждом запросе и каждом перенаправлении.

02Как это работает

От миссии к устойчивым находкам

1

Планирование

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

2

Распределение

Каждая подзадача становится воркером с учётом роли — задачей JoinSet в процессе или изолированным процессом ОС — с долей бюджета токенов сессии.

3

Цикл воркера

Инспекция → трансформация → проверка → запись с инструментами, выбранными для миссии. Дочерние процессы создаются через spawn_agent до max_depth; фоновые дочерние процессы отчитываются как уведомления.

4

Анализ

LLM-судья Goal Mode сравнивает работу с исходной целью и может запрашивать ограниченные раунды заполнения пробелов до достижения цели.

5

Передача

Резюме с ограничением бюджета, структурированные находки и дедуплицированные источники поступают в синтез, память и базу контактов — топливо персонализации для аутрича.

03Под капотом

Рантайм в основе

агентный циклLLM → вызовы инструментов → повтор, max_iterations по умолчанию 50; управляющие сообщения и фоновые уведомления подставляются на границах ходов
стримингstream: true — текстовые дельты в реальном времени, вызовы инструментов собираются из фрагментов, автоматическое переключение на нестриминговый режим при обрыве или пустом потоке
spawn_agentиерархия до max_depth (по умолчанию 2); роли researcher / analyst / verifier / writer; явная передача контекста; фоновый режим
распределениекоординатор разбивает запрос на 2–5 подзадач; JoinSet или процессы ОС (use_multiprocess); max_agents 20
бюджетыsession_token_limit распределяется по каждому пакету (минимум 4096 токенов); дочерние процессы наследуют остаток лимита родителя
бесконечный цикл3 одинаковых вызова инструмента подряд → первое нарушение предупреждает агента, второе — останавливает
режим целиLLM-судья сравнивает результаты с целью; до replan_rounds (по умолчанию 1) раундов заполнения пробелов, не более 3 новых подзадач в каждом
безопасность загрузкиОграничение тела 2 МБ, обрезка текста до 50 000 символов, сканирование на инъекции, SSRF-защита с ≤ 5 перенаправлениями, перепроверяемыми на каждом шаге
промпт3 уровня кеша (stable / context / volatile) для попаданий в префикс-кеш; дайджест памяти подставляется на глубине 0
защита от простоянет прогресса 450 с → предупреждение; 1200 с → агент отменяется

04Инструменты

Что может вызывать Researcher

web_searchweb_fetchweb_crawlweb_feedparse_htmlextract_jsonparse_corporate_siteextract_contactssearch_business_directorysearch_socialsearch_newsfind_leadsverify_emailverify_phoneverify_social_profilesuggest_emailssave_contactsanalyze_imagepdf_extractcode_symbolsrepo_mapspawn_agent

Работает на флот воркеров

Цитируемые факты становятся персональными строками

Всё, что собирает Researcher, — это материал для персонализации: цитируемые факты, URL источников, сырые контакты с историей происхождения. Извлечённые контакты автоматически сохраняются вместе со страницей, с которой они были получены; верифицированные email и телефоны попадают в базу контактов и синхронизируются с CRM без дубликатов. Далее этап аутрича пишет каждое сообщение на основе именно этих фактов — найм, раунд финансирования, технологическая миграция — так что первая строка никогда не бывает шаблонной.

finding #7   person: Jane Doe — CTO, Acme
email        [email protected]  [verified: MX + SMTP 250]
sources      acme.com/team · news: "Acme closes Series B"
signal       hiring 6 platform engineers (posted Aug 3)
status       saved to contacts → CRM (dedup by crm_id)

Обоснованный контекст на входе. Надёжный результат на выходе.