Pisanie skutecznych promptów dla Boba
Zmaksymalizuj output Boba, pisząc skuteczne prompty.
IBM Bob jest asystentem programistycznym i technologicznym, ale Bob nie potrafi czytać w myślach. Bob polega na twoich wskazówkach, aby dostarczać dobre wyniki. Poznanie podstaw pisania promptów poprawia twoje doświadczenia z Bobem, oszczędza czas i daje ci to, czego chcesz.
Co to jest prompt?
Prompt to zestaw instrukcji, które dajesz Bobowi, aby uzyskać pożądany output. Prompt może być pytaniem, prośbą lub poleceniem. Może być tak prosty jak „Jaka jest stolica Francji?" lub tak złożony jak „Napisz funkcję Python, która przyjmuje listę liczb i zwraca średnią."
Pomyśl o zasadzie programistycznej „garbage in, garbage out". Jeśli dasz Bobowi niejasny lub niekompletny prompt, możesz otrzymać niejasną lub niekompletną odpowiedź.
Kiedy piszesz prompty wyższej jakości, otrzymujesz odpowiedzi wyższej jakości. Dobry prompt jest jasny, konkretny i dostarcza wystarczającego kontekstu, aby Bob rozumiał, czego chcesz.
Składniki prompta
Aby napisać skuteczny prompt, powinieneś uwzględnić następujące składniki:
- Instrukcja: Kieruje Bobem w zakresie zadania do wykonania. Instrukcja jest napisana jako jasne polecenie, takie jak „Podsumuj tę funkcję Python" lub „Wygeneruj SBOM dla tego API." Silne instrukcje zmniejszają niejednoznaczność i prowadzą do bardziej trafnych wyników.
- Rola: Przypisuje Bobowi określoną rolę lub personę do przyjęcia podczas generowania odpowiedzi. Na przykład możesz powiedzieć „Jesteś starszym inżynierem oprogramowania z doświadczeniem w Python." Pomaga to Bobowi dostosować odpowiedź do perspektywy tej roli.
- Kontekst: Kontekst dostarcza dodatkowych informacji lub szczegółów kształtujących odpowiedź Boba. Kontekst może obejmować opis sytuacji, ton, odbiorców lub kluczowe informacje, które chcesz uwzględnić. Kontekst pomaga Bobowi pozostać zgodnym z zadaniem.
- Przykład: Przykłady zawierają jeden lub więcej przykładów demonstrujących pożądany wzorzec, format lub ton. Podawanie przykładów jest szczególnie przydatne, gdy chcesz, aby output był zgodny z określonym stylem lub strukturą. Przykłady pomagają Bobowi zrozumieć, co oznacza dobra odpowiedź.
- Wskazówki: Wskazówka to krótki fragment tekstu prowadzący do rodzaju odpowiedzi, której chcesz. Wskazówki są często umieszczane na końcu prompta, aby nakierować generowanie outputu Boba we właściwym kierunku.
W miarę jak doskonalisz swoje umiejętności pisania promptów, możesz zapisywać prompty w pliku, aby je ponownie wykorzystywać i udostępniać swojemu zespołowi.
Najlepsze praktyki promptów
Poniższe najlepsze praktyki mogą pomóc ci pisać skuteczne prompty dla Boba.
- Bądź konkretny: Im bardziej konkretny jest twój prompt, tym lepiej Bob może zrozumieć, czego chcesz. Zamiast pytać „Jak napisać funkcję Python?", zapytaj „Jak napisać funkcję Python, która przyjmuje listę liczb i zwraca średnią?"
- Dostarczaj kontekst: Jeśli twój prompt dotyczy konkretnego projektu lub bazy kodu, podaj trochę kontekstu na jego temat. Pomaga to Bobowi wygenerować odpowiedź, która jest trafna dla twojej sytuacji. Użyj wzmianek o kontekście @ Boba, aby odwoływać się do konkretnych plików.
- Dziel zadania: Tak jak przy dzieleniu zadania w backlogu, podziel złożone zadania na mniejsze, łatwiejsze do zarządzania kroki. Może to pomóc Bobowi generować dokładniejsze i bardziej ukierunkowane odpowiedzi.
- Dołączaj przykłady: Jeśli dodajesz nowe API, wskaż Bobowi, aby przejrzał dobrze napisane API w twojej bazie kodu jako przykłady. Możesz też uwzględnić przykłady w swoim prompcie, aby pokazać Bobowi format lub styl, jaki chcesz.
Napisz prompt
W tej sekcji napiszesz niejasny prompt dla Boba i przejrzysz output. Następnie udoskonalisz swój prompt w oparciu o najlepsze praktyki, aby poprawić jakość odpowiedzi.
Celem jest, aby Bob wygenerował funkcję Python drukującą bieżącą datę i czas w formacie UTC. Funkcja powinna być dobrze udokumentowana i zawierać obsługę błędów.
Jeśli interfejs czatu jest zamknięty, otwórz go, klikając ikonę Boba obok paska nawigacji lub użyj skrótu Option + Command + B (Mac) lub Ctrl + Alt + B (Windows).

