Connect with us

Prompt engineering

Przewodnik OpenAI po inżynierii prompty: opanowanie ChatGPT dla zaawansowanych aplikacji

mm
Prompt Engineering

Zrozumienie inżynierii prompty

Inżynieria prompty to sztuka i nauka tworzenia wejść (prompty) w celu uzyskania pożądanych wyjść z modeli AI, takich jak ChatGPT. Jest to niezwykle ważna umiejętność dla maksymalizacji skuteczności tych modeli.

ChatGPT, zbudowany na architekturach GPT-3 i GPT-4 OpenAI, znacznie się rozwinął, stając się bardziej responsywny i świadomy kontekstu. Zrozumienie jego ewolucji jest kluczem do opanowania inżynierii prompty.

Podobnie jak doświadczony dyrygent prowadzący orkiestrę, inżynieria prompty pozwala nam kierować tymi modelami, aby wykonywały złożone zadania, od tworzenia szczegółowych dokumentów technicznych po generowanie kreatywnych i angażujących treści. Ten przewodnik przeprowadzi Cię przez strategie i taktyki, które przekształcą Twoją interakcję z AI, podnosząc ją z podstawowych wymian do nuansowanych i znaczących rozmów.

Rozważ różnicę między zapytaniem “Jak dodawać liczby w Excelu?” a “Jak automatycznie sumować kolumnę kwot w Excelu, z sumami wyświetlanymi po prawej stronie w kolumnie ‘Suma’?” Ostatnie, bardziej szczegółowe prompt, pozostawia mniej do interpretacji AI, prowadząc do bardziej dokładnej i pomocnej odpowiedzi. Podobnie, zrozumienie użycia persona, separatorów i instrukcji krok po kroku może głęboko wpłynąć na jakość wyjścia AI, szczególnie w przypadku złożonych zadań.

Ten przewodnik po inżynierii prompty nie tylko pokryje aspekty teoretyczne, ale także zapewni praktyczne, praktyczne przykłady. Nauczysz się, jak skutecznie używać taktyk, takich jak dostarczanie tekstów referencyjnych w celu skierowania AI z dala od fabrykacji, lub jak rozłożenie złożonych zadań na prostsze podzadania może przynieść więcej dokładnych wyników.

1. Jasność i szczegółowość

Tworzenie skutecznych prompty dla modeli AI, takich jak GPT-4, wymaga połączenia precyzji, kontekstu i jasności. Różnica między źle skonstruowanym promptem a dobrze przemyślanym może być różnicą między mglistą, ogólną odpowiedzią a wysoko istotną, szczegółową odpowiedzią.

Przykład 1: Wykorzystanie zrozumienia języka ChatGPT dla zapytań technicznych

  • Nieskuteczny prompt: “Jak naprawić błąd w moim kodzie?”
    • Wyjście AI: “Aby naprawić błąd w kodzie, musisz najpierw zidentyfikować błąd, zrozumieć, dlaczego się pojawia, a następnie zmodyfikować kod, aby go poprawić.”
  • Skuteczne zapytanie techniczne: “Koduję w Pythonie i otrzymuję ‘KeyError’, gdy próbuję uzyskać dostęp do słownika. Fragment kodu to: [fragment kodu]. Co powoduje ten błąd i jak mogę go naprawić?”
    • Wyjście AI: “Błąd ‘KeyError’ w Twoim kodzie Pythona jest prawdopodobnie spowodowany próbą uzyskania dostępu do klucza w słowniku, który nie istnieje. Oto, jak możesz zmodyfikować swój kod, aby rozwiązać ten błąd: [zmodyfikowany fragment kodu z wyjaśnieniem].”

Przykład 2: Pisanie kreatywne z imitacją stylu

  • Nieskuteczny prompt: “Napisz krótką historię.”
    • Wyjście AI: “Dawno, dawno temu, w odległej krainie, było królestwo, które stanęło w obliczu wielkiego niebezpieczeństwa…”
  • Skuteczna imitacja stylu: “Napisz krótką historię w stylu Ernesta Hemingwaya, koncentrując się na rozmowie między dwoma starymi przyjaciółmi, którzy spotykają się nieoczekiwanie.”
    • Wyjście AI: “Słońce biło na pyłnej drodze, gdzie Jack i Tom, dwaj starzy przyjaciele, spotkali się przypadkowo. ‘To już lata’, powiedział Jack, jego głos był tak suchy jak powietrze. ‘Lata od wojny’, odpowiedział Tom. [Historia kontynuuje się w stylu Hemingwaya, zwięzłym i opartym na dialogu].”

Przykład 3: Porady podróżne

  • Nieskuteczny prompt: “Co powinienem zrobić w Paryżu?”
    • Wyjście AI: “W Paryżu możesz odwiedzić punkty orientacyjne, takie jak Wieża Eiffla, Luwr i Katedra Notre-Dame.”
  • Skuteczny prompt: “Jadę do Paryża na trzy dni latem, z naciskiem na sztukę i historię. Czy możesz zasugerować szczegółowy plan?”
    • Wyjście AI: “Dzień 1: Odwiedź Luwr rano, a następnie przejdź do Katedry Notre-Dame. [Szczegółowy plan podróży].”

Wnioski dotyczące tworzenia lepszych prompty

  1. Szczegółowość: Bądź jak najbardziej szczegółowy. Im bardziej szczegółowy jest Twój prompt, tym bardziej dostosowana będzie odpowiedź.
  2. Informacje kontekstowe: Dołącz wszystkie istotne informacje kontekstowe. Pomaga to AI zrozumieć dokładny charakter Twojego zapytania.
  3. Cel: Wyraź jasno, czego oczekujesz jako wyjścia. Czy to przepis, plan podróży, czy rozwiązanie techniczne, wyraź swój cel.
  4. Unikaj niejasności: Niejasne prompty prowadzą do ogólnych odpowiedzi. Ujasnij swoje zapytanie, aby otrzymać precyzyjne odpowiedzi.
  5. Wykorzystuj znane formaty: Jeśli ma to zastosowanie, poproś o informacje w określonym formacie, takim jak lista, przewodnik krok po kroku lub diagram.

2. Wzmacnianie odpowiedzi AI za pomocą odniesień

Strategiczne użycie tekstów referencyjnych w inżynierii prompty może znacznie podnieść jakość i dokładność odpowiedzi generowanych przez modele AI, takie jak GPT-4. Poprzez dostarczanie istotnych, zaufanych informacji obok Twojego zapytania, możesz skierować AI do komponowania odpowiedzi na podstawie podanych materiałów, czyniąc odpowiedzi bardziej wiarygodnymi i kontekstowo dokładnymi.

Przykład 1: Wyjaśnienie naukowe

  • Tradycyjny prompt: “Jak powstaje czarna dziura?”
    • Wyjście AI: “Czarna dziura powstaje z resztek dużej gwiazdy, która umiera w supernowej. Jeśli masa jądra jest wystarczająco duża, zapada się pod własnym ciężarem w czarną dziurę.”
  • Wzmocniony prompt z tekstem referencyjnym:
    • Podany tekst referencyjny: “[Naukowa praca na temat ewolucji gwiazd i czarnych dziur]”
    • Prompt: “Korzystając z informacji z podanego artykułu naukowego, wyjaśnij proces powstawania czarnej dziury.”
    • Wyjście AI: “Na podstawie artykułu naukowego, czarna dziura powstaje, gdy masa gwiazdy jest wystarczająco duża, aby spowodować zapadnięcie się jądra. Artykuł szczegółowo opisuje: [‘Istotne fragmenty z artykułu’]”

Przykład 2: Interpretacja prawna

  • Tradycyjny prompt: “Jakie są prawne konsekwencje kradzieży własności intelektualnej?”
    • Wyjście AI: “Kradzież własności intelektualnej może prowadzić do prawnych konsekwencji, takich jak pozwania, grzywny i w ciężkich przypadkach, więzienia.”
  • Wzmocniony prompt z tekstem referencyjnym:
    • Podany tekst referencyjny: “[Artykuł prawniczy na temat prawa własności intelektualnej]”
    • Prompt: “Odnosząc się do artykułu prawniczego, wyjaśnij konkretnie prawne konsekwencje kradzieży własności intelektualnej.”
    • Wyjście AI: “Artykuł prawniczy stwierdza, że kradzież własności intelektualnej może skutkować pozwami cywilnymi, karami ustawowymi i potencjalnymi zarzutami karnymi. Artykuł szczegółowo opisuje: [‘Bezpośrednie cytaty z artykułu’]”

