Hoppa till innehållet
AI-grafen
F· AI engineeringminnessystem· ca 90 min· volatil — kontrolleras ofta· verifierad 2026-09-20

Utvärdering av minnessystem

Kunna designa tester som mäter om minnet förbättrar agenten över sessioner.

Förkunskaper

Intuition

Att ett minnessystem finns betyder inte att det hjälper. Utvärderingen måste svara på tre frågor:

  1. Hittar systemet rätt minne? (retrieval) — probefrågor om saker som sagts i tidigare sessioner.
  2. Använder agenten minnet? (nytta) — samma uppgift med och utan minne, mät skillnaden i resultat och i antal frågor agenten måste ställa.
  3. Skadar minnet? (risk) — falska minnen, inaktuella fakta som används som aktuella, och förväxling mellan användare.

Den tredje glöms nästan alltid, och är den som gör mest skada i produktion.

Kod

import numpy as np

def utvardera_minne(agent_med, agent_utan, profiler, n_sessioner=20, rng=None):
    rng = rng or np.random.default_rng(0)
    matt = {"nytta": [], "probe_recall": [], "falska_minnen": [], "forvaxling": []}
    for p in profiler:
        res_med  = kor_serie(agent_med, p, n_sessioner)
        res_utan = kor_serie(agent_utan, p, n_sessioner)
        matt["nytta"].append(res_med["framgang"].mean() - res_utan["framgang"].mean())

        # 1. Probe: fakta som SAGTS i en tidigare session
        sagt = p.fakta_sagda()
        matt["probe_recall"].append(np.mean([agent_med.minns(f) for f in sagt]))

        # 2. Falska minnen: fakta som ALDRIG sagts — agenten ska svara nej
        aldrig = p.fakta_aldrig_sagda()
        matt["falska_minnen"].append(np.mean([agent_med.minns(f) for f in aldrig]))

        # 3. Förväxling: fakta från en ANNAN användare
        annan = rng.choice([q for q in profiler if q is not p]).fakta_sagda()
        matt["forvaxling"].append(np.mean([agent_med.minns(f) for f in annan]))
    return {k: float(np.mean(v)) for k, v in matt.items()}

# Godkänt: nytta > 0 med marginal, probe_recall hög,
# falska_minnen ≈ 0, forvaxling == 0 (inte «lågt» — noll).

Förväxling mellan användare är en integritetsincident, inte ett kvalitetsmått. Måttet ska vara exakt 0, och testet ska köras i CI. Det är billigt att testa och katastrofalt att missa.

Behärskning innebär

  • Designar tester som mäter minnets nytta över sessioner
  • Mäter skador: falska minnen och förväxling
  • Använder kontroll utan minne

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser