AI 遊戲主持人設計
長篇 AI 角色扮演戰役的提示詞快取
了解 OpenAI、Claude 與 Gemini 的提示詞快取機制,區分穩定世界設定與變動回合狀態,並衡量長篇 AI RPG 戰役的快取命中與成本。

為什麼長篇戰役會重複自身
AI 遊戲主持人在每個回合可能都需要相同的設定規則、角色定位與敘述邊界。當玩家打開一扇門或盤問一名證人時,場景會改變,但世界不會變成另一個世界。重新傳送這些共用素材通常對產生連貫回應是必要的。提示詞快取是一種 API 可重複利用先前運算的方式;它不是讓遊戲記住從未儲存事件的方法。
想像一支飛空艇遠征隊正在尋找一份遺失的星圖。每個回合都需要雲海的地形,以及「日落後不可穿越風暴牆」的規則。目前的甲板、證人、線索與玩家行動會改變。這個區分可讓開發人員開始檢視快取行為。這是一個設計範例,不是量測過的 Playworlds 最佳化結果。
將穩定的世界素材放在變動的回合事實之前
一個可能的請求會以持久指令開始:遊戲中敘述者的角色、世界已確立的限制、擲骰結果如何提供,以及重複出現角色的簡短描述。後面的段落包含目前場景:哪層甲板可進入、誰在場、玩家知道什麼,以及他們嘗試了什麼行動。將時鐘讀數、工作階段識別碼或新的玩家訊息放在可重用素材之前,可能會改變快取原本可能重用的前綴。
不要為了符合快取資格而填充摘要。納入有助於敘述者做出正確判斷的事實,然後檢查供應商的資格規則。如果永久規則改變,即使新版本需要重新處理,也要更新唯一事實來源。
不同 API 對快取命中的定義
OpenAI 的 API 文件說明共用提示詞前綴的重用,並對支援的模型在用量資料中回報已快取的輸入 token。Anthropic 說明自動快取與明確斷點,包括標記穩定內容結束位置的地方。Gemini 在其 Generate Content API 中說明隱式快取與明確快取物件。這些機制不同,因此從一個 API 複製的範例不是可移植的快取設定。
命中可以降低處理量與符合資格輸入的價格。它不會讓新的場景事實免費、移除輸出成本,或證明答案正確。生命週期、最小長度、介面與計費因供應商與模型而異。在承諾百分比節省之前,先檢查確切的 API 路徑。
飛空艇場景的範例請求
保持共用段落簡潔:「你是一場飛空艇遠征的遊戲主持人。使用已確立的事實,保留玩家選擇,並敘述已由遊戲解決的規則結果。日落後不可穿越風暴牆。導航員 Iri 規劃路線;她目前的知識每個回合都會提供。」這是一個說明性的提示詞摘要,不是 Playworlds 的提示詞或模型執行記錄。
在其後附加變動的狀態:「目前場景:飛空艇在日落後接近風暴牆。已儲存事件:玩家在引擎室找到被燒焦的星圖。Iri 自出發後未見過該星圖。玩家行動:把星圖給 Iri 看,並問誰進過引擎室。」在下一個回合,保留共用段落,只替換真正改變的事實。在將回應視為戰役更新之前,先根據已儲存事件驗證它。
衡量每個有效回合的成本,而非宣稱的折扣
對每個請求,記錄模型與介面、總輸入與輸出 token、已快取輸入或快取讀取 token、計費的快取寫入 token、耗時,以及實際任務結果。將一連串正常回合與刻意保留穩定前綴的版本比較。如果一個回合需要兩次呼叫或重試,兩者都要納入。如果破損的回應迫使再次生成,看似較便宜的請求就不是節省。
比較重用輸入比例與完整回合的帳單。檢查答案是否尊重星圖發現、風暴牆規則與 Iri 的知識。用量欄位顯示重用,不是敘事連貫性。在修改提示詞以修正快取未命中之前,先檢查實際請求差異。
將故事真相與快取結構分開
戰役可能超出原本的世界設定摘要。如果船員驅散風暴牆,一句說它日落後不可穿越的穩定句子就會變錯。遊戲應更新該規則、為摘要建立版本,或將例外移入敘述者會看到的權威目前狀態。保護快取命中不應保留矛盾。同樣地,只屬於遊戲主持人的秘密不應該出現在玩家可見的摘要中。
供應商快取是處理輔助,不是戰役資料庫。已儲存的冒險需要自己記錄已接受的行動、擲骰、發現與角色變化。Playworlds 提供帳戶連結的冒險與 AI 敘述者,但本文不宣稱其線上遊戲使用任何特定供應商的提示詞快取。這個範例是遊戲團隊可以評估的計畫。
最佳化前的簡短檢查清單
首先,識別在多個回合中重複的事實,並將它們放在一個有版本、準確的摘要中。其次,將玩家行動與目前場景放在該摘要之後,並讓秘密只限於可能知道的人。第三,記錄確切的供應商 API 介面與其快取用量欄位;比較完整回合,包括重試與輸出。第四,在將較低帳單視為成功之前,先測試故事的事實連貫性與玩家選擇。
如果你想體驗持續 AI 冒險的玩家端,瀏覽 Playworlds 世界庫並選擇一個讓你的角色有動機調查的設定。若要了解更多關於塑造第一次遊戲的內容,請閱讀單人角色扮演指南。