Hoppa till innehållet
AI-grafen
F· AI engineeringProjekt· ca 180 min· container

Projekt 5: Bygg ett minnessystem för en agent

Episodiskt minne (händelser med tid), semantiskt minne (konsoliderade fakta med källa och tidsstämpel), retrieval för en fråga, hantering av motsägelser, och en långtidsevaluering över scripted sessioner som visar att agenten blir bättre av minnet.

Lär ut: minnessystem-semantiskt · Kräver: minnessystem-episodisktbm25-och-nyckelordssokagenter

Teori

Episoder är rådata om vad som hände. Semantiska fakta destilleras ur episoder (nyckel → värde) och senaste källan vinner vid konflikt. Retrieval ger de mest relevanta episoderna + fakta. Långtidsevaluering: ställ frågor i session N om saker som sades i session < N.

Deluppgifter

  1. episodiskt minne — `Memory.remember(session, text)` lagrar episod med löpnummer; `Memory.recall(query, k)` → k mest relevanta episoder (BM25 eller ordöverlapp).
  2. konsolidering — `Memory.consolidate()` extraherar fakta 'X är Y' / 'jag gillar Y' / 'mitt namn är Y' → `facts` med (värde, session, episod-id); nyare ersätter äldre.
  3. svara med minne — `Memory.answer(question)` → sträng ur fakta eller bästa episod; 'vet inte' annars.
  4. glömska + integritet — `Memory.forget(session)` raderar episoder och fakta från en session (rätten att bli glömd).

Evals: langtid (accuracy_with_memory >= 0.8)

Logga in för att köra laborationen.

Förväntade resultat

Med minne ≥ 80 % rätt på frågor om tidigare sessioner; utan minne ≈ 0. Motsägelse (favoritfärg ändras) löses till senaste. forget(2) gör att session 2:s fakta försvinner.

Vanliga fel

  • Konsolidering skriver över med äldre fakta (fel ordning).
  • Retrieval returnerar episoder från raderade sessioner.
  • 'vet inte' saknas → hittar på.