A3S Docs
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_weight

RelevanceConfig

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

On this page