A3S Memory
Relevance Scoring
How memories are ranked — importance, recency decay, and RelevanceConfig
Relevance Scoring
When searching or injecting memories into context, each item is scored by combining importance and recency:
score = importance × importance_weight + exp(−age_days / decay_days) × recency_weightRelevanceConfig
Prop
Type
use a3s_memory::{MemoryItem, RelevanceConfig};
let config = RelevanceConfig {
decay_days: 7.0,
importance_weight: 0.9,
recency_weight: 0.1,
};
let score = item.relevance_score_at(chrono::Utc::now(), &config);relevance_score() is a convenience method that uses RelevanceConfig::default().
Decay behavior
Prop
Type
A high-importance item (importance = 1.0) with default weights scores:
- Fresh:
0.7 × 1.0 + 0.3 × 1.0 = 1.0 - After 90 days:
0.7 × 1.0 + 0.3 × 0.05 ≈ 0.72
A low-importance item (importance = 0.1) decays much faster in practice because the importance floor is low.
Tuning guidance
Prop
Type