Dobre praktyki

Oto kilka wskazówek, o których warto pamiętać podczas projektowania prompta.

Prostota na początek

Tworzenie prompta to proces, który wymaga wielu eksperymentów, aby uzyskać optymalne wyniki. Rozpoczynanie od zbyt złożonych poleceń może utrudnić zrozumienie tego, dlaczego aktualne wyniki nie są takie jak oczekiwane, a co za tym idzie korygowanie instrukcji dla modelu.

O wiele lepiej zacząć od czegoś bardzo prostego i stopniowo dodawać coraz więcej elementów i kontekstu. Konkretność, prostota i zwięzłość często dają lepsze wyniki.

Warto też podzielić zadanie na kilka mniejszych, prostszych i rozwijać je w miarę uzyskiwania coraz lepszych wyników. Pozwala to uniknąć komplikowania procesu na samym początku.

Testowanie różnych instrukcji i komend

Dobrze dobrana komenda, np. "napisz", "klasyfikuj", "podsumuj", "przetłumacz" mocno wpływa na to jak skuteczny będzie prompt. Trzeba jednak podkreślić, że nie ma magicznych słów kluczowych, które gwarantują lepsze wyniki. Komenda, która zadziałała w prompcie A, niekoniecznie musi być tak samo skuteczna dla promptu B.

Dla przykładu, niektórzy zalecają umieszczenie instrukcji na początku prompta, a inni sugerują użycie wyraźnego separatora, takiego jak "###", aby oddzielić instrukcję od kontekstu.

Na szczęście istnieją takie narzędzia jak tryarvin.com, które ułatwiają ten proces. Strona oferuje bibliotekę komend, które są katalogowane według zastosowania i celu jaki chcemy osiągnąć, np. komendy dedykowane SEO (dobierz słowa kluczowe, optymalizuj architekturę strony).

Więcej o narzędziach ułatwiających tworzenie prompta znajdziesz w tej sekcji.

Precyzja polecenia

Im bardziej dokładny jest prompt, tym lepiej model sobie z nim poradzi. To kluczowe, gdy ma się na myśli określony rezultat lub styl odpowiedzi. Często skuteczne okazuje się również umieszczenie w zadaniu przykładów tego, czego oczekujemy.

Prompt

Dokonaj ekstrakcji atrybutów, które są istotne dla podanej opinii.
Dla każdego z atrybutów dokonaj analizy sentymentów.
Operuj na wartościach: pozytywny, negatywny i neutralny.

Oczekiwany format:
atrybut: wartość sentymentu

Cena nieadekwatna do jakości. Hotel zdecydowanie wymaga remontu. W pokojach jest brudno, wszystko pokryte zleżałym kurzem (np. drzwi, pilot od tv, klapa od kosza na śmieci w łazience...). Okropnie śmierdzi szambem, zwłaszcza w łazience. Fotel i narzuta na łóżko poplamione. Po podłodze chodzą wielkie, czarne pająki.
Podczas śniadania nie ma ekspresu do kawy. Z pieczywa jest tylko chleb, a ze słodkich śniadań tylko płatki, kupne ciasto typu strucla i ciastka typu pierniczki, wafelki.
Ocena 2, a nie 1, za czystą pościel i ręczniki oraz za miłą obsługę.

Output

Cena: negatywny
Stan hotelu: negatywny
Czystość pokojów: negatywny
Zapach: negatywny
Stan mebli: negatywny
Obecność owadów: negatywny
Śniadanie: negatywny
Pościel i ręczniki: pozytywny
Obsługa: pozytywny

Biorąc pod uwagę powyższe wskazówki dotyczące szczegółowości wymagań dla oczekiwanego formatu odpowiedzi, łatwo jest wpaść w pułapkę pozornej precyzji. Oto przykład:

Prompt

Wyjaśnij koncepcję prompt engineering. Wyjaśnienie powinno być krótkie, zaledwie kilka zdań i nie powinno być zbyt opisowe.

Z powyższego prompta nie wynika jasno, ile zdań należy użyć i w jakim stylu. Oczywiście, nadal możliwe jest wygenerowanie dobrych rezultatów, ale lepsze byłoby takie polecenie:

Prompt

Użyj 2-3 zdań, aby wyjaśnić koncepcję prompt engineering uczniowi szkoły średniej.

Lepszy nakaz niż zakaz

Jedną z mniej popularnych praktyk jest unikanie wskazywania, czego model ma nie robić, a zamiast tego formułować ograniczenia jako jedno z zadań do zrobienia. Zdaję sobie sprawę, że na tym etapie nie jest to jasne, dlatego pokażę to na prostym przykładzie, który doskonale tłumaczy, na czym to polega. To samo polecenie, ale napisane w formie biernego i aktywnego ograniczenia.

Prompt (bierne ograniczenia)

Nie pytaj o prywatne zainteresowania klienta.

Prompt (aktywne ograniczenia)

Unikaj pytań o prywatne zainteresowania klienta.

Last updated