Wybierz Ask z selektora trybu w interfejsie czatu.
Wprowadź następujący prompt:
Write a Python function that prints the date and time.Bob wygeneruje odpowiedź, ale może ona nie spełniać wszystkich twoich wymagań.
from datetime import datetime
def print_datetime():
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))Bob wygenerował funkcję, ale prawdopodobnie nie zawiera obsługi błędów ani nie jest w formacie UTC.
Rozpocznij nowy czat, aby wyczyścić okno kontekstu.
Teraz udoskonal swój prompt, aby nadać Bobowi rolę i uwzględnić bardziej szczegółowe instrukcje, przykłady i kontekst.
-
Dodaj rolę: Nadaj Bobowi rolę, aby pomóc mu zrozumieć perspektywę, jaką powinien przyjąć podczas generowania odpowiedzi. Na przykład: „Jesteś starszym inżynierem oprogramowania z doświadczeniem w Python."
-
Dodaj konkretne instrukcje: Bądź jasny co do tego, czego chcesz. Na przykład: „Napisz funkcję Python 3, która drukuje bieżącą datę i czas w formacie UTC."
-
Dodaj kontekst: Podaj wszelkie dodatkowe informacje, które mogą pomóc Bobowi wygenerować lepszą odpowiedź. Na przykład: „Funkcja powinna być dobrze udokumentowana i zawierać obsługę błędów."
-
Przykład: Dołącz przykład tego, jak chcesz, aby wyglądał output. Jeśli masz przykłady w swojej bazie kodu, możesz je odwołać za pomocą wzmianek kontekstowych @ Boba, lub linkować do zewnętrznych przykładów, takich jak dokumentacja lub autorytatywne źródła, jak Real Python.
You are a senior software engineer with expertise in Python 3. Write a Python 3 function that prints the current date and time in UTC format. The function should be well documented and include error handling, modeled after https://realpython.com/ref/best-practices/exception-handling/."""
utc_datetime.py — Utility for printing the current UTC date and time.
"""
from datetime import datetime, timezone
def print_utc_datetime() -> None:
"""Print the current date and time in UTC (ISO 8601 format).
Retrieves the current moment from the system clock, attaches UTC timezone
info, formats it as an ISO 8601 string, and writes it to stdout.
Returns:
None
Raises:
OSError: If the system clock cannot be read (e.g., hardware failure or
OS-level permission restrictions).
ValueError: If datetime formatting unexpectedly fails (e.g., year out
of the supported range).
Example:
>>> print_utc_datetime()
Current UTC date and time: 2025-07-15T13:42:00.123456+00:00
"""
try:
now_utc: datetime = datetime.now(tz=timezone.utc)
except OSError as exc:
# System clock is unavailable or inaccessible.
raise OSError("Failed to read the system clock.") from exc
try:
formatted: str = now_utc.isoformat()
except ValueError as exc:
# Extremely unlikely, but guard against out-of-range datetime values.
raise ValueError(
f"Failed to format the datetime object: {now_utc!r}"
) from exc
print(f"Current UTC date and time: {formatted}")
if __name__ == "__main__":
print_utc_datetime()Odpowiedź Boba powinna teraz być bardziej zgodna z twoimi wymaganiami, demonstrując znaczenie pisania skutecznych promptów.
IBM SkillsBuild
IBM SkillsBuild to bezpłatna platforma nauki online oferująca kursy i zasoby pomagające rozwijać umiejętności w różnych dziedzinach technologicznych, w tym AI i uczeniu maszynowym. Możesz znaleźć kursy dotyczące pisania skutecznych promptów dla asystentów AI takich jak Bob, a także inne tematy związane z programowaniem i technologią.
Aby dowiedzieć się więcej o dobrym pisaniu promptów, skorzystaj z kursu Craft Precise Prompts for AI Models.
Następne kroki
W tym samouczku poznałeś składniki skutecznego prompta i udoskonaliłeś niejasny prompt w taki, który niezawodnie generuje pożądany output.
Przejdź do Używanie skilla, aby przekształcić dobrze napisany prompt w wielokrotnie używalny, powtarzalny workflow, który Bob może stosować automatycznie.
Rozpocznij projekt z /init i AGENTS.md
Zapewnij Bobowi trwały kontekst projektu w rozmowach i trybach za pomocą /init, który automatycznie generuje pliki AGENTS.md.
Tworzenie i używanie skillów
Utwórz wielokrotnie używalny skill, który uczy Boba powtarzalnego workflow dla wpisów changelog, a następnie wywołaj go wprost lub pozwól Bobowi aktywować go automatycznie.