0Pricing
AI Agents · Lekcja

Buforowanie promptów i wyników (Anthropic, Vertex)

Buforowanie promptów w Anthropic i Vertex zmniejsza koszt danych wejściowych dziesięciokrotnie przy długich, powtarzających się promptach systemowych.

Buforowanie promptów i wyników (Anthropic, Vertex) to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 3 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.

Dlaczego używać cache?

Wiele wywołań agenta jest niemal identycznych: ten sam prompt systemowy, te same przykłady few-shot, ale inne dane wejściowe użytkownika. Bez cache przy każdym wywołaniu statyczne części są przetwarzane ponownie.

Cache może zmniejszyć koszt tokenów wejściowych dziesięciokrotnie.

Dwa rodzaje cache

  1. Cache promptów po stronie serwera — dostawca przechowuje stan KV modelu dla powtarzających się prefiksów
  2. Cache wyników po stronie klienta — kod przechowuje pełne odpowiedzi dla identycznych danych wejściowych

Cache promptów Anthropic

Proszę oznaczać części możliwe do zapisania w cache za pomocą cache_control:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    system=[
        {'type': 'text', 'text': LONG_SYSTEM_PROMPT, 'cache_control': {'type': 'ephemeral'}}
    ],
    messages=[{'role': 'user', 'content': user_input}]
)
# 1st call: full price
# 2nd call within 5min: 10% of input cost

Współczynnik trafień cache

Proszę sprawdzić obiekt usage w odpowiedzi:

response.usage.cache_creation_input_tokens   # tokens cached this call
response.usage.cache_read_input_tokens       # tokens read from cache

Co zapisywać w cache

  • Prompty systemowe zawierające ponad 1 tys. tokenów
  • Definicje narzędzi
  • Przykłady few-shot
  • Kontekst RAG współdzielony między zapytaniami — rzadko

Gdzie umieszczać znaczniki cache

Instrukcja cache_control musi znajdować się w OSTATNIM statycznym bloku. Wszystko przed znacznikiem jest zapisywane w cache. Stabilną treść należy umieścić na początku, a zmienną — na końcu.

Cache promptów OpenAI

OpenAI automatycznie zapisuje w cache prompty zawierające ponad 1024 tokeny. Nie jest potrzebny jawny znacznik:

# Just send the same prefix repeatedly. Cache discount applies automatically.
# Check response.usage.prompt_tokens_details.cached_tokens

Cache kontekstu w Vertex AI

Google Vertex wymaga jawnego utworzenia obiektu cache:

from vertexai.generative_models import GenerativeModel, content_cache

cache = content_cache.CachedContent.create(
    model='gemini-1.5-pro',
    contents=[long_system_content],
    ttl=300
)
model = GenerativeModel.from_cached_content(cache)
response = model.generate_content(user_input)

Cache wyników po stronie klienta

W przypadku zapytań o dokładnie dopasowanej treści, czyli takich, dla których te same dane wejściowe powinny dać ten sam wynik, należy użyć cache klucz-wartość:

import hashlib

def cache_key(model, messages):
    return hashlib.sha256(f'{model}:{json.dumps(messages)}'.encode()).hexdigest()

def cached_call(model, messages):
    key = cache_key(model, messages)
    if cached := redis.get(key):
        return json.loads(cached)
    result = real_call(model, messages)
    redis.set(key, json.dumps(result), ex=3600)
    return result

Cache semantyczny

Proszę używać embeddingów do zapisywania w cache podobnych, ale nieidentycznych zapytań:

qvec = embed(query)
matches = vector_db.query(qvec, k=1)
if matches and matches[0].score > 0.95:
    return matches[0].metadata['cached_response']

Unieważnianie cache

Nieaktualny cache zwraca błędne odpowiedzi. Możliwe strategie:

  • TTL — krótki w przypadku danych zależnych od czasu
  • Ręczne unieważnianie po aktualizacji danych
  • Klucze przypisane do użytkowników, aby aktualizacje wpływały tylko na jednego użytkownika

Nie zapisuj spersonalizowanych odpowiedzi w cache

„Jakie jest moje saldo?” nie może być zapisywane we wspólnym cache dla różnych użytkowników. Należy zachować ostrożność przy korzystaniu ze współdzielonego cache w systemach wielodzierżawnych.

Koszt cache a koszt LLM

Koszty Redis są znikome w porównaniu z kosztami LLM. Proszę używać cache bez obaw — nawet 10% trafień przynosi realne oszczędności.

Oszczędności w praktyce

Przy długich, współdzielonych promptach systemowych i cache promptów zespoły regularnie obserwują w produkcji spadek kosztu tokenów wejściowych o 50–90%. To jedna z optymalizacji zapewniających najwyższy zwrot z inwestycji.

Włączanie cache w Anthropic

Jak włączyć cache promptów w Anthropic?

Podsumowanie

Cache promptów po stronie serwera dla statycznych prefiksów, kliencki cache KV dla dokładnie dopasowanych zapytań oraz cache semantyczny dla dopasowania przybliżonego. Należy zawsze sprawdzać współczynniki trafień i oszczędności.

Często zadawane pytania

Czy lekcja „Buforowanie promptów i wyników (Anthropic, Vertex)” jest bezpłatna?

Tak — pełny tekst „Buforowanie promptów i wyników (Anthropic, Vertex)” 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 „Buforowanie promptów i wyników (Anthropic, Vertex)”?

Buforowanie promptów w Anthropic i Vertex zmniejsza koszt danych wejściowych dziesięciokrotnie przy długich, powtarzających się promptach systemowych. Ć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 3 z 4.

Ile czasu zajmuje lekcja „Buforowanie promptów i wyników (Anthropic, Vertex)”?

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. Budżety tokenów na krok
  2. Routing modeli (tani -> drogi)
  3. Buforowanie promptów i wyników (Anthropic, Vertex)
  4. Kwantyzacja i dekodowanie spekulatywne
← Powrót do AI Agents