mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2025-09-14 20:07:24 +00:00
hj7
This commit is contained in:
parent
98d265b163
commit
10a036ca54
479
AI_Agent_Builder_Framework/src/core/CognitiveEnhancer.js
Normal file
479
AI_Agent_Builder_Framework/src/core/CognitiveEnhancer.js
Normal file
@ -0,0 +1,479 @@
|
||||
const Logger = require('../utils/Logger');
|
||||
|
||||
class CognitiveEnhancer {
|
||||
constructor() {
|
||||
this.logger = new Logger();
|
||||
this.enhancementHistory = new Map();
|
||||
this.cognitivePatterns = new Map();
|
||||
this.enhancementAlgorithms = new Map();
|
||||
this.initializeEnhancementAlgorithms();
|
||||
}
|
||||
|
||||
initializeEnhancementAlgorithms() {
|
||||
// Initialize various cognitive enhancement algorithms
|
||||
this.enhancementAlgorithms.set('memory-enhancement', this.memoryEnhancement.bind(this));
|
||||
this.enhancementAlgorithms.set('attention-enhancement', this.attentionEnhancement.bind(this));
|
||||
this.enhancementAlgorithms.set('decision-enhancement', this.decisionEnhancement.bind(this));
|
||||
this.enhancementAlgorithms.set('creativity-enhancement', this.creativityEnhancement.bind(this));
|
||||
this.enhancementAlgorithms.set('learning-enhancement', this.learningEnhancement.bind(this));
|
||||
this.enhancementAlgorithms.set('adaptive-enhancement', this.adaptiveEnhancement.bind(this));
|
||||
|
||||
this.logger.info(`🧠 Cognitive enhancer initialized with ${this.enhancementAlgorithms.size} algorithms`);
|
||||
}
|
||||
|
||||
async enhanceCognition(agent, enhancementType = 'adaptive') {
|
||||
try {
|
||||
this.logger.info(`🧠 Starting cognitive enhancement with type: ${enhancementType}`);
|
||||
|
||||
const enhancementResults = {
|
||||
timestamp: new Date().toISOString(),
|
||||
enhancementType,
|
||||
agentId: agent.id,
|
||||
originalCognition: agent.cognitivePatterns,
|
||||
enhancedCognition: {},
|
||||
enhancementMetrics: {},
|
||||
improvementFactors: {}
|
||||
};
|
||||
|
||||
// Apply cognitive enhancement algorithms
|
||||
const enhancedCognition = await this.applyEnhancementAlgorithms(agent.cognitivePatterns, enhancementType);
|
||||
const improvementFactors = this.calculateImprovementFactors(agent.cognitivePatterns, enhancedCognition);
|
||||
|
||||
enhancementResults.enhancedCognition = enhancedCognition;
|
||||
enhancementResults.improvementFactors = improvementFactors;
|
||||
enhancementResults.enhancementMetrics = this.calculateEnhancementMetrics(enhancementResults);
|
||||
|
||||
// Store enhancement history
|
||||
this.storeEnhancementHistory(enhancementResults);
|
||||
|
||||
this.logger.info(`🧠 Cognitive enhancement completed for agent ${agent.id}`);
|
||||
return enhancedCognition;
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to enhance cognition:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async applyEnhancementAlgorithms(cognitivePatterns, enhancementType) {
|
||||
const enhancedPatterns = { ...cognitivePatterns };
|
||||
|
||||
// Apply different enhancement algorithms based on type
|
||||
if (enhancementType === 'adaptive') {
|
||||
// Apply all enhancement algorithms with adaptive intensity
|
||||
enhancedPatterns.memory = await this.memoryEnhancement(cognitivePatterns.memory, 'adaptive');
|
||||
enhancedPatterns.attention = await this.attentionEnhancement(cognitivePatterns.attention, 'adaptive');
|
||||
enhancedPatterns.decision = await this.decisionEnhancement(cognitivePatterns.decision, 'adaptive');
|
||||
enhancedPatterns.creativity = await this.creativityEnhancement(cognitivePatterns.creativity, 'adaptive');
|
||||
enhancedPatterns.learning = await this.learningEnhancement(cognitivePatterns.learning, 'adaptive');
|
||||
} else {
|
||||
// Apply specific enhancement algorithm
|
||||
const algorithm = this.enhancementAlgorithms.get(enhancementType);
|
||||
if (algorithm) {
|
||||
const enhancedPattern = await algorithm(cognitivePatterns[enhancementType.split('-')[0]], enhancementType);
|
||||
enhancedPatterns[enhancementType.split('-')[0]] = enhancedPattern;
|
||||
}
|
||||
}
|
||||
|
||||
return enhancedPatterns;
|
||||
}
|
||||
|
||||
async memoryEnhancement(memoryPattern, enhancementType = 'adaptive') {
|
||||
const enhancementFactors = {
|
||||
'adaptive': 1.15,
|
||||
'memory-enhancement': 1.25,
|
||||
'default': 1.1
|
||||
};
|
||||
|
||||
const factor = enhancementFactors[enhancementType] || enhancementFactors.default;
|
||||
|
||||
return {
|
||||
...memoryPattern,
|
||||
capacity: Math.min(memoryPattern.capacity * factor, 100),
|
||||
retrievalSpeed: Math.min(memoryPattern.retrievalSpeed * factor, 100),
|
||||
consolidation: Math.min(memoryPattern.consolidation * factor, 100),
|
||||
association: Math.min(memoryPattern.association * factor, 100),
|
||||
patternRecognition: Math.min(memoryPattern.patternRecognition * factor, 100),
|
||||
enhancementType: 'memory-enhancement'
|
||||
};
|
||||
}
|
||||
|
||||
async attentionEnhancement(attentionPattern, enhancementType = 'adaptive') {
|
||||
const enhancementFactors = {
|
||||
'adaptive': 1.12,
|
||||
'attention-enhancement': 1.2,
|
||||
'default': 1.08
|
||||
};
|
||||
|
||||
const factor = enhancementFactors[enhancementType] || enhancementFactors.default;
|
||||
|
||||
return {
|
||||
...attentionPattern,
|
||||
focus: Math.min(attentionPattern.focus * factor, 100),
|
||||
selectivity: Math.min(attentionPattern.selectivity * factor, 100),
|
||||
sustainedAttention: Math.min(attentionPattern.sustainedAttention * factor, 100),
|
||||
dividedAttention: Math.min(attentionPattern.dividedAttention * factor, 100),
|
||||
switching: Math.min(attentionPattern.switching * factor, 100),
|
||||
enhancementType: 'attention-enhancement'
|
||||
};
|
||||
}
|
||||
|
||||
async decisionEnhancement(decisionPattern, enhancementType = 'adaptive') {
|
||||
const enhancementFactors = {
|
||||
'adaptive': 1.18,
|
||||
'decision-enhancement': 1.3,
|
||||
'default': 1.1
|
||||
};
|
||||
|
||||
const factor = enhancementFactors[enhancementType] || enhancementFactors.default;
|
||||
|
||||
return {
|
||||
...decisionPattern,
|
||||
speed: Math.min(decisionPattern.speed * factor, 100),
|
||||
accuracy: Math.min(decisionPattern.accuracy * factor, 100),
|
||||
flexibility: Math.min(decisionPattern.flexibility * factor, 100),
|
||||
riskAssessment: Math.min(decisionPattern.riskAssessment * factor, 100),
|
||||
problemSolving: Math.min(decisionPattern.problemSolving * factor, 100),
|
||||
enhancementType: 'decision-enhancement'
|
||||
};
|
||||
}
|
||||
|
||||
async creativityEnhancement(creativityPattern, enhancementType = 'adaptive') {
|
||||
const enhancementFactors = {
|
||||
'adaptive': 1.2,
|
||||
'creativity-enhancement': 1.35,
|
||||
'default': 1.15
|
||||
};
|
||||
|
||||
const factor = enhancementFactors[enhancementType] || enhancementFactors.default;
|
||||
|
||||
return {
|
||||
...creativityPattern,
|
||||
divergentThinking: Math.min(creativityPattern.divergentThinking * factor, 100),
|
||||
convergentThinking: Math.min(creativityPattern.convergentThinking * factor, 100),
|
||||
originality: Math.min(creativityPattern.originality * factor, 100),
|
||||
fluency: Math.min(creativityPattern.fluency * factor, 100),
|
||||
flexibility: Math.min(creativityPattern.flexibility * factor, 100),
|
||||
enhancementType: 'creativity-enhancement'
|
||||
};
|
||||
}
|
||||
|
||||
async learningEnhancement(learningPattern, enhancementType = 'adaptive') {
|
||||
const enhancementFactors = {
|
||||
'adaptive': 1.16,
|
||||
'learning-enhancement': 1.28,
|
||||
'default': 1.12
|
||||
};
|
||||
|
||||
const factor = enhancementFactors[enhancementType] || enhancementFactors.default;
|
||||
|
||||
return {
|
||||
...learningPattern,
|
||||
rate: Math.min(learningPattern.rate * factor, 100),
|
||||
retention: Math.min(learningPattern.retention * factor, 100),
|
||||
transfer: Math.min(learningPattern.transfer * factor, 100),
|
||||
metaLearning: Math.min(learningPattern.metaLearning * factor, 100),
|
||||
adaptation: Math.min(learningPattern.adaptation * factor, 100),
|
||||
enhancementType: 'learning-enhancement'
|
||||
};
|
||||
}
|
||||
|
||||
async adaptiveEnhancement(adaptivePattern, enhancementType = 'adaptive') {
|
||||
const enhancementFactors = {
|
||||
'adaptive': 1.14,
|
||||
'adaptive-enhancement': 1.22,
|
||||
'default': 1.1
|
||||
};
|
||||
|
||||
const factor = enhancementFactors[enhancementType] || enhancementFactors.default;
|
||||
|
||||
return {
|
||||
...adaptivePattern,
|
||||
flexibility: Math.min(adaptivePattern.flexibility * factor, 100),
|
||||
resilience: Math.min(adaptivePattern.resilience * factor, 100),
|
||||
learningSpeed: Math.min(adaptivePattern.learningSpeed * factor, 100),
|
||||
environmentalAdaptation: Math.min(adaptivePattern.environmentalAdaptation * factor, 100),
|
||||
behavioralAdjustment: Math.min(adaptivePattern.behavioralAdjustment * factor, 100),
|
||||
enhancementType: 'adaptive-enhancement'
|
||||
};
|
||||
}
|
||||
|
||||
calculateImprovementFactors(originalCognition, enhancedCognition) {
|
||||
const factors = {};
|
||||
|
||||
for (const [patternType, enhancedPattern] of Object.entries(enhancedCognition)) {
|
||||
if (originalCognition[patternType]) {
|
||||
const originalPattern = originalCognition[patternType];
|
||||
factors[patternType] = {};
|
||||
|
||||
for (const [metric, enhancedValue] of Object.entries(enhancedPattern)) {
|
||||
if (typeof enhancedValue === 'number' && typeof originalPattern[metric] === 'number') {
|
||||
factors[patternType][metric] = enhancedValue / originalPattern[metric];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return factors;
|
||||
}
|
||||
|
||||
calculateEnhancementMetrics(enhancementResults) {
|
||||
const metrics = {
|
||||
overallImprovement: 0,
|
||||
patternImprovements: {},
|
||||
enhancementSuccess: 0,
|
||||
enhancementEfficiency: 0
|
||||
};
|
||||
|
||||
let totalImprovement = 0;
|
||||
let improvementCount = 0;
|
||||
|
||||
for (const [patternType, factors] of Object.entries(enhancementResults.improvementFactors)) {
|
||||
const patternImprovement = Object.values(factors).reduce((sum, factor) => sum + factor, 0) / Object.keys(factors).length;
|
||||
metrics.patternImprovements[patternType] = patternImprovement;
|
||||
totalImprovement += patternImprovement;
|
||||
improvementCount++;
|
||||
}
|
||||
|
||||
if (improvementCount > 0) {
|
||||
metrics.overallImprovement = totalImprovement / improvementCount;
|
||||
metrics.enhancementSuccess = improvementCount / Object.keys(enhancementResults.improvementFactors).length;
|
||||
metrics.enhancementEfficiency = metrics.overallImprovement / enhancementResults.enhancementType.length;
|
||||
}
|
||||
|
||||
return metrics;
|
||||
}
|
||||
|
||||
storeEnhancementHistory(enhancementResults) {
|
||||
const historyKey = `${enhancementResults.agentId}-${enhancementResults.enhancementType}-${Date.now()}`;
|
||||
this.enhancementHistory.set(historyKey, enhancementResults);
|
||||
|
||||
// Keep only last 100 enhancement histories
|
||||
if (this.enhancementHistory.size > 100) {
|
||||
const keys = Array.from(this.enhancementHistory.keys());
|
||||
const oldestKey = keys[0];
|
||||
this.enhancementHistory.delete(oldestKey);
|
||||
}
|
||||
}
|
||||
|
||||
async enhanceCognitivePatterns(cognitivePatterns, enhancementType = 'adaptive') {
|
||||
try {
|
||||
this.logger.info(`🧠 Enhancing cognitive patterns with type: ${enhancementType}`);
|
||||
|
||||
const enhancedPatterns = await this.applyEnhancementAlgorithms(cognitivePatterns, enhancementType);
|
||||
const improvementFactors = this.calculateImprovementFactors(cognitivePatterns, enhancedPatterns);
|
||||
|
||||
const enhancementResult = {
|
||||
timestamp: new Date().toISOString(),
|
||||
enhancementType,
|
||||
originalPatterns: cognitivePatterns,
|
||||
enhancedPatterns,
|
||||
improvementFactors,
|
||||
metrics: this.calculateEnhancementMetrics({
|
||||
enhancementType,
|
||||
improvementFactors
|
||||
})
|
||||
};
|
||||
|
||||
this.storeEnhancementHistory(enhancementResult);
|
||||
|
||||
this.logger.info(`🧠 Cognitive patterns enhanced successfully`);
|
||||
return enhancedPatterns;
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to enhance cognitive patterns:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
async enhanceBasedOnPerformance(agentId, performanceData) {
|
||||
try {
|
||||
this.logger.info(`🧠 Enhancing cognition based on performance for agent ${agentId}`);
|
||||
|
||||
// Analyze performance patterns to determine enhancement strategy
|
||||
const enhancementStrategy = this.determineEnhancementStrategy(performanceData);
|
||||
|
||||
// Get current cognitive patterns for the agent
|
||||
const currentPatterns = this.cognitivePatterns.get(agentId) || this.getDefaultCognitivePatterns();
|
||||
|
||||
// Apply performance-based enhancement
|
||||
const enhancedPatterns = await this.applyPerformanceBasedEnhancement(currentPatterns, enhancementStrategy);
|
||||
|
||||
// Store enhanced patterns
|
||||
this.cognitivePatterns.set(agentId, enhancedPatterns);
|
||||
|
||||
this.logger.info(`🧠 Performance-based cognitive enhancement completed for agent ${agentId}`);
|
||||
return enhancedPatterns;
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to enhance based on performance:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
determineEnhancementStrategy(performanceData) {
|
||||
const strategy = {
|
||||
type: 'adaptive',
|
||||
focus: [],
|
||||
intensity: 'medium'
|
||||
};
|
||||
|
||||
// Analyze performance data to determine enhancement focus
|
||||
if (performanceData.responseTime > 1000) {
|
||||
strategy.focus.push('decision-enhancement');
|
||||
strategy.intensity = 'high';
|
||||
}
|
||||
|
||||
if (performanceData.accuracy < 0.8) {
|
||||
strategy.focus.push('attention-enhancement');
|
||||
strategy.focus.push('decision-enhancement');
|
||||
}
|
||||
|
||||
if (performanceData.efficiency < 0.7) {
|
||||
strategy.focus.push('learning-enhancement');
|
||||
strategy.focus.push('adaptive-enhancement');
|
||||
}
|
||||
|
||||
if (performanceData.adaptation < 0.6) {
|
||||
strategy.focus.push('adaptive-enhancement');
|
||||
strategy.focus.push('learning-enhancement');
|
||||
}
|
||||
|
||||
if (strategy.focus.length === 0) {
|
||||
strategy.focus.push('memory-enhancement');
|
||||
strategy.intensity = 'low';
|
||||
}
|
||||
|
||||
return strategy;
|
||||
}
|
||||
|
||||
async applyPerformanceBasedEnhancement(cognitivePatterns, strategy) {
|
||||
const enhancedPatterns = { ...cognitivePatterns };
|
||||
|
||||
for (const focus of strategy.focus) {
|
||||
const enhancementType = `${focus}-enhancement`;
|
||||
const algorithm = this.enhancementAlgorithms.get(enhancementType);
|
||||
|
||||
if (algorithm) {
|
||||
const patternKey = focus.split('-')[0];
|
||||
if (enhancedPatterns[patternKey]) {
|
||||
enhancedPatterns[patternKey] = await algorithm(enhancedPatterns[patternKey], strategy.intensity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return enhancedPatterns;
|
||||
}
|
||||
|
||||
getDefaultCognitivePatterns() {
|
||||
return {
|
||||
memory: {
|
||||
capacity: 70,
|
||||
retrievalSpeed: 75,
|
||||
consolidation: 65,
|
||||
association: 80,
|
||||
patternRecognition: 85
|
||||
},
|
||||
attention: {
|
||||
focus: 75,
|
||||
selectivity: 70,
|
||||
sustainedAttention: 80,
|
||||
dividedAttention: 65,
|
||||
switching: 70
|
||||
},
|
||||
decision: {
|
||||
speed: 75,
|
||||
accuracy: 80,
|
||||
flexibility: 70,
|
||||
riskAssessment: 75,
|
||||
problemSolving: 80
|
||||
},
|
||||
creativity: {
|
||||
divergentThinking: 70,
|
||||
convergentThinking: 75,
|
||||
originality: 65,
|
||||
fluency: 80,
|
||||
flexibility: 75
|
||||
},
|
||||
learning: {
|
||||
rate: 75,
|
||||
retention: 80,
|
||||
transfer: 70,
|
||||
metaLearning: 65,
|
||||
adaptation: 75
|
||||
},
|
||||
adaptive: {
|
||||
flexibility: 75,
|
||||
resilience: 80,
|
||||
learningSpeed: 75,
|
||||
environmentalAdaptation: 70,
|
||||
behavioralAdjustment: 75
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
async getEnhancementHistory(agentId, timeRange = '30d') {
|
||||
try {
|
||||
const history = Array.from(this.enhancementHistory.values())
|
||||
.filter(result => result.agentId === agentId)
|
||||
.filter(result => this.isWithinTimeRange(result.timestamp, timeRange));
|
||||
|
||||
return history;
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to get enhancement history:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
isWithinTimeRange(timestamp, timeRange) {
|
||||
const now = new Date();
|
||||
const targetTime = new Date(timestamp);
|
||||
const timeRanges = {
|
||||
'1h': 60 * 60 * 1000,
|
||||
'6h': 6 * 60 * 60 * 1000,
|
||||
'24h': 24 * 60 * 60 * 1000,
|
||||
'7d': 7 * 24 * 60 * 60 * 1000,
|
||||
'30d': 30 * 24 * 60 * 60 * 1000
|
||||
};
|
||||
|
||||
const rangeMs = timeRanges[timeRange] || timeRanges['30d'];
|
||||
return (now.getTime() - targetTime.getTime()) <= rangeMs;
|
||||
}
|
||||
|
||||
async exportEnhancementData(agentId, format = 'json') {
|
||||
try {
|
||||
const history = await this.getEnhancementHistory(agentId);
|
||||
const cognitivePatterns = this.cognitivePatterns.get(agentId);
|
||||
|
||||
const exportData = {
|
||||
agentId,
|
||||
cognitivePatterns,
|
||||
enhancementHistory: history,
|
||||
exportTimestamp: new Date().toISOString()
|
||||
};
|
||||
|
||||
if (format === 'json') {
|
||||
return JSON.stringify(exportData, null, 2);
|
||||
} else if (format === 'csv') {
|
||||
return this.convertToCSV(exportData);
|
||||
} else {
|
||||
throw new Error(`Unsupported format: ${format}`);
|
||||
}
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to export enhancement data:', error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
convertToCSV(exportData) {
|
||||
const headers = ['timestamp', 'enhancementType', 'overallImprovement', 'enhancementSuccess'];
|
||||
const rows = exportData.enhancementHistory.map(entry => [
|
||||
entry.timestamp,
|
||||
entry.enhancementType,
|
||||
entry.metrics.overallImprovement,
|
||||
entry.metrics.enhancementSuccess
|
||||
]);
|
||||
|
||||
const csvContent = [headers.join(','), ...rows.map(row => row.join(','))].join('\n');
|
||||
return csvContent;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = CognitiveEnhancer;
|
Loading…
Reference in New Issue
Block a user