Biblioteka Promptów - Najlepsze prompty dla AIBiblioteka Promptów
Sztuczna Inteligencjaprompt engineering
10.01.2024
10 min czytania

🚀 Zaawansowane techniki prompt engineeringu: Opanuj AI jak profesjonalista

Zespół Biblioteki
Sylwetka osoby pracującej przy nowoczesnym biurku z klawiaturą, wyświetlającej zaawansowany interfejs sztucznej inteligencji z przepływem danych na przezroczystym ekranie.

Sylwetka osoby pracującej przy nowoczesnym biurku z klawiaturą, wyświetlającej zaawansowany interfejs sztucznej inteligencji z przepływem danych na przezroczystym ekranie.

Prompt engineering to sztuka precyzyjnego formułowania poleceń dla AI. Opanuj zaawansowane techniki, by maksymalizować efektywność modeli językowych, takich jak GPT-4. To klucz do sukcesu w pracy z nowoczesnymi narzędziami! 💡


💡 Fundamenty skutecznego promptowania (przypomnienie i rozszerzenie)

Modele językowe (LLMs), takie jak GPT-4 (dostępne np. poprzez ChatGPT lub API), stanowią środowisko do stosowania tych technik. 🤖 To podstawa, by zacząć!

  • 👉 Zdefiniuj zadanie, kontekst i pożądany rezultat: Określ jasno, co model ma zrobić. To klucz do sukcesu! ✅
  • 📚 Dostarcz kontekst: Włącz istotne informacje tła, aby model zrozumiał szerszą sytuację.
  • 🎭 Zdefiniuj rolę dla LLM (Persona Prompting): Poproś model o przyjęcie konkretnej tożsamości lub perspektywy.
    • Przykład: "Jesteś ekspertem ds. cyberbezpieczeństwa."
  • 📝 Sprecyzuj format i ton odpowiedzi: Jawnie określ format (np. lista, JSON) i ton (np. profesjonalny, przyjazny).
    • Przykład: "Odpowiedz w formacie JSON, tonem profesjonalnym."

🛠️ Zaawansowane techniki inżynierii promptów

🎯 Few-shot prompting (promptowanie z kilkoma przykładami)

Few-shot prompting to potężna technika. 💪 Dostarcz modelowi wiele przykładów wejście-wyjście w promptcie, aby lepiej zrozumiał pożądany styl, format lub wzorzec rozwiązania.

Sukces: Stosuj, gdy zadanie jest niejednoznaczne lub wymaga specyficznego tonu, struktury lub wzorca rozumowania.

💡 Tip: Jak stosować few-shot prompting:

  • 👉 Włącz od 2 do 10 reprezentatywnych par wejście-wyjście w prompt.
  • ✨ Utrzymuj spójność w formatowaniu przykładów. To bardzo ważne!

Przykład promptu:

Zadanie: Klasyfikuj sentyment tekstu jako "pozytywny", "negatywny" lub "neutralny".

Przykłady:
Tekst: "Ten film był genialny!"
Sentyment: pozytywny

Tekst: "Jedzenie było ok, ale obsługa fatalna."
Sentyment: negatywny

Tekst: "Pogoda dzisiaj jest typowa dla jesieni."
Sentyment: neutralny

Tekst: "Najlepsza książka, jaką kiedykolwiek czytałem!"
Sentyment:
  • ➡️ Wpisz tylko ostatnią odpowiedź, a następnie kliknij Wyślij. To proste!

🧠 Chain-of-thought (CoT) prompting (łańcuch myślowy)

Chain-of-Thought (CoT) to technika, która nakłania model do generowania pośrednich kroków rozumowania przed udzieleniem końcowej odpowiedzi. 💡 To jak myślenie na głos!

Sukces: Idealne dla zadań wymagających wieloetapowego rozumowania, np. problemy matematyczne, debugowanie kodu, dedukcja logiczna.

💡 Tip: Jak stosować CoT:

  • 👉 Zero-shot CoT: Dodaj do promptu frazę inicjującą rozumowanie. To proste!

Przykład promptu:

Pytanie: Ile to jest 123 * 456? Pomyślmy krok po kroku.

Lub

Pytanie: Dlaczego niebo jest niebieskie? Rozwiążmy to krok po kroku.
  • 👉 Few-shot CoT: Włącz do promptu przykłady zawierające zarówno problem, jak i szczegółowe kroki rozumowania prowadzące do rozwiązania. Daj modelowi wzorzec.

Przykład promptu:

Pytanie: Ania miała 5 jabłek. Oddała 2 Wojtkowi, a potem dostała 3 od Marka. Ile jabłek ma Ania?
Rozwiązanie: Ania zaczęła z 5 jabłkami. Oddała 2, więc miała 5 - 2 = 3. Potem dostała 3, więc miała 3 + 3 = 6.
Odpowiedź: 6

Pytanie: Samochód jedzie 60 km/h. Jak długo zajmie mu pokonanie 180 km? Pomyślmy krok po kroku.

✨ Self-consistency (SC) z chain-of-thought (CoT-SC)

Self-Consistency (SC) z Chain-of-Thought (CoT-SC) to sposób na poprawę dokładności rozumowania. 🚀 Generuj wiele różnych ścieżek rozumowania, a następnie wybierz najczęściej pojawiającą się odpowiedź. To jak burza mózgów z AI!

Sukces: Zwiększaj niezawodność i dokładność dla złożonych zadań wymagających wieloetapowego rozumowania (arytmetyka, zagadki logiczne).

💡 Tip: Jak stosować CoT-SC:

  • 👉 Dodaj do oryginalnego pytania frazę typu „Pomyśl krok po kroku”.
  • Przykład promptu: "Ile to jest (15 + 7) * 3 / 2? Pomyśl krok po kroku."
  • 🔄 Zadaj to samo pytanie wielokrotnie (np. 3-5 razy) w oddzielnych konwersacjach lub oddzielnych promptach, aby model wygenerował różne ścieżki rozumowania i odpowiedzi.
  • 🗳️ Zastosuj technikę głosowania większościowego: spośród wszystkich uzyskanych odpowiedzi, wybierz tę, która pojawiła się najczęściej. To gwarantuje najlepszy wynik!

🌳 Tree-of-thought (ToT) prompting (drzewo myśli)

Tree-of-Thought (ToT) prompting umożliwia modelowi eksplorację wielu ścieżek rozwiązania na każdym etapie rozumowania. 🌲 Model może się samooceniać i cofać, co jest niezwykle przydatne! Pełna implementacja często wymaga zewnętrznych skryptów (np. LangChain). Poniżej znajdziesz przykład zero-shot, który symuluje ToT w ramach pojedynczego promptu.

Sukces: Idealne dla złożonych zadań planistycznych, rozwiązywania problemów z wieloma możliwymi ścieżkami, generowania idei czy kreatywnego pisania.

💡 Tip: Jak stosować (Zero-Shot ToT – symulacja w pojedynczym promptcie):

  • 👉 Zaproponuj modelowi, aby symulował proces myślowy z wieloma "ekspertami" lub "gałęziami". To jak mini-zespół ekspertów w AI!

Przykład promptu:

Jesteś zespołem ekspertów. Rozważcie problem "Jak zredukować zużycie energii w typowym gospodarstwie domowym?".
1. Rozdzielcie problem na kluczowe obszary (np. ogrzewanie, oświetlenie, sprzęt AGD).
2. Dla każdego obszaru, wygenerujcie przynajmniej 3-5 konkretnych pomysłów.
3. Oceńcie każdy pomysł pod kątem wykonalności i efektywności (1-5 gwiazdek).
4. Na koniec, przedstawcie 3 najlepsze, najbardziej kompleksowe rozwiązania, uwzględniając ocenę i uzasadnienie.
Pomyślcie jak drzewo myśli, eksplorując różne gałęzie rozwiązań, zanim dojdziecie do konsensusu.

↩️ Step-back prompting

Step-Back Prompting to technika, w której najpierw prosisz o ogólną analizę. 🌍 Następnie przechodzisz do szczegółowego pytania, używając ogólnych wniosków jako kontekstu. To jak patrzenie na problem z lotu ptaka, a potem schodzenie do detali!

Sukces: Stosuj, gdy potrzebujesz szerokiego kontekstu lub przeglądu przed podjęciem konkretnej rekomendacji lub wniosku.

💡 Tip: Jak stosować step-back prompting:

  • 👉 Pierwszy prompt: Zadaj ogólne pytanie, aby uzyskać szeroki kontekst. Zdobądź szerszą perspektywę.
  • Przykład: "Jakie są główne przyczyny globalnego ocieplenia?"
  • ➡️ Drugi prompt (na podstawie odpowiedzi z pierwszego): Wykorzystaj uzyskane ogólne wnioski jako kontekst do odpowiedzi na szczegółowe pytanie. Przejdź do konkretów!
  • Przykład: "Biorąc pod uwagę omówione główne przyczyny globalnego ocieplenia, jakie konkretne strategie miasto X może wdrożyć, aby znacząco zredukować emisje CO2?"

❓ Self-ask decomposition (dekompozycja poprzez samodzielne zadawanie pytań)

Self-Ask Decomposition to technika, która nakłania model do rozbicia złożonego zapytania na pod-pytania. 🧩 Następnie model odpowiada na każde z nich przed podaniem ostatecznej odpowiedzi. To jak dzielenie dużego problemu na mniejsze, łatwiejsze do rozwiązania części!

