AI dla początkującychPrzewodnik
System prompt i temperature: co robią i jak je ustawić
Co robią wiadomość systemowa i temperature w żądaniu zgodnym z OpenAI, z przykładami w Pythonie i curl, które możesz wysłać do modelu CheapTokens.

Na tej stronie
System prompt to wiadomość z rolą system, która mówi modelowi, jak ma się zachowywać w każdej odpowiedzi: kim jest, jakiego formatu użyć, czego unikać. Temperature to liczba, zwykle między 0 a 2 (zakres zależy od modelu), która określa, jak bardzo może się zmieniać sformułowanie: niskie wartości dają skupione, powtarzalne odpowiedzi, wysokie — bardziej zróżnicowane. Oba trafiają do tego samego żądania Chat Completions, które wysyłasz do https:/.
Poniżej: czym jest każde z nich, od jakich wartości zacząć i żądanie, które możesz uruchomić w Pythonie lub curl. Jeśli nie wysłałeś jeszcze żądania, zacznij od pierwszego żądania API z CheapTokens.
Czym jest system prompt?#
Żądanie czatu to lista wiadomości, a każda wiadomość ma rolę. Dokumentacja Chat Completions wymienia cztery: system, user, assistant i tool (dokumentacja API DeepSeek, sprawdzona 22 października 2026). Do pierwszego żądania potrzebujesz trzech:
system— stałe instrukcje od Ciebie, dewelopera. Model traktuje je jako zasady rozmowy.user— to, o co pyta lub co podaje osoba w tej turze.assistant— wcześniejsze odpowiedzi modelu. Dodajesz je sam, gdy kontynuujesz rozmowę.
Wiadomość systemowa wymaga ustawienia role na system i content jako ciągu znaków. Pole name jest opcjonalne.
"messages": [
{"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."}
]Wiadomość systemowa idzie pierwsza. Wiadomość użytkownika to właściwe zadanie.
Jak napisać użyteczny system prompt#
- Powiedz w jednym zdaniu, co robi model: „Jesteś redaktorem”, „Klasyfikujesz zgłoszenia do pomocy technicznej”.
- Określ format wyjścia: „Zwróć tylko przepisany tekst”, „Odpowiedz w dwóch zdaniach”, „Odpowiedz poprawnym JSON-em”.
- Podawaj zasady jako krótkie, bezpośrednie zdania. Kilka jasnych linii działa lepiej niż jeden długi akapit.
- Trzymaj go krótko. System prompt jest wysyłany z każdym żądaniem i liczony jako tokeny wejściowe, więc za długi płacisz za każdym razem. Jak rozliczane są wejście i wyjście, opisano w tokeny wejściowe vs wyjściowe.
Co robi temperature?#
Model wybiera każdy kolejny token ze zbioru prawdopodobnych kandydatów. Temperature kontroluje, jak ściśle trzyma się najbardziej prawdopodobnego. Według dokumentacji API DeepSeek (sprawdzonej 22 października 2026) temperature przyjmuje wartości od 0 do 2 z domyślną 1: wyższe wartości dają bardziej losowe wyjście, niższe — bardziej skupione, deterministyczne. Zakresy różnią się między modelami: DeepSeek dokumentuje 0 do 2, Z.ai dokumentuje 0 do 1 dla GLM-5.3 (oba sprawdzone 22 października 2026), więc wartości od 0 do 1 są bezpieczne w obu. Sprawdź zakres dla swojego modelu w dokumentacji.
Punkty startowe, które działają dla większości zadań. To reguły praktyczne, nie gwarancje:
Przewiń tabelę w prawo →
| Zadanie | Zacznij od |
|---|---|
| Ekstrakcja, klasyfikacja, kod, ścisłe formaty | 0 do 0.3 |
| Pytania i odpowiedzi, podsumowania, przepisywanie | 0.3 do 0.7 |
| Burza mózgów, nazwy, tekst kreatywny | 0.8 do 1 |
Trzy rzeczy do zapamiętania:
- Niska temperatura jest bardziej powtarzalna, nie identyczna. Nie licz na odpowiedzi równe co do bajtu.
- Zmieniaj temperature albo top_p, nie oba naraz. To zalecenie DeepSeek;
top_pto drugi parametr próbkowania z domyślną wartością 1. Zostaw go w spokoju, dopóki się uczysz. - Niektóre tryby ignorują temperature. Dokumentacja DeepSeek mówi, że temperature nie ma wpływu w trybie myślenia, a
top_pjest ustalone na 1.0 w trybie niemyślenia. Jeśli zmienisz wartość i nie widzisz różnicy, najpierw sprawdź tryb modelu.
Wyślij żądanie z oboma#
Ustaw klucz jako zmienną środowiskową, żeby nigdy nie trafił do kodu (zobacz czym jest klucz API i jak go bezpiecznie przechowywać). Weź dokładny identyfikator modelu z dokumentacji CheapTokens: różni dostawcy nazywają ten sam model inaczej. Ten przykład używa MiniMax-M2.7.
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[
{"role": "system", "content": "You are an editor. Rewrite the user's text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."},
],
temperature=0.3,
max_tokens=1000,
)
print(response.choices[0].message.content)
print(response.choices[0].finish_reason)To samo żądanie z curl:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{"role": "system", "content": "You are an editor. Rewrite the user'\''s text to be shorter and friendlier. Return only the rewritten text."},
{"role": "user", "content": "Send me the report by tonight or I will be upset."}
],
"temperature": 0.3,
"max_tokens": 1000
}'Co powinieneś zobaczyć: krótszą, przyjaźniejszą wersję zdania i stop jako finish_reason. Jeśli finish_reason to length, odpowiedź osiągnęła limit max_tokens; zobacz dlaczego odpowiedź AI urywa się w połowie zdania.
Zobacz temperature w działaniu#
Najlepszym sposobem na zrozumienie temperatury jest zadanie tego samego pytania kilka razy. Ta pętla wysyła jedno krótkie żądanie trzy razy z temperaturą 0 i trzy razy z 1, używając client z powyższego przykładu:
for temp in (0, 1):
print("temperature", temp)
for _ in range(3):
r = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[
{"role": "system", "content": "Answer with one word."},
{"role": "user", "content": "Name a fruit."},
],
temperature=temp,
max_tokens=500,
)
print(" ", r.choices[0].message.content)Przy 0 trzy linie to zwykle to samo słowo; przy 1 zwykle zobaczysz więcej różnych słów. Modele, które rozumują przed odpowiedzią, mogą zużyć część max_tokens na to rozumowanie, więc ustaw limit hojnie, nawet dla odpowiedzi jednowyrazowej. Następnie zmień tylko system prompt (na przykład „Odpowiedz jednym słowem, po francusku”) i uruchom ponownie: zasady z wiadomości systemowej obowiązują przy każdej temperaturze.
Takie eksperymenty są małe. Dla przybliżonego wyobrażenia, oto koszt 100 żądań po około 120 tokenów wejściowych i 80 wyjściowych każde (przykładowe obciążenie; liczby tokenów zależą od Twoich promptów):
| Model | Wejście $/1M | Wyjście $/1M | Za żądanie | 100 żądań | OpenRouter, 100 żądań |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0000056 | $0.00056 | $0.0011 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.0000098 | $0.00098 | $0.0018 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000018 | $0.0018 | $0.0132 |
120 tokenów wejściowych i 80 tokenów wyjściowych na żądanie. Ceny za 1 mln tokenów są aktualne i zmieniają się wraz z naszymi taryfami; kolumna OpenRouter pokazuje ceny referencyjne dla tego samego obciążenia.
Na którym modelu to wypróbować#
- MiniMax-M2.7 to dobry pierwszy wybór do wielu krótkich żądań testowych, a ten sam system prompt możesz na nim użyć ponownie, aby porównać odpowiedzi: kontekst 180K, do 8192 tokenów wyjściowych, taniej niż cena referencyjna OpenRouter po obu stronach. Aktualna cena: wejście $0.05, wyjście $0.15 za 1M tokenów.
Jedno saldo pokrywa je wszystkie, więc zmiana modelu to zmiana jednej linii model. Wszystkie aktualne ceny są na stronie z cenami.
Jeśli nie działa#
- 401 lub błąd uwierzytelniania: brakuje klucza, jest błędnie wpisany lub zmienna środowiskowa nie jest ustawiona w tym terminalu. Sprawdź
echo $CHEAPTOKENS_.API_ KEY - Model not found: skopiuj identyfikator modelu z dokumentacji dokładnie, wraz z prefiksem.
- Błąd o nieprawidłowym parametrze: trzymaj
temperaturew zakresie obsługiwanym przez Twój model (0 do 1 jest bezpieczne) i przekazuj liczby, nie ciągi znaków. - Model ignoruje Twoją zasadę: zamień ją na jedno krótkie, bezpośrednie zdanie, przenieś na początek wiadomości systemowej i powtórz dokładny format, którego chcesz.
- Zmiana temperatury nic nie zmienia: możesz używać trybu, który ją ignoruje (zobacz wyżej), albo odpowiedź jest tak ograniczona („jedno słowo”, „poprawny JSON”), że istnieje niewiele wariantów.
- Odpowiedź jest ucięta: zwiększ
max_tokens; przewodnik po max_tokens wyjaśnia jak.
Następny krok#
Umieść jedną jasną zasadę w wiadomości systemowej, wybierz temperaturę z tabeli i uruchom powyższą pętlę na własnym zadaniu. Gdy wynik jest taki, jak chcesz, trzymaj system prompt krótko i używaj go ponownie. Zdobądź klucz i sprawdź aktualne ceny w dokumentacji.



