„Model zna dzisiejszą datę, więc ma dostęp do internetu.” Nie ma. Data została doklejona do kontekstu jako zwykły tekst, zanim model cokolwiek zobaczył.
Czym jest wstrzyknięty kontekst
Wstrzyknięty kontekst to informacje dopisywane do kontekstu automatycznie przez warstwę nad modelem — produkt czatowy, framework agentowy albo twój własny kod — bez udziału i zwykle bez wiedzy użytkownika. Najczęściej: bieżąca data i godzina, strefa czasowa, lokalizacja, język interfejsu, ustawienia konta, a także wyniki wyszukiwania i fragmenty dokumentów.
Dlaczego to ważne rozróżnienie
Model nie ma żadnego dostępu do świata. Wszystko, co wygląda na wiedzę o teraźniejszości, musiało zostać wpisane do kontekstu jako tekst. Nie ma trzeciej możliwości.
Kiedy więc model podaje dzisiejszą datę, nie „sprawdza” jej — odczytuje ją z tekstu, który dostał. Kiedy powołuje się na stronę internetową, ktoś tę stronę wcześniej pobrał i wkleił.
Konsekwencja bezpieczeństwa
Z perspektywy modelu wstrzyknięty kontekst wygląda dokładnie tak samo jak to, co napisał użytkownik — jest po prostu tekstem na wcześniejszej pozycji. To jest mechaniczna podstawa pośredniego wstrzykiwania instrukcji: treść pobrana ze strony trafia do kontekstu i może zawierać polecenia, które model potraktuje poważnie.
Dlatego wszystko doklejane automatycznie powinno być w prompcie wyraźnie ogrodzone i opisane jako dane do przeczytania, nie jako instrukcja do wykonania.
Jak to sprawdzić
Zapytaj wprost, skąd model zna bieżącą datę. Większość produktów odpowie zgodnie z prawdą, że została podana w kontekście. To najprostszy dostępny dowód na istnienie tej warstwy.