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.
Located in hello_world/
- Basic example agent implementation
- Demonstrates core agent functionality
- Useful for testing and learning the system
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
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
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
Each agent type includes:
agents.yaml: Agent definitions and rolestasks.yaml: Task specificationsprompts.yaml: Agent communication templatesanalysis.yaml: Performance metrics configuration
Agents can utilize:
- QAM quantum tools
- Custom tool implementations
- Azure Quantum integration
- Classical fallback mechanisms
Each agent includes:
- Unit tests
- Integration tests
- Performance benchmarks
- Quantum simulation tests
from agents.hello_world.main import HelloWorldAgent
# Create agent
agent = HelloWorldAgent()
# Run basic task
result = agent.run_task("example_task")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")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
)- Create new directory under
agents/ - Implement required interfaces:
agent.py: Core agent logiccrew.py: Crew integrationmain.py: Entry points
- Add configuration in
config/ - Implement tests in
tests/
# Example agent configuration
agent:
name: "custom_agent"
type: "quantum"
capabilities:
- "scheduling"
- "optimization"
- "learning"
quantum_backend: "azure"# Run all agent tests
python -m pytest agents/*/tests/
# Test specific agent
python -m pytest agents/qam_agent/tests/- Monitor quantum credit consumption
- Use classical fallbacks when appropriate
- Optimize circuit depth and complexity
- Cache frequently used results
- Implement parallel processing where possible
- Use hierarchical optimization for large problems
- Balance quantum vs classical computation
- Monitor resource utilization
try:
result = agent.run_quantum_task(task)
except QuantumResourceError:
result = agent.run_classical_fallback(task)# Check resource availability
if agent.check_quantum_resources():
result = agent.run_quantum_optimization()
else:
result = agent.run_classical_optimization()- Fork the repository
- Create feature branch
- Implement changes
- Add tests
- Submit pull request
MIT License - see LICENSE file for details
