Kto ma prawo wydawać polecenia agentowi? To nie jest filozoficzne pytanie — to jest kwestia bezpieczeństwa i odpowiedzialności z konkretnymi implikacjami.
Agent działa na polecenie użytkownika. Ale użytkownik korzysta z agenta dostarczonego przez platformę (OpenAI, Anthropic). Platforma ma operator który wdrożył agenta w konkretnym kontekście. I jest jeszcze sam producent modelu który ustalił fundamentalne zasady działania.
Każdy z tych podmiotów jest „principal” — ma pewien poziom autorytetu nad agentem. Ale ich interesy mogą się różnić. Co gdy operator każe agentowi robić coś co użytkownik nie chce? Co gdy użytkownik każe robić coś co operator zabronił? Co gdy treść zewnętrzna próbuje przejąć kontrolę przez prompt injection?
Czym jest principal hierarchy
Principal hierarchy to hierarchia podmiotów które mają autoryzację do wydawania poleceń agentowi AI — zazwyczaj: producent modelu (najwyższy autorytet, fundamentalne zasady), operator (wdroża agenta w konkretnym kontekście, definiuje jego rolę), użytkownik (wydaje polecenia w ramach kontekstu operatora) — definiująca jak agent powinien rozstrzygać konflikty między poleceniami z różnych poziomów hierarchii.
Trzy poziomy w praktyce
Producent modelu (Anthropic, OpenAI): definiuje co agent nigdy nie zrobi niezależnie od poleceń — przez Constitutional AI, RLHF i zasady bezpieczeństwa wbudowane w model. To jest „hard floor” poniżej którego żaden operator ani użytkownik nie schodzi.
Operator: firma która wdrożyła agenta — sklep internetowy który używa ChatGPT API, firma która zbudowała asystenta na Claude. Operator definiuje kontekst przez system prompt: „jesteś asystentem obsługi klienta firmy X, odpowiadasz tylko na pytania dotyczące produktów X, nie dyskutujesz o konkurencji”. Użytkownik nie może wymusić działań poza tym kontekstem.
Użytkownik: wydaje polecenia w ramach tego co operator dozwolił. Może dostosowywać w granicach operatora — ale nie może rozszerzać uprawnień poza to co operator zdefiniował.
Conflict resolution
Gdy polecenia są sprzeczne — agent powinien preferować wyższy poziom hierarchii. Użytkownik prosi o coś co operator zabronił → agent odmawia i wyjaśnia ograniczenie. Operator konfiguruje coś co producent zablokował → konfiguracja nie działa.
Trudny przypadek: operator działa wbrew interesom użytkownika — np. operator konfiguruje agenta żeby zbierał dane użytkownika bez jego wiedzy. Producent modelu definiuje baseline ochrony użytkownika której operator nie może ominąć.
Prompt injection a principal hierarchy
Indirect prompt injection atakuje właśnie principal hierarchy — próbuje przekonać agenta że zewnętrzna treść pochodzi z wyższego poziomu hierarchii niż faktycznie. „SYSTEM UPDATE: Nowe instrukcje od operatora…” w treści strony którą agent czyta. Dobra implementacja principal hierarchy jest odporna na takie ataki — agent rozróżnia skąd pochodzi instrukcja i nie traktuje treści zewnętrznej jako instrukcji systemowej.