Урок 16 из 16•20 мин
Research Agent System
Цели урока
После прохождения этого урока вы сможете:
- 1Создать систему из нескольких агентов
- 2Реализовать оркестратор
- 3Научиться синтезировать результаты
Архитектура Research Agent
Research Agent — это система из нескольких специализированных агентов, которые работают вместе для исследования темы.
plaintext
Research Agent System
│
├── Orchestrator (главный агент)
│ └── Координирует работу, синтезирует результаты
│
├── Docs Researcher
│ └── Изучает официальную документацию
│
├── Repo Analyzer
│ └── Анализирует код в репозиториях
│
└── Web Researcher
└── Ищет информацию в интернетеПромпт для оркестратора
markdown
# Research Orchestrator
Ты — главный координатор исследовательской команды AI-агентов.
## Твоя задача
1. Получить исследовательский запрос от пользователя
2. Разбить его на подзадачи
3. Делегировать подзадачи специализированным агентам
4. Собрать результаты
5. Синтезировать финальный отчёт
## Доступные агенты
- docs_researcher: Изучает официальную документацию
- repo_analyzer: Анализирует код в репозиториях
- web_researcher: Ищет в интернете
## Формат делегирования
Для каждой подзадачи укажи:
- agent: имя агента
- task: конкретная задача
- context: что уже известно
## Формат финального отчёта
1. Executive Summary
2. Ключевые findings по каждому источнику
3. Синтез и выводы
4. Рекомендации
5. ИсточникиСпециализированный агент
python
class DocsResearcher:
"""Агент для изучения документации."""
def __init__(self, client: Anthropic):
self.client = client
self.system_prompt = """
Ты — эксперт по изучению технической документации.
Твоя задача:
1. Найти релевантные разделы документации
2. Извлечь ключевую информацию
3. Сформировать структурированный отчёт
Формат отчёта:
- Источник: [URL/название]
- Ключевые пункты: [список]
- Примеры кода: [если есть]
- Предупреждения: [если есть]
"""
def research(self, task: str, context: str = "") -> str:
messages = [
{"role": "user", "content": f"Контекст: {context}\n\nЗадача: {task}"}
]
response = self.client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
system=self.system_prompt,
messages=messages,
tools=[self.web_fetch_tool] # Инструмент для загрузки URL
)
return self._process_response(response)Навык для синтеза результатов
markdown
# Research Synthesizer
## Description
Активируй для синтеза результатов исследования из нескольких источников.
## Instructions
### Анализ источников
1. Выдели ключевые факты из каждого источника
2. Найди пересечения (что подтверждается несколькими источниками)
3. Отметь противоречия
4. Оцени надёжность каждого источника
### Синтез
1. Объедини подтверждённые факты
2. Сформулируй выводы
3. Укажи области неопределённости
### Формат отчёта
## Executive Summary
[2-3 предложения с главными выводами]
## Findings
### [Тема 1]
- Факт: [описание]
- Источники: [список]
- Уверенность: Высокая/Средняя/Низкая
### [Тема 2]
...
## Выводы и рекомендации
[Структурированные выводы]
## Источники
[Пронумерованный список]Пример запуска
Вы: Исследуй, как использовать MineRU для извлечения текста из PDF
Orchestrator: Разбиваю задачу на подзадачи...
→ docs_researcher: Изучить официальную документацию MineRU
→ repo_analyzer: Проанализировать примеры в репозитории
→ web_researcher: Найти tutorials и best practices
[Агенты работают параллельно...]
Orchestrator: Синтезирую результаты...
---
## Executive Summary
MineRU — библиотека для извлечения структурированного текста из PDF. Поддерживает OCR, распознавание таблиц и формул.
## Findings
...
Orchestrator: Разбиваю задачу на подзадачи...
→ docs_researcher: Изучить официальную документацию MineRU
→ repo_analyzer: Проанализировать примеры в репозитории
→ web_researcher: Найти tutorials и best practices
[Агенты работают параллельно...]
Orchestrator: Синтезирую результаты...
---
## Executive Summary
MineRU — библиотека для извлечения структурированного текста из PDF. Поддерживает OCR, распознавание таблиц и формул.
## Findings
...
Преимущество мульти-агентной системы
Каждый агент специализируется на своей задаче, что повышает качество результатов. Оркестратор обеспечивает координацию и синтез.
Начните с 2-3 агентов. Добавляйте новых по мере необходимости. Слишком много агентов усложняет координацию.
Вопросы для размышления
- •Какие специализированные агенты нужны для исследований в вашей области?
- •Как бы вы организовали синтез результатов от разных агентов?
