Menu

Prompt engineering: czym jest i jak się go nauczyć

Prompt engineering (inżynieria promptów) to pisanie i testowanie instrukcji dla modelu AI tak, żeby dawał potrzebny ci wynik. Ten poradnik wyjaśnia, dlaczego to działa, i porządkuje wszystkie kluczowe techniki.

Każdy prompt poniżej możesz edytować: zmień go, a potem otwórz w ChatGPT, Claude lub innej aplikacji AI.

Prompt engineering (inżynieria promptów) to pisanie, testowanie i dopracowywanie instrukcji dla modelu AI tak, żeby niezawodnie dawał potrzebny ci wynik. Obejmuje to, co umieszczasz w prompcie (zadanie, kontekst, przykłady, dane wejściowe), i to, jak to układasz (kolejność, format, separatory). Termin brzmi technicznie, ale w większości chodzi o staranne pisanie i sprawdzanie wyników.

Ta strona to spis treści poradnika Coddy o prompt engineeringu. Wyjaśnia, dlaczego ta praktyka działa, przypisuje każdą kluczową technikę do strony, która jej uczy, i pokazuje różnicę między promptem pisanym na szybko a przemyślanym.

Dlaczego prompt engineering działa

Model językowy generuje tekst, przewidując, co będzie dalej, po jednym małym fragmencie naraz, na podstawie wszystkiego, co ma przed sobą. Nie ma dostępu do twoich intencji, projektu ani wcześniejszych czatów, chyba że ten tekst znajduje się w jego danych wejściowych. Prompt nie jest więc prośbą skierowaną do umysłu, który już cię rozumie; to cała sytuacja, na którą model odpowiada.

Ma to bezpośredni skutek. Każde pytanie, które prompt zostawia otwarte, model zwykle rozstrzyga najbardziej typowym wyborem: najpopularniejszym językiem, najczęstszą długością, najczęstszym odbiorcą. Czasem typowy wybór jest tym, czego chcesz. Gdy nie jest, rozwiązaniem jest zamknięcie tego pytania w prompcie. Dobry prompt zawęża zakres wiarygodnych odpowiedzi, aż większość tego, co zostaje, jest przydatna.

Dwa kolejne fakty kształtują to rzemiosło. Odpowiedzi są próbkowane, więc ten sam prompt może dać różne odpowiedzi w różnych uruchomieniach; prompt jest dobry tylko wtedy, gdy działa w większości przypadków, a nie raz. A model traktuje cały tekst w prompcie jako potencjalnie znaczący, więc wklejony e-mail albo przypadkowe zdanie mogą zostać odczytane jako instrukcja, chyba że wyraźnie oznaczysz je jako materiał.

Prompt na szybko a prompt przemyślany

Obie zakładki proszą o to samo: podział opinii klientów na pozytywne i negatywne. Porównaj, co dostaje każda z nich.

Czy te opinie są pozytywne, czy negatywne? 1. Aplikacja jest szybka, ale dzisiaj dwa razy mnie wylogowała. 2. Dokładnie to, czego mi trzeba do śledzenia biegania. 3. Pomoc techniczna nigdy nie odpisała na mojego maila.
Try it
Example replyReplies vary between models and runs.

Oto podział:

  1. Mieszana. Użytkownikowi podoba się szybkość, ale irytuje go wylogowywanie.
  2. Pozytywna. Aplikacja spełnia jego potrzeby w śledzeniu biegania.
  3. Negatywna. Użytkownik jest niezadowolony, że pomoc techniczna nie odpowiedziała.

Ogólnie opinie są zróżnicowane: jedna pozytywna, jedna negatywna i jedna mieszana.

Odpowiedź na prompt pisany na szybko jest sensowna dla człowieka, ale program nie może jej użyć: etykiety są przemieszane z wyjaśnieniami, pojawiła się trzecia kategoria, której pytanie nie przewidywało, a na końcu doszło podsumowanie. Przemyślany prompt definiuje każdą etykietę, ustala kształt odpowiedzi przykładem i obejmuje opinie tagami, żeby rzadziej myliły się z instrukcjami. Uruchomiony na tysiącu opinii daje wynik, który program sparsuje znacznie bardziej konsekwentnie, a gdy potrzebujesz gwarancji, resztę luki zamykają funkcje structured output w API i krok walidacji w kodzie.

Kluczowe techniki

