上下文工程怎麼做:長任務智能體的上下文管理方案提示詞(放什麼進上下文、何時壓縮、怎麼記筆記和按需取回)
智能體或長對話應用跑着跑着「忘了」前面的要求、重複做已經做過的事,或者上下文被工具返回的大段內容塞滿時用:描述任務和現象,AI 幫你盤點上下文裏每類內容的去留,設計壓縮、外部筆記和按需檢索的策略,並給出交接時用的狀態摘要模板。
通用大模型 對話模型通用
我在做一個需要長時間運行或多輪對話的大模型應用,遇到了上下文管理的問題。請幫我設計上下文方案。出發點是:上下文容量有限,而且內容越多、越雜,模型對其中任何一條資訊的注意都會被稀釋,所以目標不是「盡量塞滿」,而是「每一步只讓模型看到當下需要的」。 應用與任務:[應用與任務] 一次任務的典型長度:[任務長度](多少輪、多少次工具調用、會讀多少資料) 現在放進上下文的內容:[當前上下文構成] 觀察到的問題:[觀察到的問題](例如:後半段忘記約束、重複讀同一個文件、被舊資訊誤導) 可用的手段:[可用手段](能否寫文件、有無數據庫或檢索、是否支持子智能體、平台是否提供自動壓縮) 請輸出: 一、上下文盤點 把我當前放進上下文的內容分類,逐類判斷: - 每一步都需要的(任務目標、關鍵約束、當前計劃與進度); - 只在特定步驟需要的(某份資料、某個工具的詳細說明); - 用過之後只需保留結論的(工具返回的大段原文、搜尋結果、中間推導); - 已經過時、會造成誤導的(被推翻的結論、舊版本文件內容)。 對每一類給出處理方式:常駐、按需取回、用後只留摘要、及時移除。 二、常駐區怎麼寫 系統提示詞與任務說明裏應固定保留什麼;怎樣寫才不至於臃腫;容易被遺忘的關鍵約束是否需要在長任務中途以用戶消息的形式重申,多久一次。 三、工具返回內容的控制 返回前裁剪字段與長度;長內容先給摘要和定位資訊,需要時再取詳情;同一內容避免重複進入上下文。 四、外部筆記 1. 讓智能體把什麼寫到上下文之外:進度清單、已做出的決定及理由、已排除的方案、待辦與未解決的問題、關鍵事實及其來源。 2. 筆記的格式模板,以及何時寫、何時讀(例如每完成一個階段更新一次,每次重新開始時先讀)。 3. 結構化狀態(如測試是否通過、任務清單)與自由文本筆記分別適合記什麼。 五、壓縮與交接 1. 何時觸發壓縮或重開一個新的上下文;壓縮時必須保留的內容清單(目標、約束、當前狀態、已改動的對象、下一步、未解決問題)與可以丟棄的內容。 2. 給出一份「交接摘要」模板:讓接手的新上下文只讀這一頁就能繼續。 3. 重新開始後的第一件事:讀筆記、核對當前真實狀態(而不是相信摘要裏的描述),再繼續。 六、用子智能體隔離 哪些環節適合交給子智能體在獨立上下文裏完成、只帶回結論(如大範圍搜尋、通讀長文檔);交代任務與帶回結果各應遵循什麼格式。不適合時直接說明。 七、驗證 設計 3 個測試:一個超長任務、一箇中途改需求的任務、一個需要在後期引用早期資訊的任務,觀察改動前後的差別;說明應記錄哪些指標(任務完成情況、重複操作次數、上下文長度變化)。 涉及具體平台的能力(自動壓縮、記憶工具、上下文長度)時,請標註「以所用平台的最新文檔為準」。
高亮處換成你自己的內容:[應用與任務]、[任務長度]、[當前上下文構成]、[觀察到的問題]、[可用手段]
ChatGPT Plus 充值
已被複製 0 次
使用說明
從「寫提示詞」到「管上下文」:單輪問答裏,把提示詞寫好就夠了;到了多步的智能體任務,模型每一步看到的不只是你的提示詞,還有歷史對話、工具返回、讀過的文件……這些加起來才決定它的表現。上下文不是越多越好:容量有上限,而且塞進去的無關內容越多,關鍵約束越容易被淹沒。所謂上下文工程,就是有意識地決定每一步讓模型看到什麼。
四個基本手段,提示詞已逐一覆蓋:常駐區只留每一步都要的;工具返回的內容先裁剪、先摘要;把進度和決定寫到上下文之外的筆記裏,需要時再讀;上下文快滿或換階段時做壓縮並寫交接摘要,必要時用子智能體把「髒活」隔離出去。
怎麼填變量:[當前上下文構成] 盡量按實際順序列出並估個長度,如「系統提示詞約 3000 字;工具定義 12 個;全部歷史消息;每次搜尋返回 10 條全文」。[觀察到的問題] 寫具體現象,比籠統的「效果不好」有用得多。[可用手段] 決定方案能走多遠:能寫文件的環境,筆記是最划算的辦法。
常見問題與調整:
- 壓縮後丟了關鍵資訊 → 追問:「這是壓縮前後的內容,請指出丟失了哪些必須保留的資訊,並修改壓縮指令。」
- 筆記越記越亂 → 讓它定規矩:「把筆記分成『當前狀態』(每次覆蓋更新)和『決定記錄』(只追加)兩部分,各給一個模板。」
- 模型在長對話後半段不再遵守格式 → 把格式要求在最近的用戶消息裏重申一次,通常比繼續加長系統提示詞有效。
配合使用:提示詞本身過長的精簡方法見本站「提示詞太長怎麼精簡提示詞」;交給子智能體的任務怎麼寫見「給 AI 智能體寫任務說明書的提示詞」。
示例輸出
示例,僅供參考(應用:編程智能體做一次跨 20 多個文件的重構;節選)
上下文盤點
| 內容 | 分類 | 處理方式 |
|---|---|---|
| 重構目標、不能改動的公共接口清單 | 每一步都需要 | 常駐;每完成 5 個文件後重申一次 |
| 讀過的源文件全文 | 用後只需結論 | 改完即不再保留全文,筆記裏記「已改 / 改了什麼」 |
| 測試運行的完整輸出 | 用後只需結論 | 只保留失敗用例名稱與報錯的前幾行 |
| 第一版方案(已被否決) | 已過時 | 移除,僅在「決定記錄」留一行否決理由 |
交接摘要模板
- 目標與不可違反的約束;
- 當前狀態:已完成的文件清單、測試結果(通過與失敗的數量);
- 已做出的決定及理由;已排除的做法;
- 下一步要做的三件事;
- 未解決的問題與需要確認的事項。
重新開始後的第一步:讀摘要與筆記,然後運行一次測試並查看版本庫狀態,以實際結果為準。
同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~