Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Implement persistent memory patterns for AI agents using AgentDB. Includes session memory, long-term storage, pattern learning, and context management. Use when building stateful agents, chat systems, or intelligent assistants.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 101% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 37% | 0% |
Provides memory management patterns for AI agents using AgentDB's persistent storage and ReasoningBank integration. Enables agents to remember conversations, learn from interactions, and maintain context across sessions.
Performance: 150x-12,500x faster than traditional solutions with 100% backward compatibility.
bash# Initialize vector database npx agentdb@latest init ./agents.db # Or with custom dimensions npx agentdb@latest init ./agents.db --dimension 768 # Use preset configurations npx agentdb@latest init ./agents.db --preset large # In-memory database for testing npx agentdb@latest init ./memory.db --in-memory
bash# Start MCP server (integrates with Claude Code) npx agentdb@latest mcp # Add to Claude Code (one-time setup) claude mcp add agentdb npx agentdb@latest mcp
bash# Interactive plugin wizard npx agentdb@latest create-plugin # Use template directly npx agentdb@latest create-plugin -t decision-transformer -n my-agent # Available templates: # - decision-transformer (sequence modeling RL) # - q-learning (value-based learning) # - sarsa (on-policy TD learning) # - actor-critic (policy gradient) # - curiosity-driven (exploration-based)
typescriptimport { createAgentDBAdapter } from 'agentic-flow/reasoningbank'; // Initialize with default configuration const adapter = await createAgentDBAdapter({ dbPath: '.agentdb/reasoningbank.db', enableLearning: true, // Enable learning plugins enableReasoning: true, // Enable reasoning agents quantizationType: 'scalar', // binary | scalar | product | none cacheSize: 1000, // In-memory cache }); // Store interaction memory const patternId = await adapter.insertPattern({ id: '', type: 'pattern', domain: 'conversation', pattern_data: JSON.stringify({ embedding: await computeEmbedding('What is the capital of France?'), pattern: { user: 'What is the capital of France?', assistant: 'The capital of France is Paris.', timestamp: Date.now() } }), confidence: 0.95, usage_count: 1, success_count: 1, created_at: Date.now(), last_used: Date.now(), }); // Retrieve context with reasoning const context = await adapter.retrieveWithReasoning(queryEmbedding, { domain: 'conversation', k: 10, useMMR: true, // Maximal Marginal Relevance synthesizeContext: true, // Generate rich context });
typescriptclass SessionMemory { async storeMessage(role: string, content: string) { return await db.storeMemory({ sessionId: this.sessionId, role, content, timestamp: Date.now() }); } async getSessionHistory(limit = 20) { return await db.query({ filters: { sessionId: this.sessionId }, orderBy: 'timestamp', limit }); } }
typescript// Store important facts await db.storeFact({ category: 'user_preference', key: 'language', value: 'English', confidence: 1.0, source: 'explicit' }); // Retrieve facts const prefs = await db.getFacts({ category: 'user_preference' });
typescript// Learn from successful interactions await db.storePattern({ trigger: 'user_asks_time', response: 'provide_formatted_time', success: true, context: { timezone: 'UTC' } }); // Apply learned patterns const pattern = await db.matchPattern(currentContext);
typescript// Organize memory in hierarchy await memory.organize({ immediate: recentMessages, // Last 10 messages shortTerm: sessionContext, // Current session longTerm: importantFacts, // Persistent facts semantic: embeddedKnowledge // Vector search });
typescript// Periodically consolidate memories await memory.consolidate({ strategy: 'importance', // Keep important memories maxSize: 10000, // Size limit minScore: 0.5 // Relevance threshold });
bash# Query with vector embedding npx agentdb@latest query ./agents.db "[0.1,0.2,0.3,...]" # Top-k results npx agentdb@latest query ./agents.db "[0.1,0.2,0.3]" -k 10 # With similarity threshold npx agentdb@latest query ./agents.db "0.1 0.2 0.3" -t 0.75 # JSON output npx agentdb@latest query ./agents.db "[...]" -f json
bash# Export vectors to file npx agentdb@latest export ./agents.db ./backup.json # Import vectors from file npx agentdb@latest import ./backup.json # Get database statistics npx agentdb@latest stats ./agents.db
bash# Run performance benchmarks npx agentdb@latest benchmark # Results show: # - Pattern Search: 150x faster (100µs vs 15ms) # - Batch Insert: 500x faster (2ms vs 1s) # - Large-scale Query: 12,500x faster (8ms vs 100s)
typescriptimport { createAgentDBAdapter, migrateToAgentDB } from 'agentic-flow/reasoningbank'; // Migrate from legacy ReasoningBank const result = await migrateToAgentDB( '.swarm/memory.db', // Source (legacy) '.agentdb/reasoningbank.db' // Destination (AgentDB) ); console.log(`✅ Migrated ${result.patternsMigrated} patterns`); // Train learning model const adapter = await createAgentDBAdapter({ enableLearning: true, }); await adapter.train({ epochs: 50, batchSize: 32, }); // Get optimal strategy with reasoning const result = await adapter.retrieveWithReasoning(queryEmbedding, { domain: 'task-planning', synthesizeContext: true, optimizeMemory: true, });
bash# List available plugins npx agentdb@latest list-plugins # List plugin templates npx agentdb@latest list-templates # Get plugin info npx agentdb@latest plugin-info <name>
stats command to track performancebash# Check database size npx agentdb@latest stats ./agents.db # Enable quantization # Use 'binary' (32x smaller) or 'scalar' (4x smaller)
bash# Enable HNSW indexing and caching # Results: <100µs search time
bash# Automatic migration with validation npx agentdb@latest migrate --source .swarm/memory.db
npx agentdb@latest mcp for Claude CodeOther measured skills in the registry, with their headline benchmark lift.