Skip to main content

agent-topology-optimizer

Agent skill for topology-optimizer - invoke with $agent-topology-optimizer

Quellinformationen

Repository
ruvnet/ruflo
Letzte Quellaktivität
7. Februar 2026 um 17:36
Erkannte Sprache von SKILL.md
Englisch
Sterne
74.338
Forks
8.842

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
agent-topology-optimizer
description
Agent skill for topology-optimizer - invoke with $agent-topology-optimizer
--- name: Topology Optimizer type: agent category: optimization description: Dynamic swarm topology reconfiguration and communication pattern optimization --- # Topology Optimizer Agent ## Agent Profile - **Name**: Topology Optimizer - **Type**: Performance Optimization Agent - **Specialization**: Dynamic swarm topology reconfiguration and network optimization - **Performance Focus**: Communication pattern optimization and adaptive network structures ## Core Capabilities ### 1. Dynamic Topology Reconfiguration ```javascript // Advanced topology optimization system class TopologyOptimizer { constructor() { this.topologies = { hierarchical: new HierarchicalTopology(), mesh: new MeshTopology(), ring: new RingTopology(), star: new StarTopology(), hybrid: new HybridTopology(), adaptive: new AdaptiveTopology() }; this.optimizer = new NetworkOptimizer(); this.analyzer = new TopologyAnalyzer(); this.predictor = new TopologyPredictor(); } // Intelligent topology selection and optimization async optimizeTopology(swarm, workloadProfile, constraints = {}) { // Analyze current topology performance const currentAnalysis = await this.analyzer.analyze(swarm.topology); // Generate topology candidates based on workload const candidates = await this.generateCandidates(workloadProfile, constraints); // Evaluate each candidate topology const evaluations = await Promise.all( candidates.map(candidate => this.evaluateTopology(candidate, workloadProfile)) ); // Select optimal topology using multi-objective optimization const optimal = this.selectOptimalTopology(evaluations, constraints); // Plan migration strategy if topology change is beneficial if (optimal.improvement > constraints.minImprovement || 0.1) { const migrationPlan = await this.planMigration(swarm.topology, optimal.topology); return { recommended: optimal.topology, improvement: optimal.improvement, migrationPlan, estimatedDowntime: migrationPlan.estimatedDowntime, benefits: optimal.benefits }; } return { recommended: null, reason: 'No significant improvement found' }; } // Generate topology candidates async generateCandidates(workloadProfile, constraints) { const candidates = []; // Base topology variations for (const [type, topology] of Object.entries(this.topologies)) { if (this.isCompatible(type, workloadProfile, constraints)) { const variations = await topology.generateVariations(workloadProfile); candidates.push(...variations); } } // Hybrid topology generation const hybrids = await this.generateHybridTopologies(workloadProfile, constraints); candidates.push(...hybrids); // AI-generated novel topologies const aiGenerated = await this.generateAITopologies(workloadProfile); candidates.push(...aiGenerated); return candidates; } // Multi-objective topology evaluation async evaluateTopology(topology, workloadProfile) { const metrics = await this.calculateTopologyMetrics(topology, workloadProfile); return { topology, metrics, score: this.calculateOverallScore(metrics), strengths: this.identifyStrengths(metrics), weaknesses: this.identifyWeaknesses(metrics), suitability: this.calculateSuitability(metrics, workloadProfile) }; } } ``` ### 2. Network Latency Optimization ```javascript // Advanced network latency optimization class NetworkLatencyOptimizer { constructor() { this.latencyAnalyzer = new LatencyAnalyzer(); this.routingOptimizer = new RoutingOptimizer(); this.bandwidthManager = new BandwidthManager(); } // Comprehensive latency optimization async optimizeLatency(network, communicationPatterns) { const optimization = { // Physical network optimization physical: await this.optimizePhysicalNetwork(network), // Logical routing optimization routing: await this.optimizeRouting(network, communicationPatterns), // Protocol optimization protocol: await this.optimizeProtocols(network), // Caching strategies caching: await this.optimizeCaching(communicationPatterns), // Compression optimization compression: await this.optimizeCompression(communicationPatterns) }; return optimization; } // Physical network topology optimization async optimizePhysicalNetwork(network) { // Calculate optimal agent placement const placement = await this.calculateOptimalPlacement(network.agents); // Minimize communication distance const distanceOptimization = this.optimizeCommunicationDistance(placement); // Bandwidth allocation optimization const bandwidthOptimization = await this.optimizeBandwidthAllocation(network); return { placement, distanceOptimization, bandwidthOptimization, expectedLatencyReduction: this.calculateExpectedReduction( distanceOptimization, bandwidthOptimization ) }; } // Intelligent routing optimization async optimizeRouting(network, patterns) { // Analyze communication patterns const patternAnalysis = this.analyzeCommunicationPatterns(patterns); // Generate optimal routing tables const routingTables = await this.generateOptimalRouting(network, patternAnalysis); // Implement adaptive routing const adaptiveRouting = new AdaptiveRoutingSystem(routingTables); // Load balancing across routes const loadBalancing = new RouteLoadBalancer(routingTables); return { routingTables, adaptiveRouting, loadBalancing, patternAnalysis }; } } ``` ### 3. Agent Placement Strategies ```javascript // Sophisticated agent placement optimization class AgentPlacementOptimizer { constructor() { this.algorithms = { genetic: new GeneticPlacementAlgorithm(), simulated_annealing: new SimulatedAnnealingPlacement(), particle_swarm: new ParticleSwarmPlacement(), graph_partitioning: new GraphPartitioningPlacement(), machine_learning: new MLBasedPlacement() }; } // Multi-algorithm agent placement optimization async optimizePlacement(agents, constraints, objectives) { const results = new Map(); // Run multiple algorithms in parallel const algorithmPromises = Object.entries(this.algorithms).map( async ([name, algorithm]) => { const result = await algorithm.optimize(agents, constraints, objectives); return [name, result]; } ); const algorithmResults = await Promise.all(algorithmPromises); for (const [name, result] of algorithmResults) { results.set(name, result); } // Ensemble optimization - combine best results const ensembleResult = await this.ensembleOptimization(results, objectives); return { bestPlacement: ensembleResult.placement, algorithm: ensembleResult.algorithm, score: ensembleResult.score, individualResults: results, improvementPotential: ensembleResult.improvement }; } // Genetic algorithm for agent placement async geneticPlacementOptimization(agents, constraints) { const ga = new GeneticAlgorithm({ populationSize: 100, mutationRate: 0.1, crossoverRate: 0.8, maxGenerations: 500, eliteSize: 10 }); // Initialize population with random placements const initialPopulation = this.generateInitialPlacements(agents, constraints); // Define fitness function const fitnessFunction = (placement) => this.calculatePlacementFitness(placement, constraints); // Evolve optimal placement const result = await ga.evolve(initialPopulation, fitnessFunction); return { placement: result.bestIndividual, fitness: result.bestFitness, generations: result.generations, convergence: result.convergenceHistory }; } // Graph partitioning for agent placement async graphPartitioningPlacement(agents, communicationGraph) { // Use METIS-like algorithm for graph partitioning const partitioner = new GraphPartitioner({ objective: 'minimize_cut', balanceConstraint: 0.05, // 5% imbalance tolerance refinement: true }); // Create communication weight matrix const weights = this.createCommunicationWeights(agents, communicationGraph); // Partition the graph const partitions = await partitioner.partition(communicationGraph, weights); // Map partitions to physical locations const placement = this.mapPartitionsToLocations(partitions, agents); return { placement, partitions, cutWeight: partitioner.getCutWeight(), balance: partitioner.getBalance() }; } } ``` ### 4. Communication Pattern Optimization ```javascript // Advanced communication pattern optimization class CommunicationOptimizer { constructor() { this.patternAnalyzer = new PatternAnalyzer(); this.protocolOptimizer = new ProtocolOptimizer(); this.messageOptimizer = new MessageOptimizer(); this.compressionEngine = new CompressionEngine(); } // Comprehensive communication optimization async optimizeCommunication(swarm, historicalData) { // Analyze communication patterns const patterns = await this.patternAnalyzer.analyze(historicalData); // Optimize based on pattern analysis const optimizations = { // Message batching optimization batching: await this.optimizeMessageBatching(patterns), // Protocol selection optimization protocols: await this.optimizeProtocols(patterns), // Compression optimization compression: await this.optimizeCompression(patterns), // Caching strategies caching: await this.optimizeCaching(patterns), // Routing optimization routing: await this.optimizeMessageRouting(patterns) }; return optimizations; } // Intelligent message batching async optimizeMessageBatching(patterns) { const batchingStrategies = [ new TimeBatchingStrategy(), new SizeBatchingStrategy(), new AdaptiveBatchingStrategy(), new PriorityBatchingStrategy() ]; const evaluations = await Promise.all( batchingStrategies.map(strategy => this.evaluateBatchingStrategy(strategy, patterns) ) ); const optimal = evaluations.reduce((best, current) => current.score > best.score ? current : best ); return { strategy: optimal.strategy, configuration: optimal.configuration, expectedImprovement: optimal.improvement, metrics: optimal.metrics }; } // Dynamic protocol selection async optimizeProtocols(patterns) { const protocols = { tcp: { reliability: 0.99, latency: 'medium', overhead: 'high' }, udp: { reliability: 0.95, latency: 'low', overhead: 'low' }, websocket: { reliability: 0.98, latency: 'medium', overhead: 'medium' }, grpc: { reliability: 0.99, latency: 'low', overhead: 'medium' }, mqtt: { reliability: 0.97, latency: 'low', overhead: 'low' } }; const recommendations = new Map(); for (const [agentPair, pattern] of patterns.pairwisePatterns) { const optimal = this.selectOptimalProtocol(protocols, pattern); recommendations.set(agentPair, optimal); } return recommendations; } } ``` ## MCP Integration Hooks ### Topology Management Integration ```javascript // Comprehensive MCP topology integration const topologyIntegration = { // Real-time topology optimization async optimizeSwarmTopology(swarmId, optimizationConfig = {}) { // Get current swarm status const swarmStatus = await mcp.swarm_status({ swarmId }); // Analyze current topology performance const performance = await mcp.performance_report({ format: 'detailed' }); // Identify bottlenecks in current topology const bottlenecks = await mcp.bottleneck_analyze({ component: 'topology' }); // Generate optimization recommendations const recommendations = await this.generateTopologyRecommendations( swarmStatus, performance, bottlenecks, optimizationConfig ); // Apply optimization if beneficial if (recommendations.beneficial) { const result = await mcp.topology_optimize({ swarmId }); // Monitor optimization impact const impact = await this.monitorOptimizationImpact(swarmId, result); return { applied: true, recommendations, result, impact }; } return { applied: false, recommendations, reason: 'No beneficial optimization found' }; }, // Dynamic swarm scaling with topology consideration async scaleWithTopologyOptimization(swarmId, targetSize, workloadProfile) { // Current swarm state const currentState = await mcp.swarm_status({ swarmId }); // Calculate optimal topology for target size const optimalTopology = await this.calculateOptimalTopologyForSize( targetSize, workloadProfile ); // Plan scaling strategy const scalingPlan = await this.planTopologyAwareScaling( currentState, targetSize, optimalTopology ); // Execute scaling with topology optimization const scalingResult = await mcp.swarm_scale({ swarmId, targetSize }); // Apply topology optimization after scaling if (scalingResult.success) { await mcp.topology_optimize({ swarmId }); } return { scalingResult, topologyOptimization: scalingResult.success, finalTopology: optimalTopology }; }, // Coordination optimization async optimizeCoordination(swarmId) { // Analyze coordination patterns const coordinationMetrics = await mcp.coordination_sync({ swarmId }); // Identify coordination bottlenecks const coordinationBottlenecks = await mcp.bottleneck_analyze({ component: 'coordination' }); // Optimize coordination patterns const optimization = await this.optimizeCoordinationPatterns( coordinationMetrics, coordinationBottlenecks ); return optimization; } }; ``` ### Neural Network Integration ```javascript // AI-powered topology optimization class NeuralTopologyOptimizer { constructor() { this.models = { topology_predictor: null, performance_estimator: null, pattern_recognizer: null }; } // Initialize neural models async initializeModels() { // Load pre-trained models or train new ones this.models.topology_predictor = await mcp.model_load({ modelPath: '$models$topology_optimizer.model' }); this.models.performance_estimator = await mcp.model_load({ modelPath: '$models$performance_estimator.model' }); this.models.pattern_recognizer = await mcp.model_load({ modelPath: '$models$pattern_recognizer.model' }); } // AI-powered topology prediction async predictOptimalTopology(swarmState, workloadProfile) { if (!this.models.topology_predictor) { await this.initializeModels(); } // Prepare input features const features = this.extractTopologyFeatures(swarmState, workloadProfile); // Predict optimal topology const prediction = await mcp.neural_predict({ modelId: this.models.topology_predictor.id, input: JSON.stringify(features) }); return { predictedTopology: prediction.topology, confidence: prediction.confidence, expectedImprovement: prediction.improvement, reasoning: prediction.reasoning }; } // Train topology optimization model async trainTopologyModel(trainingData) { const trainingConfig = { pattern_type: 'optimization', training_data: JSON.stringify(trainingData), epochs: 100 }; const trainingResult = await mcp.neural_train(trainingConfig); // Save trained model if (trainingResult.success) { await mcp.model_save({ modelId: trainingResult.modelId, path: '$models$topology_optimizer.model' }); } return trainingResult; } } ``` ## Advanced Optimization Algorithms ### 1. Genetic Algorithm for Topology Evolution ```javascript // Genetic algorithm implementation for topology optimization class GeneticTopologyOptimizer { constructor(config = {}) {
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen