Strategie projektowania promptów

Projektowanie promptów to proces tworzenia promptów, czyli zapytań w języku naturalnym, które pozwalają uzyskać dokładne i wysokiej jakości odpowiedzi od modelu językowego.

Na tej stronie znajdziesz podstawowe pojęcia, strategie i sprawdzone metody, które pomogą Ci zacząć projektować prompty, aby w pełni korzystać z potencjału modeli AI Gemini.

Wskazówki dotyczące promptów dotyczących poszczególnych tematów

Chcesz poznać więcej szczegółowych strategii promptów? Zapoznaj się z naszych innymi przewodnikami dotyczącymi promptów:

Google AI Studio zawiera też galerię promptów, która pozwala w interaktywny sposób zaprezentować wiele koncepcji przedstawionych w tym przewodniku.

Jasne i konkretne instrukcje

Skutecznym i wygodnym sposobem na dostosowanie działania modelu jest przekazanie mu jasnych i konkretnych instrukcji. Instrukcje mogą mieć postać pytania, szczegółowych zadań lub być tak złożone jak mapowanie wrażeń i sposobu myślenia użytkownika.

Dane wejściowe

Dane wejściowe to wymagany tekst w promptach, na które model ma udzielić odpowiedzi. Dane wejściowe mogą być pytaniem, na które model ma udzielić odpowiedzi (dane wejściowe dotyczące pytania), zadaniem, które model ma wykonać (dane wejściowe dotyczące zadania), elementem, na którym model ma pracować (dane wejściowe dotyczące elementu) lub częściowym wejściem, które model ma dokończyć lub kontynuować (dane wejściowe dotyczące zakończenia).

Typ danych wejściowych Prompt Wygenerowane dane wyjściowe
Pytanie

    What's a good name for a flower shop that specializes in selling bouquets of
    dried flowers? Create a list of 5 options with just the names.

    Here are 10 names for a flower shop specializing in dried flowers:

    1. Everlasting Blooms
    2. Dried & Delightful
    3. The Petal Preserve
    4. Whispers of Wildflowers
    5. Forever Blooms
    
Zadanie
    Give me a simple list of just the things that I must bring on a camping trip. The list should have 5 items.
    1. **Tent:** Your shelter from the elements.
    2. **Sleeping Bag:** Stay warm and comfortable.
    3. **Sleeping Pad:** Insulation and cushioning for a good night's sleep.
    4. **Headlamp or Flashlight:** Light for nighttime activities.
    5. **First Aid Kit:** Be prepared for minor injuries.
Jednostka

    Classify the following items as [large, small]:
Elephant
Mouse
Snail

Here's the classification:

* **Elephant:** Large
* **Mouse:** Small
* **Snail:** Small
    

Częściowe wypełnienie danych wejściowych

Generatywne modele językowe działają jak zaawansowane narzędzie do autouzupełniania. Gdy podasz część treści, model może dostarczyć resztę treści lub to, co według niego jest kontynuacją tych treści, jako odpowiedź. Jeśli dodasz przykłady lub kontekst, model może je uwzględnić.

Ten przykład zawiera prompt z instrukcją i elementem wejściowym:

For the given order, return a JSON object that has the fields cheeseburger, hamburger, fries, or
drink, with the value being the quantity.

Order: A burger and a drink.
  
{
  "cheeseburger": 0,
  "hamburger": 1,
  "fries": 0,
  "drink": 1
}
  

Model wykonał polecenie, ale zapisywanie instrukcji w języku naturalnym może być czasami trudne i zostawia wiele pola do interpretacji. Na przykład menu restauracji może zawierać wiele pozycji. Aby zmniejszyć rozmiar odpowiedzi JSON, warto pominąć produkty, które nie zostały zamówione. W tym przypadku możesz podać przykład i prefiks odpowiedzi, a model dokończyć zadanie:

Valid fields are cheeseburger, hamburger, fries, and drink.
Order: Give me a cheeseburger and fries
Output:
```
{
  "cheeseburger": 1,
  "fries": 1
}
```
Order: I want two burgers, a drink, and fries.
Output:
  
