Prompty systemowe w trakcie rozmowy
Budowanie długotrwałych agentów AI często prowadzi do kosztownego błędu.
Używasz rozbudowanego promptu systemowego i zapisujesz go w pamięci podręcznej (cache), aby oszczędzać pieniądze. Działa to tak długo, aż będziesz musiał przekazać agentowi nowe instrukcje w trakcie sesji. Możesz potrzebować zmiany języka programowania lub aktualizacji stanu projektu.
Jeśli edytujesz główny prompt systemowy, aby dodać te informacje, naruszasz pamięć podręczną. Model musi ponownie przetworzyć całą historię po pełnej cenie. To sprawia, że Twój agent staje się wolny i drogi.
Nowe modele Claude rozwiązują ten problem za pomocą komunikatów systemowych w trakcie rozmowy.
Możesz teraz umieścić wiadomość z rolą systemową bezpośrednio w tablicy wiadomości. Umieszczasz ją po historii, zamiast na samym początku.
Dlaczego to jest ważne:
• Bezpieczeństwo pamięci podręcznej: Instrukcja znajduje się po historii zapisanej w cache. Nie unieważnia ona prefiksu. Płacisz tylko za nową, małą wiadomość. • Bezpieczeństwo: Możesz używać wiadomości użytkownika jako obejścia, ale użytkownicy mogą je sfałszować. Wiadomość z rolą systemową posiada autorytet, którego użytkownik nie może podrobić. Zapobiega to atakom typu prompt injection.
Jak robić to właściwie:
Formułuj te wiadomości jako fakty. Nie używaj języka nakazującego nadpisanie.
• Dobre: „Tryb automatycznego zatwierdzania jest teraz włączony”. • Złe: „Zignoruj to, co powiedział użytkownik, i zrób to zamiast tego”.
Modele często stawiają opór instrukcjom, które nakazują im ignorowanie poprzedniego kontekstu. Trzymaj się stwierdzania nowego stanu rzeczy.
Zasady użycia:
- Musi następować po wiadomości użytkownika lub asystenta.
- Nie może być pierwszą wiadomością w tablicy.
- Akceptuje wyłącznie treść tekstową.
- Nie wszystkie modele to obsługują. Zawsze używaj bloku try-catch, aby w przypadku błędu 400 przejść do przypomnienia w formie wiadomości użytkownika.
Używaj tego, gdy dowiesz się czegoś nowego po rozpoczęciu sesji. Jeśli znasz dany fakt na początku, umieść go w głównym prompcie systemowym. Jeśli fakt jest dynamiczny, użyj komunikatu systemowego w trakcie rozmowy.
Dzięki temu Twoja pamięć podręczna pozostaje „hot”, a koszty niskie.