关于 AgentDB Memory Patterns
AgentDB Memory Patterns 是一项技能,介绍如何借助 AgentDB 和 ReasoningBank 为 AI Agent 构建持久记忆,涵盖跨会话存储、模式学习与记忆整理。
主要功能
- 01会话与长期记忆
- 02交互模式学习
- 03分层记忆组织
- 04记忆整合
- 05向量数据库查询
- 06ReasoningBank 迁移
适用场景
- 01保留 Agent 会话间的上下文
- 02存储用户偏好和重要事实
- 03从交互中学习响应模式
MCP 相关
该技能介绍启动 AgentDB 的 MCP 服务,以集成 Claude Code。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill agentdb-memory-patterns安装后在 Claude Code 中输入/agentdb-memory-patterns确认已加载。
详细介绍
AgentDB 记忆模式
此技能的作用
提供使用 AgentDB 持久化存储和 ReasoningBank 集成的 AI Agent 记忆管理模式。让 Agent 能够记住对话、从交互中学习,并在多个会话中保留上下文。
性能:比传统解决方案快 150 倍至 12,500 倍,同时保持 100% 向后兼容。
前置条件
- Node.js 18+
- AgentDB v1.0.7+(通过 agentic-flow 或独立使用)
- 了解 Agent 架构
使用 CLI 快速入门
初始化 AgentDB
# 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
启动供 Claude Code 使用的 MCP 服务
# 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)
使用 API 快速入门
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
});
记忆模式
1. 会话记忆
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
});
}
}
2. 长期记忆
// 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'
});
3. 模式学习
// 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
});
CLI 操作
查询数据库
# 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)
与 ReasoningBank 集成
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,
});
学习插件
可用算法(共 9 种)
- Decision Transformer - 序列建模强化学习(推荐)
- Q-Learning - 基于价值的学习
- SARSA - 同策略 TD 学习
- Actor-Critic - 带基线的策略梯度
- Active Learning - 查询选择
- Adversarial Training - 鲁棒性
- Curriculum Learning - 渐进式难度
- Federated Learning - 分布式学习
- Multi-task Learning - 迁移学习
列出并管理插件
# 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>
推理 Agent(4 个模块)
- PatternMatcher - 使用 HNSW 索引查找相似模式
- ContextSynthesizer - 从多个来源生成丰富上下文
- MemoryOptimizer - 整合相似模式,清除低质量模式
- ExperienceCurator - 根据质量筛选经验
最佳实践
- 启用量化:使用 scalar$binary,将内存占用减少 4 至 32 倍
- 使用缓存:缓存 1000 个模式,实现低于 1ms 的检索速度
- 批量操作:比单条插入快 500 倍
- 定期训练:使用新经验更新学习模型
- 启用推理:自动合成和优化上下文
- 监控指标:使用
stats命令跟踪性能
故障排除
问题:内存增长过大
# 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
问题:从旧版 ReasoningBank 迁移
# Automatic migration with validation
npx agentdb@latest migrate --source .swarm$memory.db
性能特征
- 向量搜索:<100µs(HNSW 索引)
- 模式检索:<1ms(使用缓存时)
- 批量插入:插入 100 个模式需 2ms
- 内存效率:量化可减少 4 至 32 倍内存占用
- 向后兼容性:与 ReasoningBank API 100% 兼容
了解更多
- GitHub: https:/$github.com$ruvnet$agentic-flow$tree$main$packages$agentdb
- 文档:node_modules$agentic-flow/docs/AGENTDB_INTEGRATION.md
- MCP 集成:使用
npx agentdb@latest mcp集成 Claude Code - 网站: https:/$agentdb.ruv.io
评论
支持 Markdown