quantum-agentics/agents/README.md at main · agenticsorg/quantum-agentics · GitHub
Skip to content

Latest commit

 

History

History
197 lines (163 loc) · 4.66 KB

File metadata and controls

197 lines (163 loc) · 4.66 KB

QAM Agents

Overview

This directory contains the agent implementations for the Quantum Agent Manager (QAM) system. Each agent type is designed to leverage quantum computing capabilities through the QAM framework for optimized decision-making and task execution.

Agent Types

1. Hello World Agent

Located in hello_world/

  • Basic example agent implementation
  • Demonstrates core agent functionality
  • Useful for testing and learning the system

2. QAM Agent

Located in qam_agent/

  • Primary agent implementation
  • Integrates with Azure Quantum
  • Handles task scheduling and optimization
  • Features:
    • Quantum-enhanced decision making
    • Resource-aware scheduling
    • Dynamic cluster adaptation
    • Fallback mechanisms

3. Quantum Training Agent

Located in quantum_training_agent/

  • Specialized agent for quantum model training
  • Implements quantum learning algorithms
  • Handles model optimization
  • Features:
    • Quantum circuit training
    • Model parameter optimization
    • Performance benchmarking
    • Training data management

Directory Structure

agents/
├── hello_world/           # Basic example implementation
│   ├── config/           # Agent configuration
│   ├── tools/            # Agent-specific tools
│   └── tests/            # Unit tests
├── qam_agent/            # Main QAM agent
│   ├── config/           # QAM configuration
│   ├── tools/            # Quantum tools
│   └── tests/            # Test suite
└── quantum_training_agent/ # Training-specific agent
    ├── config/           # Training configuration
    ├── tools/            # Training tools
    └── tests/            # Training tests

Implementation Details

Agent Configuration

Each agent type includes:

  • agents.yaml: Agent definitions and roles
  • tasks.yaml: Task specifications
  • prompts.yaml: Agent communication templates
  • analysis.yaml: Performance metrics configuration

Tool Integration

Agents can utilize:

  • QAM quantum tools
  • Custom tool implementations
  • Azure Quantum integration
  • Classical fallback mechanisms

Testing

Each agent includes:

  • Unit tests
  • Integration tests
  • Performance benchmarks
  • Quantum simulation tests

Usage Examples

Hello World Agent

from agents.hello_world.main import HelloWorldAgent

# Create agent
agent = HelloWorldAgent()

# Run basic task
result = agent.run_task("example_task")

QAM Agent

from agents.qam_agent.main import QAMAgent
from qam.azure_quantum import AzureQuantumConfig

# Configure quantum backend
config = AzureQuantumConfig(
    resource_group="your-group",
    workspace_name="your-workspace",
    location="your-location"
)

# Create agent
agent = QAMAgent(quantum_config=config)

# Run quantum-optimized task
result = agent.run_quantum_task("optimization_task")

Quantum Training Agent

from agents.quantum_training_agent.main import QuantumTrainingAgent

# Create training agent
agent = QuantumTrainingAgent()

# Train quantum model
model = agent.train_model(
    data="training_data.json",
    epochs=100,
    quantum_circuits=True
)

Development

Adding New Agents

  1. Create new directory under agents/
  2. Implement required interfaces:
    • agent.py: Core agent logic
    • crew.py: Crew integration
    • main.py: Entry points
  3. Add configuration in config/
  4. Implement tests in tests/

Configuration

# Example agent configuration
agent:
  name: "custom_agent"
  type: "quantum"
  capabilities:
    - "scheduling"
    - "optimization"
    - "learning"
  quantum_backend: "azure"

Testing

# Run all agent tests
python -m pytest agents/*/tests/

# Test specific agent
python -m pytest agents/qam_agent/tests/

Performance Considerations

Quantum Resource Usage

  • Monitor quantum credit consumption
  • Use classical fallbacks when appropriate
  • Optimize circuit depth and complexity
  • Cache frequently used results

Scaling

  • Implement parallel processing where possible
  • Use hierarchical optimization for large problems
  • Balance quantum vs classical computation
  • Monitor resource utilization

Error Handling

Quantum Failures

try:
    result = agent.run_quantum_task(task)
except QuantumResourceError:
    result = agent.run_classical_fallback(task)

Resource Management

# Check resource availability
if agent.check_quantum_resources():
    result = agent.run_quantum_optimization()
else:
    result = agent.run_classical_optimization()

Contributing

  1. Fork the repository
  2. Create feature branch
  3. Implement changes
  4. Add tests
  5. Submit pull request

License

MIT License - see LICENSE file for details