Hoppa till innehållet
AI-grafen
FAI engineeringMinnessystem· ca 90 min· snabbt föränderligt, källorna kontrolleras ofta· verifierad 2026-09-20

Utvärdering av minnessystem

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

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

Förkunskaper

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

Källor

Alla källor och licenser