Wnioski dotyczące użycia tekstów referencyjnych w prompach

  1. Wybór odpowiednich tekstów: Wybierz teksty referencyjne, które są bezpośrednio związane z Twoim zapytaniem.
  2. Specyfikacja prompty: Wyraźnie poinstruuj AI, aby użyła podanego tekstu referencyjnego do komponowania odpowiedzi.
  3. Cytaty: Poproś AI, aby cytowała konkretnie części tekstu referencyjnego w swojej odpowiedzi, dla dokładności i weryfikacji.
  4. Rozwiązywanie braku informacji: Poinstruuj AI, aby wyraźnie stwierdziła, jeśli podany tekst nie zawiera niezbędnych informacji do odpowiedzi na pytanie.

3. Uproszczanie złożonych zadań z podziałem na podzadania

Kluczem do skutecznego radzenia sobie z złożonymi zadaniami z modelami AI, takimi jak GPT-4, jest rozłożenie ich na prostsze podzadania. Podejście to nie tylko upraszcza proces, ale także zwiększa dokładność i istotność odpowiedzi AI.

Przykład 1: Zapytanie o obsługę klienta

  • Nieskuteczne podejście: Jedno zapytanie o ogólną pomoc.
    • Prompt użytkownika: “Mam problemy z moim kontem.”
    • Wyjście AI: “Czy mógłbyś określić charakter problemu z Twoim kontem?”
  • Skuteczne podejście: Klasyfikacja zapytania do kategorii i zapewnienie ukierunkowanej pomocy.
    • Prompt użytkownika: “Mam problemy z dostępem do mojego konta.”
    • Dyrektywa AI: “Klasyfikuj zapytanie do ‘Zarządzania kontem’, a następnie zaproponuj konkretny sposób rozwiązywania problemów z dostępem.”
    • Wyjście AI: “Wygląda na to, że masz problemy z dostępem do konta. Zacznijmy od zresetowania hasła. [Szczegółowe kroki].”

Przykład 2: Streszczenie długiego dokumentu

  • Nieskuteczne podejście: Próba streszczenia długiego dokumentu w jednym zapytaniu.
    • Prompt użytkownika: “Podsumuj ten 300-stronicowy dokument dla mnie.”
    • Wyjście AI: “Przepraszam, ale nie mogę przetworzyć dokumentu dłuższego niż moje okno kontekstowe.”
  • Skuteczne podejście: Streszczenie dokumentu częściowo i konstrukcja pełnego streszczenia w sposób rekursywny.
    • Dyrektywa AI: “Streszczaj każdy rozdział oddzielnie, a następnie utwórz streszczenie streszczeń, postępując rekursywnie.”
    • Prompt użytkownika: “Podsumuj rozdział 1 tej książki.”
    • Wyjście AI: “Streszczenie rozdziału 1: [Krótkie streszczenie rozdziału 1].”
    • Kontynuacja procesu: Ten sam proces jest stosowany do każdego rozdziału, po czym następuje ostateczne streszczenie łączące wszystkie poszczególne streszczenia.

Korzyści z podziału zadań i inżynierii prompty w kontekście

  1. Zwiększona dokładność: Poprzez koncentrowanie się na konkretnych aspektach złożonego zadania, AI może dostarczyć bardziej dokładne i istotne odpowiedzi.
  2. Wzrost wydajności: Rozłożenie zadań na mniejsze części sprawia, że są one bardziej zarządzalne i zmniejsza prawdopodobieństwo błędów lub nieistotnych wyjść.
  3. Lepsze doświadczenie użytkownika: Użytkownicy otrzymują ukierunkowaną, krok po kroku pomoc, która jest bardziej przydatna niż ogólne odpowiedzi.
  4. Opłacalność: Mniejsze, ukierunkowane prompty mogą być bardziej opłacalne w porównaniu z większymi, bardziej złożonymi prompty.

4. Daj AI czas, aby “pomyślał”

Strategia dawania modelom czasu, aby “pomyśleć” i rozkładając złożone zadania na zarządzalne kroki, znacznie poprawia jakość odpowiedzi generowanych przez modele AI, takie jak GPT-4.

Przykład 1: Ocena problemu matematycznego

  • Nieskuteczne podejście: Bezpośrednie zapytanie modelu o ocenę rozwiązania.
    • Prompt użytkownika: “Czy rozwiązanie ucznia tego problemu matematycznego jest poprawne?”
    • Wyjście AI: “Rozwiązanie ucznia wydaje się być poprawne/niepoprawne.”
  • Skuteczne podejście: Poinstruowanie modelu, aby najpierw samodzielnie rozwiązał problem, a następnie ocenił rozwiązanie ucznia.
    • Prompt użytkownika: “Najpierw rozwiąż ten problem matematyczny. Następnie porównaj swoje rozwiązanie z rozwiązaniem ucznia i oceni jego poprawność.”
    • Wyjście AI: “Moje rozwiązanie: [Szczegółowe rozwiązanie]. Porównując z rozwiązaniem ucznia, znalazłem błąd w ich obliczeniach [konkretna część]. Prawidłowe podejście powinno być [poprawna metoda].”

Przykład 2: Analiza dokumentu

  • Nieskuteczne podejście: Próba analizy dużego dokumentu w jednym zapytaniu.
    • Prompt użytkownika: “Podsumuj najważniejsze punkty z tego całego dokumentu.”
    • Wyjście AI: “Przepraszam, ale nie mogę przetworzyć całego dokumentu ze względu na jego długość.”
  • Skuteczne podejście: Sekwencyjne wyodrębnianie wyjątków i następne zapytania do kompleksowej analizy.
    • Prompt użytkownika: “Wyodrębnij najważniejsze fragmenty z tego dokumentu związane z [konkretny temat].”
    • Wyjście AI: “Fragment 1: [Istotny passaż]. Fragment 2: [Inny istotny passaż].”
    • Następny prompt użytkownika: “Czy są więcej istotnych fragmentów? Upewnij się, że zawierają pełny kontekst.”
    • Wyjście AI: “Dodatkowy fragment: [Kolejny istotny passaż].”

Korzyści i wnioski

  1. Głębia analizy: Poprzez samodzielne rozwiązanie problemu lub analizy, AI może dostarczyć bardziej dokładne i dogłębne oceny.
  2. Nauczanie z wytycznymi: W scenariuszach edukacyjnych, użycie wewnętrznej monologu i wskazówek zachęca uczniów do samodzielnego dochodzenia do rozwiązań, co poprawia ich doświadczenie edukacyjne.
  3. Kompleksowe pokrycie: Dla analizy dokumentów, sekwencyjne i rekursywne podejścia zapewniają szczegółowe pokrycie bez pominięcia ważnych szczegółów.
  4. Unikanie uprzedzeń: Poprzez samodzielne wygenerowanie rozwiązania, AI unika uprzedzeń, które mogą powstać w wyniku bezpośredniej oceny podanego rozwiązania.

5. Wykorzystanie zewnętrznych narzędzi

Włączanie zewnętrznych narzędzi i zasobów do interakcji z AI może znacznie poprawić dokładność i istotność odpowiedzi generowanych przez modele, takie jak GPT-4. Ten rozdział demonstruje użycie wyszukiwania opartego na osadzaniu do pobierania wiedzy, wykonywania kodu do dokładnych obliczeń oraz wywołań funkcji w celu rozszerzenia możliwości modeli AI.

Przykład 1: Dokładne obliczenia z wykonywaniem kodu

  • Bez wykonywania kodu: Poleganie wyłącznie na zdolnościach obliczeniowych modelu.
    • Prompt użytkownika: “Oblicz pierwiastek kwadratowy z 529.”
    • Wyjście AI: “Pierwiastek kwadratowy z 529 jest przybliżony do 23.”
  • Z wykonywaniem kodu: Zapewnienie precyzji w obliczeniach.
    • Prompt użytkownika: “Oblicz pierwiastek kwadratowy z 529.”
    • Dyrektywa AI: “Napisz i wykonaj kod Pythona, aby obliczyć to.”
    • Wyjście AI: “python import math math.sqrt(529) Pierwiastek kwadratowy z 529 jest dokładnie 23.”

Przykład 2: Użycie wywołań API dla dynamicznych interakcji

  • Bez wywołań API: Ograniczenie do statycznych, zaprogramowanych odpowiedzi.
    • Prompt użytkownika: “Wyślij przypomnienie mojemu przyjacielowi o naszym spotkaniu jutro.”
    • Wyjście AI: “Przypomnienie: Nie zapomnij wysłać wiadomości do przyjaciela o spotkaniu jutro.”
  • Z wywołaniem API: Interakcja z zewnętrznymi systemami w czasie rzeczywistym.
    • Prompt użytkownika: “Wyślij przypomnienie mojemu przyjacielowi Johnowi o naszym spotkaniu jutro.”
    • Dyrektywa AI: “Użyj API wiadomości, aby wysłać przypomnienie.”
    • Wyjście AI: “python import message message.write(to='John', message='Hej, pamiętaj o naszym spotkaniu jutro!') Przypomnienie wysłane do Johna o spotkaniu jutro.”

Korzyści i wnioski

  1. Rozszerzona baza wiedzy: Poprzez użycie wyszukiwania opartego na osadzaniu, AI może uzyskać dostęp i włączyć ogromną ilość aktualnych informacji, zwiększając istotność i dokładność swoich odpowiedzi.
  2. Precyzja w obliczeniach: Wykonywanie kodu pozwala AI na dokładne obliczenia matematyczne, co jest szczególnie przydatne w kontekstach technicznych lub naukowych.
  3. Interaktywne możliwości: Wywołania API umożliwiają AI interakcję z zewnętrznymi systemami, ułatwiając działania w świecie rzeczywistym, takie jak wysyłanie wiadomości lub ustawianie przypomnień.

6. Systematyczne testowanie

Systematyczne testowanie, czyli procedury oceny, jest kluczowe w określaniu skuteczności zmian w systemach AI. Podejście to obejmuje porównywanie wyjść modelu z zestawem wcześniej ustalonych standardów lub “złotych” odpowiedzi, aby ocenić dokładność.

Przykład 1: Wykrywanie sprzeczności w odpowiedziach

  • Scenariusz testowy: Wykrywanie sprzeczności w odpowiedzi modelu w porównaniu z odpowiedziami ekspertów.
    • Dyrektywa systemu: Określ, czy odpowiedź modelu sprzeciwia się jakiejkolwiek części odpowiedzi eksperta.
    • Wejście użytkownika: “Neil Armstrong został drugą osobą, która wyszła na Księżyc, po Buzzie Aldrinie.”
    • Proces oceny: System sprawdza zgodność z odpowiedzią eksperta, która mówi, że Neil Armstrong był pierwszą osobą na Księżycu.
    • Wyjście modelu: Odpowiedź modelu bezpośrednio sprzeciwia się odpowiedzi eksperta, wskazując na błąd.

Przykład 2: Porównywanie poziomów szczegółowości w odpowiedziach

  • Scenariusz testowy: Ocena, czy odpowiedź modelu jest zgodna z, przewyższa, czy jest mniej szczegółowa niż odpowiedź eksperta.
    • Dyrektywa systemu: Porównaj głębokość informacji między odpowiedzią modelu a odpowiedzią eksperta.
    • Wejście użytkownika: “Neil Armstrong po raz pierwszy wyszedł na Księżyc 21 lipca 1969 roku o 02:56 UTC.”
    • Proces oceny: System ocenia, czy odpowiedź modelu dostarcza więcej, tyle samo, czy mniej szczegółów niż odpowiedź eksperta.
    • Wyjście modelu: Odpowiedź modelu dostarcza dodatkowych szczegółów (dokładny czas), co jest zgodne z odpowiedzią eksperta i ją rozszerza.

Korzyści i wnioski

  1. Dokładność i niezawodność: Systematyczne testowanie zapewnia, że odpowiedzi modelu AI są dokładne i niezawodne, szczególnie w przypadku informacji faktograficznych.
  2. Wykrywanie błędów: Pomaga w identyfikowaniu błędów, sprzeczności lub nieścisłości w odpowiedziach modelu.
  3. Kontrola jakości: Podejście to jest niezbędne do utrzymania wysokich standardów jakości treści generowanych przez AI, szczególnie w kontekstach edukacyjnych, historycznych lub innych wrażliwych na fakty.

Podsumowanie i komunikat końcowy

Przez omówione przykłady i strategie, zobaczyliśmy, jak szczegółowość w prompach może dramatycznie zmienić wyjście, i jak rozkładanie złożonych zadań na prostsze podzadania może uczynić trudne wyzwania zarządzalnymi. Eksplorowaliśmy moc zewnętrznych narzędzi w rozszerzaniu możliwości AI oraz znaczenie systematycznego testowania w zapewnieniu niezawodności i dokładności odpowiedzi AI. Odwiedź Przewodnik OpenAI po inżynierii prompty, aby uzyskać podstawową wiedzę, która uzupełnia nasze kompleksowe eksplorowanie zaawansowanych technik i strategii dla optymalizacji interakcji z AI.

Spędziłem ostatnie pięć lat, zanurzając się w fascynującym świecie Machine Learning i Deep Learning. Moja pasja i ekspertyza doprowadziły mnie do udziału w ponad 50 różnych projektach inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja nieustanna ciekawość również skierowała mnie w stronę Natural Language Processing, dziedziny, którą chcę bardziej zbadać.