agentdb-reinforcement-learning-training
Train AI agents using AgentDB's 9 reinforcement learning algorithms including Q-Learning, DQN, PPO, and Actor-Critic. Build self-learning agents, implement RL training loops with experience replay, and deploy optimized models to production.
DeepseekModel
官方收录技能
质量 优秀 · 78
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=aiskillstore-marketplace-skills-dnyoussef-agentdb-reinforcement-learning-training-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
skill_id when-training-rl-agents-use-agentdb-learning name agentdb-reinforcement-learning-training description Train AI agents using AgentDB's 9 reinforcement learning algorithms including Q-Learning, DQN, PPO, and Actor-Critic. Build self-learning agents, implement RL training loops with experience replay, and deploy optimized models to production. version 1.0.0 category agentdb subcategory machine-learning trigger_pattern when-training-rl-agents agents ["ml-developer","safla-neural","performance-benchmarker"] complexity advanced estimated_duration 6-10 hours prerequisites ["AgentDB basics","Reinforcement learning fundamentals","Neural network knowledge","Python/TypeScript proficiency"] outputs ["Trained RL agents","Learning plugin modules","Performance benchmarks","Deployment pipeline"] validation_criteria ["Training converges successfully","Reward curve shows improvement","Agent passes validation tasks","Benchmarks meet targets"] evidence_based_techniques ["Self-consistency validation","Program-of-thought decomposition","Chain-of-verification","Multi-agent consensus"] metadata {"author":"claude-flow","created":"2025-10-30T00:00:00.000Z","updated":"2025-10-30T00:00:00.000Z","tags":["agentdb","reinforcement-learning","neural-networks","ai-training","q-learning"]} AgentDB Reinforcement Learning Training Overview Train AI learning plugins with AgentDB's 9 reinforcement learning algorithms including Decision Transformer, Q-Learning, SARSA, Actor-Critic, PPO, and more. Build self-learning agents, implement RL, and optimize agent behavior through experience. When to Use This Skill Use this skill when you need to: Train autonomous agents that learn from experience Implement reinforcement learning systems Optimize agent behavior through trial and error Build self-improving AI systems Deploy RL agents in production environments Benchmark and compare RL algorithms Available RL Algorithms Q-Learning - Value-based, off-policy SARSA - Value-based, on-policy Deep Q-Network (DQN) - Deep RL with experience replay Actor-Critic - Policy gradient with value baseline Proximal Policy Optimization (PPO) - Trust region policy optimization Decision Transformer - Offline RL with transformers Advantage Actor-Critic (A2C) - Synchronous advantage estimation Twin Delayed DDPG (TD3) - Continuous control Soft Actor-Critic (SAC) - Maximum entropy RL SOP Framework: 5-Phase RL Training Deployment Phase 1: Initialize Learning Environment (1-2 hours) Objective: Setup AgentDB learning infrastructure with environment configuration Agent: ml-developer Steps: Install AgentDB Learning Module npm install agentdb-learning@latest npm install @agentdb/rl-algorithms @agentdb/environments Initialize learning database import { AgentDB , LearningPlugin } from 'agentdb-learning' ; const learningDB = new AgentDB ({ name : 'rl-training-db' , dimensions : 512 , // State embedding dimension learning : { enabled : true , persistExperience : true , replayBufferSize : 100000 } }); await learningDB. initialize (); // Create learning plugin const learningPlugin = new LearningPlugin ({ database : learningDB, algorithms : [ 'q-learning' , 'dqn' , 'ppo' , 'actor-critic' ], config : { batchSize : 64 , learningRate : 0.001 , discountFactor : 0.99 , explorationRate : 1.0 , explorationDecay : 0.995 } }); await learningPlugin. initialize (); Define environment import { Environment } from '@agentdb/environments' ; const environment = new Environment ({ name : 'grid-world' , stateSpace : { type : 'continuous' , shape : [ 10 , 10 ], bounds : [[ 0 , 10 ], [ 0 , 10 ]] }, actionSpace : { type : 'discrete' , actions : [ 'up' , 'down' , 'left' , 'right' ] }, rewardFunction : ( state, action, nextState ) => { // Distance to goal reward const goalDistance = Math . sqrt ( Math . pow (nextState[ 0 ] - 9 , 2 ) + Math . pow (nextState[ 1 ] - 9 , 2 ) ); return -goalDistance + (goalDistance === 0 ? 100 : 0 ); }, terminalCondition : ( state ) => { return state[ 0 ] === 9 && state[ 1 ] === 9 ; // Reached goal } }); await environment. initialize (); Setup monitoring const monitor = learningPlugin. createMonitor ({ metrics : [ 'reward' , 'loss' , 'exploration-rate' , 'episode-length' ], logInterval : 100 , // Log every 100 episodes saveCheckpoints : true , checkpointInterval : 1000 }); monitor. on ( 'episode-complete' , ( episode ) => { console . log ( 'Episode:' , episode. number , 'Reward:' , episode. totalReward ); }); Memory Pattern: await agentDB. memory . store ( 'agentdb/learning/environment' , { name : environment. name , stateSpace : environment. stateSpace , actionSpace : environment. actionSpace , initialized : Date . now () }); Validation: Learning database initialized Environment configured and tested Monitor capturing metrics Configuration stored in memory Phase 2: Configure RL Algorithm (1-2 hours) Objective: Select and configure RL algorithm for the learning task Agent: ml-developer Steps: Select algorithm // Example: Deep Q-Network (DQN) const dqnAgent = learningPlugin. createAgent ({ algorithm : 'dqn' , config : { networkArchitecture : { layers : [ { type : 'dense' , units : 128 , activation : 'relu' }, { type : 'dense' , units : 128 , activation : 'relu' }, { type : 'dense' , units : environment. actionSpace . size , activation : 'linear' } ] }, learningRate : 0.001 , batchSize : 64 , replayBuffer : { size : 100000 , prioritized : true , alpha : 0.6 , beta : 0.4 }, targetNetwork : { updateFrequency : 1000 , tauSync : 0.001 // Soft update }, exploration : { initial : 1.0 , final : 0.01 , decay : 0.995 }, training : { startAfter : 1000 , // Start training after 1000 experiences updateFrequency : 4 } } }); await dqnAgent. initialize (); Configure hyperparameters const hyperparameters = { // Learning parameters learningRate : 0.001 , discountFactor : 0.99 , // Gamma batchSize : 64 , // Exploration epsilonStart : 1.0 , epsilonEnd : 0.01 , epsilonDecay : 0.995 , // Experience replay replayBufferSize : 100000 , minReplaySize : 1000 , prioritizedReplay : true , // Training maxEpisodes : 10000 , maxStepsPerEpisode : 1000 , targetUpdateFrequency : 1000 , // Evaluation evalFrequency : 100 , evalEpisodes : 10 }; dqnAgent. setHyperparameters (hyperparameters); Setup experience replay import { PrioritizedReplayBuffer } from '@agentdb/rl-algorithms' ; const replayBuffer = new PrioritizedReplayBuffer ({ capacity : 100000 , alpha : 0.6 , // Prioritization exponent beta : 0.4 , // Importance sampling betaIncrement : 0.001 , epsilon : 0.01 // Small constant for stability }); dqnAgent. setReplayBuffer (replayBuffer); Configure training loop const trainingConfig = { episodes : 10000 , stepsPerEpisode : 1000 , warmupSteps : 1000 , trainFrequency : 4 , targetUpdateFrequency : 1000 , saveFrequency : 1000 , evalFrequency : 100 , earlyStoppingPatience : 500 , earlyStoppingThreshold : 0.01 }; dqnAgent. setTrainingConfig (trainingConfig); Memory Pattern: await agentDB. memory . store ( 'agentdb/learning/algorithm-config' , { algorithm : 'dqn' , hyperparameters : hyperparameters, trainingConfig : trainingConfig, configured : Date . now () }); Validation: Algorithm selected and configured Hyperparameters validated Replay buffer initialized Training config set Phase 3: Train Agents (3-4 hours) Objective: Execute training iterations and optimize agent behavior Agent: safla-neural Steps: Start training loop async function trainAgent ( ) { console . log ( 'Starting RL training...' ); const trainingStats = { episodes : [], totalReward : [], episodeLength : [], loss : [], explorationRate : [] }; for ( let episode = 0 ; episode < trainingConfig. episodes ; episode++) { let state = await environment. reset (); let episodeReward = 0 ; let episodeLength = 0 ; let episodeLoss = 0 ; for ( let step = 0 ; step < trainingConfig. stepsPerEpisode ; step++) { // Select action const action = await dqnAgent. selectAction (state, { explore : true }); // Execute action const { nextState, reward, done } = await environment. step (action); // Store experience await dqnAgent. storeExperience ({ state, action, reward, nextState, done }); // Train if enough experiences if (dqnAgent. canTrain ()) { const loss = await dqnAgent. train (); episodeLoss += loss; } episodeReward += reward; episodeLength += 1 ; state = nextState; if (done) break ; } // Update target network if (episode % trainingConfig. targetUpdateFrequency === 0 ) { await dqnAgent. updateTargetNetwork (); } // Decay exploration dqnAgent. decayExploration (); // Log progress trainingStats. episodes . push (episode); trainingStats. totalReward . push (episodeReward); trainingStats. episodeLength . push (episodeLength); trainingStats. loss . push (episodeLoss / episodeLength); trainingStats. explorationRate . push (dqnAgent. getExplorationRate ()); if (episode % 100 === 0 ) { console . log ( `Episode ${episode} :` , { reward : episodeReward. toFixed ( 2 ), length : episodeLength, loss : (episodeLoss / episodeLength). toFixed ( 4 ), epsilon : dqnAgent. getExplorationRate (). toFixed ( 3 ) }); } // Save checkpoint if (episode % trainingConfig. saveFrequency === 0 ) { await dqnAgent. save ( `checkpoint- ${episode} ` ); } // Evaluate if (episode % trainingConfig. evalFrequency === 0 ) { const evalReward = await evaluateAgent (dqnAgent, environment); console . log ( `Evaluation at episode ${episode} : ${evalReward.toFixed( 2 )} ` ); } // Early stopping if ( checkEarlyStopping (trainingStats, episode)) { console . log ( 'Early stopping triggered' ); break ; } } return trainingStats; } const trainingStats = await trainAgent (); Monitor training progress monitor. on ( 'training-update' , ( stats ) => { // Calculate moving averages const window = 100 ; const recentRewards = stats. totalReward . slice (- window ); const avgReward = recentRewards. reduce ( ( a, b ) => a + b, 0 ) / recentRewards. length ; // Store metrics agentDB. memory . store ( 'agentdb/learning/training-progress' , { episode : stats. episodes [stats. episodes . length - 1 ], avgReward : avgReward, explorationRate : stats. explorationRate [stats. explorationRate . length - 1 ], timestamp : Date . now () }); // Plot learning curve (if visualization enabled) if (monitor. visualization ) { monitor. plot ( 'reward-curve' , stats. episodes , stats. totalReward ); monitor. plot ( 'loss-curve' , stats. episodes , stats. loss ); } }); Handle convergence function checkConvergence ( stats, windowSize = 100 , threshold = 0.01 ) { if (stats. totalReward . length < windowSize * 2 ) { return false ; } const recent = stats. totalReward . slice (-windowSize); const previous = stats. totalReward . slice (-windowSize * 2 , -windowSize); const recentAvg = recent. reduce ( ( a, b ) => a + b, 0 ) / recent. length ; const previousAvg = previous. reduce ( ( a, b ) => a + b, 0 ) / previous. length ; const improvement = (recentAvg - previousAvg) / Math . abs (previousAvg); return improvement < threshold; } Save trained model await dqnAgent. save ( 'trained-agent-final' , { includeReplayBuffer : false , includeOptimizer : false , metadata : { trainingStats : trainingStats, hyperparameters : hyperparameters, finalReward : trainingStats. totalReward [trainingStats. totalReward . length - 1 ] } }); console . log ( 'Training complete. Model saved.' ); Memory Pattern: await agentDB. memory . store ( 'agentdb/learning/training-results' , { algorithm : 'dqn' , episodes : trainingStats. episodes . length , finalReward : trainingStats. totalReward [trainingStats. totalReward . length - 1 ], converged : checkConvergence (trainingStats), modelPath : 'trained-agent-final' , timestamp : Date . now () }); Validation: Training completed or converged Reward curve shows improvement Model saved successfully Training stats stored Phase 4: Validate Performance (1-2 hours) Objective: Benchmark trained agent and validate performance Agent: performance-benchmarker Steps: Load trained agent const trainedAgent = await learningPlugin. loadAgent ( 'trained-agent-final' ); Run evaluation episodes
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |