← All writing

怎樣才能寫好提示詞?

四個實用方法:講清楚任務、補充背景、要求檢查,再把大任務拆小。

「把 LLM 當成一個剛入職、還不熟悉工作的助理。你要先把任務講清楚,再請它交功課。」

為甚麼要學寫提示詞?

大型語言模型(LLM)可以寫作、整理資料、分類內容,也能協助處理不少需要推理的工作。但如果指令太含糊,答案通常也會跟著含糊。

我沒有能力從頭訓練自己的 LLM,所以更實際的做法,是持續了解不同模型的特性,並學習怎樣把工作交代清楚。

之前放假時,我看了台大李宏毅老師的課堂錄影,重新整理了一些提示詞寫作方法。以下是我覺得最通用的四個技巧。

技巧一:把指令講清楚

「Let’s think about it step by step」這類句子曾經被稱為神奇咒語,因為它們有時能提醒模型多花一點力氣處理問題。但它們不是魔法,效果會因模型和任務而異。

比較可靠的做法,是直接說明你希望模型完成甚麼。你可以請它列出假設、比較選項,或在交答案前檢查指定內容。

技巧二:提供需要的背景

把 LLM 當成一個剛加入團隊、還不了解專案的助理。交代目標、限制、讀者、輸入格式,以及怎樣才算是一個好答案。

如果格式很重要,也可以提供一兩個例子。不過例子太長或本身不清楚,反而可能令模型學錯,所以最好只放最有代表性的例子。

技巧三:要求它做一次檢查

模型很容易寫出看似合理、其實有錯的內容。遇到準確性重要的任務,可以加一個獨立的檢查步驟。

例如,請它列出沒有來源支持的說法,逐項對照提供的資料,或者完成一張檢查清單。這不是絕對保證,但至少能讓錯誤比較容易被發現。

技巧四:把大任務拆小

複雜工作通常不適合塞進一個超長提示詞。你可以把它拆成搜尋、整理、分析、撰寫和校對幾個步驟,為每一步準備一個清楚的 prompt。

這種做法很像設計 data science pipeline。每個階段都比較容易理解、測試和替換,出問題時也比較容易知道是哪一段出了錯。

一個實用的提示詞框架

處理中型任務時,我通常會交代以下幾件事:

  • 目標: 希望模型產出甚麼?
  • 背景: 模型需要知道哪些資料?
  • 限制: 有哪些規則必須遵守?
  • 格式: 最後答案要怎樣呈現?
  • 檢查: 完成前要核對甚麼?

如果答案仍然不穩定,可以再把任務拆細,或者補上一個簡短例子。重點不在於背誦某句咒語,而是讓工作內容變得具體。

小結

以上方法不只適用於專業工程師。即使只是透過聊天平台使用 LLM,也可以先補充背景、講清楚輸出格式、檢查重要結果,再把大型任務拆成幾個小步驟。

Retrieval-Augmented Generation(RAG)和 multi-agent system 是更進階的做法,會在之後的文章再整理。

延伸閱讀

這篇筆記參考了台大李宏毅老師的《生成式 AI 導論 2024》: