Menu

Szablony promptów: przykłady i jak je tworzyć

Szablon promptu to przetestowany już prompt z polami na części, które za każdym razem się zmieniają. Skopiuj gotowe szablony z polami do uzupełnienia, a potem w pięciu krokach zamień w szablon swój najlepszy prompt.

Każdy prompt poniżej możesz edytować: zmień go, a potem otwórz w ChatGPT, Claude lub innej aplikacji AI.

Szablon promptu to prompt z polami do uzupełnienia. Stały tekst zawiera wszystko, czego udało ci się nauczyć o uzyskiwaniu dobrej odpowiedzi w jednym rodzaju zadania: rolę, format, ograniczenia. Pola zawierają to, co zmienia się za każdym razem: temat, język, tekst do przetworzenia. Uzupełnienie trzech pól jest szybsze niż napisanie promptu i daje odpowiedzi o stałej jakości i kształcie.

Poniższy szablon wyjaśnia dowolne pojęcie programistyczne na twoim poziomie. Wpisz w pola własne wartości, wyłącz jakąś część, żeby zobaczyć, co wnosi, a potem skopiuj szablon albo otwórz go w aplikacji czatowej.

Wyjaśnij pojęcie na moim poziomie
Fill in
Parts
Jesteś cierpliwym korepetytorem dla programistów samouków.
Wyjaśnij domknięcia (closures) w JavaScript.
Znam już zmienne, funkcje i tablice. Najlepiej uczę się na małym przykładzie, który mogę sam uruchomić.
Odpowiedz w trzech częściach z pogrubionymi etykietami: idea w jednym zdaniu, krótki przykład kodu z komentarzem przy kluczowej linii i jeden częsty błąd.
Zmieść się w 150 słowach. Jeśli potrzebujesz pojęcia, którego nie ma na mojej liście znanych, wyjaśnij je w kilku słowach.
Try it
Example replyReplies vary between models and runs.

Idea: domknięcie to funkcja, która pamięta zmienne z miejsca, w którym została utworzona, nawet gdy funkcja zewnętrzna już skończyła działać.

Przykład:

function makeCounter() {
  let count = 0;
  return function () {
    count += 1; // still sees count from makeCounter
    return count;
  };
}

const next = makeCounter();
console.log(next()); // 1
console.log(next()); // 2

Częsty błąd: oczekiwanie, że dwa liczniki będą miały wspólną sumę. Każde wywołanie makeCounter() tworzy nowe count, więc każdy licznik ma własne.

Co sprawia, że szablon jest dobry

Szablon jest tak dobry jak prompt, z którego powstał, więc stały tekst powinien być promptem, który już uruchomiono i który dał dobry wynik. Trzy wybory odróżniają użyteczny szablon od formularza, który po prostu szybciej produkuje przeciętne odpowiedzi.

Rób pola tylko z tego, co się zmienia. Jeśli zawsze chcesz odpowiedzi poniżej 150 słów, wpisz 150 do stałego tekstu. Każde pole to decyzja, którą trzeba podjąć od nowa przy każdym użyciu, a szablon z dziesięcioma polami wypełnia się wolniej, niż pisze się prompt od zera.

Daj każdemu polu jasną nazwę i rozsądną wartość domyślną. {{znane}} mówi, co wpisać; {{x}} nie mówi nic. Wartość domyślna pokazuje, jakiego rodzaju wartość jest oczekiwana, i pozwala raz uruchomić szablon bez wpisywania czegokolwiek.

Jeden szablon na jedno zadanie. Szablon, który w zależności od pola wyjaśnia pojęcia, przegląda kod albo pisze pytania do quizu, robi wszystkie trzy rzeczy gorzej niż trzy osobne szablony. Im bardziej konkretny stały tekst, tym więcej może powiedzieć o formacie i poziomie.

Sześć elementów z poradnika jak napisać prompt to dobra lista kontrolna dla stałego tekstu: rola, zadanie, kontekst, wejście, format, ograniczenia. Pola zwykle przypadają na zadanie, kontekst i wejście.

Przykłady szablonów promptów

Te trzy obejmują częste codzienne zadania. Każdy ma nazwane pola do uzupełnienia. Większy zbiór gotowych promptów znajdziesz w przykładach promptów.

Streszczenie dla konkretnego czytelnika
Fill in
Streść tekst z tagów <text> dla menedżera, który ma dwie minuty. Użyj najwyżej 3 punktów. Zacznij od decyzji albo działania, które czytelnik musi podjąć, i pomiń tło, którego nie potrzebuje. <text> Wklej tutaj tekst </text>
Try it
Napisz małą funkcję
Fill in
Napisz funkcję w Python, która przyjmuje listę liczb i zwraca medianę. Użyj adnotacji typów, jeśli język je ma. Jeśli wejście jest puste, zgłoś ValueError. Pod funkcją dodaj trzy przykładowe wywołania z oczekiwanymi wynikami w komentarzach. Zwróć tylko kod.
Try it
Example replyReplies vary between models and runs.
def median(numbers: list[float]) -> float:
    if not numbers:
        raise ValueError("median() needs at least one number")
    ordered = sorted(numbers)
    middle = len(ordered) // 2
    if len(ordered) % 2 == 1:
        return ordered[middle]
    return (ordered[middle - 1] + ordered[middle]) / 2


# median([3, 1, 2])     returns 2
# median([4, 1, 3, 2])  returns 2.5
# median([])            raises ValueError
Odpowiedz na wiadomość
Fill in
Napisz odpowiedź na wiadomość z tagów <message>. Cel: grzecznie odmówić i zaproponować w zamian termin w przyszłym miesiącu. Ton: przyjazny i zwięzły. Zmieść się w 80 słowach i nie dodawaj faktów, których nie ma w wiadomości ani w celu. <message> Cześć! Czy znajdziesz czas na krótkie wystąpienie o swoim projekcie na naszym meetupie 14.? </message>
Try it
Example replyReplies vary between models and runs.

Cześć, dziękuję za zaproszenie, bardzo mi miło! Niestety 14. nie dam rady. Czy pasowałby wam termin w przyszłym miesiącu? Wtedy chętnie opowiem o projekcie.

Pozdrawiam, [Twoje imię]

Tagi wokół wklejonego tekstu nie są przypadkowe. Uzupełniony tekst może zawierać zdania wyglądające jak instrukcje, a delimitery chronią model przed pomyleniem instrukcji z twojego szablonu z materiałem, na którym ma pracować.

Jak zbudować własny szablon

  1. Zacznij od promptu, który zadziałał. Weź rozmowę, w której odpowiedź wyszła dobrze, i zbierz ostateczną wersję promptu razem z poprawkami, które trzeba było dodać w kolejnych wiadomościach. Te poprawki to najcenniejsza część, bo naprawiają to, co pierwsza wersja zrobiła źle.
  2. Zaznacz, co zmieni się następnym razem. Przeczytaj prompt i podkreśl każde słowo, które edytujesz przy następnym użyciu. Zwykle to od dwóch do czterech rzeczy: temat, odbiorca, długość, wklejone wejście.
  3. Zastąp każde z nich nazwanym polem. Zapisz pole tak, jak oczekuje tego twoje narzędzie, na przykład [audience] w prompcie wklejanym ręcznie albo {audience} w kodzie.
  4. Przetestuj z trzema różnymi wypełnieniami. Użyj jednego typowego przypadku, jednego bardzo krótkiego albo bardzo długiego wejścia i jednego nietypowego przypadku. Jeśli któryś zawiedzie, stały tekst nadal coś zakłada o pierwszym użyciu. Zmieniaj po jednym zdaniu naraz, jak opisuje iteracja promptów.
  5. Zapisz go tam, gdzie go znajdziesz. Sprawdzi się plik z notatkami, program do rozwijania skrótów albo menedżer snippetów. Szablon, którego trzeba szukać, to szablon, którego przestaje się używać.

Szablony w kodzie

W programie szablon to string z nazwanymi polami. Pythonowe str.format() je wypełnia:

SUMMARY_TEMPLATE = """Summarize the text inside the <text> tags for {audience}.
Use at most {bullets} bullet points and lead with any action the reader must take.

<text>
{text}
</text>"""

with open("notes.txt", encoding="utf-8") as f:
    meeting_notes = f.read()

prompt = SUMMARY_TEMPLATE.format(
    audience="a manager who has two minutes",
    bullets=3,
    text=meeting_notes,
)

Przy str.format() każdy dosłowny nawias klamrowy w szablonie trzeba zapisać podwójnie ({{ i }}), co ma znaczenie, gdy szablon zawiera przykład JSON. Nawiasy w przekazywanych wartościach, na przykład w kodzie w meeting_notes, nie wymagają escapowania. Niektóre biblioteki do budowania aplikacji AI mają własne klasy szablonów, ale robią to samo co string formatujący, tylko z dodatkowymi funkcjami.

Gdy wartości pochodzą od użytkowników, pamiętaj, że szablon wysyła ich tekst do modelu. Trzymaj go w delimiterach i nie dawaj modelowi narzędzi ani danych, które złośliwe wejście mogłoby wykorzystać.

Szablon czy prompt systemowy

Szablon i prompt systemowy rozwiązują różne problemy. Prompt systemowy zawiera zasady obowiązujące przy każdej wiadomości w rozmowie albo aplikacji: personę, ton, to, czego asystent nigdy nie może robić. Szablon zawiera jedno zadanie z polami. W aplikacji często używa się obu: stałego promptu systemowego, który ustala podstawowe zasady, i szablonu, który buduje każdą wiadomość użytkownika.

Najczęściej zadawane pytania

Czym jest szablon promptu?

Szablon promptu to prompt wielokrotnego użytku z polami, takimi jak [topic] albo {language}, na części, które zmieniają się między użyciami. Stały tekst zawiera instrukcje, które już przetestowano; za każdym razem uzupełniasz pola, zamiast pisać prompt od zera.

Jak zrobić własny szablon promptu?

Zacznij od promptu, który już dał dobrą odpowiedź. Zaznacz słowa, które zmieniasz przy następnym użyciu, zastąp każde nazwanym polem i przetestuj szablon z trzema różnymi wypełnieniami, w tym jednym nietypowym. Instrukcje, dzięki którym pierwsza odpowiedź była dobra, zostaw dokładnie takie, jakie były.

Gdzie przechowywać szablony promptów?

Tam, skąd da się je szybko skopiować: w pliku z notatkami, w programie do rozwijania skrótów tekstowych albo w menedżerze snippetów. Aplikacje czatowe też mają miejsca na tekst używany wielokrotnie, na przykład instrukcje niestandardowe i instrukcje projektu, które lepiej pasują do zasad obowiązujących przy każdej wiadomości niż do jednorazowych zadań z polami.

Jak użyć szablonu promptu w Pythonie?

Przechowuj szablon jako string z nazwanymi polami i wypełniaj go za pomocą str.format() albo f-stringa. Przy str.format() każdy dosłowny nawias klamrowy w szablonie zapisz podwójnie ({{ i }}), na przykład gdy szablon zawiera przykład JSON. Tekst dostarczany przez użytkowników umieszczaj w delimiterach, żeby był oddzielony od instrukcji.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