agentic-qe 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/qe-coverage-analyzer.md +8 -0
- package/.claude/agents/qe-flaky-test-hunter.md +9 -1
- package/.claude/agents/qe-test-generator.md +7 -0
- package/.claude/agents/reasoning/agent.md +816 -0
- package/.claude/agents/reasoning/goal-planner.md +73 -0
- package/.claude/settings.json +21 -20
- package/.claude/skills/README.md +124 -0
- package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
- package/.claude/skills/agentdb-learning/SKILL.md +545 -0
- package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
- package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
- package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
- package/.claude/skills/agentic-quality-engineering/SKILL.md +604 -0
- package/.claude/skills/api-testing-patterns/SKILL.md +686 -0
- package/.claude/skills/bug-reporting-excellence/SKILL.md +632 -0
- package/.claude/skills/code-review-quality/SKILL.md +683 -0
- package/.claude/skills/consultancy-practices/SKILL.md +540 -0
- package/.claude/skills/context-driven-testing/SKILL.md +466 -0
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +676 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
- package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
- package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
- package/.claude/skills/github-code-review/SKILL.md +1140 -0
- package/.claude/skills/github-multi-repo/SKILL.md +874 -0
- package/.claude/skills/github-project-management/SKILL.md +1277 -0
- package/.claude/skills/github-release-management/SKILL.md +1081 -0
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
- package/.claude/skills/holistic-testing-pact/SKILL.md +225 -0
- package/.claude/skills/hooks-automation/SKILL.md +1201 -0
- package/.claude/skills/pair-programming/SKILL.md +1202 -0
- package/.claude/skills/performance-analysis/SKILL.md +563 -0
- package/.claude/skills/performance-testing/SKILL.md +662 -0
- package/.claude/skills/quality-metrics/SKILL.md +592 -0
- package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
- package/.claude/skills/refactoring-patterns/SKILL.md +778 -0
- package/.claude/skills/risk-based-testing/SKILL.md +721 -0
- package/.claude/skills/security-testing/SKILL.md +651 -0
- package/.claude/skills/skill-builder/SKILL.md +910 -0
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
- package/.claude/skills/stream-chain/SKILL.md +563 -0
- package/.claude/skills/swarm-advanced/SKILL.md +973 -0
- package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
- package/.claude/skills/tdd-london-chicago/SKILL.md +567 -0
- package/.claude/skills/technical-writing/SKILL.md +235 -0
- package/.claude/skills/test-automation-strategy/SKILL.md +842 -0
- package/.claude/skills/verification-quality/SKILL.md +649 -0
- package/.claude/skills/xp-practices/SKILL.md +671 -0
- package/.claude/statusline-command.sh +176 -0
- package/CHANGELOG.md +536 -1
- package/README.md +92 -3
- package/config/improvement-loop.config.ts +323 -0
- package/config/neural-agent.config.ts +197 -0
- package/dist/adapters/MemoryStoreAdapter.d.ts +16 -16
- package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
- package/dist/adapters/MemoryStoreAdapter.js +16 -16
- package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
- package/dist/agents/BaseAgent.d.ts +69 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +382 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +13 -2
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +105 -6
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
- package/dist/agents/DeploymentReadinessAgent.js +13 -13
- package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.d.ts +28 -0
- package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +159 -4
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
- package/dist/agents/FleetCommanderAgent.js +2 -2
- package/dist/agents/FleetCommanderAgent.js.map +1 -1
- package/dist/agents/LearningAgent.d.ts +14 -5
- package/dist/agents/LearningAgent.d.ts.map +1 -1
- package/dist/agents/LearningAgent.js +36 -16
- package/dist/agents/LearningAgent.js.map +1 -1
- package/dist/agents/NeuralAgentExtension.d.ts +117 -0
- package/dist/agents/NeuralAgentExtension.d.ts.map +1 -0
- package/dist/agents/NeuralAgentExtension.js +288 -0
- package/dist/agents/NeuralAgentExtension.js.map +1 -0
- package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
- package/dist/agents/PerformanceTesterAgent.js +4 -3
- package/dist/agents/PerformanceTesterAgent.js.map +1 -1
- package/dist/agents/ProductionIntelligenceAgent.js +7 -7
- package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/QualityAnalyzerAgent.js +2 -2
- package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
- package/dist/agents/QualityGateAgent.js +5 -5
- package/dist/agents/QualityGateAgent.js.map +1 -1
- package/dist/agents/RegressionRiskAnalyzerAgent.js +7 -7
- package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
- package/dist/agents/RequirementsValidatorAgent.js +1 -1
- package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
- package/dist/agents/SecurityScannerAgent.js +6 -6
- package/dist/agents/SecurityScannerAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +1 -3
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +15 -4
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +165 -43
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/mixins/NeuralCapableMixin.d.ts +130 -0
- package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +1 -0
- package/dist/agents/mixins/NeuralCapableMixin.js +358 -0
- package/dist/agents/mixins/NeuralCapableMixin.js.map +1 -0
- package/dist/agents/mixins/QUICCapableMixin.d.ts +34 -0
- package/dist/agents/mixins/QUICCapableMixin.d.ts.map +1 -0
- package/dist/agents/mixins/QUICCapableMixin.js +346 -0
- package/dist/agents/mixins/QUICCapableMixin.js.map +1 -0
- package/dist/cli/commands/agent/index.d.ts +5 -0
- package/dist/cli/commands/agent/index.d.ts.map +1 -1
- package/dist/cli/commands/agent/index.js +11 -6
- package/dist/cli/commands/agent/index.js.map +1 -1
- package/dist/cli/commands/agent/kill.d.ts +13 -0
- package/dist/cli/commands/agent/kill.d.ts.map +1 -0
- package/dist/cli/commands/agent/kill.js +65 -0
- package/dist/cli/commands/agent/kill.js.map +1 -0
- package/dist/cli/commands/agent/list.d.ts +19 -0
- package/dist/cli/commands/agent/list.d.ts.map +1 -0
- package/dist/cli/commands/agent/list.js +92 -0
- package/dist/cli/commands/agent/list.js.map +1 -0
- package/dist/cli/commands/agent/logs.d.ts +14 -0
- package/dist/cli/commands/agent/logs.d.ts.map +1 -0
- package/dist/cli/commands/agent/logs.js +77 -0
- package/dist/cli/commands/agent/logs.js.map +1 -0
- package/dist/cli/commands/agent/metrics.d.ts +21 -0
- package/dist/cli/commands/agent/metrics.d.ts.map +1 -0
- package/dist/cli/commands/agent/metrics.js +87 -0
- package/dist/cli/commands/agent/metrics.js.map +1 -0
- package/dist/cli/commands/agent/spawn.d.ts +28 -0
- package/dist/cli/commands/agent/spawn.d.ts.map +1 -0
- package/dist/cli/commands/agent/spawn.js +83 -0
- package/dist/cli/commands/agent/spawn.js.map +1 -0
- package/dist/cli/commands/init.d.ts +24 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +475 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/skills/index.d.ts +51 -0
- package/dist/cli/commands/skills/index.d.ts.map +1 -0
- package/dist/cli/commands/skills/index.js +364 -0
- package/dist/cli/commands/skills/index.js.map +1 -0
- package/dist/cli/index.js +92 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/EventBus.d.ts +38 -0
- package/dist/core/EventBus.d.ts.map +1 -1
- package/dist/core/EventBus.js +176 -31
- package/dist/core/EventBus.js.map +1 -1
- package/dist/core/FleetManager.d.ts +35 -1
- package/dist/core/FleetManager.d.ts.map +1 -1
- package/dist/core/FleetManager.js +121 -45
- package/dist/core/FleetManager.js.map +1 -1
- package/dist/core/MemoryManager.d.ts +19 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/MemoryManager.js +25 -1
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/embeddings/EmbeddingCache.d.ts +134 -0
- package/dist/core/embeddings/EmbeddingCache.d.ts.map +1 -0
- package/dist/core/embeddings/EmbeddingCache.js +239 -0
- package/dist/core/embeddings/EmbeddingCache.js.map +1 -0
- package/dist/core/embeddings/EmbeddingGenerator.d.ts +224 -0
- package/dist/core/embeddings/EmbeddingGenerator.d.ts.map +1 -0
- package/dist/core/embeddings/EmbeddingGenerator.js +459 -0
- package/dist/core/embeddings/EmbeddingGenerator.js.map +1 -0
- package/dist/core/embeddings/index.d.ts +15 -0
- package/dist/core/embeddings/index.d.ts.map +1 -0
- package/dist/core/embeddings/index.js +22 -0
- package/dist/core/embeddings/index.js.map +1 -0
- package/dist/core/memory/AgentDBIntegration.d.ts +35 -0
- package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -0
- package/dist/core/memory/AgentDBIntegration.js +75 -0
- package/dist/core/memory/AgentDBIntegration.js.map +1 -0
- package/dist/core/memory/AgentDBManager.d.ts +200 -0
- package/dist/core/memory/AgentDBManager.d.ts.map +1 -0
- package/dist/core/memory/AgentDBManager.js +263 -0
- package/dist/core/memory/AgentDBManager.js.map +1 -0
- package/dist/core/memory/AgentDBService.d.ts +160 -0
- package/dist/core/memory/AgentDBService.d.ts.map +1 -0
- package/dist/core/memory/AgentDBService.js +450 -0
- package/dist/core/memory/AgentDBService.js.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts +51 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.js +230 -0
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -0
- package/dist/core/memory/ReasoningBankAdapter.d.ts +58 -0
- package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -0
- package/dist/core/memory/ReasoningBankAdapter.js +80 -0
- package/dist/core/memory/ReasoningBankAdapter.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +75 -3
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +236 -52
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +4 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +9 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/neural/NeuralTrainer.d.ts +137 -0
- package/dist/core/neural/NeuralTrainer.d.ts.map +1 -0
- package/dist/core/neural/NeuralTrainer.js +543 -0
- package/dist/core/neural/NeuralTrainer.js.map +1 -0
- package/dist/core/neural/index.d.ts +8 -0
- package/dist/core/neural/index.d.ts.map +1 -0
- package/dist/core/neural/index.js +24 -0
- package/dist/core/neural/index.js.map +1 -0
- package/dist/core/neural/types.d.ts +216 -0
- package/dist/core/neural/types.d.ts.map +1 -0
- package/dist/core/neural/types.js +8 -0
- package/dist/core/neural/types.js.map +1 -0
- package/dist/core/security/CertificateValidator.d.ts +130 -0
- package/dist/core/security/CertificateValidator.d.ts.map +1 -0
- package/dist/core/security/CertificateValidator.js +376 -0
- package/dist/core/security/CertificateValidator.js.map +1 -0
- package/dist/core/transport/QUICTransport.d.ts +62 -0
- package/dist/core/transport/QUICTransport.d.ts.map +1 -0
- package/dist/core/transport/QUICTransport.js +381 -0
- package/dist/core/transport/QUICTransport.js.map +1 -0
- package/dist/core/transport/SecureQUICTransport.d.ts +71 -0
- package/dist/core/transport/SecureQUICTransport.d.ts.map +1 -0
- package/dist/core/transport/SecureQUICTransport.js +253 -0
- package/dist/core/transport/SecureQUICTransport.js.map +1 -0
- package/dist/learning/AdvancedFeatureExtractor.d.ts +123 -0
- package/dist/learning/AdvancedFeatureExtractor.d.ts.map +1 -0
- package/dist/learning/AdvancedFeatureExtractor.js +423 -0
- package/dist/learning/AdvancedFeatureExtractor.js.map +1 -0
- package/dist/learning/FlakyPredictionModel.d.ts +11 -1
- package/dist/learning/FlakyPredictionModel.d.ts.map +1 -1
- package/dist/learning/FlakyPredictionModel.js +82 -35
- package/dist/learning/FlakyPredictionModel.js.map +1 -1
- package/dist/learning/FlakyTestDetector.d.ts +9 -0
- package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
- package/dist/learning/FlakyTestDetector.js +28 -6
- package/dist/learning/FlakyTestDetector.js.map +1 -1
- package/dist/learning/ImprovementLoop.d.ts +16 -2
- package/dist/learning/ImprovementLoop.d.ts.map +1 -1
- package/dist/learning/ImprovementLoop.js +67 -8
- package/dist/learning/ImprovementLoop.js.map +1 -1
- package/dist/learning/ImprovementWorker.d.ts +83 -0
- package/dist/learning/ImprovementWorker.d.ts.map +1 -0
- package/dist/learning/ImprovementWorker.js +164 -0
- package/dist/learning/ImprovementWorker.js.map +1 -0
- package/dist/learning/NeuralPatternMatcher.d.ts +184 -0
- package/dist/learning/NeuralPatternMatcher.d.ts.map +1 -0
- package/dist/learning/NeuralPatternMatcher.js +702 -0
- package/dist/learning/NeuralPatternMatcher.js.map +1 -0
- package/dist/learning/NeuralTrainer.d.ts +209 -0
- package/dist/learning/NeuralTrainer.d.ts.map +1 -0
- package/dist/learning/NeuralTrainer.js +478 -0
- package/dist/learning/NeuralTrainer.js.map +1 -0
- package/dist/learning/index.d.ts +13 -7
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +27 -11
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +1 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/learning/types.js +16 -0
- package/dist/learning/types.js.map +1 -1
- package/dist/mcp/MCPToolRegistry.d.ts +34 -0
- package/dist/mcp/MCPToolRegistry.d.ts.map +1 -0
- package/dist/mcp/MCPToolRegistry.js +48 -0
- package/dist/mcp/MCPToolRegistry.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -4
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +7 -1
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/transport/QUICTransport.d.ts +340 -0
- package/dist/transport/QUICTransport.d.ts.map +1 -0
- package/dist/transport/QUICTransport.js +814 -0
- package/dist/transport/QUICTransport.js.map +1 -0
- package/dist/transport/UDPTransport.d.ts +348 -0
- package/dist/transport/UDPTransport.d.ts.map +1 -0
- package/dist/transport/UDPTransport.js +820 -0
- package/dist/transport/UDPTransport.js.map +1 -0
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/index.d.ts +37 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/quic.d.ts +339 -0
- package/dist/types/quic.d.ts.map +1 -0
- package/dist/types/quic.js +48 -0
- package/dist/types/quic.js.map +1 -0
- package/dist/utils/Config.js +1 -1
- package/dist/utils/Config.js.map +1 -1
- package/dist/utils/Database.d.ts +14 -0
- package/dist/utils/Database.d.ts.map +1 -1
- package/dist/utils/Database.js +51 -4
- package/dist/utils/Database.js.map +1 -1
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.js +111 -26
- package/dist/utils/Logger.js.map +1 -1
- package/package.json +30 -7
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "ReasoningBank with AgentDB"
|
|
3
|
+
description: "Implement ReasoningBank adaptive learning with AgentDB's 150x faster vector database. Includes trajectory tracking, verdict judgment, memory distillation, and pattern recognition. Use when building self-learning agents, optimizing decision-making, or implementing experience replay systems."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ReasoningBank with AgentDB
|
|
7
|
+
|
|
8
|
+
## What This Skill Does
|
|
9
|
+
|
|
10
|
+
Provides ReasoningBank adaptive learning patterns using AgentDB's high-performance backend (150x-12,500x faster). Enables agents to learn from experiences, judge outcomes, distill memories, and improve decision-making over time with 100% backward compatibility.
|
|
11
|
+
|
|
12
|
+
**Performance**: 150x faster pattern retrieval, 500x faster batch operations, <1ms memory access.
|
|
13
|
+
|
|
14
|
+
## Prerequisites
|
|
15
|
+
|
|
16
|
+
- Node.js 18+
|
|
17
|
+
- AgentDB v1.0.7+ (via agentic-flow)
|
|
18
|
+
- Understanding of reinforcement learning concepts (optional)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Quick Start with CLI
|
|
23
|
+
|
|
24
|
+
### Initialize ReasoningBank Database
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Initialize AgentDB for ReasoningBank
|
|
28
|
+
npx agentdb@latest init ./.agentdb/reasoningbank.db --dimension 1536
|
|
29
|
+
|
|
30
|
+
# Start MCP server for Claude Code integration
|
|
31
|
+
npx agentdb@latest mcp
|
|
32
|
+
claude mcp add agentdb npx agentdb@latest mcp
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Migrate from Legacy ReasoningBank
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Automatic migration with validation
|
|
39
|
+
npx agentdb@latest migrate --source .swarm/memory.db
|
|
40
|
+
|
|
41
|
+
# Verify migration
|
|
42
|
+
npx agentdb@latest stats ./.agentdb/reasoningbank.db
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Quick Start with API
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import { createAgentDBAdapter, computeEmbedding } from 'agentic-flow/reasoningbank';
|
|
51
|
+
|
|
52
|
+
// Initialize ReasoningBank with AgentDB
|
|
53
|
+
const rb = await createAgentDBAdapter({
|
|
54
|
+
dbPath: '.agentdb/reasoningbank.db',
|
|
55
|
+
enableLearning: true, // Enable learning plugins
|
|
56
|
+
enableReasoning: true, // Enable reasoning agents
|
|
57
|
+
cacheSize: 1000, // 1000 pattern cache
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// Store successful experience
|
|
61
|
+
const query = "How to optimize database queries?";
|
|
62
|
+
const embedding = await computeEmbedding(query);
|
|
63
|
+
|
|
64
|
+
await rb.insertPattern({
|
|
65
|
+
id: '',
|
|
66
|
+
type: 'experience',
|
|
67
|
+
domain: 'database-optimization',
|
|
68
|
+
pattern_data: JSON.stringify({
|
|
69
|
+
embedding,
|
|
70
|
+
pattern: {
|
|
71
|
+
query,
|
|
72
|
+
approach: 'indexing + query optimization',
|
|
73
|
+
outcome: 'success',
|
|
74
|
+
metrics: { latency_reduction: 0.85 }
|
|
75
|
+
}
|
|
76
|
+
}),
|
|
77
|
+
confidence: 0.95,
|
|
78
|
+
usage_count: 1,
|
|
79
|
+
success_count: 1,
|
|
80
|
+
created_at: Date.now(),
|
|
81
|
+
last_used: Date.now(),
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
// Retrieve similar experiences with reasoning
|
|
85
|
+
const result = await rb.retrieveWithReasoning(embedding, {
|
|
86
|
+
domain: 'database-optimization',
|
|
87
|
+
k: 5,
|
|
88
|
+
useMMR: true, // Diverse results
|
|
89
|
+
synthesizeContext: true, // Rich context synthesis
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
console.log('Memories:', result.memories);
|
|
93
|
+
console.log('Context:', result.context);
|
|
94
|
+
console.log('Patterns:', result.patterns);
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Core ReasoningBank Concepts
|
|
100
|
+
|
|
101
|
+
### 1. Trajectory Tracking
|
|
102
|
+
|
|
103
|
+
Track agent execution paths and outcomes:
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
// Record trajectory (sequence of actions)
|
|
107
|
+
const trajectory = {
|
|
108
|
+
task: 'optimize-api-endpoint',
|
|
109
|
+
steps: [
|
|
110
|
+
{ action: 'analyze-bottleneck', result: 'found N+1 query' },
|
|
111
|
+
{ action: 'add-eager-loading', result: 'reduced queries' },
|
|
112
|
+
{ action: 'add-caching', result: 'improved latency' }
|
|
113
|
+
],
|
|
114
|
+
outcome: 'success',
|
|
115
|
+
metrics: { latency_before: 2500, latency_after: 150 }
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
const embedding = await computeEmbedding(JSON.stringify(trajectory));
|
|
119
|
+
|
|
120
|
+
await rb.insertPattern({
|
|
121
|
+
id: '',
|
|
122
|
+
type: 'trajectory',
|
|
123
|
+
domain: 'api-optimization',
|
|
124
|
+
pattern_data: JSON.stringify({ embedding, pattern: trajectory }),
|
|
125
|
+
confidence: 0.9,
|
|
126
|
+
usage_count: 1,
|
|
127
|
+
success_count: 1,
|
|
128
|
+
created_at: Date.now(),
|
|
129
|
+
last_used: Date.now(),
|
|
130
|
+
});
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 2. Verdict Judgment
|
|
134
|
+
|
|
135
|
+
Judge whether a trajectory was successful:
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Retrieve similar past trajectories
|
|
139
|
+
const similar = await rb.retrieveWithReasoning(queryEmbedding, {
|
|
140
|
+
domain: 'api-optimization',
|
|
141
|
+
k: 10,
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// Judge based on similarity to successful patterns
|
|
145
|
+
const verdict = similar.memories.filter(m =>
|
|
146
|
+
m.pattern.outcome === 'success' &&
|
|
147
|
+
m.similarity > 0.8
|
|
148
|
+
).length > 5 ? 'likely_success' : 'needs_review';
|
|
149
|
+
|
|
150
|
+
console.log('Verdict:', verdict);
|
|
151
|
+
console.log('Confidence:', similar.memories[0]?.similarity || 0);
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 3. Memory Distillation
|
|
155
|
+
|
|
156
|
+
Consolidate similar experiences into patterns:
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
// Get all experiences in domain
|
|
160
|
+
const experiences = await rb.retrieveWithReasoning(embedding, {
|
|
161
|
+
domain: 'api-optimization',
|
|
162
|
+
k: 100,
|
|
163
|
+
optimizeMemory: true, // Automatic consolidation
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
// Distill into high-level pattern
|
|
167
|
+
const distilledPattern = {
|
|
168
|
+
domain: 'api-optimization',
|
|
169
|
+
pattern: 'For N+1 queries: add eager loading, then cache',
|
|
170
|
+
success_rate: 0.92,
|
|
171
|
+
sample_size: experiences.memories.length,
|
|
172
|
+
confidence: 0.95
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
await rb.insertPattern({
|
|
176
|
+
id: '',
|
|
177
|
+
type: 'distilled-pattern',
|
|
178
|
+
domain: 'api-optimization',
|
|
179
|
+
pattern_data: JSON.stringify({
|
|
180
|
+
embedding: await computeEmbedding(JSON.stringify(distilledPattern)),
|
|
181
|
+
pattern: distilledPattern
|
|
182
|
+
}),
|
|
183
|
+
confidence: 0.95,
|
|
184
|
+
usage_count: 0,
|
|
185
|
+
success_count: 0,
|
|
186
|
+
created_at: Date.now(),
|
|
187
|
+
last_used: Date.now(),
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Integration with Reasoning Agents
|
|
194
|
+
|
|
195
|
+
AgentDB provides 4 reasoning modules that enhance ReasoningBank:
|
|
196
|
+
|
|
197
|
+
### 1. PatternMatcher
|
|
198
|
+
|
|
199
|
+
Find similar successful patterns:
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
const result = await rb.retrieveWithReasoning(queryEmbedding, {
|
|
203
|
+
domain: 'problem-solving',
|
|
204
|
+
k: 10,
|
|
205
|
+
useMMR: true, // Maximal Marginal Relevance for diversity
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
// PatternMatcher returns diverse, relevant memories
|
|
209
|
+
result.memories.forEach(mem => {
|
|
210
|
+
console.log(`Pattern: ${mem.pattern.approach}`);
|
|
211
|
+
console.log(`Similarity: ${mem.similarity}`);
|
|
212
|
+
console.log(`Success Rate: ${mem.success_count / mem.usage_count}`);
|
|
213
|
+
});
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 2. ContextSynthesizer
|
|
217
|
+
|
|
218
|
+
Generate rich context from multiple memories:
|
|
219
|
+
|
|
220
|
+
```typescript
|
|
221
|
+
const result = await rb.retrieveWithReasoning(queryEmbedding, {
|
|
222
|
+
domain: 'code-optimization',
|
|
223
|
+
synthesizeContext: true, // Enable context synthesis
|
|
224
|
+
k: 5,
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
// ContextSynthesizer creates coherent narrative
|
|
228
|
+
console.log('Synthesized Context:', result.context);
|
|
229
|
+
// "Based on 5 similar optimizations, the most effective approach
|
|
230
|
+
// involves profiling, identifying bottlenecks, and applying targeted
|
|
231
|
+
// improvements. Success rate: 87%"
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### 3. MemoryOptimizer
|
|
235
|
+
|
|
236
|
+
Automatically consolidate and prune:
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
const result = await rb.retrieveWithReasoning(queryEmbedding, {
|
|
240
|
+
domain: 'testing',
|
|
241
|
+
optimizeMemory: true, // Enable automatic optimization
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
// MemoryOptimizer consolidates similar patterns and prunes low-quality
|
|
245
|
+
console.log('Optimizations:', result.optimizations);
|
|
246
|
+
// { consolidated: 15, pruned: 3, improved_quality: 0.12 }
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 4. ExperienceCurator
|
|
250
|
+
|
|
251
|
+
Filter by quality and relevance:
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
const result = await rb.retrieveWithReasoning(queryEmbedding, {
|
|
255
|
+
domain: 'debugging',
|
|
256
|
+
k: 20,
|
|
257
|
+
minConfidence: 0.8, // Only high-confidence experiences
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// ExperienceCurator returns only quality experiences
|
|
261
|
+
result.memories.forEach(mem => {
|
|
262
|
+
console.log(`Confidence: ${mem.confidence}`);
|
|
263
|
+
console.log(`Success Rate: ${mem.success_count / mem.usage_count}`);
|
|
264
|
+
});
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Legacy API Compatibility
|
|
270
|
+
|
|
271
|
+
AgentDB maintains 100% backward compatibility with legacy ReasoningBank:
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
import {
|
|
275
|
+
retrieveMemories,
|
|
276
|
+
judgeTrajectory,
|
|
277
|
+
distillMemories
|
|
278
|
+
} from 'agentic-flow/reasoningbank';
|
|
279
|
+
|
|
280
|
+
// Legacy API works unchanged (uses AgentDB backend automatically)
|
|
281
|
+
const memories = await retrieveMemories(query, {
|
|
282
|
+
domain: 'code-generation',
|
|
283
|
+
agent: 'coder'
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
const verdict = await judgeTrajectory(trajectory, query);
|
|
287
|
+
|
|
288
|
+
const newMemories = await distillMemories(
|
|
289
|
+
trajectory,
|
|
290
|
+
verdict,
|
|
291
|
+
query,
|
|
292
|
+
{ domain: 'code-generation' }
|
|
293
|
+
);
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Performance Characteristics
|
|
299
|
+
|
|
300
|
+
- **Pattern Search**: 150x faster (100µs vs 15ms)
|
|
301
|
+
- **Memory Retrieval**: <1ms (with cache)
|
|
302
|
+
- **Batch Insert**: 500x faster (2ms vs 1s for 100 patterns)
|
|
303
|
+
- **Trajectory Judgment**: <5ms (including retrieval + analysis)
|
|
304
|
+
- **Memory Distillation**: <50ms (consolidate 100 patterns)
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## Advanced Patterns
|
|
309
|
+
|
|
310
|
+
### Hierarchical Memory
|
|
311
|
+
|
|
312
|
+
Organize memories by abstraction level:
|
|
313
|
+
|
|
314
|
+
```typescript
|
|
315
|
+
// Low-level: Specific implementation
|
|
316
|
+
await rb.insertPattern({
|
|
317
|
+
type: 'concrete',
|
|
318
|
+
domain: 'debugging/null-pointer',
|
|
319
|
+
pattern_data: JSON.stringify({
|
|
320
|
+
embedding,
|
|
321
|
+
pattern: { bug: 'NPE in UserService.getUser()', fix: 'Add null check' }
|
|
322
|
+
}),
|
|
323
|
+
confidence: 0.9,
|
|
324
|
+
// ...
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
// Mid-level: Pattern across similar cases
|
|
328
|
+
await rb.insertPattern({
|
|
329
|
+
type: 'pattern',
|
|
330
|
+
domain: 'debugging',
|
|
331
|
+
pattern_data: JSON.stringify({
|
|
332
|
+
embedding,
|
|
333
|
+
pattern: { category: 'null-pointer', approach: 'defensive-checks' }
|
|
334
|
+
}),
|
|
335
|
+
confidence: 0.85,
|
|
336
|
+
// ...
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
// High-level: General principle
|
|
340
|
+
await rb.insertPattern({
|
|
341
|
+
type: 'principle',
|
|
342
|
+
domain: 'software-engineering',
|
|
343
|
+
pattern_data: JSON.stringify({
|
|
344
|
+
embedding,
|
|
345
|
+
pattern: { principle: 'fail-fast with clear errors' }
|
|
346
|
+
}),
|
|
347
|
+
confidence: 0.95,
|
|
348
|
+
// ...
|
|
349
|
+
});
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Multi-Domain Learning
|
|
353
|
+
|
|
354
|
+
Transfer learning across domains:
|
|
355
|
+
|
|
356
|
+
```typescript
|
|
357
|
+
// Learn from backend optimization
|
|
358
|
+
const backendExperience = await rb.retrieveWithReasoning(embedding, {
|
|
359
|
+
domain: 'backend-optimization',
|
|
360
|
+
k: 10,
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
// Apply to frontend optimization
|
|
364
|
+
const transferredKnowledge = backendExperience.memories.map(mem => ({
|
|
365
|
+
...mem,
|
|
366
|
+
domain: 'frontend-optimization',
|
|
367
|
+
adapted: true,
|
|
368
|
+
}));
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
## CLI Operations
|
|
374
|
+
|
|
375
|
+
### Database Management
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
# Export trajectories and patterns
|
|
379
|
+
npx agentdb@latest export ./.agentdb/reasoningbank.db ./backup.json
|
|
380
|
+
|
|
381
|
+
# Import experiences
|
|
382
|
+
npx agentdb@latest import ./experiences.json
|
|
383
|
+
|
|
384
|
+
# Get statistics
|
|
385
|
+
npx agentdb@latest stats ./.agentdb/reasoningbank.db
|
|
386
|
+
# Shows: total patterns, domains, confidence distribution
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### Migration
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
# Migrate from legacy ReasoningBank
|
|
393
|
+
npx agentdb@latest migrate --source .swarm/memory.db --target .agentdb/reasoningbank.db
|
|
394
|
+
|
|
395
|
+
# Validate migration
|
|
396
|
+
npx agentdb@latest stats .agentdb/reasoningbank.db
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## Troubleshooting
|
|
402
|
+
|
|
403
|
+
### Issue: Migration fails
|
|
404
|
+
```bash
|
|
405
|
+
# Check source database exists
|
|
406
|
+
ls -la .swarm/memory.db
|
|
407
|
+
|
|
408
|
+
# Run with verbose logging
|
|
409
|
+
DEBUG=agentdb:* npx agentdb@latest migrate --source .swarm/memory.db
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### Issue: Low confidence scores
|
|
413
|
+
```typescript
|
|
414
|
+
// Enable context synthesis for better quality
|
|
415
|
+
const result = await rb.retrieveWithReasoning(embedding, {
|
|
416
|
+
synthesizeContext: true,
|
|
417
|
+
useMMR: true,
|
|
418
|
+
k: 10,
|
|
419
|
+
});
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
### Issue: Memory growing too large
|
|
423
|
+
```typescript
|
|
424
|
+
// Enable automatic optimization
|
|
425
|
+
const result = await rb.retrieveWithReasoning(embedding, {
|
|
426
|
+
optimizeMemory: true, // Consolidates similar patterns
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
// Or manually optimize
|
|
430
|
+
await rb.optimize();
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## Learn More
|
|
436
|
+
|
|
437
|
+
- **AgentDB Integration**: node_modules/agentic-flow/docs/AGENTDB_INTEGRATION.md
|
|
438
|
+
- **GitHub**: https://github.com/ruvnet/agentic-flow/tree/main/packages/agentdb
|
|
439
|
+
- **MCP Integration**: `npx agentdb@latest mcp`
|
|
440
|
+
- **Website**: https://agentdb.ruv.io
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
444
|
+
**Category**: Machine Learning / Reinforcement Learning
|
|
445
|
+
**Difficulty**: Intermediate
|
|
446
|
+
**Estimated Time**: 20-30 minutes
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "ReasoningBank Intelligence"
|
|
3
|
+
description: "Implement adaptive learning with ReasoningBank for pattern recognition, strategy optimization, and continuous improvement. Use when building self-learning agents, optimizing workflows, or implementing meta-cognitive systems."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# ReasoningBank Intelligence
|
|
7
|
+
|
|
8
|
+
## What This Skill Does
|
|
9
|
+
|
|
10
|
+
Implements ReasoningBank's adaptive learning system for AI agents to learn from experience, recognize patterns, and optimize strategies over time. Enables meta-cognitive capabilities and continuous improvement.
|
|
11
|
+
|
|
12
|
+
## Prerequisites
|
|
13
|
+
|
|
14
|
+
- agentic-flow v1.5.11+
|
|
15
|
+
- AgentDB v1.0.4+ (for persistence)
|
|
16
|
+
- Node.js 18+
|
|
17
|
+
|
|
18
|
+
## Quick Start
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
import { ReasoningBank } from 'agentic-flow/reasoningbank';
|
|
22
|
+
|
|
23
|
+
// Initialize ReasoningBank
|
|
24
|
+
const rb = new ReasoningBank({
|
|
25
|
+
persist: true,
|
|
26
|
+
learningRate: 0.1,
|
|
27
|
+
adapter: 'agentdb' // Use AgentDB for storage
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Record task outcome
|
|
31
|
+
await rb.recordExperience({
|
|
32
|
+
task: 'code_review',
|
|
33
|
+
approach: 'static_analysis_first',
|
|
34
|
+
outcome: {
|
|
35
|
+
success: true,
|
|
36
|
+
metrics: {
|
|
37
|
+
bugs_found: 5,
|
|
38
|
+
time_taken: 120,
|
|
39
|
+
false_positives: 1
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
context: {
|
|
43
|
+
language: 'typescript',
|
|
44
|
+
complexity: 'medium'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// Get optimal strategy
|
|
49
|
+
const strategy = await rb.recommendStrategy('code_review', {
|
|
50
|
+
language: 'typescript',
|
|
51
|
+
complexity: 'high'
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Core Features
|
|
56
|
+
|
|
57
|
+
### 1. Pattern Recognition
|
|
58
|
+
```typescript
|
|
59
|
+
// Learn patterns from data
|
|
60
|
+
await rb.learnPattern({
|
|
61
|
+
pattern: 'api_errors_increase_after_deploy',
|
|
62
|
+
triggers: ['deployment', 'traffic_spike'],
|
|
63
|
+
actions: ['rollback', 'scale_up'],
|
|
64
|
+
confidence: 0.85
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
// Match patterns
|
|
68
|
+
const matches = await rb.matchPatterns(currentSituation);
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. Strategy Optimization
|
|
72
|
+
```typescript
|
|
73
|
+
// Compare strategies
|
|
74
|
+
const comparison = await rb.compareStrategies('bug_fixing', [
|
|
75
|
+
'tdd_approach',
|
|
76
|
+
'debug_first',
|
|
77
|
+
'reproduce_then_fix'
|
|
78
|
+
]);
|
|
79
|
+
|
|
80
|
+
// Get best strategy
|
|
81
|
+
const best = comparison.strategies[0];
|
|
82
|
+
console.log(`Best: ${best.name} (score: ${best.score})`);
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 3. Continuous Learning
|
|
86
|
+
```typescript
|
|
87
|
+
// Enable auto-learning from all tasks
|
|
88
|
+
await rb.enableAutoLearning({
|
|
89
|
+
threshold: 0.7, // Only learn from high-confidence outcomes
|
|
90
|
+
updateFrequency: 100 // Update models every 100 experiences
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Advanced Usage
|
|
95
|
+
|
|
96
|
+
### Meta-Learning
|
|
97
|
+
```typescript
|
|
98
|
+
// Learn about learning
|
|
99
|
+
await rb.metaLearn({
|
|
100
|
+
observation: 'parallel_execution_faster_for_independent_tasks',
|
|
101
|
+
confidence: 0.95,
|
|
102
|
+
applicability: {
|
|
103
|
+
task_types: ['batch_processing', 'data_transformation'],
|
|
104
|
+
conditions: ['tasks_independent', 'io_bound']
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Transfer Learning
|
|
110
|
+
```typescript
|
|
111
|
+
// Apply knowledge from one domain to another
|
|
112
|
+
await rb.transferKnowledge({
|
|
113
|
+
from: 'code_review_javascript',
|
|
114
|
+
to: 'code_review_typescript',
|
|
115
|
+
similarity: 0.8
|
|
116
|
+
});
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Adaptive Agents
|
|
120
|
+
```typescript
|
|
121
|
+
// Create self-improving agent
|
|
122
|
+
class AdaptiveAgent {
|
|
123
|
+
async execute(task: Task) {
|
|
124
|
+
// Get optimal strategy
|
|
125
|
+
const strategy = await rb.recommendStrategy(task.type, task.context);
|
|
126
|
+
|
|
127
|
+
// Execute with strategy
|
|
128
|
+
const result = await this.executeWithStrategy(task, strategy);
|
|
129
|
+
|
|
130
|
+
// Learn from outcome
|
|
131
|
+
await rb.recordExperience({
|
|
132
|
+
task: task.type,
|
|
133
|
+
approach: strategy.name,
|
|
134
|
+
outcome: result,
|
|
135
|
+
context: task.context
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Integration with AgentDB
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
// Persist ReasoningBank data
|
|
147
|
+
await rb.configure({
|
|
148
|
+
storage: {
|
|
149
|
+
type: 'agentdb',
|
|
150
|
+
options: {
|
|
151
|
+
database: './reasoning-bank.db',
|
|
152
|
+
enableVectorSearch: true
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// Query learned patterns
|
|
158
|
+
const patterns = await rb.query({
|
|
159
|
+
category: 'optimization',
|
|
160
|
+
minConfidence: 0.8,
|
|
161
|
+
timeRange: { last: '30d' }
|
|
162
|
+
});
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## Performance Metrics
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
// Track learning effectiveness
|
|
169
|
+
const metrics = await rb.getMetrics();
|
|
170
|
+
console.log(`
|
|
171
|
+
Total Experiences: ${metrics.totalExperiences}
|
|
172
|
+
Patterns Learned: ${metrics.patternsLearned}
|
|
173
|
+
Strategy Success Rate: ${metrics.strategySuccessRate}
|
|
174
|
+
Improvement Over Time: ${metrics.improvement}
|
|
175
|
+
`);
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
## Best Practices
|
|
179
|
+
|
|
180
|
+
1. **Record consistently**: Log all task outcomes, not just successes
|
|
181
|
+
2. **Provide context**: Rich context improves pattern matching
|
|
182
|
+
3. **Set thresholds**: Filter low-confidence learnings
|
|
183
|
+
4. **Review periodically**: Audit learned patterns for quality
|
|
184
|
+
5. **Use vector search**: Enable semantic pattern matching
|
|
185
|
+
|
|
186
|
+
## Troubleshooting
|
|
187
|
+
|
|
188
|
+
### Issue: Poor recommendations
|
|
189
|
+
**Solution**: Ensure sufficient training data (100+ experiences per task type)
|
|
190
|
+
|
|
191
|
+
### Issue: Slow pattern matching
|
|
192
|
+
**Solution**: Enable vector indexing in AgentDB
|
|
193
|
+
|
|
194
|
+
### Issue: Memory growing large
|
|
195
|
+
**Solution**: Set TTL for old experiences or enable pruning
|
|
196
|
+
|
|
197
|
+
## Learn More
|
|
198
|
+
|
|
199
|
+
- ReasoningBank Guide: agentic-flow/src/reasoningbank/README.md
|
|
200
|
+
- AgentDB Integration: packages/agentdb/docs/reasoningbank.md
|
|
201
|
+
- Pattern Learning: docs/reasoning/patterns.md
|