載入中

撰寫一個您的應用程式可以直接使用的提示

一行式的提示可能會讓 Claude 胡亂猜測,而錯誤的猜測會讓您的應用程式收到無法使用的回覆。為牙醫的提醒提示加入上下文、您想要的輸出格式,以及限制條件,然後自己動手撰寫一個清晰直接的新提示。

10 分鐘Claude Platform

當您的應用程式將 Claude 的回覆直接傳送給使用者時,沒有人會先檢查它。Claude 寫出什麼,使用者就會得到什麼。所以 Claude 需要知道這則回覆要送到哪裡、看起來該是什麼樣子,以及要省略哪些內容。

要讓提示清晰直接,請給 Claude 這三樣東西:上下文、您想要的輸出格式,以及限制條件。 每一項都回答了一個新同事在開始任務前會問您的問題。

一個讓 Claude 胡亂猜測的提示

假設一個牙醫預約應用程式會在病患看診前一天,傳送一則提醒簡訊。該應用程式傳送給 Claude 一行任務說明和四行資料,然後將收到的回覆原封不動地傳給病患。以下是其中一位病患的提示:

為這個預約撰寫一則提醒。

病患:Dana Okafor
日期:3 月 12 日星期四
時間:下午 2:30
治療項目:根管治療,第二次回診

Claude 傳回了以下回覆。這裡以原始文字顯示,讓您可以看到應用程式將傳送出去的每一個字元:

**預約提醒**

Dana 您好,

這是您即將到來的牙科預約的友善提醒:

**日期:** 3 月 12 日星期四
**時間:** 下午 2:30
**治療項目:** 根管治療(第二次回診)

**看診前須知:**
- 請提前約 10 分鐘到場。
- 事先吃一頓清淡的餐點,因為看診後您的嘴巴可能會麻木幾個小時。
- 除非牙醫另有指示,否則請繼續依處方服用藥物。
- 如果您自上次回診以來有任何疼痛、腫脹,或暫時填補物出現問題,請告知我們。

如果您需要改期或有任何疑問,請至少提前 24 小時致電 [電話號碼]。

我們期待您的到來!

[診所名稱]

應用程式會把這些內容全部傳給 Dana,而其中大部分內容都不該出現在她的手機上:

  • 星號和連字號是用來標示粗體文字和清單的 Markdown 語法。手機會把它們顯示成普通字元。
  • 關於飲食和提前到場的建議,是關於看診本身的建議,這類建議應該由牙醫來提供。
  • 「根管治療(第二次回診)」這類字眼可能會出現在 Dana 鎖定的手機螢幕上,讓其他人也能看到。
  • 「[電話號碼]」和「[診所名稱]」都是空白欄位,而在簡訊發出之前,沒有人把它們填上。

這些缺失都可以追溯到提示遺漏的內容。提示從未說明這是一則簡訊、沒有人會先檢查,或是其他人可能會在鎖定螢幕上看到它。它也沒有說明提醒內容應該涵蓋什麼,也沒有提供診所名稱或電話號碼。因此 Claude 寫出了一則一般性的提醒,並在沒有資訊的地方留下空白。

您得到的回覆,主要取決於您輸入的內容。 在您重新琢磨提示的措辭之前,先把 Claude 缺少的事實資訊提供給它。

想想同事會問什麼

要找出遺漏了什麼,可以想像把這個提示交給一位從未見過這個應用程式的同事。他們必須僅憑這個提示寫出提醒內容。如果他們會感到困惑,Claude 也會如此。

在動筆之前,這位同事會先向您提出問題。每個問題都對應到您可以加入提示中的三個部分之一:

部分它告訴 Claude 什麼同事會問什麼
上下文這則回覆是用來做什麼的、送到哪裡,以及誰會閱讀它「這是簡訊還是電子郵件?它是由誰發出的?發出前有人會先檢查嗎?」
輸出格式回覆看起來是什麼樣子,例如長度,以及能不能使用 Markdown「它該有多長?能不能用粗體文字或清單?」
限制條件回覆必須遵守或省略哪些內容「該不該寫出治療項目?該不該提供建議?」

在提示中該屬於的部分,逐一回答同事的每個問題。

加入上下文、格式與限制條件

把上下文當作事實陳述,把輸出格式和限制條件寫成指示。 對於任何 Claude 無法猜出目的的指示,補上其理由。

以下這個牙醫預約應用程式的完整提示,用三個段落回答了同事的問題,分別對應上下文、輸出格式和限制條件。

試著加入和移除各個部分,看看提示的表現。每一則回覆都是真實的,是 Claude 針對該確切提示所產生的紀錄。

載入中

自己動手試試看

現在請您自己動手,把一個提示改寫得清晰直接。假設有一個天氣應用程式,會原封不動地將 Claude 的回覆,以推播通知的形式傳送出去,使用者會在早上 7 點於鎖定畫面上閱讀它。該應用程式的提示只給了 Claude 一行任務說明,以及一些資料:

為這則天氣預報撰寫一則通知。

城市:Portland
早上:多雲,攝氏 9 度(48°F)
下午:下午 3 點起有大雨
風力:陣風可達時速 35 英里

想想一位從未見過這個應用程式的同事會問您什麼。然後挑選出能回答這些問題的上下文、輸出格式和限制條件。每次選擇後,閱讀說明,了解它正確或錯誤的原因。

快速檢查

這個天氣應用程式的提示只寫著「為這則天氣預報撰寫一則通知。」您會加入哪一行來提供上下文給 Claude?

快速檢查

這則通知必須能容納在鎖定畫面上。您會加入哪一行作為輸出格式?

快速檢查

同樣的提示每天早上都會執行,每天都有新的天氣預報。您會加入哪一行作為限制條件?

接下來該做什麼

每當有回覆需要在您的應用程式使用前先修正,就去找出您的提示尚未回答的問題。 要在您自己的程式碼中修正提示,請依序完成以下步驟:

  1. 想像一位從未見過您應用程式的同事,思考他們在執行任務前會問什麼。
  2. 在提示中,將每個問題歸類為上下文、輸出格式或限制條件來回答。把上下文當作事實陳述,並對任何 Claude 無法猜出目的的指示,補上理由。
  3. 用您應用程式中的多個輸入內容,送出這個新提示。
  4. 以原始文字的形式閱讀每則回覆,讓您能看到應用程式將傳送出去的每一個字元。留意您原本想修正的缺失,例如應用程式無法顯示的 Markdown、沒有人填上的空白,或是使用者不該看到的細節。

如果某個缺失仍然存在,就找出提示中仍未回答的問題,並把它也解決掉。

僅僅閱讀幾則回覆,無法告訴您這個提示在您應用程式的所有輸入情境下表現如何。要做到這一點,您需要一個評測(eval):一項針對您自己案例的測試,能給您一個數字來做判斷依據。接下來,請修讀「評測入門」課程。