Techniki rozmowy z AI

Cover Image for Techniki rozmowy z AI
Krzysztof
Krzysztof

Ostatnio rozmawialiśmy z botem na różne sposoby. Potem otrzymaliśmy od niego rachunek i rozstaliśmy się w zgodzie. Jeśli poprzedni artykuł nie jest Ci znany, tutaj łap link

Dzisiaj skupimy się nieco bardziej na tym jak uzyskiwać satysfakcjonujące odpowiedzi i zminimalizować ryzyko pomyłek. Oprócz tego techniki przedstawione w tym artykule pomogą Ci zredukować koszty wystawiane przez AI oraz zwiększyć ogólną wydajność interakcji

Nadawanie roli

Jedną z najprostszych technik na poprawę rezultatów interakcji z chatem, jest nadanie mu roli. Sprawi to, że GPT zacznie dobierać bardziej precyzyjne słownictwo. Ograniczy to również nieco jego omyłkowość.

Oprócz ustawiania roli modelu możemy ją także nadać dla nas samych. Dzięki temu chat będzie wiedział, w jaki sposób się do nas zwracać, tak abyśmy dobrze zrozumieli przekaz.

Przykład:

nadawanie roli

Jak widać, model nie tylko wyjaśnił różnice, używając fachowych pojęć (jak to na seniora przystało), ale także porównał Chrome i Noda w sposób zrozumiały dla juniora. Oczywiście nigdy nie możemy być pewni prawdomówności GPT, nawet w wersji 4. Jednak nadaniem odpowiedniej roli ograniczamy ryzyko nieprawdziwych informacji.

Cechy:

  • Technika niezwykle tania i szybka w zastosowaniu
  • Zauważalnie zwiększona trafność odpowiedzi
  • Słownictwo i poziom wypowiedzi dostosowane do oczekiwań

InPrompt learning

Oprócz zaawansowanych metod doszkalania modelu takich jak Fine Tuning mamy do dyspozycji nieco bardziej przystępną formę nauki chatu. Poza znacznie mniejszym kosztem oferuje nam również świetne wyniki nauczania. W praktyce fraza InPrompt learning to optymalnie skonstruowany prompt, do którego oprócz instrukcji dostarczamy szerszy kontekst, zbiór danych oraz przykładową formę odpowiedzi

Wyróżniamy trzy podstawowe rodzaje InPrompt learningu

  1. Zero-Shot Learning - jest to nic innego jak bezpośrednie napisanie polecenia. W ten sposób zbudowana jest większość promptów na świecie. Nie podajemy przykładów, dodatkowego kontekstu ani danych, więc model ma duże pole do kreatywnych interpretacji naszych instrukcji

Cechy:

  • Niski koszt polecenia
  • Interakcje z botem zachodzą z dużą szybkością
  • Brak schematu i ustrukturyzowanego formatu wyjaśnienia w odpowiedziach bota
  • Wyniki mogą mocno odbiegać od oczekiwanego rezultatu
  1. One-Shot Learning – W tym przypadku podajemy jakiś przykład rozwiązania lub definiujemy wyraźny format odpowiedzi, której oczekujemy. Dodatkowym plusem będzie także podanie jakiejś informacji poszerzającej kontekst naszej sytuacji. Warto zastosować tą technikę, gdy nasze polecenie jest możliwe do interpretacji na wiele różnych sposobów lub jeśli interesuje nas odpowiedź w konkretny sposób np. formacie JSON.

Przykład:

One shot learning

Jak widać, model odpowiedział w oczekiwanym przez nas formacie.

Cechy:

  • Cena nieco wyższa niż w przypadku braków przykładu
  • Całość interakcji jest dość szybka w zależności od złożoności przykładu i oczekiwanych rezultatów
  • Model będzie starał się trzymać narzuconego schematu i ograniczy swoją kreatywność
  1. Few-Shot Learning – To taki One-Shot Learning razy X. Sama idea nie różni się niczym od poprzedniej techniki, poza tym, że jeszcze bardziej staramy narzucić się format, dostarczyć szeroki i opisowy kontekst, a także wesprzeć go przynajmniej kilkoma przykładami

Przykład:

Few Shot Learning

W powyższej konwersacji daliśmy bardzo szeroki kontekst zawierający nawet informację, o który konkretnie rok nam chodzi. Co więcej, oprócz formatu JSON zdefiniowaliśmy również język, w jakim bot ma się wypowiedzieć oraz co ma zrobić, gdy nie zna odpowiedzi (ograniczy to ryzyko zmyślania)

Cechy:

  • Zarówno szybkość jak i cena polecenia rosną proporcjonalnie do ilości przykładów oraz poziomu rozbudowania kontekstu
  • Precyzyjne wyniki, bez kreatywności ze strony bota
  • Bardzo rzetelna, ale niekoniecznie stuprocentowo trafna odpowiedź.

Bonus: Przydatne zwroty do wykorzystania w rozmowie

  • acknowledge with ‘…’ and nothing more – GPT ma tendencję, żeby przesadnie chwalić się swoją wiedzą i tym, że zrozumiał naszą instrukcję. Warto ukrócić jego ambicje, zwłaszcza jeśli pytamy w języku innym niż angielski
  • ...return X and nothing more — zastosuj tę frazę, zwłaszcza gdy zależy Ci na zwięzłej odpowiedzi na dany temat. To krótkie zdanie działa doskonale w przypadku GPT-4 (w 3.5-Turbo bywa różnie)
  • ...answer as truthfully as possible — Osiągnięcie 100% pewności co do odpowiedzi jest prawdopodobnie niemożliwe, ale możemy skutecznie zwiększyć prawdomówność chatu. Dodatkowo tak jak w jednym z przykładów powyżej należy określić zachowanie, gdy bot nie zna odpowiedzi np. aby powiedział „nie wiem”, „IDK” lub cokolwiek innego zamiast zmyślania
  • skip explanation — jeśli zależy nam na bardzo konkretnej odpowiedzi i oszczędności tokenów, zwłaszcza w przypadku złożonych zagadnień możemy spróbować, aby GPT nie tłumaczył nam, jak doszedł do rozwiązania. Zaoszczędzi to wiele tokenów a rezultat powinien być podobny
  • Your only job is to — technika warta uwagi chcąc podkreślić wagę konkretnej instrukcji, a szczególnie w sytuacji, gdy prompt jest rozbudowany. Sprawdzi się to świetnie, gdy zadaniem bota jest zwrotka konkretnego formatu danych, a informacje kontekstowe są rozbudowane i nieco zaciemniają całość instrukcji.
Pamiętaj, że te zdania możesz zastosować nawet w poleceniach pisanych po polsku

Podsumowanie

Zastosowanie powyższych technik oraz zwrotów z pewnością poprawi wydajność Twojej interakcji z chatem GPT. Pamiętaj jednak, że nawet jeśli znacząco zwiększysz rzetelność i jakość odpowiedzi, to nadal rozmawiasz z modelem językowym, a jego odpowiedzi mogą nie być w 100 % prawdą.