advanced_research


Nameadvanced_research JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/The-Swarm-Corporation/AdvancedResearch
SummaryAdvanced Multi-Agent Research System - Enhanced implementation of Anthropic's orchestrator-worker pattern with 90.2% performance improvement over single-agent systems
upload_time2025-08-23 17:16:07
maintainerNone
docs_urlNone
authorKye Gomez
requires_python>=3.10
licenseMIT
keywords artificial intelligence multi-agent systems research automation anthropic orchestrator-worker pattern parallel execution web search citation generation llm-as-judge
VCS
bugtrack_url
requirements swarms loguru pydantic httpx python-dotenv requests orjson uvicorn black ruff swarms-tools
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Anthropic Multi-Agent Architecture](https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-cdn.anthropic.com%2Fimages%2F4zrzovbb%2Fwebsite%2F1198befc0b33726c45692ac40f764022f4de1bf2-4584x2579.png&w=3840&q=75)

# Advanced Research System (Based on Anthropic's Paper)

[![Join our Discord](https://img.shields.io/badge/Discord-Join%20our%20server-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/EamjgSaEQf) [![Subscribe on YouTube](https://img.shields.io/badge/YouTube-Subscribe-red?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/@kyegomez3242) [![Connect on LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/kye-g-38759a207/) [![Follow on X.com](https://img.shields.io/badge/X.com-Follow-1DA1F2?style=for-the-badge&logo=x&logoColor=white)](https://x.com/kyegomezb)

[![PyPI version](https://badge.fury.io/py/advancedresearch.svg)](https://badge.fury.io/py/advanced_research)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/release/python-3100/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

An enhanced implementation of the orchestrator-worker pattern from Anthropic's paper, ["How we built our multi-agent research system"](https://www.anthropic.com/engineering/built-multi-agent-research-system), built on top of the bleeding-edge multi-agent framework `swarms`. Our implementation of this advanced research system leverages parallel execution, LLM-as-judge evaluation, and professional report generation with export capabilities.



## Installation

```bash
pip3 install -U advanced-research

# uv pip install -U advanced-research
```

## Environment Variables

```bash
# Exa Search API Key (Required for web search functionality)
EXA_API_KEY="your_exa_api_key_here"

# Anthropic API Key (For Claude models)
ANTHROPIC_API_KEY="your_anthropic_api_key_here"

# OpenAI API Key (For GPT models)  
OPENAI_API_KEY="your_openai_api_key_here"

# Worker Agent Configuration
WORKER_MODEL_NAME="gpt-4.1"
WORKER_MAX_TOKENS=8000

# Exa Search Configuration
EXA_SEARCH_NUM_RESULTS=2
EXA_SEARCH_MAX_CHARACTERS=100
```

**Note:** At minimum, you need `EXA_API_KEY` for web search functionality. For LLM functionality, you need either `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`.

## Quick Start

### Basic Usage

```python
from advanced_research import AdvancedResearch

# Initialize the research system
research_system = AdvancedResearch(
    name="AI Research Team",
    description="Specialized AI research system",
    max_loops=1,
)

# Run research and get results
result = research_system.run(
    "What are the latest developments in quantum computing?"
)
print(result)
```

### With Export Functionality

```python
from advanced_research import AdvancedResearch

# Initialize with export enabled
research_system = AdvancedResearch(
    name="Quantum Computing Research",
    description="Research team focused on quantum computing advances",
    max_loops=1,
    export_on=True,  # Enable JSON export
)

# Run research - will automatically export to JSON file
research_system.run(
    "What are the latest developments in quantum computing?"
)
# Results will be saved to a timestamped JSON file
```

### Advanced Configuration

```python
from advanced_research import AdvancedResearch

# Initialize with custom settings
research_system = AdvancedResearch(
    name="Medical Research Team",
    description="Specialized medical research system",
    director_model_name="claude-3-5-sonnet-20250115",  # Use latest Claude model
    worker_model_name="claude-3-5-sonnet-20250115",
    director_max_tokens=10000,
    max_loops=2,  # Multiple research iterations
    output_type="all",  # Include full conversation history
    export_on=True,
)

# Run research with image input (if applicable)
result = research_system.run(
    "What are the most effective treatments for Type 2 diabetes?",
    img=None  # Optional image input
)
```

### Batch Processing Multiple Queries

```python
from advanced_research import AdvancedResearch

# Initialize the system
research_system = AdvancedResearch(
    name="Batch Research System",
    max_loops=1,
    export_on=True,
)

# Process multiple research tasks
tasks = [
    "Latest advances in renewable energy storage",
    "Current state of autonomous vehicle technology",
    "Recent breakthroughs in cancer immunotherapy"
]

# Run batch processing
research_system.batched_run(tasks)
```

### Using Different Output Formats

```python
from advanced_research import AdvancedResearch

# Initialize with specific output type
research_system = AdvancedResearch(
    name="Research System",
    output_type="json",  # Options: "all", "json", "markdown"
    export_on=False,  # Get results directly instead of exporting
)

# Run research and get formatted output
result = research_system.run(
    "What are the key challenges in AGI development?"
)

# Check available output methods
available_formats = research_system.get_output_methods()
print(f"Available output formats: {available_formats}")
```

## Quick Reference

| Task | Code | Documentation |
|------|------|---------------|
| **Basic Research** | `AdvancedResearch().run("query")` | [Basic Usage →](DOCS.md#basic-research-setup) |
| **Export Results** | `AdvancedResearch(export_on=True)` | [Export Config →](DOCS.md#configuration-examples) |
| **Batch Processing** | `system.batched_run([queries])` | [Batch Processing →](DOCS.md#batch-processing-setup) |
| **Custom Models** | `AdvancedResearch(director_model_name="model")` | [Advanced Config →](DOCS.md#advanced-multi-loop-research) |
| **Output Formats** | `AdvancedResearch(output_type="json")` | [Output Types →](DOCS.md#types-and-enums) |

## Examples

Ready-to-run examples demonstrating all features of the Advanced Research system:

| Example | Description | File |
|---------|-------------|------|
| **Basic Usage** | Simple research with minimal configuration | [`examples/basic_usage.py`](examples/basic_usage.py) |
| **Export Functionality** | Save research results to JSON files | [`examples/export_example.py`](examples/export_example.py) |
| **Advanced Configuration** | Custom models, tokens, and multiple loops | [`examples/advanced_config.py`](examples/advanced_config.py) |
| **Custom Models** | Different AI model configurations | [`examples/custom_models.py`](examples/custom_models.py) |
| **Output Formats** | JSON, markdown, and conversation history | [`examples/output_formats.py`](examples/output_formats.py) |
| **Batch Processing** | Process multiple queries efficiently | [`examples/batch_processing.py`](examples/batch_processing.py) |
| **Multi-Loop Research** | Iterative research with refinement | [`examples/multi_loop_research.py`](examples/multi_loop_research.py) |
| **Session Management** | Conversation tracking and persistence | [`examples/session_management.py`](examples/session_management.py) |
| **Chat Interface** | Interactive web-based chat demo | [`examples/chat_demo.py`](examples/chat_demo.py) |

**Quick Start Examples:**
```bash
# Basic research
python examples/basic_usage.py

# With export functionality  
python examples/export_example.py

# Advanced configuration
python examples/advanced_config.py
```

**[View All Examples →](examples/README.md)**

## Key Features

| Feature | Description |
|---------|-------------|
| **Orchestrator-Worker Architecture** | A `Director Agent` coordinates research strategy while specialized worker agents execute focused search tasks with Exa API integration. |
| **Advanced Web Search Integration** | Utilizes `exa_search` with structured JSON responses, content summarization, and intelligent result extraction for comprehensive research. |
| **High-Performance Parallel Execution** | Leverages `ThreadPoolExecutor` to run multiple specialized agents concurrently, achieving significant time reduction for complex queries. |
| **Flexible Configuration** | Customizable model selection (Claude, GPT), token limits, loop counts, and output formatting options. |
| **Conversation Management** | Built-in conversation history tracking with the `swarms` framework's `Conversation` class for persistent dialogue management. |
| **Export Functionality** | JSON export with automatic timestamping, unique session IDs, and comprehensive conversation history. |
| **Multiple Output Formats** | Support for various output types including JSON, markdown, and full conversation history formatting. |
| **Session Management** | Unique session IDs, batch processing capabilities, and step-by-step research execution control. |

## Architecture

The system follows a streamlined orchestrator-worker pattern with parallel execution:

```
                [User Query + Configuration]
                            │
                            ▼
           ┌─────────────────────────────────┐
           │       AdvancedResearch          │ (Main Orchestrator)
           │  - Session Management          │
           │  - Conversation History        │
           │  - Export Control              │
           └─────────────────────────────────┘
                            │ 1. Initialize Research Session
                            ▼
           ┌─────────────────────────────────┐
           │      Director Agent             │ (Research Coordinator)
           │  - Query Analysis & Planning    │
           │  - Task Decomposition           │
           │  - Research Strategy            │
           └─────────────────────────────────┘
                            │ 2. Decompose into Sub-Tasks
                            ▼
       ┌─────────────────────────────────────────┐
       │     Parallel Worker Execution           │
       │   (ThreadPoolExecutor - Concurrent)     │
       └─────────────────────────────────────────┘
          │           │           │           │
          ▼           ▼           ▼           ▼
    ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
    │Worker 1  │ │Worker 2  │ │Worker 3  │ │Worker N  │
    │Exa Search│ │Exa Search│ │Exa Search│ │Exa Search│
    │Integration│ │Integration│ │Integration│ │Integration│
    └──────────┘ └──────────┘ └──────────┘ └──────────┘
          │           │           │           │
          ▼           ▼           ▼           ▼
       ┌─────────────────────────────────────────┐
       │      Results Aggregation                │
       │  - Combine Worker Outputs               │
       │  - Format Research Findings             │
       └─────────────────────────────────────────┘
                            │ 3. Synthesize Results
                            ▼
           ┌─────────────────────────────────┐
           │    Conversation Management      │
           │  - History Tracking             │
           │  - Output Formatting            │
           │  - Export Processing            │
           └─────────────────────────────────┘
                            │ 4. Deliver Results
                            ▼
              [Formatted Report + Optional JSON Export]
```

### Workflow Process

1. **Session Initialization**: `AdvancedResearch` creates a unique research session with conversation tracking
2. **Director Agent Planning**: The director agent analyzes the query and plans research strategy
3. **Parallel Worker Execution**: Multiple worker agents execute concurrent searches using Exa API
4. **Results Aggregation**: Worker outputs are combined and synthesized into comprehensive findings
5. **Output Processing**: Results are formatted according to specified output type (JSON, markdown, etc.)
6. **Export & Delivery**: Optional JSON export with timestamped files and conversation history


## Contributing

This implementation is part of the open-source `swarms` ecosystem. We welcome contributions!

1. Fork the [repository](https://github.com/The-Swarm-Corporation/AdvancedResearch)
2. Create a feature branch (`git checkout -b feature/amazing-research-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-research-feature`)
5. Open a Pull Request

### Development Setup with uv

```bash
# Clone and setup development environment
git clone https://github.com/The-Swarm-Corporation/AdvancedResearch.git
cd AdvancedResearch

uv venv

uv pip install -r requirements.txt

# Setup environment variables
cp .env.example .env
# Edit .env with your API keys
```

## 📄 License

This project is licensed under the MIT License. See the [LICENSE](https://github.com/The-Swarm-Corporation/AdvancedResearch/blob/main/LICENSE) file for details.

## 📚 Citation

If you use this work in your research, please cite both the original paper and this implementation:

```bibtex
@misc{anthropic2024researchsystem,
    title={How we built our multi-agent research system},
    author={Anthropic},
    year={2024},
    month={June},
    url={https://www.anthropic.com/engineering/built-multi-agent-research-system}
}

@software{advancedresearch2024,
    title={AdvancedResearch: Enhanced Multi-Agent Research System},
    author={The Swarm Corporation},
    year={2024},
    url={https://github.com/The-Swarm-Corporation/AdvancedResearch},
    note={Implementation based on Anthropic's multi-agent research system paper}
}

@software{swarms_framework,
    title={Swarms: An Open-Source Multi-Agent Framework},
    author={Kye Gomez},
    year={2023},
    url={https://github.com/kyegomez/swarms}
}
```

## Documentation

For comprehensive API documentation, examples, and advanced usage:

**[View Full API Documentation →](DOCS.md)**

## Related Work

- [Original Paper](https://www.anthropic.com/engineering/built-multi-agent-research-system) - "How we built our multi-agent research system" by Anthropic
- [Swarms Framework](https://github.com/kyegomez/swarms) - The underlying multi-agent AI orchestration framework

## Support

- **Issues**: [GitHub Issues](https://github.com/The-Swarm-Corporation/AdvancedResearch/issues)
- **Discussions**: [GitHub Discussions](https://github.com/The-Swarm-Corporation/AdvancedResearch/discussions)
- **Community**: [Join our Discord](https://discord.gg/EamjgSaEQf)

<p align="center">
  <strong>Built with <a href="https://github.com/kyegomez/swarms">Swarms</a> framework for production-grade agentic applications </strong>
</p>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/The-Swarm-Corporation/AdvancedResearch",
    "name": "advanced_research",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "artificial intelligence, multi-agent systems, research automation, anthropic, orchestrator-worker pattern, parallel execution, web search, citation generation, llm-as-judge",
    "author": "Kye Gomez",
    "author_email": "kye@swarms.world",
    "download_url": "https://files.pythonhosted.org/packages/a1/ee/f2394c133bbdc91485bbb653592066d2c3f7694e1bfd6a5ee115a302888a/advanced_research-0.2.0.tar.gz",
    "platform": null,
    "description": "![Anthropic Multi-Agent Architecture](https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-cdn.anthropic.com%2Fimages%2F4zrzovbb%2Fwebsite%2F1198befc0b33726c45692ac40f764022f4de1bf2-4584x2579.png&w=3840&q=75)\n\n# Advanced Research System (Based on Anthropic's Paper)\n\n[![Join our Discord](https://img.shields.io/badge/Discord-Join%20our%20server-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/EamjgSaEQf) [![Subscribe on YouTube](https://img.shields.io/badge/YouTube-Subscribe-red?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/@kyegomez3242) [![Connect on LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/kye-g-38759a207/) [![Follow on X.com](https://img.shields.io/badge/X.com-Follow-1DA1F2?style=for-the-badge&logo=x&logoColor=white)](https://x.com/kyegomezb)\n\n[![PyPI version](https://badge.fury.io/py/advancedresearch.svg)](https://badge.fury.io/py/advanced_research)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/release/python-3100/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nAn enhanced implementation of the orchestrator-worker pattern from Anthropic's paper, [\"How we built our multi-agent research system\"](https://www.anthropic.com/engineering/built-multi-agent-research-system), built on top of the bleeding-edge multi-agent framework `swarms`. Our implementation of this advanced research system leverages parallel execution, LLM-as-judge evaluation, and professional report generation with export capabilities.\n\n\n\n## Installation\n\n```bash\npip3 install -U advanced-research\n\n# uv pip install -U advanced-research\n```\n\n## Environment Variables\n\n```bash\n# Exa Search API Key (Required for web search functionality)\nEXA_API_KEY=\"your_exa_api_key_here\"\n\n# Anthropic API Key (For Claude models)\nANTHROPIC_API_KEY=\"your_anthropic_api_key_here\"\n\n# OpenAI API Key (For GPT models)  \nOPENAI_API_KEY=\"your_openai_api_key_here\"\n\n# Worker Agent Configuration\nWORKER_MODEL_NAME=\"gpt-4.1\"\nWORKER_MAX_TOKENS=8000\n\n# Exa Search Configuration\nEXA_SEARCH_NUM_RESULTS=2\nEXA_SEARCH_MAX_CHARACTERS=100\n```\n\n**Note:** At minimum, you need `EXA_API_KEY` for web search functionality. For LLM functionality, you need either `ANTHROPIC_API_KEY` or `OPENAI_API_KEY`.\n\n## Quick Start\n\n### Basic Usage\n\n```python\nfrom advanced_research import AdvancedResearch\n\n# Initialize the research system\nresearch_system = AdvancedResearch(\n    name=\"AI Research Team\",\n    description=\"Specialized AI research system\",\n    max_loops=1,\n)\n\n# Run research and get results\nresult = research_system.run(\n    \"What are the latest developments in quantum computing?\"\n)\nprint(result)\n```\n\n### With Export Functionality\n\n```python\nfrom advanced_research import AdvancedResearch\n\n# Initialize with export enabled\nresearch_system = AdvancedResearch(\n    name=\"Quantum Computing Research\",\n    description=\"Research team focused on quantum computing advances\",\n    max_loops=1,\n    export_on=True,  # Enable JSON export\n)\n\n# Run research - will automatically export to JSON file\nresearch_system.run(\n    \"What are the latest developments in quantum computing?\"\n)\n# Results will be saved to a timestamped JSON file\n```\n\n### Advanced Configuration\n\n```python\nfrom advanced_research import AdvancedResearch\n\n# Initialize with custom settings\nresearch_system = AdvancedResearch(\n    name=\"Medical Research Team\",\n    description=\"Specialized medical research system\",\n    director_model_name=\"claude-3-5-sonnet-20250115\",  # Use latest Claude model\n    worker_model_name=\"claude-3-5-sonnet-20250115\",\n    director_max_tokens=10000,\n    max_loops=2,  # Multiple research iterations\n    output_type=\"all\",  # Include full conversation history\n    export_on=True,\n)\n\n# Run research with image input (if applicable)\nresult = research_system.run(\n    \"What are the most effective treatments for Type 2 diabetes?\",\n    img=None  # Optional image input\n)\n```\n\n### Batch Processing Multiple Queries\n\n```python\nfrom advanced_research import AdvancedResearch\n\n# Initialize the system\nresearch_system = AdvancedResearch(\n    name=\"Batch Research System\",\n    max_loops=1,\n    export_on=True,\n)\n\n# Process multiple research tasks\ntasks = [\n    \"Latest advances in renewable energy storage\",\n    \"Current state of autonomous vehicle technology\",\n    \"Recent breakthroughs in cancer immunotherapy\"\n]\n\n# Run batch processing\nresearch_system.batched_run(tasks)\n```\n\n### Using Different Output Formats\n\n```python\nfrom advanced_research import AdvancedResearch\n\n# Initialize with specific output type\nresearch_system = AdvancedResearch(\n    name=\"Research System\",\n    output_type=\"json\",  # Options: \"all\", \"json\", \"markdown\"\n    export_on=False,  # Get results directly instead of exporting\n)\n\n# Run research and get formatted output\nresult = research_system.run(\n    \"What are the key challenges in AGI development?\"\n)\n\n# Check available output methods\navailable_formats = research_system.get_output_methods()\nprint(f\"Available output formats: {available_formats}\")\n```\n\n## Quick Reference\n\n| Task | Code | Documentation |\n|------|------|---------------|\n| **Basic Research** | `AdvancedResearch().run(\"query\")` | [Basic Usage \u2192](DOCS.md#basic-research-setup) |\n| **Export Results** | `AdvancedResearch(export_on=True)` | [Export Config \u2192](DOCS.md#configuration-examples) |\n| **Batch Processing** | `system.batched_run([queries])` | [Batch Processing \u2192](DOCS.md#batch-processing-setup) |\n| **Custom Models** | `AdvancedResearch(director_model_name=\"model\")` | [Advanced Config \u2192](DOCS.md#advanced-multi-loop-research) |\n| **Output Formats** | `AdvancedResearch(output_type=\"json\")` | [Output Types \u2192](DOCS.md#types-and-enums) |\n\n## Examples\n\nReady-to-run examples demonstrating all features of the Advanced Research system:\n\n| Example | Description | File |\n|---------|-------------|------|\n| **Basic Usage** | Simple research with minimal configuration | [`examples/basic_usage.py`](examples/basic_usage.py) |\n| **Export Functionality** | Save research results to JSON files | [`examples/export_example.py`](examples/export_example.py) |\n| **Advanced Configuration** | Custom models, tokens, and multiple loops | [`examples/advanced_config.py`](examples/advanced_config.py) |\n| **Custom Models** | Different AI model configurations | [`examples/custom_models.py`](examples/custom_models.py) |\n| **Output Formats** | JSON, markdown, and conversation history | [`examples/output_formats.py`](examples/output_formats.py) |\n| **Batch Processing** | Process multiple queries efficiently | [`examples/batch_processing.py`](examples/batch_processing.py) |\n| **Multi-Loop Research** | Iterative research with refinement | [`examples/multi_loop_research.py`](examples/multi_loop_research.py) |\n| **Session Management** | Conversation tracking and persistence | [`examples/session_management.py`](examples/session_management.py) |\n| **Chat Interface** | Interactive web-based chat demo | [`examples/chat_demo.py`](examples/chat_demo.py) |\n\n**Quick Start Examples:**\n```bash\n# Basic research\npython examples/basic_usage.py\n\n# With export functionality  \npython examples/export_example.py\n\n# Advanced configuration\npython examples/advanced_config.py\n```\n\n**[View All Examples \u2192](examples/README.md)**\n\n## Key Features\n\n| Feature | Description |\n|---------|-------------|\n| **Orchestrator-Worker Architecture** | A `Director Agent` coordinates research strategy while specialized worker agents execute focused search tasks with Exa API integration. |\n| **Advanced Web Search Integration** | Utilizes `exa_search` with structured JSON responses, content summarization, and intelligent result extraction for comprehensive research. |\n| **High-Performance Parallel Execution** | Leverages `ThreadPoolExecutor` to run multiple specialized agents concurrently, achieving significant time reduction for complex queries. |\n| **Flexible Configuration** | Customizable model selection (Claude, GPT), token limits, loop counts, and output formatting options. |\n| **Conversation Management** | Built-in conversation history tracking with the `swarms` framework's `Conversation` class for persistent dialogue management. |\n| **Export Functionality** | JSON export with automatic timestamping, unique session IDs, and comprehensive conversation history. |\n| **Multiple Output Formats** | Support for various output types including JSON, markdown, and full conversation history formatting. |\n| **Session Management** | Unique session IDs, batch processing capabilities, and step-by-step research execution control. |\n\n## Architecture\n\nThe system follows a streamlined orchestrator-worker pattern with parallel execution:\n\n```\n                [User Query + Configuration]\n                            \u2502\n                            \u25bc\n           \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n           \u2502       AdvancedResearch          \u2502 (Main Orchestrator)\n           \u2502  - Session Management          \u2502\n           \u2502  - Conversation History        \u2502\n           \u2502  - Export Control              \u2502\n           \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                            \u2502 1. Initialize Research Session\n                            \u25bc\n           \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n           \u2502      Director Agent             \u2502 (Research Coordinator)\n           \u2502  - Query Analysis & Planning    \u2502\n           \u2502  - Task Decomposition           \u2502\n           \u2502  - Research Strategy            \u2502\n           \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                            \u2502 2. Decompose into Sub-Tasks\n                            \u25bc\n       \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n       \u2502     Parallel Worker Execution           \u2502\n       \u2502   (ThreadPoolExecutor - Concurrent)     \u2502\n       \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n          \u2502           \u2502           \u2502           \u2502\n          \u25bc           \u25bc           \u25bc           \u25bc\n    \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n    \u2502Worker 1  \u2502 \u2502Worker 2  \u2502 \u2502Worker 3  \u2502 \u2502Worker N  \u2502\n    \u2502Exa Search\u2502 \u2502Exa Search\u2502 \u2502Exa Search\u2502 \u2502Exa Search\u2502\n    \u2502Integration\u2502 \u2502Integration\u2502 \u2502Integration\u2502 \u2502Integration\u2502\n    \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n          \u2502           \u2502           \u2502           \u2502\n          \u25bc           \u25bc           \u25bc           \u25bc\n       \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n       \u2502      Results Aggregation                \u2502\n       \u2502  - Combine Worker Outputs               \u2502\n       \u2502  - Format Research Findings             \u2502\n       \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                            \u2502 3. Synthesize Results\n                            \u25bc\n           \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n           \u2502    Conversation Management      \u2502\n           \u2502  - History Tracking             \u2502\n           \u2502  - Output Formatting            \u2502\n           \u2502  - Export Processing            \u2502\n           \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                            \u2502 4. Deliver Results\n                            \u25bc\n              [Formatted Report + Optional JSON Export]\n```\n\n### Workflow Process\n\n1. **Session Initialization**: `AdvancedResearch` creates a unique research session with conversation tracking\n2. **Director Agent Planning**: The director agent analyzes the query and plans research strategy\n3. **Parallel Worker Execution**: Multiple worker agents execute concurrent searches using Exa API\n4. **Results Aggregation**: Worker outputs are combined and synthesized into comprehensive findings\n5. **Output Processing**: Results are formatted according to specified output type (JSON, markdown, etc.)\n6. **Export & Delivery**: Optional JSON export with timestamped files and conversation history\n\n\n## Contributing\n\nThis implementation is part of the open-source `swarms` ecosystem. We welcome contributions!\n\n1. Fork the [repository](https://github.com/The-Swarm-Corporation/AdvancedResearch)\n2. Create a feature branch (`git checkout -b feature/amazing-research-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-research-feature`)\n5. Open a Pull Request\n\n### Development Setup with uv\n\n```bash\n# Clone and setup development environment\ngit clone https://github.com/The-Swarm-Corporation/AdvancedResearch.git\ncd AdvancedResearch\n\nuv venv\n\nuv pip install -r requirements.txt\n\n# Setup environment variables\ncp .env.example .env\n# Edit .env with your API keys\n```\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License. See the [LICENSE](https://github.com/The-Swarm-Corporation/AdvancedResearch/blob/main/LICENSE) file for details.\n\n## \ud83d\udcda Citation\n\nIf you use this work in your research, please cite both the original paper and this implementation:\n\n```bibtex\n@misc{anthropic2024researchsystem,\n    title={How we built our multi-agent research system},\n    author={Anthropic},\n    year={2024},\n    month={June},\n    url={https://www.anthropic.com/engineering/built-multi-agent-research-system}\n}\n\n@software{advancedresearch2024,\n    title={AdvancedResearch: Enhanced Multi-Agent Research System},\n    author={The Swarm Corporation},\n    year={2024},\n    url={https://github.com/The-Swarm-Corporation/AdvancedResearch},\n    note={Implementation based on Anthropic's multi-agent research system paper}\n}\n\n@software{swarms_framework,\n    title={Swarms: An Open-Source Multi-Agent Framework},\n    author={Kye Gomez},\n    year={2023},\n    url={https://github.com/kyegomez/swarms}\n}\n```\n\n## Documentation\n\nFor comprehensive API documentation, examples, and advanced usage:\n\n**[View Full API Documentation \u2192](DOCS.md)**\n\n## Related Work\n\n- [Original Paper](https://www.anthropic.com/engineering/built-multi-agent-research-system) - \"How we built our multi-agent research system\" by Anthropic\n- [Swarms Framework](https://github.com/kyegomez/swarms) - The underlying multi-agent AI orchestration framework\n\n## Support\n\n- **Issues**: [GitHub Issues](https://github.com/The-Swarm-Corporation/AdvancedResearch/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/The-Swarm-Corporation/AdvancedResearch/discussions)\n- **Community**: [Join our Discord](https://discord.gg/EamjgSaEQf)\n\n<p align=\"center\">\n  <strong>Built with <a href=\"https://github.com/kyegomez/swarms\">Swarms</a> framework for production-grade agentic applications </strong>\n</p>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Advanced Multi-Agent Research System - Enhanced implementation of Anthropic's orchestrator-worker pattern with 90.2% performance improvement over single-agent systems",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://github.com/The-Swarm-Corporation/AdvancedResearch/blob/main/Docs.md",
        "Homepage": "https://github.com/The-Swarm-Corporation/AdvancedResearch",
        "Repository": "https://github.com/The-Swarm-Corporation/AdvancedResearch"
    },
    "split_keywords": [
        "artificial intelligence",
        " multi-agent systems",
        " research automation",
        " anthropic",
        " orchestrator-worker pattern",
        " parallel execution",
        " web search",
        " citation generation",
        " llm-as-judge"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c5587d4e681cfc8c76e049f8d71598d17de56b6207a27542770395d56ded5efb",
                "md5": "c1a0f060b592d027d5b0214977cc03a4",
                "sha256": "312d2115243bd52071abaec9198ad8b53ea615f71869920376832c5a43cd04c3"
            },
            "downloads": -1,
            "filename": "advanced_research-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c1a0f060b592d027d5b0214977cc03a4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 16339,
            "upload_time": "2025-08-23T17:16:06",
            "upload_time_iso_8601": "2025-08-23T17:16:06.773789Z",
            "url": "https://files.pythonhosted.org/packages/c5/58/7d4e681cfc8c76e049f8d71598d17de56b6207a27542770395d56ded5efb/advanced_research-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a1eef2394c133bbdc91485bbb653592066d2c3f7694e1bfd6a5ee115a302888a",
                "md5": "68daed8affbb32392d28ec17650e7470",
                "sha256": "aa5126c32289fa4e810d36b72a7b88e7a68f579a9daba46aa21a6d5e50b05e89"
            },
            "downloads": -1,
            "filename": "advanced_research-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "68daed8affbb32392d28ec17650e7470",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 18810,
            "upload_time": "2025-08-23T17:16:07",
            "upload_time_iso_8601": "2025-08-23T17:16:07.696104Z",
            "url": "https://files.pythonhosted.org/packages/a1/ee/f2394c133bbdc91485bbb653592066d2c3f7694e1bfd6a5ee115a302888a/advanced_research-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-23 17:16:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "The-Swarm-Corporation",
    "github_project": "AdvancedResearch",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "swarms",
            "specs": []
        },
        {
            "name": "loguru",
            "specs": []
        },
        {
            "name": "pydantic",
            "specs": []
        },
        {
            "name": "httpx",
            "specs": []
        },
        {
            "name": "python-dotenv",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "orjson",
            "specs": []
        },
        {
            "name": "uvicorn",
            "specs": []
        },
        {
            "name": "black",
            "specs": []
        },
        {
            "name": "ruff",
            "specs": []
        },
        {
            "name": "swarms-tools",
            "specs": []
        }
    ],
    "lcname": "advanced_research"
}
        
Elapsed time: 2.11807s