Sukces: Idealne, gdy zapytanie jest złożone lub wieloaspektowe i wymaga rozumowania opartego na wielu informacjach.

💡 Tip: Jak stosować self-ask decomposition:

  • 👉 Poproś model o zadawanie sobie kolejnych pytań w celu rozwiązania głównego problemu. To prowadzi do bardziej precyzyjnych odpowiedzi.

Przykład promptu:

Zadanie: Wyjaśnij proces fotosyntezy, jej znaczenie dla życia na Ziemi i główne czynniki, które na nią wpływają.
Aby odpowiedzieć na to pytanie, zadawaj sobie kolejne pytania, odpowiadaj na nie, a na koniec zsyntetyzuj pełną odpowiedź.
Pytania pomocnicze:
1. Czym jest fotosynteza?
2. Jakie  kluczowe etapy fotosyntezy?
3. Jakie znaczenie ma fotosynteza dla życia na Ziemi?
4. Jakie czynniki wpływają na fotosyntezę?

🤔 Reflection prompting (promptowanie refleksyjne)

Reflection Prompting to technika, która prosi model o refleksję nad swoimi poprzednimi odpowiedziami i ich ocenę. 🧐 To zachęca do głębszego myślenia lub ponownego rozważenia, co prowadzi do lepszych wyników!

Sukces: Stosuj w zadaniach wymagających krytycznego myślenia, rozwiązywania problemów, podejmowania decyzji, poprawy dokładności i uzasadnienia.

💡 Tip: Jak stosować reflection prompting:

  • 👉 Po pierwszej odpowiedzi, zadaj modelowi pytania refleksyjne. Zachęć go do samokrytyki!
  • Prompt 1: "Napisz krótkie streszczenie artykułu o sztucznej inteligencji."
  • Prompt 2 (po otrzymaniu odpowiedzi): "Co mogło zostać pominięte w twoim streszczeniu? Jak mógłbyś poprawić tę odpowiedź, aby była bardziej kompleksowa lub zwięzła?"
  • ✍️ Poproś model o krytyczną ocenę własnych projektów przed podaniem ostatecznej odpowiedzi. To jak wewnętrzny audyt AI.

Przykład promptu:

Zaproponuj trzy pomysły na innowacyjne zastosowanie blockchaina w logistyce. Po wygenerowaniu pomysłów, oceń każdy z nich pod kątem wykonalności, kosztów i potencjalnych korzyści, a następnie popraw te, które wymagają udoskonalenia.

🚀 ReAct (reason and act) prompting

ReAct (Reason and Act) Prompting to paradygmat, który umożliwia LLM rozwiązywanie złożonych zadań poprzez naprzemienne generowanie myśli (rozumowanie) i podejmowanie działań (np. symulowanie wyszukiwania, pobieranie danych). 🧠 Model obserwuje wyniki i dostosowuje podejście. Często wymaga integracji z narzędziami, ale poniżej znajdziesz przykład symulujący ReAct w pojedynczym promptcie.

Sukces: Idealne dla iteracyjnych, opartych na danych zadań, które mogą obejmować walidację zewnętrzną lub symulowaną interakcję.

💡 Tip: Jak stosować (symulacja w promptcie):

  • 👉 Instruuj model, aby naprzemiennie generował myśli i symulowane akcje. To jak mini-agent AI!

Przykład promptu:

Jesteś asystentem, który rozwiązuje problemy. Myśl i działaj.
Myśl: Muszę znaleźć stolicę Francji, a następnie znaleźć informację o jej najsłynniejszym zabytku.
Działanie: Szukaj "stolica Francji".
Obserwacja: Wynik wyszukiwania: "Stolicą Francji jest Paryż."

Myśl: Znam stolicę. Teraz muszę znaleźć jej najsłynniejszy zabytek.
Działanie: Szukaj "najsłynniejszy zabytek Paryża".
Obserwacja: Wynik wyszukiwania: "Wieża Eiffla jest najbardziej rozpoznawalnym symbolem Paryża."

Myśl: Mam wszystkie potrzebne informacje.
Odpowiedź: Stolicą Francji jest Paryż, a jej najsłynniejszym zabytkiem jest Wieża Eiffla.

Wykonaj podobnie dla pytania: "Która jest największa wyspa na Morzu Śródziemnym? Jaka jest jej powierzchnia?"

🔗 Prompt chaining (łączenie promptów)

Prompt Chaining to technika, która pozwala rozbić złożone zadanie na sekwencje prostszych promptów. ⛓️ Wynik jednego staje się wejściem dla następnego, tworząc płynny proces pracy z AI.

Sukces: Stosuj dla złożonych zadań wymagających wielu kroków lub iteracji (np. tworzenie treści od tematu po recenzję, rozwiązywanie zgłoszeń do obsługi klienta).

💡 Tip: Jak stosować prompt chaining:

  • 👉 Prompt 1 (Generowanie): Zacznij od ogólnego zadania.
  • Przykład: "Wygeneruj 5 pomysłów na blogposty o produktywności w pracy zdalnej."
  • ➡️ Prompt 2 (Rozwinięcie): Wykorzystaj wynik z poprzedniego promptu, aby rozwinąć temat.
  • Przykład: "Wybierz najlepszy pomysł z poprzedniej listy: '[Wklej wybrany pomysł z Promptu 1]'. Napisz szczegółowy konspekt dla tego blogposta, uwzględniając wstęp, 3-4 punkty główne i zakończenie."
  • 📝 Prompt 3 (Dalsze przetwarzanie): Kontynuuj przetwarzanie, aż uzyskasz pożądany efekt. To jak budowanie klocków LEGO z AI!
  • Przykład: "Na podstawie konspektu z poprzedniej odpowiedzi, napisz pełny artykuł blogowy. Użyj tonu inspirującego i praktycznego."

📚 Retrieval-augmented generation (RAG) prompting (promptowanie z uzupełnianiem danych z wyszukiwania)

Retrieval-Augmented Generation (RAG) Prompting to technika integrowania pobranych informacji z zewnętrznej bazy wiedzy z promptem. 📖 To pozwala uziemić LLM w specyficznych danych i skutecznie zapobiega halucynacjom. Wymaga zewnętrznego systemu do pobierania danych (np. bazy wektorowej).

Sukces: Stosuj do generowania odpowiedzi opartych na konkretnych, aktualnych lub prywatnych danych; poprawy dokładności i wierności źródłom.

💡 Tip: Jak stosować RAG (koncepcyjnie, w ChatGPT zakłada, że masz już pobrane dane):

  • 🔍 Faza wyszukiwania (zewnętrzny system): System pobiera najbardziej odpowiednie fragmenty informacji z bazy wiedzy na podstawie zapytania użytkownika (np. "instrukcja_produktu_X.pdf").
  • ✍️ Faza generowania (LLM): Przekaż zapytanie użytkownika i pobrany kontekst do LLM w jednym promptcie.
  • ⚠️ Warning: Jasno określ w promptcie, aby model odpowiadał tylko na podstawie dostarczonego kontekstu. To klucz do uniknięcia błędów!

Przykład promptu:

Odpowiedz, używając TYLKO dostarczonych źródeł:
[Pobrane dokumenty/fragmenty tekstu z Twojej bazy wiedzy, np. 'Dokument 1: ...', 'Dokument 2: ...']

Jeśli odpowiedź nie znajduje się w źródłach, powiedz 'Nie wiem.' Nie używaj wcześniejszej wiedzy.

Pytanie: Jak włączyć tryb oszczędzania energii w urządzeniu Y?

⚙️ Optymalizacja i debugowanie promptów

Optymalizacja i debugowanie promptów to nieodłączny element pracy z AI. 🛠️ Aby osiągnąć mistrzostwo, stosuj poniższe zasady:

  • 🔄 Stosuj iteracyjne podejście:
    • ✏️ Szkicuj wstępny prompt.
    • 🧪 Testuj go, wysyłając do LLM.
    • ✨ Dopracowuj prompt na podstawie uzyskanych wyników. To proces ciągłego doskonalenia!
  • 🔍 Analizuj wyniki:
    • ❌ Identyfikuj problemy (np. niejednoznaczny język, sprzeczne instrukcje, halucynacje).
    • ✅ Zmieniaj prompt, aby wyeliminować te problemy. Bądź detektywem AI!
  • 🔬 Testuj warianty:
    • 💡 Twórz kilka wersji promptu dla tego samego zadania.
    • 📊 Porównuj wyniki, aby znaleźć najskuteczniejszą wersję. Znajdź swój złoty prompt!
  • 🔧 Używaj narzędzi wspierających (opcjonalnie):
    • 🚀 W przypadku złożonych systemów (np. ToT, ReAct, RAG), rozważ użycie frameworków takich jak LangChain, które ułatwiają budowanie i testowanie sekwencji promptów. Ułatw sobie pracę!

✅ Podsumowanie

Precyzja, kontekst, iteracja, wykorzystanie rozumowania wieloetapowego i zewnętrznych danych to klucz do zaawansowanego prompt engineeringu. 🔑 Ciągłe uczenie się i adaptacja to niezbędne elementy, by osiągnąć mistrzostwo w efektywnym wykorzystywaniu AI. 🌟 Pamiętaj, że praktyka czyni mistrza!