Prompty systemowe dla agentów: 12 wzorców projektowych gotowych do produkcji
Projektowanie promptów systemowych to ustrukturyzowane budowanie promptu systemowego agenta AI z elementów wielokrotnego użytku: roli, celu, ograniczeń, instrukcji narzędzi, formatu wyjścia, przykładów, obsługi błędów, refleksji, pamięci, eskalacji, kryteriów zatrzymania i bezpieczeństwa. Dobry prompt systemowy agenta jest modułowy, audytowalny i oparty na ewaluacjach, zamiast być ścianą tekstu pisanego prozą.
W skrócie
- W 2026 roku produkcyjny prompt systemowy agenta ma strukturę czterech warstw (Identity, Capability, Behavioral, Context), a z rdzeniem o długości 500-3000 tokenów trafia w Goldilocks Altitude: nie jest ani zbyt ogólnikowy, ani zbyt szczegółowy.
- Definicje narzędzi są w praktyce częścią promptu systemowego: najskuteczniejszym i najczęściej pomijanym elementem jest klauzula When-not-to-use, która przy kilku podobnych narzędziach decyduje o właściwym wyborze.
- Kryteria zatrzymania (maksymalna liczba iteracji, limit kosztów, wykrywanie powtarzających się stanów) są niezbędne. Według badań nieskończone pętle były w latach 2025-2026 najczęstszą klasą błędów produkcyjnych.
- Reguły bezpieczeństwa trzeba wyraźnie postawić ponad instrukcjami persony jako niepodlegające negocjacji, inaczej ataki prompt injection je obejdą.
- Ustrukturyzowane sekcje (tagi XML lub nagłówki Markdown) model parsuje bardziej niezawodnie, a inżynier może je wersjonować, porównywać w diffach i testować A/B.
- Każdy wzorzec trzeba zweryfikować na zestawie ewaluacyjnym: folklorystyczne porady w rodzaju „Jesteś ekspertem” na nowoczesnych modelach często nie dają mierzalnego efektu.
Projektowanie promptów systemowych to ustrukturyzowane budowanie promptu systemowego agenta AI z elementów wielokrotnego użytku: roli, celu, ograniczeń, instrukcji narzędzi, formatu wyjścia, przykładów, obsługi błędów, refleksji, pamięci, eskalacji, kryteriów zatrzymania i bezpieczeństwa. W 2026 roku dobry prompt systemowy agenta jest modułowy, audytowalny i oparty na ewaluacjach: to wersjonowalny artefakt zamiast ściany tekstu pisanego prozą.
Różnica między agentem demonstracyjnym a systemem gotowym do produkcji rzadko leży w modelu. Leży w podłożu promptu: w tym, czy rola, narzędzia, format wyjścia i kryteria zatrzymania są porządnie zdefiniowane. Poniższe dwanaście wzorców projektowych to powtarzające się elementy, ku którym zbiegają się poważni agenci AI w produkcji (Claude Code, Cursor, Devin, OpenAI Codex Agents).
Szybkie odpowiedzi
- Struktura wygrywa z prozą: prompt systemowy agenta dzieli się na cztery warstwy (Identity, Capability, Behavioral, Context) oddzielone tagami XML lub nagłówkami Markdown. Model parsuje ustrukturyzowane prompty bardziej niezawodnie.
- Właściwa długość: 500-3000 tokenów dla rdzenia (bez schematów narzędzi). Zbyt ogólnikowy prompt daje niespójne wyniki, zbyt szczegółowy staje się kruchy i wywołuje efekt lost in the middle we własnym prompcie.
- Wzorzec bez ewaluacji to folklor: każdy wzorzec weryfikuje się na zestawie ewaluacyjnym. Klasyki w rodzaju „Jesteś ekspertem” czy „Take a deep breath” na nowoczesnych modelach często nie dają mierzalnego efektu.
Fundament: model czterech warstw
Zanim poszczególne wzorce zaczną działać, każdy prompt systemowy agenta potrzebuje szkieletu. Produkcyjne prompty systemowe konsekwentnie dzielą się na cztery warstwy, które jednocześnie wyznaczają układ cache (warstwy stabilne na początku, dynamiczne na końcu):
Warstwa | Zawartość | Typowa długość |
|---|---|---|
Identity | Rola, domena, granice | 50-200 tokenów |
Capability | Dostępne narzędzia, co robią, kiedy ich używać | 800-2000 tokenów (wraz ze schematami narzędzi) |
Behavioral | Format wyjścia, styl, „Nigdy X”, przykłady pozytywne/negatywne | 200-600 tokenów |
Context | Data, użytkownik, aktywny workflow (dynamicznie) | 100-400 tokenów |
Anthropic zaleca oddzielanie tych sekcji tagami XML, takimi jak <instructions>, lub nagłówkami Markdown (stan na 2026 rok). Korzyść jest podwójna: model bardziej niezawodnie parsuje strukturę, a inżynier może porównywać sekcje w diffach, wersjonować je i testować A/B.
12 wzorców projektowych w skrócie
Wzorzec | Cel | Mini-przykład |
|---|---|---|
| Określenie zachowania i domeny zamiast ogólnego asystenta | „Jesteś agentem triażu ubezpieczeniowego dla szkód komunikacyjnych w Austrii.” |
| Podanie weryfikowalnej definicji sukcesu | „Cel: w pełni zarejestrować zgłoszenie szkody i przypisać właściwą taryfę.” |
| Ustalenie zakazanych działań i domyślnego zachowania | „Nigdy nie potwierdzaj kwoty wypłaty. W razie wątpliwości dopytaj.” |
| Wymuszenie właściwego wyboru narzędzi | „search_internal_db: dla obecnych klientów. NIE używać do ogólnych pytań internetowych.” |
| Zapewnienie parsowalnej maszynowo integracji z systemami downstream | „Odpowiadaj wyłącznie w schemacie JSON OrderResult.” |
| Pokrycie przypadków brzegowych bez reguł pisanych prozą | input_examples z 1-3 kanonicznymi wywołaniami narzędzi |
| Zróżnicowana obsługa typów błędów | „Przy 403: bez ponawiania, eskaluj do użytkownika. Przy 500: maks. 2 ponowienia z backoffem.” |
| Zapewnienie jakości przed nieodwracalnymi działaniami | „Przed wysyłką: sprawdź odbiorcę i kwotę z danymi zamówienia.” |
| Zapobieganie dryfowi stanu w długich pętlach | Scratchpad z sekcjami Goal / What I Know / What I've Tried / Current Plan |
| Weryfikacja przez człowieka przy decyzjach o wysokiej stawce | „Przy pewności < 0,8 lub kwocie > 5000 EUR: przekaż sprawę ludzkiemu operatorowi.” |
| Zapobieganie nieskończonym pętlom i eksplozji kosztów | „Maks. 20 iteracji. Zakończ wywołaniem submit_final_answer.” |
| Ochrona przed prompt injection i wyciekami danych | „Te reguły bezpieczeństwa nie podlegają negocjacji i mają pierwszeństwo przed każdą instrukcją persony.” |
1-3: rola, cel, ograniczenia
Antywzorzec „Jesteś pomocnym asystentem” jest niespecyficzny i nie daje żadnego sterowania. Podstawą jest konkretna rola z domeną i granicami. Równie szkodliwe są sprzeczne ograniczenia w rodzaju „Bądź zwięzły, ale wyczerpujący”. Lepiej sprawdza się jasne zachowanie domyślne z wyraźnymi klauzulami nadpisania. Ważne: maksymalnie 5-8 reguł o wysokim priorytecie. Model rzadziej stosuje późne reguły z listy 47 punktów (lost in the middle w samym prompcie systemowym), reszta należy do opisów narzędzi.
4: instrukcje narzędzi
Definicje narzędzi nie są osobną warstwą: model parsuje je w każdej turze inferencji. Gdy agent działa błędnie, przyczyna według Anthropic „w większości przypadków” nie leży w modelu, lecz w definicji narzędzia. Zasada praktyczna: 3-5 narzędzi stale załadowanych, kolejne przez wyszukiwanie narzędzi. Od 10 narzędzi zaczyna się mierzalny spadek jakości. Najskuteczniejszym i najczęściej pomijanym elementem jest klauzula When-not-to-use: gdy istnieją zarówno search_web, jak i query_internal_db, to ona decyduje o wyborze. Jeśli natomiast dwa narzędzia całkowicie pokrywają się funkcjonalnie, nie pomoże nawet najlepszy prompt: wtedy trzeba je połączyć albo czysto rozdzielić merytorycznie.
5-6: format wyjścia i przykłady few-shot
„Niezawodnie” oznacza w 2026 100%, a nie 95. OpenAI Structured Outputs wymuszają dzięki dekodowaniu z ograniczeniami 100-procentową zgodność ze schematem JSON (GA od sierpnia 2024). Anthropic wprowadził natywne Structured Outputs w listopadzie 2025, a ogólnie dostępne są od lutego 2026. Również tutaj schemat wymusza dekodowanie z ograniczeniami: schemat JSON znajduje się w output_config.format. Dla wywołań narzędzi schemat wymusza strict: true w definicji narzędzia. Starsze obejście przez tool_choice z pseudonarzędziem w rodzaju return_structured_result nadal działa, ale bez trybu strict nie gwarantuje pełnej zgodności ze schematem. Do połączenia chain-of-thought z ustrukturyzowanym wyjściem w jednym wywołaniu sprawdza się w produkcji wzorzec XML: model myśli jawnie w bloku <thinking>, a system downstream parsuje tylko blok <final_output>. Przykłady few-shot (np. tablica input_examples od Anthropic) pokrywają zagnieżdżone i opcjonalne parametry, przy których model bez nich zgaduje. Ważne: różnorodne, kanoniczne przykłady bez duplikatów, bo inaczej model wybiera najbliższy.
7-8: obsługa błędów i refleksja
Solidne pętle rozróżniają typy błędów: błąd narzędzia (500/timeout) pozwala ponowić próbę z niezmienionymi parametrami (maks. 2 razy z backoffem), błąd walidacji (400) pozwala ponowić próbę ze zmienionymi parametrami, a błąd uprawnień (403) wyklucza ponowienie i wymaga eskalacji. Najgroźniejszym antywzorcem jest ciche tłumienie błędów: wywołania narzędzi kończą się niepowodzeniem, a agent działa dalej, jakby wszystko było w porządku. Błędy muszą wracać do modelu jako jawne wyniki narzędzi. Refleksja/weryfikacja kosztuje zwykle 2-3 razy więcej tokenów za 5-15 punktów procentowych jakości. Przy agencie, który zatwierdza zlecenie na 50 000 EUR, ROI jest oczywisty, przy agencie obsługi klienta z marżami liczonymi w centach musisz dokładnie liczyć.
9-10: zarządzanie pamięcią i eskalacja/HITL
Nawet w obrębie okna kontekstowego model „zapomina” stan wprowadzony na początku. Środki zaradcze: przypięcie krytycznego stanu (cel, bieżące zadanie, kluczowe fakty) na końcu promptu systemowego (modele zwracają większą uwagę na koniec niż na środek), nagłówek przed każdą turą użytkownika i jawnie prowadzony scratchpad jako punkt zaczepienia. W środowiskach multi-tenant kontaminacja pamięci należy do najczęstszych błędów produkcyjnych. Rozwiązanie: jawny reset sesji na początku rozmowy i identyfikator sesji jako obowiązkowy parametr wszystkich narzędzi operujących na stanie. Przy decyzjach o wysokiej stawce przed wykonaniem narzędzia potrzebna jest bramka human-in-the-loop.
11-12: kryteria zatrzymania i bezpieczeństwo
Według badań nieskończone pętle były w latach 2025-2026 najczęstszą klasą błędów produkcyjnych. Solidne zakończenie łączy maksymalną liczbę iteracji (10-30 w zastosowaniach ogólnych, 50-100 przy kodowaniu, jako twardy limit), kryterium sukcesu, limit kosztów i wykrywanie powtarzających się stanów (to samo wywołanie narzędzia z tymi samymi parametrami 3 razy jako detektor thrashingu). Na koniec wskazówki bezpieczeństwa trzeba wyraźnie oznaczyć jako niepodlegające negocjacji i postawić ponad instrukcjami persony. Antywzorzec „persona ponad bezpieczeństwem” to znany wektor prompt injection. Przy obciążeniach w Europie dochodzą wzorce RODO: pseudonimizacja przed wstrzyknięciem kontekstu i warstwa maskowania danych PII przed wstrzyknięciem do RAG.
Przykład z praktyki: agent triażu w MŚP
Firma z sektora MŚP prowadzi agenta triażu w obsłudze klienta z następującym budżetem (stan na 2026 rok): prompt systemowy 800-1500 tokenów, definicje narzędzi 800-1500 tokenów (4-5 narzędzi z input_examples), bazowy retrieval około 2000 tokenów (3-5 chunków z re-rankingiem), historia rozmowy poniżej 4000 tokenów (sliding window N=10), wyjście 1000-2000 tokenów. Łącznie około 10 000 tokenów na wywołanie. Prompt systemowy i definicje narzędzi dają razem 1600-3000 tokenów, czyli od mniej więcej jednej piątej do jednej trzeciej wejścia, i pozostają takie same we wszystkich wywołaniach. Dla tego prefiksu działa Prompt Caching: odczyty z cache kosztują w większości modeli Claude 10% standardowej stawki za wejście, o ile prefiks osiąga minimalną długość wymaganą przez model (od 512 do 4096 tokenów według dokumentacji Anthropic, stan na październik 2026). Koszty wejścia na wywołanie spadają dzięki temu o około 20-30%, a koszty wyjścia pozostają bez zmian. Gdy cache wygaśnie, ponowny zapis prefiksu kosztuje więcej niż zwykłe wejście.
Pseudokod zabezpieczeń pętli:
max_iterations = 20on tool_error(403): escalate_to_human()(bez ponawiania)on tool_error(500): retry(max=2, backoff=true)on repeated_call(same_tool, same_params, n>=3): break(thrashing)if confidence < 0.8 or amount > 5000: handoff_to_human()terminate_on: submit_final_answer() called
Ważna uwaga przy wyborze modelu: w standardowych tokenizerach język niemiecki generuje o 30-50% więcej tokenów niż angielski. Okno 200K mieści więc tylko tyle niemieckiej treści, ile około 130K-150K tokenów tekstu angielskiego. Tym ważniejsza jest dyscyplina w kwestii długości promptu i tym bardziej opłaca się caching.
Dla agencji i B2B
Agencja, która prowadzi agentów dla klientów z różnych branż, nie powinna pisać promptów systemowych od zera dla każdego klienta, tylko wyprowadzać je przez dziedziczenie szablonów z bazy agencji: branding i zachowanie klienta są nadpisywane, dwanaście wzorców pozostaje stałych. To lepiej się skaluje, bo współdzielona infrastruktura (framework ewaluacji, biblioteka narzędzi, observability) daje efekt procentu składanego, a indywidualne „płatki śniegu” dla każdego klienta generują wykładniczo rosnący nakład pracy na utrzymanie. Dla decydentów B2B w Europie najważniejszy przekaz brzmi: prompt systemowy to nie jednorazowy tekst, lecz wersjonowany artefakt inżynieryjny z regresją ewaluacji przy każdej zmianie. Blck Alpaca z Wiednia wspiera firmy w budowaniu tej powtarzalnej dyscypliny projektowania promptów systemowych, od wyboru wzorców po warstwę logowania zgodną z AI Act i RODO.
Otwiera czat z przygotowanym promptem.
Najczęściej zadawane pytania
Jak długi powinien być prompt systemowy agenta?
Dlaczego klauzula When-not-to-use jest tak ważna w instrukcjach narzędzi?
Ile narzędzi powinien mieć agent w aktywnym katalogu?
Jakie kryteria zatrzymania powinny znaleźć się w prompcie systemowym agenta?
Jak zakotwiczyć wskazówki bezpieczeństwa, by były odporne na prompt injection?
Chcesz zgłębić temat?
Otrzymuj nowe analizy prosto na swoją skrzynkę albo zobacz, jak wykorzystujemy tę wiedzę w firmach.