Tulis prompt yang efektif untuk Bob Shell
Tulis prompt yang efektif untuk Bob Shell dengan menambahkan peran, konteks, dan contoh, lalu sempurnakan permintaan yang samar menjadi kode Python terdokumentasi dengan penanganan error.
IBM Bob Shell menghasilkan kode yang lebih akurat ketika promptmu menyebutkan task, peran, konteks, dan contoh. Dalam tutorial ini, tulis ulang permintaan yang samar menjadi prompt terstruktur, lalu bandingkan hasilnya.
Prasyarat
Untuk memastikan Bob Shell sudah terinstal, buka terminal dan periksa versinya:
bob --versionApa itu prompt?
Prompt adalah pertanyaan, permintaan, atau perintah yang kamu berikan ke Bob untuk mendapatkan output yang kamu inginkan. Prompt yang samar menghasilkan jawaban yang samar. Prompt yang baik bersifat jelas, spesifik, dan memberikan konteks yang cukup agar Bob memahami apa yang kamu inginkan.
Komponen prompt
Prompt yang efektif menggabungkan komponen-komponen berikut:
| Komponen | Tujuan | Contoh |
|---|---|---|
| Instruksi | Memberitahu Bob task apa yang harus dilakukan. Instruksi yang kuat mengurangi ambiguitas. | "Generate a software bill of materials (SBOM) for this API." |
| Peran | Memberikan persona agar Bob menyesuaikan respons dengan perspektif tersebut. | "You are a senior software engineer with expertise in Python." |
| Konteks | Menambahkan latar belakang, seperti situasi, audiens, nada, atau batasan. | "The function runs in a production service and must include error handling." |
| Contoh | Menunjukkan pola, format, atau gaya yang ingin diikuti Bob. | "Follow the structure of @src/api/users.py." |
| Petunjuk | Mengarahkan ke respons yang kamu inginkan, biasanya di akhir prompt. | "Return only the function, starting with def." |
Kamu dapat menyimpan promptmu sebagai slash command kustom untuk digunakan kembali dan dibagikan kepada timmu.
Apa yang membuat prompt efektif?
Best practice berikut dapat membantumu menulis prompt yang efektif untuk Bob.
- Jadilah spesifik: Semakin spesifik promptmu, semakin baik Bob memahami apa yang kamu inginkan. Daripada bertanya "How do I write a Python function?", tanyakan "How do I write a Python function that takes a list of numbers and returns the average?"
- Berikan konteks: Jika promptmu tentang proyek atau codebase tertentu, berikan beberapa konteks. Ini membantu Bob menghasilkan respons yang relevan dengan situasimu. Gunakan referensi
@, seperti@src/main.py, untuk mengarahkan Bob ke file tertentu. - Pecah task: Seperti saat menyempurnakan task di backlog-mu, pecah task kompleks menjadi langkah-langkah yang lebih kecil dan mudah dikelola. Ini dapat membantu Bob menghasilkan respons yang lebih akurat dan terfokus.
- Sertakan contoh: Jika kamu menambahkan API baru, arahkan Bob untuk meninjau API yang ditulis dengan baik di codebase-mu sebagai contoh. Kamu juga bisa menyertakan contoh dalam promptmu untuk menunjukkan format atau gaya yang kamu inginkan.
Sempurnakan prompt yang samar
Pada bagian ini, kamu menulis prompt yang samar untuk Bob dan meninjau outputnya. Kamu kemudian menyempurnakan promptmu berdasarkan best practice untuk meningkatkan kualitas respons.
Tujuannya adalah membuat Bob menghasilkan fungsi Python yang mencetak tanggal dan waktu saat ini dalam format UTC. Fungsi tersebut harus terdokumentasi dengan baik dan menyertakan penanganan error.
Buka terminal dan mulai sesi interaktif dalam mode Agent:
bob chat --mode agentMasukkan prompt berikut:
Write a Python function that prints the date and time.Bob menghasilkan respons, tapi mungkin tidak memenuhi semua persyaratanmu.
from datetime import datetime
def print_datetime():
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))Fungsi ini tidak memiliki penanganan error dan mencetak waktu lokal, bukan UTC.
Masukkan /clear untuk mereset riwayat percakapan, agar respons pertama tidak memengaruhi yang berikutnya:
/clearSempurnakan promptmu dengan komponen prompt:
- Peran: "You are a senior software engineer with expertise in Python 3."
- Instruksi: "Write a Python 3 function that prints the current date and time in UTC format."
- Konteks: "The function should be well documented and include error handling."
- Contoh: Arahkan Bob ke sumber terpercaya, seperti Real Python exception handling best practices.
Masukkan prompt yang disempurnakan:
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()Prompt yang disempurnakan menghasilkan fungsi yang menggunakan UTC, menyertakan docstring, dan menangani exception.
IBM SkillsBuild
IBM SkillsBuild adalah platform pembelajaran online gratis dengan kursus tentang menulis prompt yang efektif untuk asisten AI seperti Bob.
Untuk mempelajari lebih lanjut tentang penulisan prompt yang baik, ikuti kursus Craft Precise Prompts for AI Models.
Langkah berikutnya
Dalam tutorial ini, kamu telah mempelajari komponen-komponen prompt yang efektif dan menyempurnakan prompt yang samar menjadi prompt yang secara andal menghasilkan output yang kamu inginkan.
Lanjutkan ke Buat dan gunakan skill untuk mengubah prompt yang ditulis dengan baik menjadi alur kerja yang dapat digunakan kembali dan berulang yang dapat diterapkan Bob secara otomatis.