Self-Evolution provides a comprehensive API for autonomous self-improvement. The API is organized into modules corresponding to each phase of the system.
from evolution.core import EvolutionCycle
from metalearning.engine import MetaLearningEngine
from advanced.multi_task_learning import MultiTaskLearner
# Create evolution cycle
evolution = EvolutionCycle()
# Run evolution
result = evolution.run_evolution(
num_iterations=100,
safety_checks=True
)No specific API - initialization is automatic.
Main orchestrator for the evolution cycle.
from evolution.core.evolution_cycle import EvolutionCycle
evolution = EvolutionCycle(
workspace_path="/path/to/workspace",
log_file="evolution.log",
max_iterations=1000,
safety_level="strict"
)
# Run evolution
result = evolution.run_evolution(
num_iterations=100,
auto_confirm=False
)Methods:
run_evolution(num_iterations, safety_checks=True)- Run evolution cycleget_status()- Get current evolution statuspause_evolution()- Pause evolutionresume_evolution()- Resume evolutionstop_evolution()- Stop evolution
Validates all changes before application.
from evolution.core.evolution_cycle import SafetyValidator
validator = SafetyValidator(level="strict")
# Validate a change
result = validator.validate_change(
change_type="code_modification",
target="file.py",
content="new_content"
)Methods:
validate_change(change_type, target, content)- Validate a changevalidate_plan(plan)- Validate an entire planget_validation_rules()- Get current validation rules
Calculates intrinsic motivation for exploration.
from strategies.intrinsic_motivation import IntrinsicMotivation
motivation = IntrinsicMotivation()
# Calculate motivation
motivation_score = motivation.calculate_motivation(
exploration_area="new_algorithms",
performance_history=[...]
)Detects and scores improvement opportunities.
from strategies.opportunity_scoring import OpportunityScoring
scorer = OpportunityScoring()
# Detect opportunities
opportunities = scorer.detect_opportunities(
performance_metrics={...},
codebase_analyzer={...}
)
# Score opportunities
scores = scorer.score_opportunities(opportunities)Scores memory items by importance.
from evolution.preservation.memory_importance import MemoryImportanceScorer
scorer = MemoryImportanceScorer()
# Score a memory item
score = scorer.score_item(memory_item)Consolidates memory by merging similar/duplicate items.
from evolution.preservation.memory_consolidation import MemoryConsolidator
consolidator = MemoryConsolidator()
# Perform consolidation
result = consolidator.perform_consolidation(
memory_items=[...],
dry_run=False
)Orchestrates meta-learning across tasks.
from metalearning.engine import MetaLearningEngine
engine = MetaLearningEngine()
# Create meta-learning task
task = engine.create_task(
name="Hyperparameter Search",
description="Search for optimal hyperparameters",
phase="phase4",
task_type="hyperopt"
)
# Run meta-learning
result = engine.complete_task(
task.task_id,
success=True,
performance=0.85,
artifacts={...},
metrics={...},
duration=120.5
)Automatic neural architecture search.
from metalearning.architecture_search import ModelArchitectureSearch
search = ModelArchitectureSearch()
# Perform architecture search
results = search.random_search(num_iterations=10)
# Get best architectures
best_archs = search.get_best_architectures(n=5)Hyperparameter optimization engine.
from metalearning.hyperparameter_optimization import HyperparameterOptimizer
optimizer = HyperparameterOptimizer()
# Perform random search
results = optimizer.random_search(num_iterations=10)
# Get best configurations
best_configs = optimizer.get_best_configs(n=5)Multi-task learning engine.
from advanced.multi_task_learning import MultiTaskLearner
learner = MultiTaskLearner(shared_dim=128)
# Add tasks
task1 = learner.add_task("Task1", input_dim=784, output_dim=10)
task2 = learner.add_task("Task2", input_dim=300, output_dim=2)
# Train tasks
result = learner.train_tasks(
task_data={...},
num_epochs=100
)Continual learning engine.
from advanced.continual_learning import ContinualLearner
learner = ContinualLearner()
# Train tasks sequentially
for i in range(5):
perf = learner.train_task(
task_id=f"task_{i+1}",
inputs=[...],
targets=[...],
epochs=50
)
print(f"Task {i+1}: {perf:.3f}")
# Get summary
summary = learner.get_summary()Self-supervised learning engine.
from advanced.self_supervised_learning import SelfSupervisedLearner
learner = SelfSupervisedLearner()
# Pretrain with self-supervised learning
result = learner.pretrain(
data=[...],
method="contrastive",
epochs=100
)Neural architecture evolution engine.
from advanced.neural_architecture_evolution import NeuralArchitectureEvolver
evolver = NeuralArchitectureEvolver()
# Evolve architectures
result = evolver.evolve(
num_generations=10,
population_size=20
)Distributed training engine.
from advanced.distributed_training import DistributedTrainer
trainer = DistributedTrainer()
# Train in distributed manner
result = trainer.train_distributed(
num_nodes=4,
data_size_per_node=1000,
batch_size=32,
epochs=100
)Self-Evolution provides an event system for monitoring and reacting to evolution events.
from evolution.core.evolution_cycle import EvolutionEvent
# Subscribe to events
def on_opportunity_detected(event):
print(f"Opportunity detected: {event.data}")
def on_evolution_completed(event):
print(f"Evolution completed: {event.result}")
# Event handlers
evolution.on("opportunity_detected", on_opportunity_detected)
evolution.on("evolution_completed", on_evolution_completed)opportunity_detected- New improvement opportunity detectedchange_planned- Change planned for executionchange_applied- Change successfully appliedchange_rolled_back- Change rolled backevolution_iteration_completed- Iteration completedevolution_completed- Evolution cycle completed
All API calls include safety checks:
# Auto safety validation
result = evolution.run_evolution(
num_iterations=10,
safety_checks=True, # Enable safety checks
auto_confirm=False # Require manual confirmation for dangerous operations
)Critical operations require authorization:
# Critical change requiring authorization
result = validator.validate_change(
change_type="code_modification",
target="critical_file.py",
content="new_content",
authorization_required=True
)from evolution.core.evolution_cycle import PerformanceMonitor
monitor = PerformanceMonitor()
# Get performance metrics
metrics = monitor.get_performance_metrics(
time_range="last_24h",
granularity="hourly"
)evolution_iterations- Number of evolution iterationschanges_applied- Number of changes appliedchanges_rolled_back- Number of changes rolled backopportunities_found- Number of opportunities foundperformance_improvement- Overall performance improvementresource_usage- CPU, memory, GPU usageerror_count- Number of errors encountered
# Run all tests
python3 -m pytest evolution/tests/ -v
python3 -m pytest strategies/tests/ -v
python3 -m pytest metalearning/tests/ -v
python3 -m pytest advanced/tests/ -v
# Run specific test
python3 -m pytest evolution/tests/test_evolution_cycle.py::test_initialization -v# Generate coverage report
python3 -m pytest --cov=evolution --cov=strategies --cov=metalearning --cov=advanced --cov-report=html
# View coverage
open htmlcov/index.htmlSee USAGE.md for detailed usage examples.
API Version: 1.0.0
Last Updated: 2026-03-08
Status: Stable