Każda z poniższych technik zamyka inny rodzaj luki między intencją a tym, co dostał model. Większość prawdziwych promptów łączy kilka z nich.

TechnikaCo robiSięgnij po nią, gdy
Zero-shot promptingDaje instrukcję bez przykładówZadanie jest typowe i jasno opisane
Few-shot promptingPokazuje kilka przykładów wejścia i wyjściaFormat albo ocenę łatwiej pokazać niż opisać
Chain of thought promptingProsi o rozumowanie przed odpowiedziąProblem ma kilka kroków, jak w matematyce czy logice
Role promptingUstala, czyim głosem i standardem odpowiadaćLiczą się odbiorca i poziom
Structured outputWymusza odpowiedź w JSON, tabeli albo szablonieWynik czyta program albo arkusz kalkulacyjny
Delimitery i tagi XMLOddziela instrukcje od wklejonego materiałuPrompt zawiera dokumenty, kod albo tekst od użytkowników
Szablony promptówZamienia dobry prompt w prompt z lukamiPowtarzasz ten sam rodzaj prośby
Prompt chainingDzieli pracę na kroki, które się wzajemnie zasilająJeden prompt próbuje zrobić za dużo
Self-consistencyGeneruje kilka odpowiedzi i wybiera większośćPojedyncza ścieżka rozumowania jest zawodna
Tree of thoughtBada i ocenia kilka linii rozumowaniaProblem wymaga planowania albo przeszukiwania
ReActPrzeplata rozumowanie z wywołaniami narzędziModel musi coś sprawdzić albo wykonać działania
Meta promptingKaże modelowi napisać albo ulepszyć promptNie wiesz, jak sformułować prompt
Context engineeringProjektuje wszystko, co widzi model, a nie tylko instrukcjęBudujesz aplikację albo agenta wokół modelu

Jeśli dopiero zaczynasz, zacznij od części pojedynczego promptu w poradniku jak napisać prompt, potem przejdź do few-shot prompting i structured output. Te trzy tematy obejmują większość codziennych problemów.

Prompt zbudowany dla programu

Prompty wpisane w oprogramowanie są uruchamiane tysiące razy na danych, których nikt jeszcze nie widział, więc rozpisują więcej niż wiadomość w czacie. Poniższy prompt pisze opisy commitów na podstawie diffu kodu. Wyłączaj części, żeby zobaczyć, przed czym chroni każda z nich: bez przykładów styl się rozjeżdża, a bez ograniczeń model może użyć typów, których twój zespół nie stosuje, takich jak perf albo style.

