Anthropic Claude 100k Token 上下文視窗提示工程指南

TL;DR

Anthropic 展示了兩種提示工程技術——將相關引用內容拉入 scratchpad(草稿本)以及提供數個正確回答的範例——能顯著提升 Claude 在 70k–95k token 上下文中的特定事實召回能力。


背景:Claude 的 100,000-Token 上下文視窗

Claude 現在支援 100k-token 上下文視窗,使其能夠處理數百頁的技術資料或整本書籍。隨著 API 的規模擴大,使用者需要具體的指導,了解如何建構提示以充分利用此容量。


實驗設計

目標

衡量不同的提示策略如何影響 Claude 在回答需要從非常長的文檔中召回單一事實的多選題時的準確度。

資料來源

選擇了一份公開可用的美國政府每日發布的逐字稿(2023 年 7 月 13 日),因為它晚於 Claude 的訓練截止日期,能將先驗知識降至最低。

問題生成(隨機拼貼)

  1. 將文件分割成多個章節。
  2. 提示 Claude 為每個章節撰寫個多選題,每個問題包含三個干擾項和一個正確答案。
  3. 隨機將章節拼接起來,以建立約 75k 和 90k token 的長「拼貼」文件。

測試的提示策略

策略 描述
Base 簡單詢問,不提供任何範例。
Nongov examples 兩個與政府文本無關的固定通用知識多選題範例。
Two examples 從同一個拼貼文件的其他章節中隨機抽取兩個上下文中的範例。
Five examples 與上述相同,但提供五個範例。

每種策略都分別在沒有 <scratchpad> 指令的情況下進行評估,該指令會告訴 Claude 在回答之前先提取相關引用內容。回答所在的段落被放置在輸入的開頭、中間或結尾,以測試位置效應。


關鍵發現

基準線性能

  • Claude Instant 1.2 在回答其自身的短上下文問題時,準確度約為 90%。
  • 當回答所在的段落被替換為隨機且無關的章節時,Claude 的猜測正確率為 34%(高於 25% 的隨機基準線)。

Scratchpad 與範例的影響

  • 對於 70k 和 95k token 文件,同時使用 scratchpad 範例會產生最高的準確度。
  • 通用的、無關的範例(“nongov” 組)無法提供可衡量的效益
  • 範例數量越多,性能表現呈單調遞增:五個範例的表現優於兩個範例。

位置效應

  • 當相關段落位於提示詞的極端結尾且同時存在範例時,準確度會下降,這可能是因為範例增加了回答與模型最終推理步驟之間的距離。
  • 對於 Claude Instant,性能會隨著問題與回答之間的距離增加而下降;Claude 2 顯示出較小的下降,但在 95k token 輸入的中間部分會有些微下降。

Claude 2 vs. Claude Instant

  • Claude 2 的基準線準確度已經很高(≈0.939)。透過提示工程可以將其提升至 0.961,儘管絕對增益很小,但實現了錯誤率降低 36%

實用的提示工程建議

  1. 使用 scratchpad – 指令 Claude 在回答之前先收集並顯示相關引用內容;這能持續提升準確度。
  2. 提供多個上下文中的範例 – 優先選擇從同一個長文件內抽取的五個範例,而非通用範例。
  3. 將指令放置在接近結尾處 – 將 scratchpad 和範例區塊保持在靠近回答位置附近,以減少距離效應。
  4. 避免模糊的引用 – 確保問題明確指名該段落(例如:“關於漁業額外季節內行動的通知”),因為在拼貼文件中,「這份文件」會變得模糊不清。
  5. 在文件尾端預期 Diminishing Returns(收益遞減):如果回答位於文件的極端結尾,請考慮重新建構提示詞,使回答相關的文本內容出現在較早的位置,或者讓指令區塊緊隨其後。

可重複性:Anthropic Cookbook

所有在研究中使用過的代碼、notebooks 和提示模板都已在 Anthropic Cookbook 中公開可用:

  • 完整實驗存儲庫 – 包括資料生成、評估腳本和提示詞 PDF。
  • 額外食譜:一個 Wikipedia 搜尋與檢索之演示,以及一個模擬 PDF 上傳/摘要指南。

對開發者的意義

  • 100k token 視窗開啟了諸如全文件 QA、書籍長度摘要以及大規模政策分析等使用案例。
  • 有效的提示工程至關重要;若沒有 scratchpad 或相關的範例,對於埋藏在上下文中的深層事實,準確度可能會降至接近隨機猜測的水平。
  • 所描述的技術是輕量級的(僅限提示詞)且不需要外部檢索系統,因此很容易整合到現有的 Claude API 工作流程中。

局限性與未來工作

  • 本研究聚焦於 Claude Instant 1.2;雖然 Claude 2 顯示出類似的趨勢,但結果可能會因未來模型版本而異。
  • 研究僅測試了多選題的事實召回能力;開放式生成或推理任務可能需要額定的外加策略。
  • 對於極端長提示詞末端的資訊,位置偏誤仍然是一個挑戰;未來工作可以探索動態提示詞截斷或層次化檢索。

結論

Anthropic 的定量研究案例分析證實,提取引用內容的 scratchpad 以及 多個上下文中的範例 是提升 Claude 在 70k–95k token 上下文中的事實召回能力的簡單且強大的槓桿。透過應用這些提示工程模式,開發者可以可靠地利用 Claude 的 100k token 視窗來處理複雜、文件規模的應用程式。

Sources

相關

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch