0Pricing
AI Agents · Lekcja

Role systemu, użytkownika i asystenta

Poznaj trzy role komunikatów we współczesnych API czatowych oraz dowiedz się, jak wpływają one na to, czemu model ufa i czego przestrzega.

Role systemu, użytkownika i asystenta to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 2 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.

Trzy role, jedna rozmowa

Każde chat API używa trzech ról wiadomości:

  • system — metainstrukcje, persona i reguły
  • user — dane wejściowe od człowieka lub systemu nadrzędnego
  • assistant — dane wyjściowe modelu

Dlaczego istnieją role

Modele są trenowane tak, aby traktować te role odmiennie. Rola system ma najwyższy poziom zaufania, a wiadomości user — najniższy.

Dzięki temu model wie, że Państwa instrukcje mają pierwszeństwo przed tym, co osoba atakująca wpisze w danych wejściowych user.

Miejsce systemu należy do Państwa

Wiadomość systemowa jest kontraktem z modelem. Należy w niej umieścić:

  • Tożsamość i cel
  • Twarde reguły (nigdy nie ujawniaj X, zawsze wykonuj Y)
  • Wymagania dotyczące formatu danych wyjściowych
  • Zasady korzystania z narzędzi

System powinien być stabilny, a user dynamiczny

Wiadomość systemowa powinna rzadko się zmieniać w obrębie jednej sesji. Wszystko, co zmienia się przy każdym obrocie rozmowy, należy umieścić w wiadomościach user.

Ten wzorzec umożliwia również buforowanie promptów — więcej informacji zawiera kurs Optymalizacja kosztów.

Przykład: agent obsługi klienta

Typowa konfiguracja:

messages = [
    {'role': 'system', 'content': '''
You are SupportBot, the customer-support agent for Acme Corp.
You help with order status, returns, and product info.
You never share internal pricing or roadmap info.
Answer in 2-3 sentences. Use the search_orders tool when asked about orders.
'''},
    {'role': 'user', 'content': 'Where is my order #1234?'},
]
for m in messages:
    print(f"[{m['role']}] {m['content'].strip()}")

Wiele wiadomości systemowych

Większość API obsługuje tylko jedną wiadomość systemową. Jeśli trzeba połączyć kilka warstw instrukcji, należy je skonkatenować albo użyć oddzielnych sekcji XML wewnątrz treści systemowej.

Wiadomości assistant a pamięć

Poprzednie wypowiedzi assistant są częścią kontekstu. Model widzi własne wcześniejsze dane wyjściowe i zachowuje spójność.

Dlatego stwierdzenie „tak, będę przestrzegać Państwa reguł” wygenerowane przez model w poprzednim obrocie rozmowy skłania go do faktycznego ich przestrzegania.

Wstępne wypełnianie obrotu assistant (Anthropic)

Anthropic umożliwia rozpoczęcie wiadomości assistant od tekstu, który model będzie kontynuować:

messages = [
    {'role': 'user', 'content': 'Return a JSON object with name and age.'},
    {'role': 'assistant', 'content': '{'}
]
# The model continues from '{', forcing JSON output.
for m in messages:
    print(f"{m['role']}: {m['content']}")
print("The model continues from '{', forcing JSON output.")

Rola tool

Nowoczesne API dodają czwartą rolę: tool (OpenAI) albo bloki treści z tool_result (Anthropic).

Po wykonaniu funkcji zażądanej przez model należy dołączyć wiadomość tool.

Błędy związane z mieszaniem ról

Typowe błędy:

  • Umieszczanie wyników narzędzi w wiadomościach user — zaburza hierarchię zaufania
  • Pomijanie tool_call_id — powoduje błędy API
  • Dwie kolejne wiadomości user lub assistant — większość API je odrzuca

Hierarchia instrukcji

OpenAI publikuje specyfikację modelu, w której stwierdza:

"W przypadku konfliktu model powinien zastosować się do instrukcji znajdującej się wyżej w hierarchii: platforma > developer (system) > user > tool."

Anthropic przedstawia podobne wytyczne. Wygrywa miejsce system.

Miejsca dla ról

Gdzie należy umieścić twardą regułę, taką jak „nigdy nie ujawniaj wewnętrznych cen”?

Podsumowanie

Trzy role i trzy poziomy zaufania. System służy do reguł, user do danych wejściowych, a assistant do odtwarzania wcześniejszych odpowiedzi. Po wywołaniach funkcji należy dodawać wiadomości tool.

Często zadawane pytania

Czy lekcja „Role systemu, użytkownika i asystenta” jest bezpłatna?

Tak — pełny tekst „Role systemu, użytkownika i asystenta” 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 „Role systemu, użytkownika i asystenta”?

Poznaj trzy role komunikatów we współczesnych API czatowych oraz dowiedz się, jak wpływają one na to, czemu model ufa i czego przestrzega. Ć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 2 z 4.

Ile czasu zajmuje lekcja „Role systemu, użytkownika i asystenta”?

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. Zero-shot, few-shot i chain-of-thought
  2. Role systemu, użytkownika i asystenta
  3. Formatowanie danych wyjściowych (JSON, XML, Markdown)
  4. Zapobieganie prompt injection w danych wejściowych
← Powrót do AI Agents