Prompt to brief. Model czyta tylko to, co napiszesz, więc każdy potrzebny mu fakt i każda twoja preferencja muszą znaleźć się na stronie. Gdy odpowiedź wraca ogólnikowa, przyczyną jest prawie zawsze coś, czego prompt nie zawierał, a nie coś, co powiedział źle.
Większość użytecznych promptów składa się z tych samych sześciu elementów. Poniższy blok ma wszystkie sześć. Wyłączaj części, żeby zobaczyć prompt bez nich, wpisz swój język, a potem otwórz wynik w ChatGPT albo Claude i porównaj.
age = 30
print("Age: " + age)Błąd:TypeError: can only concatenate str (not "int") to strCo oznacza: + potrafi połączyć dwa stringi albo dodać dwie liczby, ale nie połączy stringa z liczbą. Python nie zgaduje, o co ci chodziło, więc się zatrzymuje.
Dlaczego twój kod go wywołał: "Age: " to string, a age przechowuje liczbę 30. Ta linia każe Pythonowi skleić je ze sobą za pomocą +.
Poprawiony kod: najpierw zamień liczbę na tekst za pomocą str():
age = 30
print("Age: " + str(age))
To wypisze Age: 30.
Sześć elementów
Rola mówi modelowi, czyim głosem i czyim osądem ma się posługiwać. "Cierpliwy nauczyciel dla początkujących" i "senior engineer przeglądający kod produkcyjny" dadzą bardzo różne odpowiedzi na to samo pytanie. Rola przydaje się najbardziej, gdy zakłada odbiorcę i poziom wymagań; o tym, kiedy pomaga, a kiedy nie, przeczytasz w role prompting.
Zadanie to jedno zdanie mówiące, co zrobić. Zacznij od czasownika: wyjaśnij, przepisz, porównaj, wypisz, napraw, streść. Jeśli nie da się zapisać zadania w jednym zdaniu, prompt prawdopodobnie zawiera dwa zadania, a jedno z nich zwykle dostaje uboższą odpowiedź.
Kontekst to wszystko, czego model nie odgadnie: kim jesteś, co już wiesz, do czego służy wynik i co zostało już wypróbowane. W przykładzie linia "Nie znam jeszcze klas ani wyjątków" powstrzymuje model przed odpowiedzią z try i except.
Wejście to materiał do pracy: kod, e-mail, tabela, błąd. Wklej go w całości. Streszczenie kodu to opis tego, co według ciebie robi, a błąd zwykle kryje się właśnie w różnicy między jednym a drugim.
Format mówi, jak ma wyglądać odpowiedź: lista, tabela, trzy opisane części, JSON, jedna linia. Bez niego model wybiera kształt za ciebie, a modele czatowe mają skłonność do wybierania długich. Structured output idzie dalej, gdy odpowiedź musi odczytać program.
Ograniczenia to granice: długość, słownictwo, rzeczy do uniknięcia, rzeczy, które muszą zostać bez zmian. Liczba ("mniej niż 120 słów") działa lepiej niż przymiotnik ("krótko"), bo "krótko" znaczy co innego dla różnych czytelników, a model jest jednym z nich.
Ogólnikowo a konkretnie
Oto ta sama prośba napisana na dwa sposoby. Przełączaj zakładki i porównaj odpowiedzi.
Oto prosta funkcja sortująca w Pythonie:
def sort_list(items):
return sorted(items)
Możesz ją wywołać jako sort_list([3, 1, 2]), co zwraca [1, 2, 3].
Ogólnikowy prompt dostał poprawną odpowiedź na pytanie, którego nikt nie zadał. Model musiał zgadnąć język, dane, kolejność i to, czy wolno zmieniać wejście, i za każdym razem wybrał najczęstszy przypadek. Konkretny prompt odpowiedział na wszystkie cztery kwestie z góry, więc nie zostało nic do zgadywania.
Nawyki, które poprawiają prompty
- Podaj zadanie wcześnie i powtórz je po długim materiale. W krótkim prompcie zacznij od zadania, żeby dalsze tło czytało się z określonym celem. Gdy wklejasz długi dokument, umieść najpierw dokument, a pytanie na końcu, powtarzając tam kluczowe ograniczenia, żeby polecenie stało tuż obok miejsca, w którym model zaczyna pisać.
- Mów, co robić, a nie tylko czego unikać. "Pisz prostym językiem dla dwunastolatka" daje modelowi cel. "Nie bądź zbyt techniczny" wyklucza tylko jeden kierunek i zostawia resztę otwartą.
- Oddzielaj instrukcje od materiału. Gdy wklejasz e-mail albo plik, zaznacz, gdzie się zaczyna i kończy, żeby model nie wziął zdania z jego środka za instrukcję. Opcje opisują delimitery i tagi XML.
- Pokaż jeden przykład wyniku, gdy format jest nietypowy. Przykład pokazuje kształt szybciej, niż opisze go akapit. To jest few-shot prompting.
- Poprawiaj prompt, a nie czat. Jeśli pierwsza odpowiedź jest zła, znajdź brakujący kontekst albo ograniczenie, popraw prompt i uruchom go ponownie. Długi łańcuch poprawek też działa, ale zostawia cię z wynikiem i bez promptu, którego da się użyć ponownie.
Lista kontrolna przed wysłaniem
- Czy da się zapisać zadanie w jednym zdaniu zaczynającym się od czasownika?
- Czy obca osoba wiedziałaby, dla kogo jest odpowiedź i co już wiem?
- Czy wklejony jest prawdziwy materiał, a nie jego opis?
- Czy prompt mówi, jak długa ma być odpowiedź i jaki ma mieć kształt?
- Czy jest coś, czego odpowiedź nie może zmienić albo czego nie może używać?
Pięć odpowiedzi "tak" nie gwarantuje idealnej odpowiedzi, ale "nie" to najbardziej prawdopodobny powód złej.
Najczęściej zadawane pytania
Co sprawia, że prompt do AI jest dobry?
Dobry prompt podaje zadanie w jednym jasnym zdaniu, daje kontekst, którego model nie odgadnie (kim jesteś, co już wiesz, do czego służy wynik), zawiera materiał do pracy i mówi, jak ma wyglądać odpowiedź: długość, struktura i ton. Większość słabych promptów zawodzi na kontekście i formacie, a nie na sformułowaniach.
Jak długi powinien być prompt?
Tak długi, jak wymaga tego zadanie, i nie dłuższy. Jednolinijkowe pytanie wystarcza do jednolinijkowej odpowiedzi. Zadanie z konkretnym odbiorcą, wejściem i kształtem wyniku zwykle zajmuje od czterech do ośmiu zdań. Długość, która trzy razy powtarza to samo polecenie, nie pomaga; długość, która dodaje brakujący kontekst, pomaga.
Czy warto być uprzejmym dla ChatGPT albo Claude'a?
Uprzejme słowa ani specjalnie nie pomagają, ani nie szkodzą. Odpowiedź zmieniają informacje: cel, odbiorca, ograniczenia i przykład oczekiwanego wyniku. Pisz tak, jakby chodziło o wprowadzenie w temat kompetentnego współpracownika, który nigdy nie widział twojego projektu.
Czy istnieje szablon do pisania promptów?
Sprawdzona kolejność to rola, zadanie, kontekst, wejście, format, ograniczenia. Nie każdy prompt potrzebuje wszystkich sześciu. Zacznij od zadania, dodaj kontekst, którego model nie odgadnie, a format i ograniczenia dodaj wtedy, gdy pierwsza odpowiedź okaże się za długa, zbyt ogólna albo w złym kształcie. Wersje wielokrotnego użytku z polami do wypełnienia znajdziesz w szablonach promptów.
Dlaczego ten sam prompt za każdym razem daje inne odpowiedzi?
Modele czatowe wybierają każde kolejne słowo, losując z rozkładu prawdopodobieństwa, więc dwa uruchomienia mogą się różnić. Bardziej konkretny prompt zawęża przestrzeń dobrych odpowiedzi, przez co uruchomienia są do siebie bardziej podobne. Ustawienie temperature kontroluje, ile losowości jest w tym losowaniu.