Pamięć epizodyczna (historia sesji)
Dzienniki poszczególnych rozmów opisujące to, co się wydarzyło, indeksowane według czasu i identyfikatora sesji.
Pamięć epizodyczna (historia sesji) to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Trzy rodzaje pamięci
Zainspirowana naukami kognitywnymi pamięć agenta jest zwykle dzielona na trzy rodzaje:
- Epizodyczna — co się wydarzyło (ta rozmowa, sesja z ubiegłego tygodnia)
- Semantyczna — fakty dotyczące świata / użytkownika
- Proceduralna — umiejętności (sekwencje zakończonych powodzeniem działań)
Ta lekcja dotyczy pamięci epizodycznej.
Czym jest pamięć epizodyczna
Pamięć epizodyczna przechowuje konkretne zdarzenia wraz ze znacznikami czasu i kontekstem. W przypadku agenta jest to dziennik rozmowy z danej sesji.
To najbardziej podstawowa forma pamięci i najłatwiejsza do zbudowania.
Model danych
Jeden wiersz na turę lub sesję:
CREATE TABLE episodes (
id BIGSERIAL PRIMARY KEY,
user_id TEXT NOT NULL,
session_id TEXT NOT NULL,
role TEXT NOT NULL, -- system/user/assistant/tool
content TEXT NOT NULL,
created_at TIMESTAMPTZ DEFAULT NOW(),
metadata JSONB
);Saving Each Turn
def save_turn(user_id, session_id, role, content, metadata=None):
conn.execute('''
INSERT INTO episodes (user_id, session_id, role, content, metadata)
VALUES (%s, %s, %s, %s, %s::jsonb)
''', (user_id, session_id, role, content, json.dumps(metadata or {})))Loading a Session
def load_session(session_id):
rows = conn.execute('SELECT role, content FROM episodes WHERE session_id = %s ORDER BY id', (session_id,))
return [{'role': r[0], 'content': r[1]} for r in rows]Historia wielu sesji
Czasami potrzebny jest kontekst z poprzednich sesji tego samego użytkownika — na przykład „o co Alice pytała wczoraj?”:
def recent_sessions(user_id, n=5):
rows = conn.execute('''
SELECT DISTINCT session_id, MIN(created_at) AS started
FROM episodes WHERE user_id = %s
GROUP BY session_id ORDER BY started DESC LIMIT %s
''', (user_id, n))
return [r[0] for r in rows]Tworzenie embeddingów poprzednich sesji
Aby wyszukiwać poprzednie epizody według tematu, należy utworzyć embedding podsumowania każdej sesji:
def index_session(session_id):
summary = summarise(load_session(session_id))
vec = embed(summary)
save_to_vector_db(session_id, vec, summary)Wyszukiwanie epizodyczne
Gdy użytkownik pyta „o czym rozmawialiśmy w zeszłym tygodniu w sprawie cen?”, należy wyszukać informacje na podstawie embeddingu:
def search_episodes(user_id, query):
qvec = embed(query)
candidates = vector_db.query(qvec, k=10, filter={'user_id': user_id})
return [load_session(c.id) for c in candidates]Prywatność i przechowywanie danych
Dzienniki epizodyczne zawierają dużo danych osobowych. Należy stosować:
- szyfrowanie danych w spoczynku
- usuwanie danych użytkownika po zamknięciu konta
- automatyczne usuwanie po N dniach
- maskowanie lub pseudonimizację przed użyciem danych do celów analitycznych
Kompaktowanie starych epizodów
Należy przechowywać ostatnie tury w niezmienionej postaci, a starsze kompaktować do podsumowań:
if session_age_days > 30:
summary = summarise(load_session(sid))
conn.execute('UPDATE episodes SET content = %s WHERE session_id = %s', (summary, sid))
conn.execute('DELETE FROM episodes WHERE session_id = %s AND created_at < NOW() - INTERVAL \'1 day\'', (sid,))Pamięć epizodyczna a kontekst krótkoterminowy
Krótkoterminowa = bieżąca lista wiadomości (to, co model widzi w tej chwili). Epizodyczna = baza danych — przeszukiwalna, trwała i większa.
Łączenie pamięci epizodycznej z innymi rodzajami pamięci
Z epizodu można wyodrębnić:
- fakty semantyczne („użytkownik preferuje stopnie Celsjusza”)
- umiejętności proceduralne (sekwencję wywołań narzędzi, która zadziałała)
Informacje te zasilają dwa pozostałe rodzaje pamięci.
Odtwarzanie na potrzeby ewaluacji
Należy zapisywać surowe epizody, aby można było je odtwarzać. Po zmianie agenta należy ponownie uruchomić stare epizody i sprawdzić, czy nowy wynik nadal jest poprawny.
Czym jest pamięć epizodyczna
Co przechowuje pamięć epizodyczna?
Podsumowanie
Pamięć epizodyczna = opatrzone znacznikami czasu dzienniki sesji w bazie danych. Można je wyszukiwać według użytkownika, sesji lub embeddingu. Należy kompaktować starsze epizody. Należy przekazywać je do pamięci semantycznej i proceduralnej.
Często zadawane pytania
Czy lekcja „Pamięć epizodyczna (historia sesji)” jest bezpłatna?
Tak — pełny tekst „Pamięć epizodyczna (historia sesji)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.
Co nauczysz się w „Pamięć epizodyczna (historia sesji)”?
Dzienniki poszczególnych rozmów opisujące to, co się wydarzyło, indeksowane według czasu i identyfikatora sesji. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents?
Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Pamięć epizodyczna (historia sesji)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?
Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Pamięć epizodyczna (historia sesji)
- Pamięć semantyczna (zwektoryzowane fakty)
- Pamięć proceduralna (biblioteka umiejętności)
- Wygasanie pamięci i garbage collection