TL;DR
Deep Research Agent — система для ответов на сложные вопросы через циклы поиска-рассуждений-синтеза. Агент решает нужен ли ещё поиск, формирует новые запросы на основе найденного, собирает информацию и синтезирует финальный ответ с цитатами источников. Вместо одного запроса "найди всё про X" — серия уточняющих запросов: сначала общий контекст, потом детали, потом проверка пробелов.
Проблема одношагового поиска: модель не знает что ещё искать до анализа первых результатов. При сложном вопросе ("Как изменится рынок электромобилей в России к 2030?") один запрос даёт либо слишком общий контент, либо упускает важные аспекты — регуляции, инфраструктуру, производителей, потребительский спрос. Модель не может предугадать какие факторы всплывут в источниках.
Агент работает в цикле: получает первую порцию документов → анализирует пробелы → формирует новый запрос → получает ещё документы → решает достаточно ли информации. Перед финальным ответом все найденные данные ранжируются по релевантности и суммируются. Модель обучена через preference tuning оценивать ответы по трём метрикам: ясность (структура и логика), глубина (аналитика и инсайты), фактичность (соответствие источникам).
Схема метода
НАЧАЛЬНАЯ ФАЗА:
Вопрос → Поиск по вопросу → Rerank топ-100 → Summarize топ-10 → Агенту
ИТЕРАТИВНЫЙ ЦИКЛ (в одном промпте агент решает):
1. Анализ: Что уже знаем? Какие пробелы?
2. Решение: Нужен ли ещё поиск?
→ ДА: Генерирует новый запрос → Поиск → Rerank → Summarize → возврат к шагу 1
→ НЕТ: Переход к финалу
3. Синтез: Формирует ответ с citation markers [1][2]
Каждый цикл — отдельный запрос к модели с историей предыдущих поисков
Пример применения
Задача: Анализ карьерного решения — стоит ли переходить в AI-стартап из корпорации
Промпт:
Ты — research agent. Отвечаешь на сложные вопросы через итеративный поиск.
ВОПРОС: Стоит ли Senior продакт-менеджеру из Яндекса переходить в AI-стартап (15 человек, seed-раунд $2M, B2B SaaS для автоматизации поддержки)? Учесть: риски, compensation, карьерный рост, рынок труда AI в России 2025.
ПРОЦЕСС:
1. Получи начальный контекст веб-поиском по вопросу (симулируй: какие топ-3 аспекта найдутся)
2. Проанализируй: какие пробелы? Что критично узнать ещё?
3. Сформулируй 2-3 уточняющих поисковых запроса
4. Для каждого: симулируй какие ключевые факты найдутся
5. Решение: достаточно ли данных или нужен ещё запрос?
6. Финальный ответ со структурой:
- Ключевые факторы (с пометками откуда данные)
- Риски vs возможности
- Рекомендация с условиями
ФОРМАТ citation: помечай источники как [поиск 1], [поиск 2], [поиск 3]
Результат: Модель покажет пошаговый процесс: какие аспекты она ищет сначала (статистика AI-стартапов в РФ, диапазоны зарплат), какие пробелы выявляет (нужна ли информация про конкретный сегмент B2B SaaS, про burn rate после seed-раунда), формирует уточняющие запросы. Финальный ответ — структурированный анализ с разметкой откуда каждый факт. Вы увидите не просто "стоит/не стоит", а карту факторов с источниками.
Почему это работает
Модели плохо предсказывают какая информация критична до того как увидят первые данные. Попытка "найти всё сразу" даёт общий контент без глубины. Это как исследование темы: пока не прочитаешь обзорную статью, не поймёшь какие узкие вопросы задавать дальше.
LLM хорошо умеет анализировать полученное и выявлять пробелы — если дать ей роль исследователя с циклом "изучить → осознать чего не хватает → найти недостающее". Техника использует сильную сторону: способность рассуждать о качестве информации и формулировать следующие шаги.
Рычаги управления:
Количество циклов поиска — в исследовании в среднем 1.2 поиска на вопрос. Для простых вопросов ("столица Франции") один поиск, для сложных ("как изменится рынок") до 3-4. Можете задать лимит: "максимум 3 итерации поиска" — экономия токенов.
Три метрики качества (clarity, insightfulness, factuality) — замените на свои критерии под задачу: для бизнес-анализа добавьте "actionability" (применимость), для технической документации "completeness" (полнота).
Initial search vs iterative — можете убрать начальный поиск и начать сразу с формулировки серии запросов агентом. Или наоборот: давать агенту больший initial context (топ-20 вместо топ-10).
Citation markers — формат пометок источников. Вместо [1][2] можете попросить [источник: описание], чтобы видеть какой запрос дал этот факт прямо в тексте.
Шаблон промпта
Ты — исследовательский агент (Research Agent). Твоя задача: ответить на сложный вопрос через итеративный поиск и синтез информации.
ВОПРОС: {вопрос}
ПРОЦЕСС:
1. НАЧАЛЬНЫЙ ПОИСК
Симулируй веб-поиск по вопросу напрямую. Опиши: какие топ-3 релевантных источника найдутся и ключевые тезисы из них.
2. АНАЛИЗ ПРОБЕЛОВ
- Что уже известно из найденного?
- Какие критичные аспекты вопроса не раскрыты?
- Какие 2-3 уточняющих вопроса нужно исследовать?
3. ИТЕРАТИВНЫЙ ПОИСК (до {макс_итераций} раз)
Для каждого уточняющего вопроса:
- Сформулируй поисковый запрос
- Симулируй: какие ключевые факты найдутся
- Оцени: достаточно ли информации или нужен ещё поиск?
4. СИНТЕЗ ОТВЕТА
Структура:
- Краткий ответ (2-3 предложения)
- Ключевые факторы с [citation markers]
- Анализ (если применимо: риски, альтернативы, условия)
КРИТЕРИИ КАЧЕСТВА:
- Ясность: логичная структура, понятные формулировки
- Глубина: не только факты, но инсайты и связи
- Фактичность: каждое утверждение помечено источником
ФОРМАТ ЦИТИРОВАНИЯ:
Помечай источники как [поиск 1: краткое описание], [поиск 2: ...] и т.д.
Начинай с шага 1.
Подставляй:
- {вопрос} — твой сложный вопрос, требующий анализа нескольких источников
- {макс_итераций} — лимит циклов поиска (обычно 2-3)
🚀 Быстрый старт — вставь в чат:
Вот шаблон Research Agent для глубокого исследования вопросов. Адаптируй под мою задачу: [твоя задача].
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит про тип вопроса (фактоидный или аналитический), нужное количество итераций, предпочитаемую структуру ответа — потому что от этого зависит какие поисковые запросы формировать и как глубоко копать. Она возьмёт паттерн итеративного поиска и настроит под твою задачу.
Ограничения
⚠️ Контроль pipeline: В чате ChatGPT/Claude вы не управляете reranking и summarization — модель сама решает как обработать результаты поиска. Качество зависит от встроенных алгоритмов платформы.
⚠️ Токены: Каждая итерация поиска = новый запрос с полной историей. При 3-4 циклах и больших суммари документов можно упереться в лимиты контекста или стоимость.
⚠️ Симуляция vs реальный поиск: Шаблон выше просит модель симулировать результаты поиска. В ChatGPT с включённым web search модель реально ищет, но вы не контролируете сколько итераций она сделает. В Claude придётся вручную копировать результаты поиска.
⚠️ Factuality слабее: В исследовании улучшение по фактичности было минимальным (+0.41 vs +1.47 для ясности) — модели сложнее научиться проверять факты, чем улучшать структуру ответа.
Как исследовали
Команда из Tohoku University взяла 1000 вопросов: 500 из датасета Researchy Questions (сложные нефактоидные вопросы типа "Как повлияет X на Y?"), 200 из Natural Questions (фактоидные запросы из поисковиков) и 300 из валидационного сета соревнования MMU-RAG. Для каждого вопроса система генерировала 20 вариантов ответов с разными параметрами.
Потом подключили OpenAI o3-mini как судью — модель оценивала каждый ответ по трём метрикам: clarity (логичность и читаемость), insightfulness (глубина анализа и инсайты), factuality (соответствие источникам). Из 20 вариантов брали лучший (highest score) как "chosen" и худший как "rejected" — это пары для preference tuning через DPO.
Обучили модель Qwen3-Next-80B через LoRA на этих парах предпочтений. Ключевая фишка дизайна: при одинаковом score выбирали как "лучший" вариант с большим количеством поисковых запросов — так модель училась не лениться, копать глубже.
Результаты: после обучения модель стала делать больше поисков (+0.17 в среднем), clarity вырос на +1.47, insightfulness на +0.98, factuality только на +0.41. Почему factuality слабее? Для этой метрики использовались URL-ы которые кликали реальные пользователи — это шумный сигнал, плюс такие данные были только для части вопросов (Researchy Questions). Модели сложнее научиться проверять факты через такой косвенный feedback.
Что удивило: preference tuning работает даже когда "лучший" вариант определён LLM-судьёй, а не людьми. Система выиграла Best Static Evaluation в open-source категории соревнования — подход воспроизводим без проприетарных моделей.
Адаптации и экстраполяции
🔧 Техника: Явные критерии вместо общих метрик → контроль под задачу
Исследование использует три универсальные метрики (ясность, глубина, фактичность). Для вашей задачи замените на специфические критерии:
КРИТЕРИИ КАЧЕСТВА ДЛЯ БИЗНЕС-АНАЛИЗА:
- Actionability: каждый вывод = конкретное действие с таймингом
- Risk assessment: явно названы риски и вероятность
- Data recency: пометка свежести данных (2024 vs 2020)
- Stakeholder coverage: учтены интересы всех сторон
Оценивай каждый критерий после синтеза. Если ниже 7/10 — формулируй что улучшить.
Это заточит агента под вашу специфику — вместо абстрактной "глубины" получите конкретные бизнес-требования.
🔧 Техника: Отладочный режим → видеть рассуждения агента
Добавьте в промпт:
ОТЛАДОЧНЫЙ ВЫВОД после каждого шага:
- НАЙДЕНО: топ-3 факта из поиска
- ПРОБЕЛЫ: что критично, но не найдено
- РЕШЕНИЕ: почему делаю/не делаю ещё поиск
- УВЕРЕННОСТЬ: 0-100% что информации достаточно
Так вы увидите не только финальный ответ, но логику — почему агент решил копать глубже или остановился.
🔧 Техника: Два агента вместо одного → проверка через challenge
Модифицируйте в два этапа:
ЭТАП 1: RESEARCH AGENT
[оригинальный шаблон — генерирует ответ]
ЭТАП 2: CRITIC AGENT
Ты — критический аналитик. Получил ответ на вопрос "{вопрос}".
ОТВЕТ:
{ответ от research agent}
ЗАДАЧА:
1. Проверь citation markers: факт действительно следует из помеченного источника?
2. Найди логические дыры: где выводы не следуют из данных?
3. Выяви слабые места: что осталось за кадром?
4. Предложи 1-2 дополнительных поисковых запроса для усиления аргументации
Если критичных проблем >2 — скажи "ТРЕБУЕТСЯ ДОРАБОТКА" + список.
Второй агент ловит hallucinations и слабую аргументацию.
Ресурсы
An Open and Reproducible Deep Research Agent for Long-Form Question Answering — система для соревнования MMU-RAG (NeurIPS 2025), код открыт на GitHub: github.com/efficient-deep-research/efficient-deep-research
Использует Qwen3-Reranker-0.6B для ранжирования и Qwen3-Next-80B-A3B-Thinking как основную модель агента
Ссылки на методы: Chain-of-Retrieval (Wang et al.), DPO tuning (Rafailov et al.), KPR metric для factuality (Qi et al.)
Авторы: Ikuya Yamada, Wataru Ikeda, Ko Yoshida, Mengyu Ye (Tohoku University), Masatoshi Suzuki (Studio Ousia), Hisanori Ozaki (DENTSU SOKEN), Jun Suzuki (Tohoku University, RIKEN, NII LLMC)