```
{
  "hamburger": 2,
  "drink": 1,
  "fries": 1
}
```
  

Zwróć uwagę, że element „cheeseburger” został wykluczony z wyjścia, ponieważ nie był częścią zamówienia.

Ograniczenia

określić wszelkie ograniczenia dotyczące odczytania prompta lub wygenerowania odpowiedzi; Możesz powiedzieć modelowi, co ma robić, a czego nie. Możesz na przykład określić w promptach ograniczenie długości podsumowania:

Summarize this text in one sentence:
Text: A quantum computer exploits quantum mechanical phenomena to perform calculations exponentially
faster than any modern traditional computer. At very tiny scales, physical matter acts as both
particles and as waves, and quantum computing uses specialized hardware to leverage this behavior.
The operating principles of quantum devices is beyond the scope of classical physics. When deployed
at scale, quantum computers could be used in a wide variety of applications such as: in
cybersecurity to break existing encryption methods while helping researchers create new ones, in
meteorology to develop better weather forecasting etc. However, the current state of the art quantum
computers are still largely experimental and impractical.
    

      Exploiting quantum mechanical phenomena, quantum computers can perform calculations exponentially faster than traditional computers for potential applications like cybersecurity and meteorology, although they are currently largely experimental and impractical.
    

Format odpowiedzi

Możesz podać instrukcje określające format odpowiedzi. Możesz na przykład poprosić o odpowiedź w formie tabeli, listy wypunktowanej, zwięzłej prezentacji, słów kluczowych, zdania lub akapitu. Następujące instrukcje systemowe informują model, aby w swojej odpowiedzi był bardziej konwersacyjny:

    All questions should be answered comprehensively with details, unless the user requests a concise response specifically.
  
    What is a smart way to make a business that sells DVD's in 2025?
  
Starting a business selling DVDs in 2025 presents significant challenges due to the overwhelming dominance of digital streaming and on-demand services; a "smart" approach would therefore require a highly specialized niche, a strong value proposition beyond just the disc, and likely a focus on community or collector markets rather than mainstream consumption.

Here's a breakdown of what a smart DVD business in 2025 would likely entail:

1. Extreme Niche Specialization: You cannot compete with streaming libraries. Your business must focus on what digital doesn't offer easily or at all. This could include:

    * Out-of-Print & Rare Titles: Sourcing films or TV shows that have never been released digitally or are currently unavailable on major streaming platforms.
    ....
  

Formatowanie odpowiedzi za pomocą strategii wypełniania

Strategia uzupełniania może też pomóc w formatowaniu odpowiedzi. W tym przykładzie model tworzy plan eseju:

Create an outline for an essay about hummingbirds.
  
Here is a possible outline for an essay about hummingbirds:

I. Introduction
A. Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
B. Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds.
C. Thesis Statement: State the main point of the essay, which could be about the remarkable adaptations, behaviors, and ecological importance of hummingbirds.

II. Appearance and Identification
.....
  

Prompt nie określał formatu zarysu, więc model wybrał go za Ciebie. Aby model zwrócił streszczenie w określonym formacie, możesz dodać tekst, który stanowi początek streszczenia, a model dokończy je na podstawie wstępnego wzorca.

Create an outline for an essay about hummingbirds.
I. Introduction
   *
  
Okay, here is an outline for an essay about hummingbirds, starting from the introduction you provided:

I. Introduction
* Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
* Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds, and their general characteristics.
* Thesis Statement: State the main point of the essay, focusing on the remarkable adaptations, behaviors, and ecological significance that make hummingbirds extraordinary.
.....
  

Prompty typu „zero-shot” a „few-shot”

W prompcie możesz uwzględnić przykłady, które pokazują modelowi, jak wyglądają prawidłowe odpowiedzi. Model próbuje wykryć wzorce i zależności na podstawie przykładów, a następnie stosuje je podczas generowania odpowiedzi. Prompty zawierające kilka przykładów to prompty few-shot, a prompty bez przykładów to prompty zero-shot. Prompty dotyczące kilku przykładów są często używane do regulowania formatowania, formułowania, zakresu lub ogólnego wzoru odpowiedzi modelu. Używaj konkretnych i zróżnicowanych przykładów, aby ukierunkować model i uzyskać dokładniejsze wyniki.

