LLM 內容範圍 Token 配置方法
什麼是內容範圍?
LLM(大型語言模型)的內容範圍,通常指模型在生成文本時可參考的先前資訊範圍。對 LLM 而言,內容範圍就像它的「記憶」,協助模型根據已見或已生成的內容決定下一步行動。內容範圍可以是一句話、一段落、一份文件,甚至多份文件的集合,具體取決於模型架構與設計。
內容範圍對語言模型至關重要,因為它幫助模型理解當前任務,並根據先前資訊生成具連貫性且相關的回應。例如,在對話中,內容範圍可能涵蓋至今所有交流,讓模型能產生符合主題與語氣的回應。
但受限於運算資源與記憶體,語言模型通常有固定的內容範圍長度。目前主流模型的內容範圍約為 128K 到 1M tokens。隨著 LLM 發展,支援更長內容範圍將成為趨勢。然而,從 token 成本、LLM 回應品質及商業場景回應時間等角度,更精準且高效的內容範圍管理至關重要。
一個 token 可以是一個單字、標點符號或其他語言元素。
內容範圍配置方法
既然內容範圍是 LLM「一次可處理的資訊量」,如何在有限資訊空間內分配資源,是 Agent 設計的關鍵。GPTBots 將 LLM 內容範圍定義為:長期記憶、短期記憶、身份提示、使用者提問、工具資料、知識資料。一次 LLM 互動可能包含所有這些內容類型,各自優先級不同。
| 類型 | 優先順序 | 描述 |
|---|---|---|
| 使用者提問 | 1 | 使用者與 Agent 對話時的最新輸入內容。在「系統識別」模式下,從上傳文件中識別的內容也視為使用者提問。 |
| 身份提示 | 2 | 為 Agent LLM 設定的身份資訊,即系統訊息或開發者訊息。 |
| 短期記憶 | 3 | 最近 X 輪對話資訊,X 可在 Agent 記憶中自訂。 |
| 知識資料 | 4 | 根據使用者輸入,從 Agent 知識庫向量檢索取得的知識資料。 |
| 工具資料 | 5 | 提交給 LLM 的工具資料及工具調用回傳結果。 |
| 長期記憶 | 6 | 根據使用者輸入,透過向量檢索取得的歷史對話紀錄。 |
| LLM 輸出 | 7 | LLM 輸出結果資料。系統可設定 LLM 回應 token 長度,該部分不受上述輸入長度影響。 |
注意:若單次與 LLM 互動的所有內容類型總長度超過模型限制,GPTBots 會依優先順序自動截斷最低優先級內容,以確保 LLM 呼叫成功率。
使用者提問
使用者與 Agent 對話時的最新輸入內容,包括透過輸入框發送的各類訊息:
- 手動輸入的
文字訊息 - 錄音產生的
語音訊息 - 上傳的
圖片訊息、影片訊息、文件訊息、語音訊息、檔案訊息
注意:
當「Agent-Configuration-Input-Attachment」選項設為 系統識別 時,GPTBots 會將所有上傳附件識別為文字內容,並視為 使用者提問。
對於檔案類型訊息,GPTBots 會將檔案轉換為 URL 連結,並視為 使用者提問。
身份提示
GPTBots Agent 中為 LLM 設定的身份資訊,是指導 AI Agent 工作的重要原則。GPTBots 會依模型版本自動調整為系統訊息或開發者訊息。
- 身份提示在商業場景極為重要,建議清楚、完整撰寫,以引導 AI 工作與回應。
- 通常不須擔心身份提示長度。與長度相比,內容品質更值得投入更多 token。
- 撰寫身份提示時,建議表達清楚、邏輯正確、指令明確。好的身份提示應明確說明目標、原則、技能與工作邏輯,避免模糊指令。
- 例如:身份提示可包含客服禮儀,如「請問有什麼可以為您效勞的?」
短期記憶
使用者與 Agent 最近 X 輪對話內容會隨每次 LLM 請求帶入。若關閉短期記憶功能或對話剛建立,此部分為空。
配置時建議:
- 若業務場景不需上下文或上下文影響回應品質,建議關閉短期記憶以節省 token 並提升效能。
- 若 Agent 需高度依賴上下文(如需根據上下文回答問題),建議將記憶輪數設為最大。
知識資料
根據使用者輸入,Agent 會透過向量檢索從知識庫取得知識片段。若無知識庫內容或查無結果,則此部分為空。
配置時建議:
- 若 Agent 不涉及知識庫查詢,可關閉知識檢索以節省 token。
- 若 Agent 需高度依賴知識庫查詢結果(如文件問答),建議於「知識庫」中設定最大知識召回數、相關性分數等參數,以確保 RAG(檢索增強生成)的數量與品質。
長期記憶
根據使用者輸入,會從 Agent 所有對話中以向量檢索取得歷史對話紀錄。若關閉長期記憶功能或對話剛建立,此部分為空。
配置時建議:
- 若業務場景需依賴歷史對話內容(如虛擬角色),建議啟用長期記憶。
- 若場景不需歷史對話內容,則建議關閉以節省 token。
工具資料
系統提交請求給 LLM 時,會帶入 Agent 選定的工具資料,協助 LLM 正確選擇所需工具進行調用。成功調用工具後,API 回傳結果需再次提交給 LLM。若 Agent 關閉工具功能,此部分為空。
配置時建議:
- 若場景不需工具,可省略工具設定以節省 token。
- 若工具含多個 API,可於工具設定中關閉不必要的 API,未啟用的 API 不會提交給 LLM,進一步節省 token。
LLM 輸出
LLM 輸出資料的 token 長度於請求時即預留。GPTBots 支援自訂 LLM 回應 token 長度,此部分不受上述輸入部分長度影響。
案例分析
以下將以具體範例說明內容範圍 token 的分配方式。假設 LLM 模型內容範圍上限為 8K tokens:
場景:客戶服務助理
一位線上客戶服務助理 Agent 需:
- 記住使用者最近對話內容
- 查詢產品知識庫
- 調用訂單查詢介面
- 維持專業客服形象
Token 處理方案
| 內容類型 | 優先級 | 描述 |
|---|---|---|
| 使用者提問 | 1 | 保留足夠空間處理可能較長的使用者提問,確保最高優先完整處理使用者輸入 |
| 身份提示 | 2 | 包含客服禮儀、對話規範等重要指導,確保角色定位與使用者提問同等優先 |
| 短期記憶 | 3 | 保留最近 3-5 輪對話紀錄,資源有限時可適度壓縮 |
| 知識資料 | 4 | 來自產品知識庫與 FAQ,作為回應依據,需較高優先 |
| 工具資料 | 5 | 訂單查詢介面的資訊與回傳結果,依實際調用需求動態調整 |
| 長期記憶 | 6 | 會話關鍵資訊摘要,必要時可優先截斷 |
優化建議
- 動態調整
- 當使用者提問較短時,建議將節省的 token 自動分配給知識資料,以提升回應準確性。
- 若工具未使用,建議將預留空間自動分配至短期記憶。
- 優先執行
- 當總 token 超過限制時,依優先級截斷:
- 保留:使用者提問、短期記憶、身份提示、知識資料、工具資料
- 壓縮/移除:長期記憶
- 效果保障
- 當 token 不足時,確保核心功能(如訂單查詢)完整。
- 可犧牲長期記憶以確保回應品質。
透過上述規劃,即可在有限 token 空間內實現客戶服務助理的核心功能,同時維持對話連貫性與專業形象。
