範圍和預算
上下文工程
Context engineering
意思
設計提供給模型的完整資訊環境,包括指令、檢索到的證據、歷史記錄、工具結果和狀態。
使用時機
在可靠的行為取決於選擇和排列多個提示句子時使用。
應用範例
將策略、客戶狀態、檢索到的證據和輸出規則整合到一個受控的上下文環境中。生成式 AI 工程
學習如何預算、組裝、排序、壓縮、快取以及追蹤指令、證據、歷史記錄和狀態,以實現可靠的 AI 請求。
16 個術語
範圍和預算
Context engineering
設計提供給模型的完整資訊環境,包括指令、檢索到的證據、歷史記錄、工具結果和狀態。
在可靠的行為取決於選擇和排列多個提示句子時使用。
將策略、客戶狀態、檢索到的證據和輸出規則整合到一個受控的上下文環境中。範圍和預算
Context budget
將可用令牌分配給指令、證據、歷史記錄、工具結果和預期輸出的計劃。
在新增較長的文件之前設定它,以避免重要的指令和輸出空間被擠壓。
為答案保留 2,000 個令牌,並將剩餘的預算分配給策略、範例和檢索的段落。範圍和預算
Working context
積極為模型的當前步驟提供的可用資訊子集。
用於區分當前步驟的輸入與儲存在記憶體或其他系統中的資訊。
在此步驟中,包含已批准的大綱和來源說明,但省略早期的腦力激盪。組裝和信任
Context assembly
將選定的指令、狀態、證據、範例和工具輸出收集到模型輸入中。
使用確定性的組裝策略,以便每個請求都以已知格式接收到所需的組件。
system rules -> verified user state -> retrieved evidence -> current request -> output contract組裝和信任
Context hierarchy
系統規則、應用程式指令、使用者輸入和不可靠內容之間的優先關係。
當輸入可能發生衝突或包含嵌入式指令時,明確定義權限範圍。
級聯標籤有助於應用程序理解信任,但仍然需要在模型之外強制執行對安全性敏感的權限。
將檢索到的網頁文字視為證據,而不是允許覆蓋系統規則的授權。組裝和信任
Context ordering
指令、原始資料、範例和當前問題出現的順序。
使用具有代表性的輸入測試排序,因為位置會影響模型強調的資訊。
首先放置較長的原始資料,然後以確切的問題和所需的輸出格式結尾。組裝和信任
Conversation history
保留先前的用戶和助手消息,以支持多輪對話的連續性。
僅包含與當前請求相關、已授權且仍然有效的歷史記錄。
長期歷史記錄可能會保留過時的指令或不必要的個人資料。
在下一個生成步驟之前,保持已確認的要求,並刪除過期的草稿。組裝和信任
Context provenance
記錄每個上下文項的來源、獲取時間以及其可能的使用方式的元資料。
在需要引用、更新、訪問控制或審計證據時使用。
將來源 ID、文件版本、retrieved_at、訪問範圍和塊位置附加到每個段落。長上下文容量
Long context
一個包含大量文本或多模態材料的輸入,其位於模型支持的上下文容量內。
在任務真正需要廣泛的來源覆蓋範圍,而僅僅是檢索會移除有用的關係時使用。
更多的上下文並不保證每個細節都能被準確使用;評估檢索和推理在真實場景中的表現。
分析完整的合約文件集,然後列出所有衝突條款,並提供文件和章節的參考。長上下文容量
Context overflow and truncation
在請求的輸入和輸出超過容量時,導致內容被拒絕或移除的狀況。
在推理之前檢測到它,並應用明確的策略來進行修剪、摘要、檢索或工作拆分。
靜默截斷可能會移除回答問題所需的確切指令或證據。
如果輸入超過預算,請保留系統規則和最新的請求,然後檢索最相關的證據。長上下文容量
Lost-in-the-middle effect
一種趨勢,即埋在長輸入中的相關信息,其可靠性不如突出的信息。
在不同位置測試重要的證據,並在出現錯誤時改進檢索、排序、標籤或查詢放置。
評估相同的證據,分別位於開頭、中間和結尾,而不是僅依賴於一個位置。優化和重用
Context pruning
在發送請求之前,移除不相關、重複、過期或低價值的項目。
運用它來保留對權威性指令和證據的關注和預算。
刪除重複的搜索結果和被用戶最終決定取代的消息。優化和重用
Context compression
以較短的形式表示原始資料,同時保留執行任務所需的資訊。
當完整的原始文字太大時,請使用結構化摘要,並保留連結回原始證據。
壓縮可能會忽略細微之處或引入錯誤,因此請務必將重要聲明與原始資料進行驗證。
將每個會議壓縮為決策、負責人、截止日期、未解決問題和原始時間戳。優化和重用
Reusable prompt prefix
一組在重複請求中共享的指令或參考材料的穩定開頭部分。
當提供者或執行環境可以高效地重用相同的字首時,保持穩定內容的組合。
首先放置已批准的策略和模式;然後附加與請求相關的證據和問題。優化和重用
Context caching
在平台支援的情況下,重複使用先前處理的輸入令牌或儲存的上下文,用於後續請求。
適用於對相同的、大型指令、文件、媒體或程式碼進行重複提問。
快取的行為、最小大小、存留時間、價格和無效化因提供商和模型而異。
僅快取一次策略語料庫,然後針對其發送更短的特定案例問題。優化和重用
Cache hit and cache miss
快取命中會重用符合條件的先前上下文;快取未命中需要重新處理輸入。
在估算具有重複前綴的工作負載的延遲和成本時,測量兩個結果。
在部署後,追蹤已快取的輸入令牌和遺失率,並按提示版本進行追蹤。使用在保留任務實際需要的證據和關係的同時,最簡潔的方法。
| 情況 | 應考慮的方法 |
|---|---|
| 幾個簡短、直接相關的事實。 | 將它們直接放置在工作環境中 |
| 一個包含少量相關內容的大型集合。 | 檢索、排名和組裝選定的證據 |
| 相同的大型資料來源被重複查詢。 | 使用上下文緩存來評估長上下文 |
| 歷史記錄包含重複或過時的信息 | 提取並創建帶有原始鏈接的結構化摘要。 |
否。提示工程的重點是指令和提示結構。上下文工程還控制為每個模型步驟選擇和排列哪些證據、歷史、狀態、工具結果以及可重用的材料。
通常不是。 不必要的內容會增加成本和延遲,並且可能會使重要的證據更難以使用。 比較直接上下文、檢索、修剪、壓縮和快取在具有代表性的任務中的效果。
否。容量僅定義了可以容納多少內容。準確性仍然取決於相關性、排序、信任邊界、模型行為以及使用真實案例進行的評估。
關於長上下文使用、限制、查詢放置、延遲、成本和緩存的官方指南。
關於重用重複的上下文和觀察緩存輸入行為的官方指南。
審查令牌、上下文視窗、系統指令、推理和生成設定。
設計指令、範例、限制、結構和多步驟提示結構。
在將其組合成上下文之前,檢索並對相關的證據進行排名。
將上下文組裝與工具結果、記憶體、規劃和人工審核聯繫起來。