关于 AgentDB Learning Plugins
AgentDB Learning Plugins 是用于创建和训练自主 Agent 学习插件的技能,提供九种强化学习算法。它面向构建经验学习型 Agent 的开发者,包含 CLI 和 API 插件管理与训练流程。
主要功能
- 01九种强化学习算法
- 02通过 CLI 创建和管理插件
- 03收集经验并训练模型
- 04基于推理检索经验
- 05WASM 加速神经推理
适用场景
- 01从历史经验中学习
- 02训练离散决策 Agent
- 03支持连续控制任务
- 04跨多个 Agent 训练
MCP 相关
该技能提及通过 `npx agentdb@latest mcp` 集成 MCP,但未说明向 MCP 客户端提供的工具或资源。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ruvnet/ ruview --skill agentdb-learning-plugins安装后在 Claude Code 中输入/agentdb-learning-plugins确认已加载。
详细介绍
AgentDB 学习插件
此技能的作用
通过 AgentDB 的插件系统,提供对 9 种强化学习算法的访问。创建、训练并部署学习插件,让自主 Agent 能通过经验不断改进。包括离线强化学习(Decision Transformer)、基于价值的学习(Q-Learning)、策略梯度(Actor-Critic)以及高级技术。
性能:借助 WASM 加速的神经网络推理,模型训练速度可提升 10 到 100 倍。
前提条件
- Node.js 18+
- AgentDB v1.0.7+(通过 agentic-flow)
- 具备强化学习基础知识(建议)
使用 CLI 快速入门
创建学习插件
# Interactive wizard
npx agentdb@latest create-plugin
# Use specific template
npx agentdb@latest create-plugin -t decision-transformer -n my-agent
# Preview without creating
npx agentdb@latest create-plugin -t q-learning --dry-run
# Custom output directory
npx agentdb@latest create-plugin -t actor-critic -o ./plugins
列出可用模板
# Show all plugin templates
npx agentdb@latest list-templates
# Available templates:
# - decision-transformer (sequence modeling RL - recommended)
# - q-learning (value-based learning)
# - sarsa (on-policy TD learning)
# - actor-critic (policy gradient with baseline)
# - curiosity-driven (exploration-based)
管理插件
# List installed plugins
npx agentdb@latest list-plugins
# Get plugin information
npx agentdb@latest plugin-info my-agent
# Shows: algorithm, configuration, training status
使用 API 快速入门
import { createAgentDBAdapter } from 'agentic-flow/reasoningbank';
// Initialize with learning enabled
const adapter = await createAgentDBAdapter({
dbPath: '.agentdb/learning.db',
enableLearning: true, // Enable learning plugins
enableReasoning: true,
cacheSize: 1000,
});
// Store training experience
await adapter.insertPattern({
id: '',
type: 'experience',
domain: 'game-playing',
pattern_data: JSON.stringify({
embedding: await computeEmbedding('state-action-reward'),
pattern: {
state: [0.1, 0.2, 0.3],
action: 2,
reward: 1.0,
next_state: [0.15, 0.25, 0.35],
done: false
}
}),
confidence: 0.9,
usage_count: 1,
success_count: 1,
created_at: Date.now(),
last_used: Date.now(),
});
// Train learning model
const metrics = await adapter.train({
epochs: 50,
batchSize: 32,
});
console.log('Training Loss:', metrics.loss);
console.log('Duration:', metrics.duration, 'ms');
可用的学习算法(共 9 种)
1. Decision Transformer(推荐)
类型:离线强化学习 适用场景:从记录的经验中学习、模仿学习 优势:无需在线交互,训练稳定
npx agentdb@latest create-plugin -t decision-transformer -n dt-agent
使用场景:
- 从历史数据中学习
- 模仿专家演示进行学习
- 无需与环境交互的安全学习
- 序列建模任务
配置:
{
"algorithm": "decision-transformer",
"model_size": "base",
"context_length": 20,
"embed_dim": 128,
"n_heads": 8,
"n_layers": 6
}
2. Q-Learning
类型:基于价值的强化学习(离策略) 适用场景:离散动作空间、样本效率 优势:经过验证、简单,适用于小型和中型问题
npx agentdb@latest create-plugin -t q-learning -n q-agent
使用场景:
- 网格世界、棋盘游戏
- 导航任务
- 资源分配
- 离散决策
配置:
{
"algorithm": "q-learning",
"learning_rate": 0.001,
"gamma": 0.99,
"epsilon": 0.1,
"epsilon_decay": 0.995
}
3. SARSA
类型:基于价值的强化学习(同策略) 适用场景:安全探索、风险敏感型任务 优势:比 Q-Learning 更保守,更适合安全性要求高的场景
npx agentdb@latest create-plugin -t sarsa -n sarsa-agent
使用场景:
- 安全关键型应用
- 风险敏感型决策
- 带探索的在线学习
配置:
{
"algorithm": "sarsa",
"learning_rate": 0.001,
"gamma": 0.99,
"epsilon": 0.1
}
4. Actor-Critic
类型:带价值基线的策略梯度 适用场景:连续动作、降低方差 优势:稳定,适用于连续和离散动作
npx agentdb@latest create-plugin -t actor-critic -n ac-agent
使用场景:
- 连续控制(机器人技术、仿真)
- 复杂动作空间
- 多 Agent 协调
配置:
{
"algorithm": "actor-critic",
"actor_lr": 0.001,
"critic_lr": 0.002,
"gamma": 0.99,
"entropy_coef": 0.01
}
5. 主动学习
类型:基于查询的学习 适用场景:节省标注的学习、人机协作 优势:最大限度降低标注成本,聚焦不确定样本
使用场景:
- 纳入人工反馈
- 节省标注的训练
- 不确定性采样
- 降低标注成本
6. 对抗训练
类型:鲁棒性增强 适用场景:安全性、抵御扰动 优势:提升模型鲁棒性,提供对抗防御
使用场景:
- 安全应用
- 鲁棒决策
- 对抗防御
- 安全测试
7. 课程学习
类型:渐进式难度训练 适用场景:复杂任务、更快收敛 优势:学习稳定,在困难任务上收敛更快
使用场景:
- 复杂的多阶段任务
- 困难的探索问题
- 技能组合
- 迁移学习
8. 联邦学习
类型:分布式学习 适用场景:隐私保护、分布式数据 优势:保护隐私、可扩展
使用场景:
- 多 Agent 系统
- 敏感数据
- 分布式训练
- 协作学习
9. 多任务学习
类型:迁移学习 适用场景:相关任务、知识共享 优势:在新任务上学习更快,泛化能力更强
使用场景:
- 任务族
- 迁移学习
- 领域适配
- 元学习
训练工作流
1. 收集经验
// Store experiences during agent execution
for (let i = 0; i < numEpisodes; i++) {
const episode = runEpisode();
for (const step of episode.steps) {
await adapter.insertPattern({
id: '',
type: 'experience',
domain: 'task-domain',
pattern_data: JSON.stringify({
embedding: await computeEmbedding(JSON.stringify(step)),
pattern: {
state: step.state,
action: step.action,
reward: step.reward,
next_state: step.next_state,
done: step.done
}
}),
confidence: step.reward > 0 ? 0.9 : 0.5,
usage_count: 1,
success_count: step.reward > 0 ? 1 : 0,
created_at: Date.now(),
last_used: Date.now(),
});
}
}
2. 训练模型
// Train on collected experiences
const trainingMetrics = await adapter.train({
epochs: 100,
batchSize: 64,
learningRate: 0.001,
validationSplit: 0.2,
});
console.log('Training Metrics:', trainingMetrics);
// {
// loss: 0.023,
// valLoss: 0.028,
// duration: 1523,
// epochs: 100
// }
3. 评估性能
// Retrieve similar successful experiences
const testQuery = await computeEmbedding(JSON.stringify(testState));
const result = await adapter.retrieveWithReasoning(testQuery, {
domain: 'task-domain',
k: 10,
synthesizeContext: true,
});
// Evaluate action quality
const suggestedAction = result.memories[0].pattern.action;
const confidence = result.memories[0].similarity;
console.log('Suggested Action:', suggestedAction);
console.log('Confidence:', confidence);
高级训练技术
经验回放
// Store experiences in buffer
const replayBuffer = [];
// Sample random batch for training
const batch = sampleRandomBatch(replayBuffer, batchSize: 32);
// Train on batch
await adapter.train({
data: batch,
epochs: 1,
batchSize: 32,
});
优先经验回放
// Store experiences with priority (TD error)
await adapter.insertPattern({
// ... standard fields
confidence: tdError, // Use TD error as confidence/priority
// ...
});
// Retrieve high-priority experiences
const highPriority = await adapter.retrieveWithReasoning(queryEmbedding, {
domain: 'task-domain',
k: 32,
minConfidence: 0.7, // Only high TD-error experiences
});
多 Agent 训练
// Collect experiences from multiple agents
for (const agent of agents) {
const experience = await agent.step();
await adapter.insertPattern({
// ... store experience with agent ID
domain: `multi-agent/${agent.id}`,
});
}
// Train shared model
await adapter.train({
epochs: 50,
batchSize: 64,
});
性能优化
批量训练
// Collect batch of experiences
const experiences = collectBatch(size: 1000);
// Batch insert (500x faster)
for (const exp of experiences) {
await adapter.insertPattern({ /* ... */ });
}
// Train on batch
await adapter.train({
epochs: 10,
batchSize: 128, // Larger batch for efficiency
});
增量学习
// Train incrementally as new data arrives
setInterval(async () => {
const newExperiences = getNewExperiences();
if (newExperiences.length > 100) {
await adapter.train({
epochs: 5,
batchSize: 32,
});
}
}, 60000); // Every minute
与推理 Agent 集成
将学习与推理相结合,以提升性能:
// Train learning model
await adapter.train({ epochs: 50, batchSize: 32 });
// Use reasoning agents for inference
const result = await adapter.retrieveWithReasoning(queryEmbedding, {
domain: 'decision-making',
k: 10,
useMMR: true, // Diverse experiences
synthesizeContext: true, // Rich context
optimizeMemory: true, // Consolidate patterns
});
// Make decision based on learned experiences + reasoning
const decision = result.context.suggestedAction;
const confidence = result.memories[0].similarity;
CLI 操作
# Create plugin
npx agentdb@latest create-plugin -t decision-transformer -n my-plugin
# List plugins
npx agentdb@latest list-plugins
# Get plugin info
npx agentdb@latest plugin-info my-plugin
# List templates
npx agentdb@latest list-templates
故障排除
问题:训练未收敛
// Reduce learning rate
await adapter.train({
epochs: 100,
batchSize: 32,
learningRate: 0.0001, // Lower learning rate
});
问题:过拟合
// Use validation split
await adapter.train({
epochs: 50,
batchSize: 64,
validationSplit: 0.2, // 20% validation
});
// Enable memory optimization
await adapter.retrieveWithReasoning(queryEmbedding, {
optimizeMemory: true, // Consolidate, reduce overfitting
});
问题:训练速度慢
# Enable quantization for faster inference
# Use binary quantization (32x faster)
了解更多
- 算法论文:详见 docs/algorithms/ 中的详细论文
- GitHub:https://github.com/ruvnet/agentic-flow/tree/main/packages/agentdb
- MCP 集成:
npx agentdb@latest mcp - 网站:https://agentdb.ruv.io
类别:机器学习 / 强化学习 难度:中级至高级 预计用时:30-60 分钟