AI Agents · Lekcja

Proste magazyny pamięci (klucz-wartość)

Zapisuj fakty wspomniane przez użytkownika (imię, preferencje) w magazynie klucz-wartość i dodawaj je do promptu systemowego przy każdej turze.

Lekcja 4 z 414 kroki

Proste magazyny pamięci (klucz-wartość) to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 4 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.

Najtańsza pamięć długotrwała

Zanim sięgniesz po wektorowe bazy danych i embeddingi, rozważ prosty magazyn klucz-wartość. Do przechowywania faktów dotyczących konkretnego użytkownika (imienia, preferencji i ustawień) to wszystko, czego potrzebujesz.

Co przechowywać

Dobrymi kandydatami do pamięci KV są:

  • Imię i język użytkownika
  • Preferencje (jednostki, strefa czasowa, styl wypowiedzi)
  • Stały kontekst (bieżący projekt, bieżący temat)
  • Niedawno używane dane uwierzytelniające narzędzi / tokeny API

Mały magazyn w pamięci

W przypadku prototypu działającego w jednym procesie:

memory = {
    'user_name': 'Alice',
    'units': 'celsius',
    'language': 'tr'
}

def remember(key, value):
    memory[key] = value

def recall(key, default=None):
    return memory.get(key, default)

remember('city', 'Istanbul')
print("Recalled user_name:", recall('user_name'))
print("Recalled city:", recall('city'))
print("Recalled missing key:", recall('country', 'unknown'))

Wstrzykiwanie do promptu systemowego

W każdej turze renderuj magazyn KV w prompcie systemowym:

def build_system_prompt(user_id):
    facts = load_facts(user_id)
    rendered = '\n'.join(f'- {k}: {v}' for k, v in facts.items())
    return f'''
You are AssistantBot.

Known facts about this user:
{rendered}

Use these to personalise replies.
'''

Użyj Redis dla wielu użytkowników

W przypadku agenta produkcyjnego użyj Redis:

import redis
r = redis.Redis()

def remember(user_id, key, value):
    r.hset(f'mem:{user_id}', key, json.dumps(value))

def recall_all(user_id):
    raw = r.hgetall(f'mem:{user_id}')
    return {k.decode(): json.loads(v) for k, v in raw.items()}

Albo po prostu Postgres

Postgres również się sprawdzi — jedna kolumna JSON na użytkownika:

CREATE TABLE user_memory (
    user_id TEXT PRIMARY KEY,
    facts JSONB NOT NULL DEFAULT '{}'
);

-- Update one field:
UPDATE user_memory SET facts = facts || '{"units": "celsius"}' WHERE user_id = $1;

Pamięć jako narzędzie

Udostępnij operacje pamięci jako narzędzia, aby sam agent mógł zapisywać informacje w pamięci:

tools = [
    {'name': 'remember', 'description': 'Save a fact about the user', 'parameters': {...}},
    {'name': 'forget', 'description': 'Remove a stored fact', 'parameters': {...}}
]

# The agent can call remember('user_name', 'Alice') itself.
for t in tools:
    print(f"{t['name']}: {t['description']}")

Zapobiegaj rozrostowi pamięci

Ogranicz liczbę przechowywanych kluczy na użytkownika (do 50 lub 100). W przeciwnym razie prompt systemowy będzie rosnąć bez ograniczeń.

TTL i wygasanie

Niektóre wspomnienia są krótkotrwałe. Użyj mechanizmu wygasania w Redis:

r.hset(f'mem:{user_id}', 'last_topic', 'pricing')
r.expire(f'mem:{user_id}', 3600)  # 1 hour

Pamięć edytowana przez użytkownika

Pozwól użytkownikom zobaczyć i edytować to, co agent o nich pamięta — tak działa pamięć ChatGPT. Buduje to zaufanie i zapobiega niezręcznym pomyłkom.

Prywatność: ostrożnie z PII

Przechowywane fakty często zawierają PII. Szyfruj wrażliwe pola w spoczynku, używaj osobnych kluczy szyfrujących dla każdego użytkownika i usuwaj dane po zamknięciu konta.

Od KV do wektorów

KV świetnie nadaje się do faktów ustrukturyzowanych. W przypadku faktów nieustrukturyzowanych („użytkownik preferuje swobodny styl, lubi odniesienia do anime i nie cierpi emoji”) lepszy będzie magazyn wektorowy. Omówimy go w następnym kursie.

Kiedy używać pamięci KV

Do jakiego rodzaju pamięci najlepiej nadaje się zwykły magazyn klucz-wartość?

Podsumowanie

W 90% przypadków użycia osobistego asystenta wystarczy magazyn KV oparty na Redis lub Postgres oraz renderowanie jego zawartości w prompcie systemowym.

Bezpłatny start

Ucz się AI Agents dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
60
Lekcje
239

Często zadawane pytania

Czy lekcja „Proste magazyny pamięci (klucz-wartość)” jest bezpłatna?

Tak — pełny tekst „Proste magazyny pamięci (klucz-wartość)” 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 „Proste magazyny pamięci (klucz-wartość)”?

Zapisuj fakty wspomniane przez użytkownika (imię, preferencje) w magazynie klucz-wartość i dodawaj je do promptu systemowego przy każdej turze. Ć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 4 z 4.

Ile czasu zajmuje lekcja „Proste magazyny pamięci (klucz-wartość)”?

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

  1. Pamięć krótkotrwała w oknie kontekstu
  2. Dlaczego długie konteksty się nie skalują
  3. Streszczanie jako kompresja
  4. Proste magazyny pamięci (klucz-wartość)
← Powrót do AI Agents