Opis commita na podstawie diffu
Fill in
Parts
Piszesz opisy commitów git dla zespołu, który stosuje format Conventional Commits.
Napisz opis commita dla poniższego diffu.
feat(cart): dodaj wybór ilości do produktów w koszyku fix(api): zwracaj 404 zamiast 500 dla nieznanego id użytkownika
Pierwsza linia: typ(zakres): podsumowanie, najwyżej 60 znaków, w trybie rozkazującym. Potem pusta linia i najwyżej trzy punkty wyjaśniające, dlaczego wprowadzono zmianę.
Używaj tylko tych typów: feat, fix, refactor, docs, test, chore. Jeśli diff miesza niepowiązane zmiany, napisz to zamiast opisu commita.
function validatePassword(password) { - if (password.length > 8) { + if (password.length >= 8) { return null; } return 'Password must be at least 8 characters'; }
Try it
Example replyReplies vary between models and runs.
fix(auth): akceptuj hasła o długości dokładnie 8 znaków

- Warunek używał > 8, więc hasło z 8 znakami było odrzucane
- Reguła zgadza się teraz z komunikatem błędu, który mówi "at least 8"

Jak nauczyć się prompt engineeringu

Uczysz się, uruchamiając prompty i uważnie przyglądając się temu, co wraca. Praktyczna ścieżka:

  1. Poznaj części promptu. Zadanie, kontekst, dane wejściowe, format i ograniczenia. Większość porażek wynika z braku któregoś z nich.
  2. Wybierz prawdziwe zadanie, które powtarzasz, na przykład streszczanie zgłoszeń, wyjaśnianie błędów albo pisanie szkiców e-maili, i napisz do niego prompt.
  3. Zbierz od pięciu do dziesięciu danych testowych, w tym niewygodne: puste wejście, bardzo długie, w innym języku.
  4. Zmieniaj jedną rzecz naraz i uruchamiaj ponownie wszystkie dane wejściowe. Jeśli zmienisz trzy rzeczy i wynik się poprawi, nie będzie wiadomo, która zmiana pomogła. Iterowanie promptów opisuje tę pętlę szczegółowo.
  5. Dodawaj techniki, gdy wymaga ich konkretna porażka. Przykłady, gdy format się rozjeżdża, rozumowanie krok po kroku, gdy wieloetapowe odpowiedzi wychodzą błędne, delimitery, gdy wklejony tekst przecieka do instrukcji.

Najwięksi dostawcy modeli publikują też poradniki promptowania dla własnych modeli i warto je przeczytać, bo każdy opisuje, na co najlepiej reaguje dana rodzina modeli.

Czy prompt engineer to zawód?

Niektóre firmy zatrudniały na stanowisko "prompt engineer", zwłaszcza gdy modele czatowe dopiero stały się powszechnie dostępne. Częściej ta umiejętność jest częścią innej pracy. Programiści piszą prompty do budowanych przez siebie funkcji AI, zespoły wsparcia piszą je dla asystentów odpowiadających klientom, a analitycy i autorzy tekstów używają ich na co dzień.

W zespołach budujących produkty AI ta praca się poszerzyła. Wybór tego, co trafia do danych wejściowych modelu (pobrane dokumenty, wyniki narzędzi, historia rozmowy, pamięć), liczy się tak samo jak sformułowanie instrukcji, a tę szerszą pracę często nazywa się context engineering. Drugą połową jest mierzenie, czy prompt działa na wielu danych wejściowych, co zwykle nazywa się ewaluacją.

Co się zmienia przy nowszych modelach

Wczesny prompt engineering opierał się na sztuczkach: magicznych frazach, rozbudowanych personach, wielokrotnym powtarzaniu instrukcji. Obecne modele znacznie lepiej wykonują proste instrukcje, a modele rozumujące już wewnętrznie przerabiają problem przed odpowiedzią, więc prośba o myślenie krok po kroku daje mniej niż kiedyś.

Nie zmieniła się część, która nigdy nie była sztuczką. Model nadal nie może znać twojego odbiorcy, twoich danych, twoich ograniczeń ani tego, jak wygląda dobry wynik, dopóki mu tego nie powiesz. Jasna specyfikacja to trwała umiejętność i to jej ten poradnik poświęca większość stron.

Najczęściej zadawane pytania

Czym jest prompt engineering w prostych słowach?

Prompt engineering to pisanie instrukcji dla modelu AI na tyle starannie, żeby dawał potrzebną ci odpowiedź, a potem testowanie i poprawianie ich, aż zacznie robić to niezawodnie. Obejmuje to, co mówisz modelowi (zadanie, kontekst i przykłady), i to, jak to układasz (kolejność, format i separatory).

Czy mogę nauczyć się prompt engineeringu bez programowania?

Tak. Podstawowe umiejętności, czyli jasne sformułowanie zadania, dostarczenie kontekstu, podanie przykładów i określenie formatu odpowiedzi, działają w aplikacji czatowej. Programowanie przydaje się, gdy chcesz uruchamiać prompt wiele razy, testować go na zestawie danych wejściowych albo przekazywać wynik do programu.

Ile trwa nauka prompt engineeringu?

Podstawy zajmują jedno popołudnie: części dobrego promptu i kilka technik, takich jak przykłady few-shot i structured output. Niezawodne wyniki w prawdziwym zadaniu wymagają więcej czasu, bo biorą się z testowania promptu na wielu danych wejściowych i poprawiania przypadków, w których zawodzi.

Czy prompt engineer to prawdziwy zawód?

Niektóre firmy zatrudniały na stanowiska w rodzaju "prompt engineer", ale częściej ta umiejętność jest częścią innej roli: programistów budujących funkcje AI, autorów tekstów, analityków i zespołów wsparcia. W zespołach budujących produkty AI nakłada się na pracę nad ewaluacją i projektowanie wszystkiego, co widzi model, co dziś często nazywa się context engineering.

Czy prompt engineering ma jeszcze sens przy nowszych modelach?

Nowsze modele potrzebują mniej sztuczek. Lepiej wykonują proste instrukcje, a modele rozumujące rozwiązują problemy bez polecenia, żeby myślały krok po kroku. Przydatne pozostaje to, co nigdy nie było sztuczką: sformułowanie zadania, podanie modelowi faktów, których nie może znać, i określenie, jak wygląda dobra odpowiedź.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