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:

  1. Rola lub persona

Poproszenie modelu o przyjęcie określonej roli może poprawić jakość odpowiedzi.

  1. Instrukcja (definicja zadania)

Jasno określ, co model ma zrobić

  1. Kontekst

Zapewnij odpowiednie informacje, które pomogą modelowi lepiej zrozumieć polecenie.

  1. Przykłady

Podaj przykłady rozwiązywania problemu, aby ukierunkować model.

  1. Format odpowiedzi

Określ, w jaki sposób model ma sformatować odpowiedź (punkty, tabela, JSON, akapit)

  1. 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.

Ros Apostol
04.04.2025, 00:11

Comentarios