Prompt Engineering

Prompt Engineering (Inżynieria poleceń) to stosunkowo nowa dziedzina polegająca na tworzeniu i optymalizacji prompta, czyli polecenia na podstawie którego systemy AI takie jak ChatGPT albo Google Bard wykonują zlecone im zadania. Krótko mówiąc, im lepszy prompt, tym lepszy efekt.

Co to jest prompt engineering? Jak to działa?

Prompt to polecenie, które podajemy modelowi językowemu, aby uzyskać określoną odpowiedź. Może to być pytanie, prośba o wygenerowanie tekstu na określony temat, albo nawet początkowy fragment historii, który model powinien dokończyć.

Prompt engineering - przykłady

Prosty prompt pozwala osiągnąć bardzo dużo, ale jakość wyników zależy od tego, w jaki sposób określimy nasze wymagania co do pożądanego rezultatu. Dobry prompt powinien zawierać:

  • pytanie - np. jaki klub wygrał Ligę Mistrzów w 2022 roku?

  • instrukcja - np. usuń z podanego tekstu wszystkie przecinki

  • dane wejściowe - np. opinie klientów do analizy

  • kontekst - np. stwórz plan diety, ale dla osoby z cukrzycą

  • przykład oczekiwanej odpowiedzi - np. nazwa produktu: cena, jabłko: 1,99

Oto prosty przykład, który pokazuje dlaczego te informacje są ważne.

Prompt

Chmury na niebie

Output:

Chmury na niebie tworzą różnorodne kształty,
przypominając malownicze obrazy, które ciągle się zmieniają.

Jak widać na powyższym przykładzie, model językowy nie miał dokładnie określonego celu zadania, więc wygenerował ciąg znaków, które mają sens w kontekście "Chmury na niebie.

To bardzo prosty przykład, ale dobrze pokazuje jak ważne jest dostarczenie więcej kontekstów lub instrukcji dotyczących tego, co konkretnie chce się osiągnąć.

Spróbujmy być bardziej precyzyjni:

Prompt

Wymień w punktach rodzaje chmur jakie występują na niebie.
Ogranicz się do samych nazw w kolejności alfabetycznej.

Output

Altocumulus
Altostratus
Cirrocumulus
Cirrostratus
Cirrus
Cumulonimbus
Cumulus
Nimbostratus
Stratocumulus
Stratus

Wynik wygląda o wiele lepiej, ponieważ model generuje dokładnie to, co zostało wskazane w poleceniu jako istotne do zrealizowania zadania. Jednak łacińskie nazwy niewiele mi mówią.

Spróbuję ustrukturyzować te informacje w bardziej czytelny sposób.

Prompt

Stwórz na tej podstawie prostą tabelkę, która posiada:
- kolumnę z nazwami chmur
- kolumnę z krótkim opisem chmury

Output

Celem tych wszystkich kroków było optymalizowanie instrukcji, aby uzyskać coraz lepsze rezultaty i to jest właśnie to, co nazywamy "prompt engineering".

Powyższe działanie jest bardzo prostym przykładem tego, co jest możliwe dzięki dużym modelom językowym (LLM). Są w stanie wykonywać wiele zaawansowanych zadań, od podsumowywania tekstu, przez rozumowanie matematyczne, aż po generowanie kodu.

Last updated