advanced_research


Nameadvanced_research JSON
Version 0.1.5 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-12 04:49:49
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 gradio black ruff
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

# Or 
# uv pip install -U advanced-research

```

### Environment Setup

Create a `.env` file in your project root:

```bash
# Claude API Key (Primary LLM)
ANTHROPIC_API_KEY="your_anthropic_api_key_here"

# Exa Search API Key
EXA_API_KEY="your_exa_api_key_here"

# Optional: OpenAI API Key (alternative LLM)
OPENAI_API_KEY="your_openai_api_key_here"
```

## πŸš€ 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) |

## ✨ 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
```

## πŸ“„ 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)
- **Discord**: [Join our community](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/22/6c/8ea5f283ffab128d9ed17ce2ca649122230aac6597e44e62b19306e9698b/advanced_research-0.1.5.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## \ud83d\udce6 Installation\n\n```bash\npip3 install -U advanced-research\n\n# Or \n# uv pip install -U advanced-research\n\n```\n\n### Environment Setup\n\nCreate a `.env` file in your project root:\n\n```bash\n# Claude API Key (Primary LLM)\nANTHROPIC_API_KEY=\"your_anthropic_api_key_here\"\n\n# Exa Search API Key\nEXA_API_KEY=\"your_exa_api_key_here\"\n\n# Optional: OpenAI API Key (alternative LLM)\nOPENAI_API_KEY=\"your_openai_api_key_here\"\n```\n\n## \ud83d\ude80 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## \ud83d\udccb 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## \u2728 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## \ud83c\udfd7\ufe0f 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### \ud83d\udd04 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## \ud83e\udd1d 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\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## \ud83d\udcda Documentation\n\nFor comprehensive API documentation, examples, and advanced usage:\n\n**[\ud83d\udcd6 View Full API Documentation \u2192](DOCS.md)**\n\n## \ud83d\udd17 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## \ud83d\udcde 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- **Discord**: [Join our community](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.1.5",
    "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": "e2ee9f6fccdab8167950b1130ecf8c7368fb58650531b87a009f435fabf599e1",
                "md5": "d727f293fede29f9544b8649843c71d6",
                "sha256": "1adf85330975734cb33749e41c3ebe466a3ae36f468ff150f559b9dc8c40cb55"
            },
            "downloads": -1,
            "filename": "advanced_research-0.1.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d727f293fede29f9544b8649843c71d6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 18088,
            "upload_time": "2025-08-12T04:49:48",
            "upload_time_iso_8601": "2025-08-12T04:49:48.275516Z",
            "url": "https://files.pythonhosted.org/packages/e2/ee/9f6fccdab8167950b1130ecf8c7368fb58650531b87a009f435fabf599e1/advanced_research-0.1.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "226c8ea5f283ffab128d9ed17ce2ca649122230aac6597e44e62b19306e9698b",
                "md5": "259849682f9399281d471868588d723f",
                "sha256": "40f60d9c2d2a27d846db566cf80d35d1df1172e2fa6eab087a2e00da04f7087f"
            },
            "downloads": -1,
            "filename": "advanced_research-0.1.5.tar.gz",
            "has_sig": false,
            "md5_digest": "259849682f9399281d471868588d723f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 19894,
            "upload_time": "2025-08-12T04:49:49",
            "upload_time_iso_8601": "2025-08-12T04:49:49.569272Z",
            "url": "https://files.pythonhosted.org/packages/22/6c/8ea5f283ffab128d9ed17ce2ca649122230aac6597e44e62b19306e9698b/advanced_research-0.1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-12 04:49:49",
    "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": "gradio",
            "specs": []
        },
        {
            "name": "black",
            "specs": []
        },
        {
            "name": "ruff",
            "specs": []
        }
    ],
    "lcname": "advanced_research"
}
        
Elapsed time: 0.84998s