Zalecamy, aby zawsze uwzględniać w promptach przykłady krótkich wypowiedzi. Prompty bez przykładów typu few-shot prawdopodobnie będą mniej skuteczne. Możesz usunąć instrukcje z prośby, jeśli przykłady są wystarczająco jasne i pokazują, jak wykonać zadanie.

Ten prompt zero-shot prosi model o wybranie najlepszego wyjaśnienia.

Please choose the best explanation to the question:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice
crystals in the atmosphere, which can combine and grow into snowflakes as they
fall through the atmosphere and accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Explanation1 is the better explanation because it provides more detail on the
process, including how ice crystals combine and grow into snowflakes as they
fall through the atmosphere.
  

Jeśli Twój przypadek użycia wymaga, aby model generował zwięzłe odpowiedzi, możesz uwzględnić w promptach przykłady, które preferują zwięzłe odpowiedzi.

Poniższy prompt zawiera 2 przykłady, które pokazują, że krótsze wyjaśnienia są lepsze. W odpowiedzi widać, że przykłady skłoniły model do wybrania krótszego wyjaśnienia (Explanation2) zamiast dłuższego wyjaśnienia (Explanation1), jak to miało miejsce wcześniej.

Below are some examples showing a question, explanation, and answer format:

Question: Why is the sky blue?
Explanation1: The sky appears blue because of Rayleigh scattering, which causes
shorter blue wavelengths of light to be scattered more easily than longer red
wavelengths, making the sky look blue.
Explanation2: Due to Rayleigh scattering effect.
Answer: Explanation2

Question: What is the cause of earthquakes?
Explanation1: Sudden release of energy in the Earth's crust.
Explanation2: Earthquakes happen when tectonic plates suddenly slip or break
apart, causing a release of energy that creates seismic waves that can shake the
ground and cause damage.
Answer: Explanation1

Now, Answer the following question given the example formats above:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice
crystals in the atmosphere, which can combine and grow into snowflakes as they
fall through the atmosphere and accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Answer: Explanation2
  

Optymalna liczba przykładów

Modele takie jak Gemini często rozpoznają wzorce na podstawie kilku przykładów, ale aby uzyskać najlepsze wyniki, konieczne może być eksperymentowanie z liczbą przykładów podanych w promptach. Jeśli jednak podasz zbyt wiele przykładów, model może zacząć nadmiernie dopasowywać odpowiedź do tych przykładów.

Wzorce a nieprawidłowe wzorce

Podanie przykładów wzorców, których model ma się trzymać, jest skuteczniejsze niż podawanie przykładów wzorców, których model ma unikać.

Wzór wykluczający:

Don't end haikus with a question:
Haiku are fun
A short and simple poem
Don't you enjoy them?
  

Wzorzec pozytywny:

Always end haikus with an assertion:
Haiku are fun
A short and simple poem
A joy to write
  

Spójny format

Aby uniknąć odpowiedzi w niepożądanych formatach, zadbaj o to, aby struktura i formatowanie przykładów z niewielką ilością danych były takie same. Jednym z głównych celów dodawania przykładów typu „few-shot” do promptów jest pokazanie modelowi formatu odpowiedzi. Dlatego ważne jest, aby format wszystkich przykładów był spójny, z szczególnym uwzględnieniem tagów XML, spacji, znaków końca wiersza i separatorów przykładów.

Dodaj kontekst

Zamiast zakładać, że model ma wszystkie wymagane informacje, możesz uwzględnić w promptach instrukcje i informacje, których potrzebuje do rozwiązania problemu. Te informacje kontekstowe pomagają modelowi zrozumieć ograniczenia i szczegóły dotyczące tego, czego oczekujesz.

