Autor: Jakub Rusinowski · Ostatnia aktualizacja: 12 lipca 2026
Prompt systemowy to stała instrukcja, którą Twój lokalny LLM czyta przed każdą rozmową — i zarazem najtańsze ulepszenie, jakie możesz wprowadzić. Ten sam model 8B, który domyślnie odpowiada ogólnikami
Prompt systemowy to stała instrukcja, którą Twój lokalny LLM czyta przed każdą rozmową — i zarazem najtańsze ulepszenie, jakie możesz wprowadzić. Ten sam model 8B, który domyślnie odpowiada ogólnikami pełnymi asekuracji, staje się precyzyjny i konsekwentny, gdy powiesz mu, kim jest, jak formatować odpowiedzi i czego nie wolno mu zmyślać.
Ostatnia aktualizacja: lipiec 2026
Chatboty w chmurze są dostarczane z tysiącami słów ukrytego promptu systemowego, który stroi ich ton. Model, który właśnie pobrałeś przez ollama run, nie ma niemal nic — rozmawiasz z surowym modelem dostrojonym instrukcyjnie. Dlatego świeże lokalne modele mają skłonność do tego, by:
Żadna z tych rzeczy nie wynika z jakości modelu. To problem braku instrukcji, a lekarstwem jest umiejętność napisania promptu systemowego.
Prompt: „Czy do projektu pobocznego użyć PostgreSQL czy SQLite?”
Domyślna Llama 3.1 8B (bez promptu systemowego):
> Świetne pytanie! Wybór między PostgreSQL a SQLite zależy od wielu czynników, w tym od Twojego przypadku użycia, wymagań co do skali i osobistych preferencji. PostgreSQL to potężna, w pełni wyposażona baza danych… *(kolejne 300 słów wypełniacza ważącego racje obu stron)*
Ten sam model z takim promptem systemowym: *„Jesteś starszym inżynierem. Najpierw podaj bezpośrednią rekomendację, potem najwyżej 3 punkty uzasadnienia. Zamiast się asekurować, nazwij swoje założenia”.*
> Użyj SQLite. — To pojedynczy plik, zero konfiguracji, a ruch projektu pobocznego obsłuży bez trudu. — Przesiądź się na Postgresa dopiero wtedy, gdy będziesz potrzebował równoległych zapisów albo wdrożenia hostowanego. — Założenie: działa to na jednej maszynie; jeśli od pierwszego dnia ma być wielu użytkowników, zacznij od Postgresa.
Te same wagi, ten sam VRAM, ta sama prędkość. Całą różnicę robi 30 słów instrukcji.
Masz trzy opcje, od najszybszej do najtrwalszej.
Opcja 1 — tylko na jedną sesję, wewnątrz REPL-a:
>>> /set system You are a senior engineer. Answer directly, no hedging.
Opcja 2 — w wywołaniu API (do skryptów i aplikacji):
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [
{"role": "system", "content": "You are a senior engineer. Answer directly."},
{"role": "user", "content": "Postgres or SQLite for a side project?"}
]
}'
Opcja 3 — wpisz go na stałe we własny model dyrektywą SYSTEM w pliku Modelfile. To właściwy wybór dla persony, z której korzystasz codziennie:
FROM llama3.1
SYSTEM You are a senior engineer. Give the direct recommendation first, then at most 3 bullets of reasoning. If you are not confident, say exactly what you would check.
PARAMETER temperature 0.3
ollama create eng -f Modelfile
ollama run eng
Zwróć uwagę na temperature 0.3 — persony rzeczowe i techniczne zyskują na niższej temperaturze, kreatywne na wyższej (0,8–1,0). Pełna dokumentacja pliku Modelfile: dokumentacja Ollama.
W LM Studio otwórz czat i spójrz na panel po prawej stronie: pole System Prompt znajduje się na górze ustawień czatu. Wklej tam swoje instrukcje — zadziałają w tym czacie. Aby ustawić je na stałe, zapisz je jako Preset (lista rozwijana nad polem), a każdy nowy czat z tym presetem wystartuje już skonfigurowany. To samo pole jest dostępne dla poszczególnych żądań przez rolę system w API lokalnego serwera LM Studio.
Skopiuj je bez zmian; każdy jest celowo krótki. Długie prompty systemowe rozmywają same siebie — przy modelach 7–13B 50–120 słów instrukcji działa lepiej niż 600-słowna konstytucja.
> Jesteś starszym ekspertem w dziedzinie, której dotyczy pytanie. Zacznij od odpowiedzi w pierwszym zdaniu. Potem podaj tylko to uzasadnienie, które mogłoby zmienić moją decyzję. Bez asekuracji, bez „to zależy” bez powiedzenia, od czego. Jeśli nie wiesz, powiedz to wprost.
> Jesteś surowym, ale konstruktywnym recenzentem kodu. Dla każdego kodu, który wkleję: 1) najpierw wypisz błędy i ryzyka poprawności, 2) potem problemy z wydajnością, 3) na końcu drobiazgi stylistyczne, wyraźnie oddzielone. Poprawiony kod pokazuj tylko dla błędów. Nigdy nie przepisuj całego pliku bez prośby. Zakładaj najnowszą stabilną wersję języka.
> Jesteś moim redaktorem. Gdy wkleję tekst, zwróć: 1) wersję po redakcji, zwięźlejszą i klarowniejszą, 2) listę 2–3 punktów z tym, co zmieniłeś i dlaczego. Zachowaj mój głos — uczyń go ostrzejszym, a nie innym. Nigdy nie dodawaj faktów, których nie napisałem. Zaznacz każde zdanie, którego interpretacji nie byłeś pewien.
> Jesteś cierpliwym nauczycielem. Nigdy nie podawaj od razu pełnej odpowiedzi. Zadawaj mi po jednym pytaniu naraz, żeby naprowadzić mnie na rozwiązanie, delikatnie poprawiaj moje błędy i ujawnij rozwiązanie dopiero wtedy, gdy wyraźnie o nie poproszę albo po trzech nieudanych próbach. Każdą wiadomość utrzymuj poniżej 80 słów.
To specjalna wiadomość oznaczona rolą system, którą model otrzymuje przed rozpoczęciem rozmowy. Modele czatowe są trenowane specjalnie po to, by ważyć ją mocniej niż wiadomości użytkownika — i dlatego właśnie tam jest miejsce na personę, ton i reguły formatu.
Trzy typowe przyczyny: prompt jest za długi (przytnij go do ~100 słów), zawiera sprzeczne instrukcje albo rozmowa urosła na tyle, że wczesne tokeny straciły wpływ. Bardzo małe modele (poniżej 3B) trzymają się promptów systemowych zdecydowanie luźniej niż modele 7B+ — jeśli zależy Ci na posłuszeństwie, użyj co najmniej modelu 7–8B.
Zawsze najpierw spróbuj promptu systemowego: jest darmowy i natychmiastowy. Fine-tuning opłaca się dopiero wtedy, gdy potrzebujesz zachowania, do którego prompt nie sięga — bardzo konkretnego schematu wyjścia, słownictwa branżowego albo stylu stosowanego przez tysiące generacji. Pełne ramy decyzyjne znajdziesz w Fine-tuning kontra prompting.
Zajmuje tokeny w oknie kontekstu (100-słowny prompt systemowy to mniej więcej 130 tokenów — pomijalnie) i jest przetwarzany raz, na etapie ewaluacji promptu. Koszt praktyczny jest w zasadzie zerowy; realny jest natomiast koszt dokładności przy rozdętym, 1000-słownym prompcie systemowym — małe modele zaczynają ignorować jego fragmenty.