免費全文 提示工程 進階

把一個大提示拆成多次呼叫:什麼時候值得

一次做完所有事的提示很難調。拆成多步後好維護,但延遲與成本會上升,要拆得有道理。

提示工程教程封面

當一個提示同時要求分類、抽取、改寫與排序時,任何一項出錯都很難定位。把它拆成多次呼叫是常見解法,但拆錯會讓成本翻倍而效果不變。

值得拆的訊號

  • 不同子任務需要不同的溫度(例如抽取要 0、發想要 0.8)。
  • 中間結果需要被程式驗證或修正後才能繼續。
  • 某一步可以快取重用,例如文件摘要對多個問題都適用。
  • 某一步可以換用更便宜的小模型

不值得拆的情況

  • 子任務之間高度耦合,拆開後每一步都要重述完整背景。
  • 延遲預算很緊,多一次往返就超標。
  • 只是「看起來比較整齊」,沒有實際的除錯或成本效益。

拆解後的介面要收斂

# 每一步的輸出就是下一步的輸入,型別固定
intent   = classify(user_text)                 # -> str
slots    = extract(user_text, schema[intent])  # -> dict,可程式驗證
reply    = compose(intent, slots, tone='正式')  # -> str

關鍵在於中間的 slots 是可驗證的結構,而不是一段自然語言。若每一步都輸出散文再交給下一步讀,錯誤只會被層層放大。

拆完之後記得量測整體延遲。三次呼叫各 400ms,加上網路往返就逼近 1.5 秒,對互動式介面已經是可感知的卡頓。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區

延伸閱讀

更多提示工程 →