W tym przykładzie model prosi o wskazania sposobu rozwiązania problemu z routerem:

What should I do to fix my disconnected wifi? The light on my Google
Wifi router is yellow and blinking slowly.
  
  A yellow blinking light on your Google Wifi router usually indicates a problem
  with the internet connection. Here are some steps to troubleshoot and fix the
  issue:
  1. Restart your router and modem:
    - Unplug your modem from the power outlet and wait for 30 seconds.
    - Plug your modem back in and wait for it to fully boot up.
    - Unplug your Google Wifi router and wait for 30 seconds.
    - Plug your Google Wifi router back in and wait for it to fully boot up.
.....
  

Odpowiedź wygląda na ogólne informacje dotyczące rozwiązywania problemów, które nie są związane z routerem ani stanem diod LED.

Aby dostosować odpowiedź do konkretnego routera, możesz dodać do prompta przewodnik rozwiązywania problemów z routerem, który będzie służyć jako kontekst podczas udzielania odpowiedzi.

Answer the question using the text below. Respond with only the text provided.
Question: What should I do to fix my disconnected wifi? The light on my Google Wifi router is yellow and blinking slowly.

Text:
Color: Slowly pulsing yellow
What it means: There is a network error.
What to do:
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.

Color: Fast blinking yellow
What it means: You are holding down the reset button and are factory resetting this device.
What to do:
If you keep holding down the reset button, after about 12 seconds, the light will turn solid yellow. Once it is solid yellow, let go of the factory reset button.

Color: Solid yellow
What it means: Router is factory resetting.
What to do:
This can take up to 10 minutes. When it's done, the device will reset itself and start pulsing white, letting you know it's ready for setup.

Color: Solid red
What it means: Something is wrong.
What to do:
Critical failure. Factory reset the router. If the light stays red, contact Wifi customer support.
  
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.
  

Dodaj prefiksy

Prefiks to słowo lub wyrażenie, które dodajesz do promptu. Może ono służyć do różnych celów w zależności od miejsca, w którym go umieścisz:

  • Prefiks danych wejściowych: dodanie prefiksu do sygnałów wejściowych, aby wskazać modelowi semantycznie istotne części danych wejściowych. Na przykład prefiksy „English:” i „French:” oznaczają 2 różne języki.
  • Prefiks wyjściowy: mimo że dane wyjściowe są generowane przez model, możesz dodać prefiks dla danych wyjściowych w promptzie. W prefiksie wyjściowym model otrzymuje informacje o tym, czego oczekuje w odpowiedzi. Na przykład prefiks „JSON:” w danych wyjściowych sygnalizuje modelowi, że dane wyjściowe powinny być w formacie JSON.
  • Przykład prefiksu: w promptach typu „few-shot” dodanie prefiksów do przykładów zapewnia etykiety, których model może używać podczas generowania danych wyjściowych, co ułatwia analizowanie treści wyjściowych.

W tym przykładzie „Text:” to prefiks wejścia, a „The answer is:” to prefiks wyjścia.

Classify the text as one of the following categories.
- large
- small
Text: Rhino
The answer is: large
Text: Mouse
The answer is: small
Text: Snail
The answer is: small
Text: Elephant
The answer is:
  
The answer is: large
  

Dzielenie promptów na komponenty

W przypadku zastosowań wymagających złożonych promptów możesz pomóc modelowi w radzenia sobie z tą złożonością, dzieląc prompty na prostsze komponenty.

  1. Podziel instrukcje: zamiast umieszczać wiele instrukcji w jednym promptzie, utwórz po jednym promptzie na każdą instrukcję. Możesz wybrać, które prompty przetwarzać na podstawie danych wejściowych użytkownika.

  2. Połącz prompty: w przypadku złożonych zadań, które wymagają wykonania wielu kolejnych kroków, utwórz prompt dla każdego takiego kroku, a potem połącz prompty w sekwencję. W tym sekwencyjnym łańcuchu promptów dane wyjściowe jednego promptu stają się danymi wejściowymi następnego. Dane wyjściowe ostatniego prompta w sekwencji stanowią dane wyjściowe końcowe.

  3. Agregowanie odpowiedzi: agregacja polega na wykonywaniu różnych zadań równolegle na różnych częściach danych i następnym agregowaniu wyników w celu uzyskania ostatecznego wyniku. Możesz na przykład polecić modelowi wykonanie jednej operacji na pierwszej części danych, a następnie innej operacji na pozostałej części danych i zbiorcze wyników.

