Skip to main content

A multi-agent AI framework for collaborative scientific research, implementing tournament-based hypothesis evolution and peer review systems

Project description

AI-CoScientist

AI-CoScientist

Join our Discord Subscribe on YouTube Connect on LinkedIn Follow on X.com

A multi-agent AI framework for collaborative scientific research, implementing the "Towards an AI Co-Scientist" methodology with tournament-based hypothesis evolution, peer review systems, and intelligent agent orchestration.

Features

🧠 Multi-Agent Architecture: Specialized agents for hypothesis generation, peer review, ranking, evolution, and meta-analysis
🏆 Tournament-Based Selection: Elo rating system for hypothesis ranking through pairwise comparisons
📊 Comprehensive Review System: Scientific soundness, novelty, testability, and impact assessment
🔄 Iterative Refinement: Meta-review guided evolution with strategic hypothesis improvement
🎯 Diversity Control: Proximity analysis to maintain hypothesis diversity and reduce redundancy
📈 Execution Metrics: Detailed performance tracking and agent timing analytics
💾 State Persistence: Save and resume research workflows with agent state management
🛡️ Robust Error Handling: Graceful fallbacks and recovery mechanisms for production reliability

Installation

You can install the package using pip:

pip install -e .

Or install dependencies directly:

pip install swarms loguru python-dotenv

Quick Start

from ai_coscientist import AIScientistFramework

# Initialize the AI Co-scientist Framework
ai_coscientist = AIScientistFramework(
    model_name="gpt-4",
    max_iterations=3,
    hypotheses_per_generation=10,
    tournament_size=8,
    evolution_top_k=3,
    verbose=True
)

# Define your research goal
research_goal = "Develop novel approaches for improving reasoning capabilities in large language models"

# Run the research workflow
results = ai_coscientist.run_research_workflow(research_goal)

# Access the results
print(f"Generated {len(results['top_ranked_hypotheses'])} top hypotheses")
for i, hypothesis in enumerate(results['top_ranked_hypotheses'], 1):
    print(f"{i}. {hypothesis['text']}")
    print(f"   Elo Rating: {hypothesis['elo_rating']}")
    print(f"   Win Rate: {hypothesis['win_rate']}%")

Architecture

The AI-CoScientist framework consists of 8 specialized agents:

  • Generation Agent: Creates novel research hypotheses
  • Reflection Agent: Peer review and scientific critique
  • Ranking Agent: Hypothesis ranking and selection
  • Evolution Agent: Hypothesis refinement and improvement
  • Meta-Review Agent: Cross-hypothesis insight synthesis
  • Proximity Agent: Similarity analysis and diversity control
  • Tournament Agent: Pairwise hypothesis comparison
  • Supervisor Agent: Workflow orchestration and planning

Advanced Usage

Custom Configuration

ai_coscientist = AIScientistFramework(
    model_name="claude-3-sonnet",
    max_iterations=5,
    base_path="./custom_states",
    verbose=True,
    tournament_size=12,
    hypotheses_per_generation=15,
    evolution_top_k=5,
)

State Management

# Save agent states
ai_coscientist.save_state()

# Load previous states
ai_coscientist.load_state()

Results Analysis

results = ai_coscientist.run_research_workflow(research_goal)

# Execution metrics
metrics = results['execution_metrics']
print(f"Total time: {results['total_workflow_time']:.2f}s")
print(f"Hypotheses generated: {metrics['hypothesis_count']}")
print(f"Reviews completed: {metrics['reviews_count']}")
print(f"Tournament rounds: {metrics['tournaments_count']}")

# Meta-review insights
insights = results['meta_review_insights']
print("Strategic recommendations:", insights.get('strategic_recommendations'))

Code Quality 🧹

  • make style to format the code
  • make check_code_quality to check code quality (PEP8 basically)
  • black .
  • ruff . --fix

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Documentation

For detailed documentation, see DOCS.md.

Citation

If you use AI-CoScientist in your research, please cite:

@software{ai_coscientist,
  title={AI-CoScientist: A Multi-Agent Framework for Collaborative Scientific Research},
  author={The Swarm Corporation},
  year={2024},
  url={https://github.com/The-Swarm-Corporation/AI-CoScientist}
}

License

MIT License - see LICENSE file for details.

Support

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_coscientist-1.0.0.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_coscientist-1.0.0-py3-none-any.whl (20.6 kB view details)

Uploaded Python 3

File details

Details for the file ai_coscientist-1.0.0.tar.gz.

File metadata

  • Download URL: ai_coscientist-1.0.0.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.3 Darwin/24.5.0

File hashes

Hashes for ai_coscientist-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6279b69bb2fb12058f2b642a0ed1f7b5d87ad5b42f1d14f95d97da567ce0dbed
MD5 e0953ad7e1da8747525d9e4409ed4c9b
BLAKE2b-256 11444b8295ef9a9473d90a6ca7baf70de372052972b7c26899392e80f74b2073

See more details on using hashes here.

File details

Details for the file ai_coscientist-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ai_coscientist-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 20.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.3 Darwin/24.5.0

File hashes

Hashes for ai_coscientist-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5865dc907b1a9c67e30332ad6a5e88153f5c1877bdb73e31b52d433158c55dea
MD5 97f417cdb8cf6590ac5d400f0ff5d78d
BLAKE2b-256 3ff31fba68ad0883e1a95d7014f182672ead2fcaef8487d9fab82e0733410942

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page