Агент глубоких исследований
Агент глубоких исследований — это сложная многопроцессорная система, способная проводить всесторонние исследования по любой теме, разбивая сложные запросы на управляемые задачи, задействуя специализированных исследовательских агентов и синтезируя результаты в подробные отчёты.
Этот подход вдохновлён блогом Anthropic — Как мы построили нашу систему многопроцессорных исследований.
Обзор
Рабочий процесс агента глубоких исследований состоит из нескольких ключевых компонентов, взаимодействующих друг с другом:
- Планировщик: Анализирует исследовательский запрос и создает список специализированных задач.
- Итерация: Создает несколько исследовательских агентов, работающих над разными аспектами запроса.
- Подагенты исследования: Отдельные агенты, выполняющие целенаправленное исследование с помощью поиска в Интернете и других интеграций.
- Писатель: Синтезирует все результаты в связной, всесторонней отчёт.
- Агент условий: Определяет, требуется ли дополнительное исследование или полученных данных достаточно.
- Цикл: Возврат к Агенту планировщикадля повышения качества исследования.
Шаг 1: Создание начального узла
- Начните с добавления узла Старт на вашу рабочую область
- Настройте узел Старт с помощью Ввод формы для сбора запроса на исследование от пользователей
- Настройте форму со следующими параметрами:
- Название формы: "Исследовать"
- Описание формы: "Агент исследования, который принимает запрос и возвращает детальный отчет"
- Типы входных данных формы: Добавьте строковый ввод с меткой "Запрос" и переменной "Запрос"
- Инициализируйте состояние потока двумя ключевыми переменными:
subagents: для хранения списка задач исследования, которые будут выполнены субагентамиfindings: для накопления результатов исследования
Шаг 2: Добавьте агента планировщика
- Подсоедините узел LLM к узлу Старт.
- Настройте системное сообщение так, чтобы оно выполняло роль эксперта по исследовательской деятельности с следующими ключевыми обязанностями:
- Анализировать и разбивать запросы пользователя
- Создавать подробные планы исследований
- Генерировать конкретные задачи для субагентов
- Пример подсказки
- Настройте структурированный вывод JSON, чтобы возвращать список задач для субагентов:
{
"task": {
"type": "string",
"description": "The research task for subagent"
}
}
- Обновите состояние потока, сохранив сгенерированный список субагентов.
Шаг 3: Создайте блок итерации субагентов
- Добавьте узел Итерация.
- Подключите его к выходу агента планировщика (Planner).
- Настройте вход итерации с использованием состояния потока:
{{ $flow.state.subagents }}. Для каждого элемента в массиве будет создан субагент, который выполнит исследовательскую задачу.
{
"subagents": [
{
"task": "Research the current state and recent developments in autonomous multi-agent systems technology. Focus on defining what autonomous multi-agent systems are, key technical components (coordination algorithms, communication protocols, decision-making frameworks), major technological advances in the last 2-3 years, and leading research institutions/companies working in this space. Use web search to find recent academic papers, industry reports, and technical documentation. Prioritize sources from IEEE, ACM, Nature, Science, and major tech companies' research divisions. Compile findings into a comprehensive technical overview covering definitions, core technologies, recent breakthroughs, and key players in the field."
},
{
"task": "Investigate real-world applications and deployments of autonomous multi-agent systems across different industries. Research specific use cases in robotics (swarm robotics, warehouse automation), transportation (autonomous vehicle fleets, traffic management), manufacturing (coordinated production systems), defense/military applications, smart cities, and any other domains where these systems are actively deployed. For each application area, identify specific companies, products, success stories, and quantitative results where available. Focus on practical implementations rather than theoretical research. Use web search to find case studies, company announcements, industry reports, and news articles about actual deployments."
}
]
}
Шаг 4: Создайте исследовательского субагента
- Внутри блока итерации добавьте узел Агент.
- Настройте системное сообщение так, чтобы он выступал как специализированный исследовательский субагент с возможностями:
- Возможностями ясного понимания задачи
- Эффективно планировать исследование (2–5 вызовов интеграций на задачу)
- Оценивать качество источников
- Использовать несколько интеграций параллельно для повышения эффективности
- Пример подсказки
- Добавьте следующие интеграции для исследования, вы можете использовать свои предпочитаемые интеграци:
- Поиск Google: для поиска ссылок в интернете
- Парсер веб-страниц: для извлечения содержимого веб-страниц. Эта интеграция будет собирать содержимое по ссылкам из Google Search
- Поиск на arXiv: для поиска и загрузки содержания академических статей
- Настройте пользовательское сообщение, чтобы оно передавало текущую задачу итерации:
{{ $iteration.task }}
Шаг 5: Добавьте агента для написания отчета
- Подключите узел LLM после завершения итерации.
- Для синтеза всех результатов и генерации отчета потребуется крупная модель LLM, например Gemini с размером контекста 1-2 миллиона.
- Настройте системное сообщение так, чтобы он выступал в роли эксперта-исследователя, который:
- Сохраняет полный контекст результатов исследования
- Поддерживает целостность цитирования
- Добавляет структуру и ясность
- Выдает профессиональные отчеты в формате Markdown
- Настройте пользовательское сообщение, чтобы оно включало:
- Тему исследования:
{{ $form.Запрос }} - Уже собранные результаты:
{{ $flow.state.findings }} - Новые результаты:
{{ iterationMultiagents_0 }}
- Тему исследования:
- Обновите
{{ $flow.state.findings }}с помощью вывода агента для написания отчета.
Шаг 6: Реализуйте проверку условия
- Добавьте агент условия.
- Настройте логику условия для определения необходимости дополнительного исследования.
- Сконфигурируйте два сценария:
- "Требуются дополнительные субагенты"
- "Результаты достаточны"
- Предоставьте входной контекст, включая:
- Тему исследования
- Текущий список субагентов
- Накопленные результаты
Шаг 7: Создайте механизм цикла
- Для сценария «Требуются дополнительные субагенты» добавьте узел цикла.
- Настройте его так, чтобы он возвращался к узлу планировщика.
- Установите максимочное количество итераций цикла — 5, чтобы избежать бесконечных циклов.
- Агент Планировщика будет просматривать текущий отчет и генерировать дополнительные задачи для исследований.
Шаг 8: Добавьте конечный вывод
- Для сценария «Результаты достаточны» добавьте прямой ответ.
- Настройте его так, чтобы выводился окончательный отчет:
{{ $flow.state.findings }}
Тестирование потока
- Начните с простой темы, например: «Автономные многогенные системы в реальных условиях».
- Наблюдайте, как Планировщик разбивает исследование на целенаправленные задачи.
- Следите за тем, как субагенты проводят параллельные исследования.
- Просматривайте синтез результатов Агента писателя.
- Обратите внимание, запрашивает ли Агент условий дополнительные исследования.
Отчет создан:
Полная структура потока
Обзор
- 🧠 Planner Agent - анализирует исследовательский запрос и создает список специализированных исследовательских задач
- 🖧 Subagents - создают несколько субагентов для проведения целенаправленных исследований с использованием инструментов веб-поиска, скрапинга и arxiv
- ✍️ Writer Agent - синтезирует все результаты в связный, подробный отчет с цитатами
- ⇄ Condition Agent - определяет, нужны ли дополнительные исследования или результаты достаточны
- 🔄 Возврат к Агенту Планировщика для генерации новых субагентов
🧠 Агент планировщика:
Действует как эксперт по исследованиям, который:
- Анализирует и разбивает запросы пользователей
- Создает подробные планы исследований
- Генерирует конкретные задачи для субагентов
Выдает массив исследовательских задач
🖧 Субагенты
Для каждой задачи создается новый субагент, который занимается целенаправленным исследованием.
Каждый субагент обладает:
- Способностью точно понимать задачу
- Эффективным планированием (2-5 вызовов инструментов на задачу)
- Оценкой качества источников
- Параллельным использованием инструментов для повышения эффективности
Доступные инструменты:
- 🌐 Google Search - поиск ссылок в интернете
- 🗂️ Web Scraper - извлечение содержимого страниц, собирать контент по ссылкам
- 📑 ArXiv - поиск, загрузка и чтение научных статей
✍️ Агент писатель
Выступает как специалист по написанию исследований, переводит необработанные результаты в ясный, структурированный Markdown-отчет с цитатами. Для таких задач лучше использовать Gemini благодаря его большому размеру контекста.
⇄ Агент условий
На основе сгенерированного отчета решает, нужны ли дополнительные исследования или результаты достаточны.
Если нужно больше — планировщик генерирует новые задачи, цикл продолжается. Если результаты достаточны — возвращается финальный отчет от Агента писателя.
Продвиненная настройка
Настройка глубины исследования:
Вы можете настроить глубину исследования, изменив системную подсказку Планировщика следующим образом:
- Увеличить количество субагентов для сложных тем (до 10-20)
- Отрегулируйте бюджет вызова инструмента для каждого субагента
- Измените количество циклов для более итеративного исследования.
Однако это также влечет за собой дополнительные расходы за большее потребление токенов.
Добавление специализированных инструментов
Расширьте исследовательские возможности, добавив инструменты, специфичные для конкретной области:
- Персональные инструменты, такие как Gmail, Slack, Google Calendar, Teams и т. д.
- Другие веб-скраперы и инструменты веб-поиска, такие как Firecrawl, Exa, Apify и т. д.
Добавление контекста RAG
С помощью RAG вы можете расширить контекст программы LLM . Это позволяет LLM при необходимости извлекать информацию из актуальных существующих источников знаний.
Лучшие практики
- Выбор модели и запасные варианты имеют решающее значение из-за большого количества результатов, приводящих к переполнению токенов.
- Подсказки — ключ к успеху. Anthropic открыла исходный код всей своей структуры подсказок, включая делегирование задач, параллельное использование инструментов и мыслительные процессы
- Инструменты должны быть тщательно разработаны, когда их использовать и как ограничивать длину результатов, возвращаемых при выполнении инструментов.
- Это очень похоже на компромиссный треугольник, где оптимизация двух компонентов дерева часто негативно влияет на другой, в данном случае — на скорость, качество, стоимость.
Служба поддержки клиентов
Поддержка клиентов — один из самых распространённых вариантов использования искусственного интеллекта на сегодняшний день. Однако многие склонны чрезмерно усложнять её, добавляя несколько агентов. Во многих случаях желаемого результата можно добиться с помощью одного агента, при условии наличия хорошо продуманной системы подсказок, тщательно подобранных инструментов и тщательно подобранной базы знаний. Многоагентная архитектура обычно необходима только в том случае, если ваша система должна охватывать широкий спектр областей поддержки. Например, у вас может быть агент отдела кадров, который управляет кадровыми политиками и выполняет такие задачи, как подача заявлений на отпуск или обновление личных дел сотрудников, а также финансовый агент, который занимается возмещением средств, возвратами и другими финансовыми вопросами.
Человек в цепочке
В предыдущих уроках мы рассмотрели, как агент может динамично использовать инструменты для ответа на запросы или выполнения поставленных задач. Human-in-the-loop (человек в цикле) добавляет уровень контроля, позволяя агенту запрашивать у человека ввод, одобрение или обратную связь перед дальнейшими действиями.

