Przejdź do treści

Caching (pamięć podręczna)

Definicja

Caching to zapisywanie wyników (np. odpowiedzi, embeddingów, fragmentów retrieval), żeby przy kolejnym podobnym pytaniu nie liczyć wszystkiego od zera.

Co to w zasadzie jest?

To jak „zapamiętanie raz znalezionej odpowiedzi”, żeby nie szukać jej ponownie. Daje:

  • szybciej (mniejsze opóźnienia),
  • taniej (mniej tokenów/wywołań),
  • stabilniej (mniej losowości).

W AI cache może dotyczyć:

  • wyników wyszukiwania,
  • embeddingów,
  • odpowiedzi na powtarzalne pytania,
  • pośrednich kroków w agentach.

Praktyczne zastosowania (konkretne scenariusze)

Scenariusz 1: FAQ

  • Cel: „Jak działa RAG?” — cache gotowej, zaakceptowanej odpowiedzi.
  • Wejście: powtarzalne pytanie albo kosztowny wynik.
  • Kroki: zapisz wynik -> sprawdź cache -> odśwież po czasie.
  • Rezultat: szybsza i tańsza odpowiedź.
  • Zabezpieczenie: czas ważności i czyszczenie cache.

Scenariusz 2: RAG

  • Cel: cache embeddingów dokumentów, żeby nie przeliczać po każdej zmianie.
  • Wejście: powtarzalne pytanie albo kosztowny wynik.
  • Kroki: zapisz wynik -> sprawdź cache -> odśwież po czasie.
  • Rezultat: szybsza i tańsza odpowiedź.
  • Zabezpieczenie: czas ważności i czyszczenie cache.

Scenariusz 3: Agent

  • Cel: cache wyników „lista plików w folderze”, jeśli folder się nie zmienia.
  • Wejście: powtarzalne pytanie albo kosztowny wynik.
  • Kroki: zapisz wynik -> sprawdź cache -> odśwież po czasie.
  • Rezultat: szybsza i tańsza odpowiedź.
  • Zabezpieczenie: czas ważności i czyszczenie cache.

Ryzyka i jak je ograniczać

Ryzyko 1: Przestarzałe odpowiedzi

  • Ryzyko: przestarzałe odpowiedzi.
  • Jak ograniczać: TTL (czas ważności) + czyszczenie cache po aktualizacji źródeł.

Ryzyko 2: Cache zawiera dane wrażliwe

  • Ryzyko: cache zawiera dane wrażliwe.
  • Jak ograniczać: szyfrowanie, minimalizacja danych, separacja per tenant.

Ryzyko 3: „mieszanie” użytkowników (cross-tenant)

  • Ryzyko: „mieszanie” użytkowników (cross-tenant).
  • Jak ograniczać: klucze cache uwzględniające tenant i uprawnienia.

Mapa powiązań

  • Tenant → cache musi być odseparowany.
  • Token → cache pomaga ograniczać koszty tokenów.
  • RAG / Embedding → cache embeddingów i wyników.
  • DLP → dane w cache też podlegają ochronie.
  • Mini-przepływ: Zapytanie → (cache hit?) → odpowiedź / oblicz i zapisz

Diagram

flowchart LR
    A[Zapytanie]
    B[Sprawdź cache]
    C[Cache hit]
    D[Oblicz wynik]
    E[Zapisz i zwróć]
    A --> B
    B --> C
    B --> D --> E

Diagram pokazuje, że system najpierw sprawdza zapisany wynik, a dopiero gdy go nie ma, liczy odpowiedź od zera.