AgentDB Memory Patterns by ruvnet/ruflo
npx skills add https://github.com/ruvnet/ruflo --skill 'AgentDB Memory Patterns'提供基于 AgentDB 持久化存储和 ReasoningBank 集成的 AI 代理内存管理模式。使代理能够记住对话、从交互中学习,并在多个会话间保持上下文。
性能:相比传统解决方案快 150 倍至 12,500 倍,并保持 100% 向后兼容性。
# 初始化向量数据库
npx agentdb@latest init .$agents.db
# 或使用自定义维度
npx agentdb@latest init .$agents.db --dimension 768
# 使用预设配置
npx agentdb@latest init .$agents.db --preset large
# 用于测试的内存数据库
npx agentdb@latest init .$memory.db --in-memory
# 启动 MCP 服务器(与 Claude Code 集成)
npx agentdb@latest mcp
# 添加到 Claude Code(一次性设置)
claude mcp add agentdb npx agentdb@latest mcp
# 交互式插件向导
npx agentdb@latest create-plugin
# 直接使用模板
npx agentdb@latest create-plugin -t decision-transformer -n my-agent
# 可用模板:
# - decision-transformer(序列建模强化学习)
# - q-learning(基于值的学习)
# - sarsa(同策略时序差分学习)
# - actor-critic(策略梯度)
# - curiosity-driven(基于探索)
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
import { createAgentDBAdapter } from 'agentic-flow$reasoningbank';
// 使用默认配置初始化
const adapter = await createAgentDBAdapter({
dbPath: '.agentdb$reasoningbank.db',
enableLearning: true, // 启用学习插件
enableReasoning: true, // 启用推理代理
quantizationType: 'scalar', // binary | scalar | product | none
cacheSize: 1000, // 内存缓存
});
// 存储交互记忆
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(),
});
// 通过推理检索上下文
const context = await adapter.retrieveWithReasoning(queryEmbedding, {
domain: 'conversation',
k: 10,
useMMR: true, // 最大边际相关性
synthesizeContext: true, // 生成丰富的上下文
});
class 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
});
}
}
// 存储重要事实
await db.storeFact({
category: 'user_preference',
key: 'language',
value: 'English',
confidence: 1.0,
source: 'explicit'
});
// 检索事实
const prefs = await db.getFacts({
category: 'user_preference'
});
// 从成功的交互中学习
await db.storePattern({
trigger: 'user_asks_time',
response: 'provide_formatted_time',
success: true,
context: { timezone: 'UTC' }
});
// 应用学习到的模式
const pattern = await db.matchPattern(currentContext);
// 以层次结构组织内存
await memory.organize({
immediate: recentMessages, // 最近 10 条消息
shortTerm: sessionContext, // 当前会话
longTerm: importantFacts, // 持久化事实
semantic: embeddedKnowledge // 向量搜索
});
// 定期整合记忆
await memory.consolidate({
strategy: 'importance', // 保留重要记忆
maxSize: 10000, // 大小限制
minScore: 0.5 // 相关性阈值
});
# 使用向量嵌入查询
npx agentdb@latest query .$agents.db "[0.1,0.2,0.3,...]"
# 前 k 个结果
npx agentdb@latest query .$agents.db "[0.1,0.2,0.3]" -k 10
# 带相似度阈值
npx agentdb@latest query .$agents.db "0.1 0.2 0.3" -t 0.75
# JSON 输出
npx agentdb@latest query .$agents.db "[...]" -f json
# 将向量导出到文件
npx agentdb@latest export .$agents.db .$backup.json
# 从文件导入向量
npx agentdb@latest import .$backup.json
# 获取数据库统计信息
npx agentdb@latest stats .$agents.db
# 运行性能基准测试
npx agentdb@latest benchmark
# 结果显示:
# - 模式搜索:快 150 倍(100µs 对比 15ms)
# - 批量插入:快 500 倍(2ms 对比 1s)
# - 大规模查询:快 12,500 倍(8ms 对比 100s)
import { createAgentDBAdapter, migrateToAgentDB } from 'agentic-flow$reasoningbank';
// 从旧版 ReasoningBank 迁移
const result = await migrateToAgentDB(
'.swarm$memory.db', // 源(旧版)
'.agentdb$reasoningbank.db' // 目标(AgentDB)
);
console.log(`✅ 已迁移 ${result.patternsMigrated} 个模式`);
// 训练学习模型
const adapter = await createAgentDBAdapter({
enableLearning: true,
});
await adapter.train({
epochs: 50,
batchSize: 32,
});
// 通过推理获取最优策略
const result = await adapter.retrieveWithReasoning(queryEmbedding, {
domain: 'task-planning',
synthesizeContext: true,
optimizeMemory: true,
});
# 列出可用插件
npx agentdb@latest list-plugins
# 列出插件模板
npx agentdb@latest list-templates
# 获取插件信息
npx agentdb@latest plugin-info <name>
stats 命令跟踪性能# 检查数据库大小
npx agentdb@latest stats .$agents.db
# 启用量化
# 使用 'binary'(缩小 32 倍)或 'scalar'(缩小 4 倍)
# 启用 HNSW 索引和缓存
# 结果:搜索时间 <100µs
# 带验证的自动迁移
npx agentdb@latest migrate --source .swarm$memory.db
npx agentdb@latest mcp 用于 Claude Code每周安装次数
–
代码仓库
GitHub 星标数
25.1K
首次出现时间
–
安全审计
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.
# 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
# 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
# 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)
import { 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
});
class 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
});
}
}
// 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'
});
// 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);
// Organize memory in hierarchy
await memory.organize({
immediate: recentMessages, // Last 10 messages
shortTerm: sessionContext, // Current session
longTerm: importantFacts, // Persistent facts
semantic: embeddedKnowledge // Vector search
});
// Periodically consolidate memories
await memory.consolidate({
strategy: 'importance', // Keep important memories
maxSize: 10000, // Size limit
minScore: 0.5 // Relevance threshold
});
# 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
# 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
# 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)
import { 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,
});
# 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 performance# Check database size
npx agentdb@latest stats .$agents.db
# Enable quantization
# Use 'binary' (32x smaller) or 'scalar' (4x smaller)
# Enable HNSW indexing and caching
# Results: <100µs search time
# Automatic migration with validation
npx agentdb@latest migrate --source .swarm$memory.db
npx agentdb@latest mcp for Claude CodeWeekly Installs
–
Repository
GitHub Stars
25.1K
First Seen
–
Security Audits
超能力技能使用指南:AI助手技能调用优先级与工作流程详解
45,100 周安装