when-optimizing-agent-learning-use-reasoningbank-intelligence
关于
This skill implements adaptive learning for AI agents using ReasoningBank to recognize patterns, optimize strategies, and enable continuous performance improvement. Use it when you need to enhance agent capabilities for repetitive tasks or strategy refinement. It outputs trained models, pattern libraries, and optimization recommendations with performance benchmarks.
快速安装
Claude Code
推荐/plugin add https://github.com/DNYoussef/ai-chrome-extensiongit clone https://github.com/DNYoussef/ai-chrome-extension.git ~/.claude/skills/when-optimizing-agent-learning-use-reasoningbank-intelligence在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
ReasoningBank Intelligence - Adaptive Agent Learning
Overview
Implement adaptive learning with ReasoningBank for pattern recognition, strategy optimization, and continuous improvement. Use when building self-learning agents, optimizing decision-making, or implementing meta-cognitive systems.
When to Use
- Agent performance needs improvement
- Repetitive tasks require optimization
- Need pattern recognition from experience
- Strategy refinement through learning
- Building self-improving systems
- Meta-cognitive capabilities needed
Theoretical Foundation
ReasoningBank Architecture
- Trajectory Tracking: Record decision paths and outcomes
- Verdict Judgment: Evaluate success/failure of strategies
- Memory Distillation: Extract patterns from experience
- Pattern Recognition: Identify successful approaches
- Strategy Optimization: Apply learned patterns to new situations
AgentDB Integration (Optional)
- 150x faster vector operations
- HNSW indexing for similarity search
- Quantization for memory efficiency
- Batch operations for performance
Phase 1: Initialize Learning System (10 min)
Objective
Set up ReasoningBank with trajectory tracking
Agent: ML-Developer
Step 1.1: Initialize ReasoningBank
const ReasoningBank = require('reasoningbank');
const learningSystem = new ReasoningBank({
storage: {
type: 'agentdb', // Or 'memory', 'disk'
path: './reasoning-bank-data',
quantization: 'int8' // 4-32x memory reduction
},
indexing: {
enabled: true,
type: 'hnsw', // 150x faster search
dimensions: 768
},
learning: {
algorithm: 'decision-transformer',
learningRate: 0.001,
batchSize: 32
}
});
await learningSystem.init();
await memory.store('reasoningbank/system', learningSystem.config);
Step 1.2: Define Trajectory Schema
const trajectorySchema = {
id: 'uuid',
timestamp: 'datetime',
context: {
task: 'string',
environment: 'object',
constraints: 'array'
},
reasoning: [
{
step: 'number',
thought: 'string',
action: 'string',
observation: 'string'
}
],
outcome: {
success: 'boolean',
metrics: 'object',
verdict: 'string'
}
};
await learningSystem.registerSchema('trajectory', trajectorySchema);
Step 1.3: Configure Verdict Criteria
const verdictCriteria = {
success: {
thresholds: {
performance: 0.8,
efficiency: 0.75,
quality: 0.9
},
weights: {
performance: 0.4,
efficiency: 0.3,
quality: 0.3
}
},
failure: {
reasons: [
'timeout',
'error',
'poor_quality',
'resource_exhaustion'
]
}
};
await learningSystem.configureVerdicts(verdictCriteria);
Validation Criteria
- ReasoningBank initialized
- Trajectory schema registered
- Verdict criteria configured
- Storage backend ready
Hooks Integration
npx claude-flow@alpha hooks pre-task \
--description "Initialize ReasoningBank learning system" \
--complexity "high"
npx claude-flow@alpha hooks post-task \
--task-id "reasoningbank-init" \
--memory-key "reasoningbank/initialization"
Phase 2: Capture Patterns (10 min)
Objective
Record agent decisions and outcomes for learning
Agent: SAFLA-Neural
Step 2.1: Track Trajectories
async function trackTrajectory(task, agent) {
const trajectory = {
id: generateUUID(),
timestamp: new Date(),
context: {
task: task.description,
environment: getEnvironment(),
constraints: task.constraints
},
reasoning: []
};
// Hook into agent execution
agent.on('thought', (thought) => {
trajectory.reasoning.push({
step: trajectory.reasoning.length + 1,
thought: thought.text,
action: null,
observation: null
});
});
agent.on('action', (action) => {
const lastStep = trajectory.reasoning[trajectory.reasoning.length - 1];
lastStep.action = action.description;
});
agent.on('observation', (obs) => {
const lastStep = trajectory.reasoning[trajectory.reasoning.length - 1];
lastStep.observation = obs.result;
});
agent.on('complete', async (result) => {
trajectory.outcome = {
success: result.success,
metrics: result.metrics,
verdict: await evaluateVerdict(result)
};
await learningSystem.storeTrajectory(trajectory);
});
return trajectory;
}
Step 2.2: Evaluate Verdicts
async function evaluateVerdict(result) {
const scores = {
performance: result.metrics.score,
efficiency: result.metrics.duration / result.metrics.expectedDuration,
quality: result.metrics.qualityScore
};
const weightedScore = Object.keys(scores).reduce((sum, key) => {
return sum + scores[key] * verdictCriteria.success.weights[key];
}, 0);
const verdict = {
score: weightedScore,
passed: weightedScore >= Object.values(verdictCriteria.success.thresholds)
.reduce((sum, t) => sum + t, 0) / 3,
breakdown: scores,
reasoning: generateVerdictReasoning(scores, weightedScore)
};
await learningSystem.recordVerdict(result.id, verdict);
return verdict;
}
Step 2.3: Pattern Extraction
async function extractPatterns() {
// Get all successful trajectories
const successfulTrajectories = await learningSystem.query({
'outcome.verdict.passed': true
});
// Extract common patterns using AgentDB vector similarity
const patterns = await learningSystem.analyzePatterns({
trajectories: successfulTrajectories,
similarity: {
method: 'cosine',
threshold: 0.85,
index: 'hnsw' // 150x faster
},
clustering: {
algorithm: 'dbscan',
minSamples: 3,
epsilon: 0.15
}
});
await memory.store('reasoningbank/patterns', patterns);
return patterns;
}
Validation Criteria
- Trajectories captured
- Verdicts evaluated
- Patterns extracted
- Similarity clustering complete
Phase 3: Optimize Strategies (10 min)
Objective
Apply learned patterns to improve future decisions
Agent: Performance-Analyzer
Step 3.1: Train Decision Model
async function trainDecisionModel(patterns) {
// Use Decision Transformer (from ReasoningBank's 9 RL algorithms)
const model = await learningSystem.createModel({
algorithm: 'decision-transformer',
config: {
hiddenSize: 256,
numLayers: 4,
numHeads: 8,
maxTrajectoryLength: 50,
learningRate: 0.0001
}
});
// Prepare training data from successful patterns
const trainingData = patterns.map(pattern => ({
states: pattern.reasoning.map(r => r.thought),
actions: pattern.reasoning.map(r => r.action),
rewards: calculateRewards(pattern.outcome),
returns: calculateReturnsToGo(pattern.outcome)
}));
// Train with batch operations (AgentDB optimization)
await model.train({
data: trainingData,
epochs: 100,
batchSize: 32,
validation: 0.2,
callbacks: {
onEpoch: (epoch, metrics) => {
console.log(`Epoch ${epoch}: loss=${metrics.loss}, accuracy=${metrics.accuracy}`);
}
}
});
await learningSystem.saveModel('decision-model', model);
return model;
}
Step 3.2: Generate Strategy Recommendations
async function generateRecommendations() {
const patterns = await memory.retrieve('reasoningbank/patterns');
const recommendations = patterns.map(pattern => {
const frequency = pattern.instances.length;
const avgScore = pattern.instances.reduce((sum, i) =>
sum + i.outcome.verdict.score, 0) / frequency;
return {
pattern: {
description: summarizePattern(pattern),
reasoning: pattern.commonReasoning,
actions: pattern.commonActions
},
metrics: {
frequency,
avgScore,
consistency: calculateConsistency(pattern.instances)
},
recommendation: {
applicability: identifyApplicableContexts(pattern),
priority: calculatePriority(frequency, avgScore),
implementation: generateImplementationGuide(pattern)
}
};
}).sort((a, b) => b.recommendation.priority - a.recommendation.priority);
await memory.store('reasoningbank/recommendations', recommendations);
return recommendations;
}
Step 3.3: Apply Optimizations
async function applyOptimizations(agent, recommendations) {
// Apply top 5 recommendations
const topRecommendations = recommendations.slice(0, 5);
for (const rec of topRecommendations) {
// Update agent strategy
await agent.updateStrategy({
pattern: rec.pattern,
priority: rec.recommendation.priority,
applicableContexts: rec.recommendation.applicability
});
console.log(`✅ Applied: ${rec.pattern.description}`);
}
// Update agent's decision model
const model = await learningSystem.loadModel('decision-model');
agent.setDecisionModel(model);
await memory.store('reasoningbank/applied-optimizations', topRecommendations);
}
Validation Criteria
- Model trained successfully
- Recommendations generated
- Top strategies identified
- Optimizations applied
Phase 4: Validate Learning (10 min)
Objective
Measure improvement from adaptive learning
Agent: Performance-Analyzer
Step 4.1: Benchmark Performance
async function benchmarkPerformance(agent, testCases) {
const results = {
baseline: [],
optimized: []
};
// Baseline: Agent without learning
const baselineAgent = agent.clone({ useLearning: false });
for (const testCase of testCases) {
const result = await baselineAgent.execute(testCase);
results.baseline.push({
testId: testCase.id,
metrics: result.metrics,
success: result.success
});
}
// Optimized: Agent with learning
const optimizedAgent = agent.clone({ useLearning: true });
for (const testCase of testCases) {
const result = await optimizedAgent.execute(testCase);
results.optimized.push({
testId: testCase.id,
metrics: result.metrics,
success: result.success
});
}
await memory.store('reasoningbank/benchmark-results', results);
return results;
}
Step 4.2: Calculate Improvement Metrics
function calculateImprovement(results) {
const baselineAvg = calculateAverage(results.baseline.map(r => r.metrics.score));
const optimizedAvg = calculateAverage(results.optimized.map(r => r.metrics.score));
const improvement = {
scoreImprovement: ((optimizedAvg - baselineAvg) / baselineAvg * 100).toFixed(2) + '%',
successRateImprovement: calculateSuccessRateImprovement(results),
efficiencyImprovement: calculateEfficiencyImprovement(results),
qualityImprovement: calculateQualityImprovement(results)
};
return improvement;
}
Step 4.3: Validate Patterns
async function validatePatterns(patterns, testResults) {
const validation = patterns.map(pattern => {
// Find test results that used this pattern
const patternResults = testResults.optimized.filter(r =>
r.usedPattern === pattern.id
);
const successRate = patternResults.filter(r => r.success).length / patternResults.length;
return {
pattern: pattern.description,
timesUsed: patternResults.length,
successRate,
avgScore: calculateAverage(patternResults.map(r => r.metrics.score)),
validated: successRate > 0.8
};
});
await memory.store('reasoningbank/pattern-validation', validation);
return validation;
}
Validation Criteria
- Benchmarks completed
- Improvement > 15%
- Patterns validated
- Success rate improved
Phase 5: Deploy Optimizations (5 min)
Objective
Integrate learned strategies into production agents
Agent: ML-Developer
Step 5.1: Export Learned Model
async function exportModel() {
const model = await learningSystem.loadModel('decision-model');
const patterns = await memory.retrieve('reasoningbank/patterns');
const recommendations = await memory.retrieve('reasoningbank/recommendations');
const exportPackage = {
version: '1.0.0',
timestamp: new Date(),
model: {
weights: await model.exportWeights(),
config: model.config,
performance: await memory.retrieve('reasoningbank/benchmark-results')
},
patterns: patterns.map(p => ({
id: p.id,
description: p.description,
reasoning: p.commonReasoning,
actions: p.commonActions,
metrics: p.metrics
})),
recommendations: recommendations
};
await fs.writeFile(
'/tmp/reasoningbank-export.json',
JSON.stringify(exportPackage, null, 2)
);
console.log('✅ Model exported to: /tmp/reasoningbank-export.json');
}
Step 5.2: Create Integration Guide
# ReasoningBank Integration Guide
## Installation
\`\`\`bash
npm install reasoningbank
\`\`\`
## Import Learned Model
\`\`\`javascript
const { ReasoningBank } = require('reasoningbank');
const learnedModel = require('./reasoningbank-export.json');
const agent = new Agent({
decisionModel: learnedModel.model,
patterns: learnedModel.patterns,
recommendations: learnedModel.recommendations
});
\`\`\`
## Usage
\`\`\`javascript
// Agent automatically uses learned strategies
const result = await agent.execute(task);
\`\`\`
## Performance Gains
${improvement.scoreImprovement} average improvement
${improvement.successRateImprovement} success rate increase
Step 5.3: Generate Learning Report
const learningReport = {
summary: {
totalTrajectories: await learningSystem.countTrajectories(),
patternsIdentified: patterns.length,
recommendationsGenerated: recommendations.length,
improvement: improvement
},
topPatterns: patterns.slice(0, 10),
performanceMetrics: {
baseline: baselineMetrics,
optimized: optimizedMetrics,
improvement: improvement
},
nextSteps: [
'Continue collecting trajectories for ongoing learning',
'Monitor production performance',
'Retrain model quarterly',
'A/B test new patterns'
]
};
await fs.writeFile(
'/tmp/learning-report.json',
JSON.stringify(learningReport, null, 2)
);
Validation Criteria
- Model exported
- Integration guide created
- Learning report generated
- Ready for production
Success Metrics
- Performance improvement > 15%
- Pattern recognition accuracy > 85%
- Model training successful
- Production integration ready
Memory Schema
{
"reasoningbank/": {
"session-${id}/": {
"system": {},
"patterns": [],
"recommendations": [],
"benchmark-results": {},
"pattern-validation": [],
"applied-optimizations": []
}
}
}
Integration with AgentDB
For 150x faster operations:
const AgentDB = require('agentdb');
const db = new AgentDB({
quantization: 'int8',
indexing: 'hnsw',
caching: true
});
await learningSystem.useVectorDB(db);
Skill Completion
Outputs:
- reasoningbank-export.json: Trained model and patterns
- learning-report.json: Performance analysis
- integration-guide.md: Implementation instructions
- pattern-library.json: Validated patterns
Complete when improvement > 15% and ready for production deployment.
GitHub 仓库
相关推荐技能
when-optimizing-prompts-use-prompt-architect
其他该Skill为开发者提供基于证据的提示词分析与优化框架,帮助解决AI响应质量差、输出不一致等问题。它能识别并消除提示词中的反模式,通过A/B测试验证优化效果。适用于需要创建新提示、重构现有提示或提升AI系统响应质量的开发场景。
deepspeed
设计该Skill为开发者提供DeepSpeed分布式训练的专家指导,涵盖ZeRO优化阶段、流水线并行和混合精度训练等核心功能。它适用于实现DeepSpeed解决方案、调试代码或学习最佳实践的场景。通过该Skill,开发者能快速获得API使用、特性配置和性能优化的专业支持。
performance-analysis
其他该Skill为Claude Flow群组提供全面的性能分析,能自动检测通信、处理和网络等瓶颈。它通过实时监控和性能剖析生成详细报告,并给出AI驱动的优化建议。开发者可快速识别系统性能问题并获得具体改进方案。
when-profiling-performance-use-performance-profiler
其他这是一个全面的性能分析工具,帮助开发者识别和优化应用性能瓶颈。它支持跨平台性能分析,涵盖CPU、内存、I/O和网络等关键维度。通过基准测试、瓶颈检测和根因分析,为性能优化提供系统化的解决方案。
