@codai/memorai-mcp
Version:
MemorAI CBD-based MCP Server - High-Performance Vector Memory System
244 lines • 7.76 kB
TypeScript
/**
* Phase 4: Next-Generation Intelligence - Real-Time Learning Engine
*
* Advanced learning capabilities that continuously improve memory organization:
* - Learns from memory usage patterns to optimize organization
* - Adapts retrieval algorithms based on effectiveness metrics
* - Provides real-time optimization recommendations
* - Implements continuous improvement cycles
*/
import OpenAI from 'openai';
import { AdvancedMemory } from './server.js';
export interface MemoryUsagePattern {
agentId: string;
memoryId: string;
accessFrequency: number;
accessTiming: AccessTimePattern[];
contextPatterns: ContextPattern[];
successRate: number;
collaborationPatterns: CollaborationPattern[];
}
export interface AccessTimePattern {
timeOfDay: string;
dayOfWeek: string;
frequency: number;
effectiveness: number;
}
export interface ContextPattern {
context: string;
frequency: number;
co_occurringMemories: string[];
outcomeSuccess: number;
}
export interface CollaborationPattern {
collaboratorAgentId: string;
sharedAccessFrequency: number;
conflictFrequency: number;
syntheticInsightGeneration: number;
}
export interface LearningInsights {
agentId: string;
insights: Insight[];
recommendations: LearningRecommendation[];
optimizationOpportunities: OptimizationOpportunity[];
effectivenessScore: number;
learningConfidence: number;
}
export interface Insight {
type: 'usage_pattern' | 'timing_optimization' | 'context_correlation' | 'collaboration_benefit';
description: string;
strength: number;
evidence: string[];
actionable: boolean;
}
export interface LearningRecommendation {
type: 'restructure' | 'timing' | 'context_tagging' | 'collaboration_setup';
title: string;
description: string;
expectedImpact: number;
effort: 'low' | 'medium' | 'high';
timeline: string;
implementation: ImplementationSteps;
}
export interface ImplementationSteps {
steps: string[];
automation: AutomationLevel;
userActions: string[];
}
export interface AutomationLevel {
canAutomate: boolean;
automationLevel: 'full' | 'partial' | 'manual';
automationSteps: string[];
}
export interface OptimizationOpportunity {
area: 'retrieval_speed' | 'memory_organization' | 'context_awareness' | 'collaboration_efficiency';
currentPerformance: number;
potentialImprovement: number;
difficulty: 'easy' | 'medium' | 'hard';
resources: RequiredResource[];
}
export interface RequiredResource {
type: 'computational' | 'time' | 'user_input' | 'data';
amount: string;
description: string;
}
export interface EffectivenessMetrics {
agentId: string;
timeRange: TimeRange;
retrievalSuccessRate: number;
averageRetrievalTime: number;
memoryUtilizationRate: number;
contextAccuracy: number;
collaborationEffectiveness: number;
overallSatisfaction: number;
}
export interface TimeRange {
start: string;
end: string;
granularity: 'hour' | 'day' | 'week' | 'month';
}
export interface OrganizationAdaptation {
agentId: string;
adaptations: Adaptation[];
expectedImprovements: ExpectedImprovement[];
implementationPlan: ImplementationPlan;
rollbackPlan: RollbackPlan;
}
export interface Adaptation {
type: 'memory_clustering' | 'tag_restructuring' | 'relationship_reweighting' | 'access_optimization';
description: string;
impact: AdaptationImpact;
automation: boolean;
}
export interface AdaptationImpact {
retrievalSpeed: number;
accuracy: number;
userSatisfaction: number;
systemLoad: number;
}
export interface ImplementationPlan {
phases: ImplementationPhase[];
timeline: string;
risks: Risk[];
successCriteria: SuccessCriterion[];
}
export interface ImplementationPhase {
name: string;
duration: string;
activities: string[];
dependencies: string[];
deliverables: string[];
}
export interface Risk {
description: string;
probability: number;
impact: number;
mitigation: string;
}
export interface SuccessCriterion {
metric: string;
target: number;
measurement: string;
timeline: string;
}
export interface RollbackPlan {
triggers: string[];
steps: string[];
dataBackup: boolean;
timeline: string;
}
export interface QueryPattern {
agentId: string;
query: string;
queryType: 'semantic' | 'keyword' | 'structured' | 'hybrid';
frequency: number;
successRate: number;
averageResponseTime: number;
contextFactors: string[];
resultSatisfaction: number;
}
export interface RetrievalMetrics {
agentId: string;
timeRange: TimeRange;
totalQueries: number;
averageResponseTime: number;
successRate: number;
precisionRate: number;
recallRate: number;
userSatisfactionScore: number;
}
export interface RetrievalOptimization {
agentId: string;
optimizations: RetrievalOptimizationItem[];
expectedImprovements: PerformanceImprovement[];
implementation: OptimizationImplementation;
}
export interface RetrievalOptimizationItem {
area: 'indexing' | 'embedding' | 'ranking' | 'caching' | 'preprocessing';
description: string;
technique: string;
expectedGain: number;
}
export interface PerformanceImprovement {
metric: 'speed' | 'accuracy' | 'relevance' | 'satisfaction';
currentValue: number;
projectedValue: number;
confidence: number;
}
export interface OptimizationImplementation {
immediate: string[];
shortTerm: string[];
longTerm: string[];
experimental: string[];
}
export declare class RealTimeLearningEngine {
private openaiClient?;
private memories;
private usagePatterns;
private learningCache;
private adaptationHistory;
constructor(openaiClient?: OpenAI, memories?: Map<string, AdvancedMemory>);
/**
* Learn from memory usage patterns to improve system performance
* Core learning capability with real-time adaptation
*/
learnFromMemoryUsage(agentId: string, usagePatterns: MemoryUsagePattern[]): Promise<LearningInsights>;
/**
* Adapt memory organization based on effectiveness metrics
* Dynamic reorganization for optimal performance
*/
adaptMemoryOrganization(agentId: string, effectivenessMetrics: EffectivenessMetrics): Promise<OrganizationAdaptation>;
/**
* Optimize memory retrieval based on query patterns and performance metrics
* Continuous improvement of search and retrieval algorithms
*/
optimizeMemoryRetrieval(queryPatterns: QueryPattern[], performanceMetrics: RetrievalMetrics): Promise<RetrievalOptimization>;
private extractUsageInsights;
private analyzeFrequencyPatterns;
private analyzeTimingPatterns;
private analyzeContextCorrelations;
private analyzeCollaborationPatterns;
private generateLearningRecommendations;
private identifyOptimizationOpportunities;
private calculateEffectivenessScore;
private calculateLearningConfidence;
private calculateOrganizationScore;
private calculateContextEffectiveness;
private calculateAccessVariance;
private analyzeOrganizationEffectiveness;
private identifyImprovementAreas;
private generateAdaptations;
private calculateExpectedImprovements;
private createImplementationPlan;
private createRollbackPlan;
private analyzeQueryPatterns;
private analyzeRetrievalPerformance;
private generateRetrievalOptimizations;
private calculatePerformanceImprovements;
private createOptimizationImplementation;
}
export interface ExpectedImprovement {
metric: string;
improvement: number;
}
//# sourceMappingURL=learning-engine.d.ts.map