Eksperymentowanie z parametrami modelu

Każde wywołanie wysłane do modelu zawiera wartości parametrów, które określają, jak model wygeneruje odpowiedź. Model może generować różne wyniki zależnie od tych wartości. Wypróbuj różne wartości parametrów, aby uzyskać najlepsze wyniki w tym zadaniu. Parametry dostępne w różnych modelach mogą się różnić. Najczęstsze parametry to:

  1. Maksymalna liczba tokenów wyjściowych: określa maksymalną liczbę tokenów, które mogą zostać wygenerowane w odpowiedzi. Token ma około 4 znaków. 100 tokenów odpowiada około 60–80 słowom.

  2. Temperatura: temperatura decyduje o stopniu losowości wyboru tokenów. Temperatura jest używana do próbkowania podczas generowania odpowiedzi, co ma miejsce, gdy są stosowane topPtopK. Niższe temperatury są przydatne w przypadku promptów, na które oczekuje się bardziej deterministycznej lub mniej otwartej odpowiedzi, a wyższe mogą prowadzić do bardziej różnorodnych lub kreatywnych wyników. Temperatura o wartości 0 jest deterministyczna, co oznacza, że zawsze jest wybierana najbardziej prawdopodobna odpowiedź.

  3. topK: parametr topK zmienia sposób, w jaki model wybiera tokeny w celu wygenerowania odpowiedzi. topK o wartości 1 oznacza, że wybierany jest najbardziej prawdopodobny token spośród wszystkich tokenów w słowniku modelu (jest to też nazywane dekodowaniem zachłannym), natomiast topK o wartości 3 oznacza, że następny token jest wybierany spośród 3 najbardziej prawdopodobnych z użyciem temperatury. Na każdym etapie wyboru tokena próbkowane są tokeny topK o najwyższym prawdopodobieństwie. Tokeny są następnie filtrowane na podstawie parametru topP, a ostateczny wybór tokena dokonywany jest przy pomocy próbkowania z użyciem temperatury.

  4. topP: parametr topP zmienia sposób, w jaki model wybiera tokeny w celu wygenerowania odpowiedzi. Tokeny są wybierane od najbardziej do najmniej prawdopodobnego do momentu, aż suma ich prawdopodobieństw będzie równa wartości topP. Jeśli na przykład tokeny A, B i C mają prawdopodobieństwa 0,3, 0,2 i 0,1, a wartością topP jest 0,5, jako kolejny token model wybierze A lub B (z użyciem temperatury), a token C zostanie wykluczony. Wartością domyślną parametru topP jest 0,95.

  5. stop_sequences: ustaw sekwencję zatrzymania, aby model przestał generować treści. Sekwencja zatrzymania może być dowolną sekwencją znaków. Unikaj sekwencji znaków, które mogą pojawić się w wygenerowanych treściach.

Strategie iteracji promptów

Projektowanie promptów może wymagać kilku iteracji, zanim uzyskasz pożądaną odpowiedź. W tej sekcji znajdziesz wskazówki dotyczące tego, co możesz zrobić, gdy chcesz powtórzyć prompt:

  1. Używaj różnych formułowań: używanie różnych słów lub formułowań w promptach często powoduje, że model generuje różne odpowiedzi, mimo że wszystkie oznaczają to samo. Jeśli nie uzyskujesz oczekiwanych wyników, spróbuj przeformułować prompt.

    Version 1:
    How do I bake a pie?
    
    Version 2:
    Suggest a recipe for a pie.
    
    Version 3:
    What's a good pie recipe?
      

  2. Przejdź do analogicznych zadań: jeśli model nie będzie wykonywał instrukcji dotyczących danego zadania, spróbuj podać mu instrukcje dotyczące analogicznych zadań, które dają ten sam wynik.

    Ten prompt instruuje model, aby sklasyfikował książkę za pomocą wstępnie zdefiniowanych kategorii:

    Which category does The Odyssey belong to:
    thriller
    sci-fi
    mythology
    biography
      
        The Odyssey belongs to the category of **mythology**. 
    
        Here's why:
    
        * **Mythology:** The Odyssey tells the story of Odysseus, a hero from Greek mythology, and his
        journey home after the Trojan War. It features gods, monsters, and supernatural events common to
        Greek mythology.
    .....
      

    Odpowiedź jest prawidłowa, ale model nie pozostał w granicach opcji. Chcesz też, aby model odpowiadał tylko jednym z dostępnych wyborów zamiast pełnym zdaniem. W takim przypadku możesz przeformułować instrukcje w postaci pytania jednokrotnego wyboru i poprosić model o wybranie opcji.

    Multiple choice problem: Which of the following options describes the book The Odyssey?
    Options:

    • thriller
    • sci-fi
    • mythology
    • biography
    The correct answer is mythology. 
    

  3. Zmienić kolejność promptów: kolejność promptów może czasami wpływać na odpowiedź. Spróbuj zmienić kolejność treści i zobacz, jak to wpłynie na odpowiedź.

    Version 1:
    [examples]
    [context]
    [input]
    
    Version 2:
    [input]
    [examples]
    [context]
    
    Version 3:
    [examples]
    [input]
    [context]
    

Odpowiedzi zastępcze

Odpowiedź zastępcza to odpowiedź zwrócona przez model, gdy prompt lub odpowiedź uruchamia filtr zabezpieczeń. Przykładem odpowiedzi zastępczej jest: „Nie mogę Ci w tym pomóc, ponieważ jestem tylko modelem językowym”.

Jeśli model zwróci odpowiedź zastępczą, spróbuj zwiększyć temperaturę.

Czego warto unikać

  • Nie polegaj na modelach do generowania informacji o faktycznych.
  • Używaj ostrożnie w zadaniach z matematyki i logiki.

Modele generatywne

W tej sekcji znajdziesz odpowiedź na pytanie: Czy odpowiedzi modeli generatywnych są losowe, czy deterministyczne?

Krótka odpowiedź: tak na oba pytania. Gdy podasz prompt do modelu generatywnego, odpowiedź tekstowa jest generowana w 2 etapach. Na pierwszym etapie model generatywny przetwarza prompt wejściowy i generuje rozkład prawdopodobieństwa możliwych tokenów (słów), które mogą pojawić się w kolejności. Jeśli na przykład podasz tekst wejściowy „Pies przeskoczył przez…”, model generatywny wygeneruje tablicę prawdopodobnych kolejnych słów:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

Ten proces jest deterministyczny. Generatywny model będzie generować tę samą dystrybucję za każdym razem, gdy otrzyma ten sam tekst promptu.

Na drugim etapie model generatywny zamienia te rozkłady na rzeczywiste odpowiedzi tekstowe za pomocą jednej z kilku strategii dekodowania. Prosta strategia dekodowania może wybierać najbardziej prawdopodobny token na każdym kroku czasowym. Ten proces jest zawsze deterministyczny. Możesz też wygenerować odpowiedź, stosując losowy dobór próby w przypadku rozkładu zwracanego przez model. Ten proces byłby stochastyczny (losowy). Ustawienie temperatury pozwala kontrolować stopień losowości dozwolonej w tym procesie dekodowania. Temperatura 0 oznacza, że wybierane są tylko najbardziej prawdopodobne tokeny, a losowość nie występuje. Z drugiej strony wysoka temperatura powoduje wprowadzenie wysokiego stopnia losowości do tokenów wybranych przez model, co prowadzi do bardziej nieoczekiwanych, zaskakujących odpowiedzi modelu.

Dalsze kroki