Sztuka dogadania się z maszyną: prompt engineering #11
W poprzednim artykule analizowaliśmy alternatywy dla ChatGPT. Jak się okazało, jest wiele godnych polecenia chatbotów. Te chatboty opierają się na potężnych modelach językowych tworzonych przez konkurencję OpenAI - firmy takie jak Google, Anthropic czy francuska firma Mistral AI.
Ale jak wykorzystać potencjał tych potężnych narzędzi?
Wyobraźmy sobie taką sytuację, że mamy do czynienia z bardzo inteligentną osobą, i mówimy do niej: “Zrób to!”. Taka osoba, mimo dużych pokładów inteligencji, nie zdoła wykonać tego zadania, ponieważ nie wie, o co chodzi.
Ale przypuśćmy, że nasze polecenie nie jest aż tak abstrakcyjne i mówimy: “Napisz mi artykuł”. I znowu, mimo wysokich zdolności intelektualnych, osoba ta może nie trafić w to, czego akurat potrzebujemy. Ponieważ nie jest jasne, jaki jest temat, co autor ma na myśli i do czego ten artykuł powinien zmierzać. Mimo że przygotowany artykuł będzie poprawny gramatycznie, prawdopodobnie okaże się bezwartościowy z naszej perspektywy, ponieważ nie będzie dokładnie tym, czego chcieliśmy.
Ale również w życiu prywatnym czy zawodowym: chyba każdy z nas miał sytuację, w której nie dogadaliśmy się z powodu skrótów myślowych czy innych nieklarownych i nieprzemyślanych odpowiedzi.
Chociaż umiejętność posługiwania się językiem jest zdolnością kluczową i fundamentalną (przecież 3-latki dobrze sobie z tym radzą), to istnieje cały szereg dyscyplin naukowych, które mają za zadanie wynieść komunikację ludzką na wyższy poziom.
Retoryka skupia się skutecznym przekonywaniu i argumentacji; komunikacja interpersonalna bada jak ludzie wymieniają się informacją; lingwistyka stosowana zajmuje się praktycznym wykorzystaniem języka (np. w tłumaczeniu), filozofia języka z kolei bada naturę języka i znaczenie słów, a erystyka jest sztuką prowadzenia sporów.
Jak widzimy, klarowność i jednoznaczność wypowiedzi czy polecenia jest kluczowa dla istot ludzkich, które są ze swojej natury bardzo inteligentne. Co więcej, istnieje cały szereg dyscyplin naukowych dotyczących tego, jak używać języka i osiągać swoje cele.
Tym bardziej klarowność poleceń jest kluczowa, aby maszyna, która jest dużo mniej inteligentna niż człowiek, była w stanie zrobić to, czego akurat potrzebujemy. Zatem nie powinno być zaskoczeniem, że istnieje specjalistyczna dziedzina wiedzy (na razie jeszcze nie dyscyplina naukowa), która działa na styku sztucznej inteligencji, lingwistyki i interakcji człowiek-maszyna. Ta dziedzina wiedzy to “prompt engineering”.
Dosłowne tłumaczenie terminu “prompt engineering” to “inżynieria podpowiedzi”, która w praktyce stanowi zestaw dobrych praktyk, w jaki sposób możemy pomóc maszynie udzielić dobrej odpowiedzi. A jak możemy pomóc maszynie udzielić dobrej odpowiedzi? Poprzez proces projektowania, optymalizacji i testowania instrukcji (promptów) używanych to interakcji z modelami AI (głównie LLM). Celem procesu jest uzyskanie precyzyjnych, użytecznych i oczekiwanych odpowiedzi od modelu AI poprzez odpowiednie formułowanie zapytań lub poleceń.
Typowa struktura dobrego promptu:
-
Rola lub persona
Poproszenie modelu o przyjęcie określonej roli może poprawić jakość odpowiedzi.
-
Instrukcja (definicja zadania)
Jasno określ, co model ma zrobić
-
Kontekst
Zapewnij odpowiednie informacje, które pomogą modelowi lepiej zrozumieć polecenie.
-
Przykłady
Podaj przykłady rozwiązywania problemu, aby ukierunkować model.
-
Format odpowiedzi
Określ, w jaki sposób model ma sformatować odpowiedź (punkty, tabela, JSON, akapit)
-
Ograniczenia i wytyczne
Zdefiniuj zasady dotyczące tonu, długości lub stylu odpowiedzi (np. formalny, swobodny, zwięzły, szczegółowy)
W zależności od zadania, nie wszystkie elementy muszą być uwzględnione.
Oto przykład złego promptu:
Przygotuj podsumowanie raportu. Raport: <TREŚĆ RAPORTU>
A oto przykład dobrego promptu (tytuły są pomocnicze dla lepszego zrozumienia, nie muszą być w finalnej instrukcji):
Rola lub persona
Jesteś doświadczonym analitykiem finansowym, który przygotowuje podsumowania raportów dla zarządu.
Instrukcja (definicja zadania):
Przeanalizuj poniższy raport finansowy i podsumuj kluczowe informacje w trzech punktach. Skup się na najważniejszych danych, takich jak zmiany w przychodach, kosztach oraz zysku netto.
Kontekst:
Raport dotyczy wyników finansowych firmy X za ostatni kwartał i zawiera dane dotyczące przychodów, kosztów operacyjnych oraz zysków netto. Raport: <TREŚĆ RAPORTU>
Format odpowiedzi:
Zwróć odpowiedź w formie listy punktów. Każdy punkt powinien zawierać maksymalnie 20 słów.
Ograniczenia i wytyczne:
-
Używaj profesjonalnego i zwięzłego tonu.
-
Skup się na najważniejszych danych finansowych.
-
Nie dodawaj własnych interpretacji – bazuj wyłącznie na danych z raportu.
Jeżeli używacie ChatGPT czy innych alternatyw (a znamy fajne alternatywy z poprzedniego artykułu ;-), zachęcam do przetestowania tych dobrych praktyk i podzielenia się doświadczeniami.

Komentarze