為 Bob 撰寫有效的提示詞
透過撰寫有效的提示詞,最大化 Bob 的輸出品質。
IBM Bob 是一個程式設計與技術助理,但 Bob 無法讀取你的想法。 Bob 依賴你的指示來提供出色的成果。學習提示詞撰寫的 基礎知識可以提升你與 Bob 的使用體驗,節省時間, 讓你得到想要的結果。
什麼是提示詞?
提示詞是你給 Bob 的一組指令,以獲得你想要的輸出。 提示詞可以是問題、請求或命令。它可以像「法國的首都是哪裡?」一樣簡單, 也可以像「撰寫一個接受數字清單並傳回平均值的 Python 函式」一樣複雜。
想想軟體開發原則「garbage in, garbage out(垃圾進,垃圾出)」。如果 你給 Bob 一個模糊或不完整的提示詞,你可能會得到一個模糊或不完整的回答。
當你撰寫品質更高的提示詞時,你會得到品質更高的回答。一個好的 提示詞清晰、具體,並提供足夠的情境,以便 Bob 理解 你想要什麼。
提示詞的組成部分
要撰寫有效的提示詞,你應該包含以下組成部分:
- 指令(Instruction): 指導 Bob 執行什麼任務。指令應 寫成明確的命令,如「摘要這個 Python 函式」或 「為這個 API 產生 SBOM」。清晰的指令可以減少歧義並 帶來更相關的結果。
- 角色(Role): 為 Bob 指定一個特定的角色或人格,以便在產生回答時採用。 例如,你可以說「你是一位擁有 Python 專業知識的資深軟體工程師」。 這有助於 Bob 根據該角色的視角調整其回答。
- 情境(Context): 情境提供額外的背景資訊或細節, 以塑造 Bob 的回答。情境可以包括對情況的描述、 語氣、目標受眾或你想納入的關鍵資訊。情境幫助 Bob 保持與任務的一致性。
- 範例(Example): 範例包括一個或多個展示 所需模式、格式或語氣的例子。在你希望輸出遵循特定風格或結構時, 提供範例特別有用。範例幫助 Bob 理解什麼是好的回答。
- 提示(Cues): 提示是引導期望回答類型的簡短文字。 提示通常放在提示詞結尾,以引導 Bob 的輸出產生 朝正確方向發展。
隨著你的提示詞撰寫技能不斷提升,你可以將提示詞儲存到檔案中, 以便重複使用並與團隊共享。
提示詞最佳實踐
以下最佳實踐可以幫助你為 Bob 撰寫有效的提示詞。
- 具體說明: 你的提示詞越具體,Bob 就越能理解你想要什麼。 與其問「如何撰寫 Python 函式?」,不如問「如何撰寫一個 接受數字清單並傳回平均值的 Python 函式?」
- 提供情境: 如果你的提示詞涉及特定的專案或程式碼庫, 請提供一些相關背景。這有助於 Bob 產生與你的情況相關的回答。 使用 Bob 的 @ 情境提及 來參照特定檔案。
- 拆解任務: 就像你在 backlog 中細化任務時一樣, 將複雜任務拆解為更小、更易管理的步驟。這可以幫助 Bob 產生更準確、更有針對性的回答。
- 包含範例: 如果你在新增新的 API,可以指導 Bob 查看程式碼庫中 寫得好的 API 作為範例。你也可以在提示詞中包含範例, 向 Bob 展示你想要的格式或風格。
撰寫提示詞
在本節中,你將為 Bob 撰寫一個模糊的提示詞並查看輸出結果。 然後你將根據最佳實踐改進提示詞,以提高回答的品質。
目標是讓 Bob 產生一個以 UTC 格式列印目前日期和時間的 Python 函式。 該函式應有良好的文件說明並包含錯誤處理。
如果聊天介面已關閉,點擊導航列旁的 Bob 圖示開啟它, 或使用快速鍵 Option + Command + B(Mac)或 Ctrl + Alt + B(Windows)。

在聊天介面的模式選擇器中選擇 Ask。
輸入以下提示詞:
Write a Python function that prints the date and time.Bob 將產生一個回答,但它可能無法滿足你的所有需求。
from datetime import datetime
def print_datetime():
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))Bob 產生了一個函式,但它很可能不包含錯誤處理或者不是 UTC 格式。
開啟新對話以清除情境視窗。
現在,改進你的提示詞,為 Bob 指定一個角色並包含更具體的 指令、範例和情境。
-
新增角色: 為 Bob 指定一個角色,幫助它理解在產生回答時應採取的視角。 例如,「你是一位擁有 Python 專業知識的資深軟體工程師。」
-
新增具體指令: 明確你想要什麼。例如, 「撰寫一個以 UTC 格式列印目前日期和時間的 Python 3 函式。」
-
新增情境: 提供任何可以幫助 Bob 產生更好回答的額外資訊。 例如,「函式應有良好的文件說明並包含錯誤處理。」
-
範例: 包含一個你希望輸出呈現的範例。如果程式碼庫中 有範例,可以使用 Bob 的 @ 情境提及來參照它們, 或連結到外部範例,如文件或權威來源, 如 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()Bob 的回答現在應該與你的需求更加吻合,展示了 撰寫有效提示詞的重要性。
IBM SkillsBuild
IBM SkillsBuild 是一個免費的線上學習平台,提供課程和 資源,幫助你在各種技術領域發展技能, 包括人工智慧和機器學習。你可以找到關於如何為 Bob 等 AI 助理撰寫 有效提示詞的課程,以及其他與軟體開發和技術相關的主題。
要了解更多關於有效提示詞撰寫的內容,請學習 Craft Precise Prompts for AI Models 課程。
後續步驟
在本教學中,你學習了有效提示詞的組成部分,並將一個模糊的提示詞改進為能夠可靠地產生所需輸出的提示詞。
繼續學習使用技能,將一個寫得好的提示詞轉化為 Bob 可以自動應用的可重複使用、可重複執行的工作流程。