Optymalizacja promptu Claude: minus 9,5% tokenów na zbędne frazy
Modele takie jak Claude Sonnet marnują do 11% tokenów wyjściowych na wprowadzające frazy, meta-komentarze i uprzejme zakończenia. Eksperyment na 500 zapytaniach pokazał, jak trzy linijki w system prompt skracają te wydatki bez utraty sensu odpowiedzi.
Testy wykazały 11,3% „śmieci” w odpowiedziach: model zaczynał od „Oczywiście!” lub „Świetne pytanie!”, dodawał wyjaśnienia procesu myślenia i kończył „Mam nadzieję, że pomogło”. W integracjach backend z parsowaniem JSON to zbędne koszty.
Metodologia pomiaru
Zebrano próbkę 500 typowych zadań: klasyfikacja zgłoszeń, wyodrębnianie pól z dokumentów, podsumowania e-maili, odpowiedzi wg regulaminu. Parametry: claude-sonnet-4-5, temperature=0.2, standardowy system prompt.
Skrypt w Pythonie z regexami parsuje wyjścia:
FILLER_PATTERNS = [
r"^(Oczywiście|Bez wątpienia|Naturalnie|Dobrze)[,!.]",
r"^(Świetnie|Świetne pytanie|Znakomicie)[!.]",
r"^(Z przyjemnością|Chętnie)",
r"^(Zacznijmy|Pozwólcie)",
r"(Mam nadzieję,? to (pomogło|pomże))",
r"(Jeśli (macie )?(są|powstaną) (jeszcze )?pytania)",
r"(Dajcie znać,? jeśli)",
]
Ręczna anotacja 50 odpowiedzi potwierdziła dokładność 94%. Reszta to błąd w dół.
Podział „śmieci”:
- Wprowadzające frazy („Oczywiście!”, „Świetnie!”) — 28%
- Meta-komentarze („teraz ja…”) — 34%
- Zakończeniowe frazy („mam nadzieję, że pomogło”) — 22%
- Przeredagowanie pytania — 16%
Ręczne oczyszczanie 100 odpowiedzi nie wpłynęło na istotę.
Optymalizacja system prompt
Oryginalny prompt:
Jesteś asystentem do przetwarzania [Domena]. Odpowiadaj precyzyjnie,
opieraj się tylko na podanym kontekście. Jeśli brak danych —
uczciwie to powiedz.
Dodano:
Format odpowiedzi:
- Żadnych wstępów, pochwał pytania, wyjaśnień „co teraz zrobię”.
- Żadnych końcowych fraz typu „mam nadzieję, że pomogło”.
- Od razu sedno. Jeśli lista — od razu lista. Jeśli liczba — od razu liczba.
Ponowny test 500 zapytań: „śmieci” spadły do 1,8%. Oszczędność — 9,5% tokenów.
Przykład kalkulacji kosztów:
| Zapytań/dzień | Średnia odpowiedź (tokeny) | Oszczędność/miesiąc (zł) |
|---------------|-----------------------------|---------------------------|
| 2000 | 400 | ~4200 |
| 20000 | 400 | ~42000 |
W realnym projekcie — 4730 zł miesięcznie. Plus skrócenie kontekstu w kolejnych krokach.
Ograniczenia i przypadki cofnięcia
Nie wszystkie scenariusze nadają się do obcinania:
- Czat kliencki: Bez uprzejmości odpowiedzi brzmiały szorstko. Satysfakcja spadła — przywrócono.
- Łańcuchy z tool use: Model mylił narzędzia bez meta-opisu planu. Przywrócono dla stabilności.
Zalecenie: stosować w zadaniach zorientowanych na maszynę (JSON, API), zachować w czatach dla użytkowników.
Co ważne
- 11,3% tokenów na „śmieci” w bazowych ustawieniach Claude Sonnet.
- Oszczędność 9,5% po trzech linijkach w prompcie.
- Regexy łapią 94% zbędnego tekstu.
- Obcinanie bezpieczne dla sedna odpowiedzi, ale szkodliwe w łańcuchach tool i czatach UX.
- Dalej — oczyszczanie tokenów wejściowych z preambuł użytkownika.
— Editorial Team
Brak komentarzy.