Skip to main content

agentdb-feedback

Close the learning loop — record reward signal for an action AgentDB suggested. Use after using anything from agentdb_pattern_search / reflexion_recall / skill_search / learning_route. The bandit needs the signal to improve.

Source facts

Repository
ruvnet/agentdb
Last source activity
May 6, 2026 at 15:22
Detected SKILL.md language
English
Stars
89
Forks
14

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
agentdb-feedback
description
Close the learning loop — record reward signal for an action AgentDB suggested. Use after using anything from agentdb_pattern_search / reflexion_recall / skill_search / learning_route. The bandit needs the signal to improve.
# Feedback Close the loop on a memory or routing decision so AgentDB's bandit learns. ## When to use - **Always** after using a recall result, a routed action, or a skill suggestion. The most-undervalued part of the loop. - After a task ends — record episode-level reward. - When intentionally ignoring a suggestion — record *negative* reward so the bandit notices. ## API ``` agentdb_record_feedback( id: <pattern/skill/episode/decision id> reward: -1..1 context?: { task, outcome, latency, ... } ) agentdb_bandit_update( arm: <bandit arm name> reward: -1..1 ) ``` ## Reward conventions | Outcome | Reward | |---|---| | Used the suggestion, task succeeded | **+1.0** | | Used the suggestion, task partial success | **+0.5** | | Used the suggestion, didn't help | **0.0** | | Used the suggestion, made things worse | **-0.5** | | Ignored the suggestion (other reason) | **-0.1** (mild downweight) | | Rejected as wrong / harmful | **-1.0** | ## Pattern: bracket every recall with feedback ``` const hits = await agentdb_pattern_search(query) for (const h of useful(hits)) { use(h) await agentdb_record_feedback(h.id, +1) } for (const h of skipped(hits)) { await agentdb_record_feedback(h.id, -0.1) } ``` Without negative feedback, the bandit only sees "winners" and exploration starves. ## Don't - Don't aggregate. Per-id feedback is what the bandit consumes; a single "task succeeded" reward attached to the task itself doesn't update individual memory weights. - Don't fabricate reward. Honest 0.0 ("retrieved but didn't help") teaches more than dishonest +1. - Don't only reward — *especially* record negative reward. It's the higher-information signal.
View on GitHub