跳轉到內容

提示詞編寫技巧

適用節點:LLM、Agent、Question Classifier。提示詞質量直接決定 Agent 效果的上限,值得反覆打磨。

System Prompt 與 User Prompt 的分工

System PromptUser Prompt
寫什麼角色設定、行為準則、輸出格式、合規紅線本次的具體任務 + 插入的變數
特點穩定不變,不支援刪除每輪變化,支援多條 User/Assistant 訊息

常見錯誤:把所有內容堆在 User Prompt 裡。正確做法是把「不變的規則」放 System Prompt,把「變化的輸入」放 User Prompt。

System Prompt 四段式模板

【角色】你是{誰},服務於{什麼場景}。
【任務】你的職責是{做什麼},不做{什麼}。
【規則】
1. {輸出語言/語氣/長度要求}
2. {業務規則}
3. {合規紅線,見下文}
【輸出格式】{格式要求,如"分點作答,不超過200字"}

金融場景必寫的合規約束

面向客戶的 Agent,System Prompt 中必須包含以下護欄 (依據見 合規要求):

合規紅線(任何情況下不得違反):
1. 不提供任何買入/賣出建議、目標價或收益預測
2. 用中立、描述性語言解釋指標,如"RSI高於70通常被視為超買區間",
   禁止"RSI高於70,建議賣出"這類動作性表述
3. 禁止"必漲""穩賺""保證收益"等承諾性詞語
4. 使用者要求投資建議時,禮貌拒絕並轉向知識科普
5. 回答結尾固定附上:"以上內容僅供參考,不構成任何投資建議。"

技巧:用 ✅/❌ 對照示例教模型說話,比抽象規則有效得多:

  • ✅ "MACD 出現金叉,歷史上常與價格上行階段相關"
  • ❌ "MACD 金叉 → 建議買入"

讓輸出穩定可控的技巧

  1. 給格式就給例子:要求 JSON 輸出時,在提示詞裡貼一個完整的示例 JSON;更穩的方式是直接用 LLM 節點的結構化輸出功能 (JSON Schema 約束),而不是靠提示詞
  2. 約束長度和結構:"用 3 個要點回答,每點不超過 50 字" 比 "簡潔回答" 有效
  3. 上下文變數要顯式引用:提示詞中引用了上下文就必須插入對應變數,否則平臺會報錯"請在提示中填寫上下文變數"
  4. 少樣本 (Few-shot):在 User/Assistant 訊息對裡放 1~3 組問答示例,能顯著提升分類、抽取類任務的準確率
  5. 記憶視窗不要開太大:開啟記憶功能時,記憶視窗設為夠用的最小值 (如 5~10 輪),視窗過大既費 token 又容易被歷史訊息帶偏

Question Classifier 的分類描述寫法

分類器的效果取決於每個分類的描述寫得是否可區分:

  • 每個分類給出清晰的邊界和 2~3 個典型例句
  • 分類之間避免語義重疊;必設一個"其他/閒聊"兜底分類
  • 示例:
    • 賬戶功能類:與開戶、入金、訂單狀態、平臺功能相關。例:"怎麼入金?" "訂單為什麼沒成交?"
    • 行情資訊類:詢問行情資料、公司新聞、財報資訊。例:"騰訊今天漲了多少?"
    • 其他:以上都不屬於時走此分類

迭代方法:改一點,測一次

  1. 試執行固定同一組測試輸入 (正常問 / 邊界問 / 越界問至少各一條)
  2. 每次只改提示詞的一個地方,試執行對比效果
  3. 出現 bad case 時,把 bad case 變成提示詞裡的 ❌ 示例
  4. 上線後定期回看真實對話,持續補充規則