在開發生成式 AI 應用時,許多開發者最初的直覺是透過「提示工程」(Prompt Engineering),也就是優化輸入給大語言模型(LLM)的指令來提升回答品質。然而,當應用進入生產環境並面對真實使用者的複雜互動時,單純調整提示詞往往無法解決問題。Redis 的首席開發者倡導者 Ricardo Ferreira 在 QCon AI 的分享中指出,要打造具備人性化體驗的 AI 助理,必須將焦點從「提示」轉移到「上下文工程」(Context Engineering)。
上下文工程是指一套刻意設計的系統化方法,旨在管理 AI 在對話過程中所接觸到的資訊,確保模型能正確理解、優先排序並檢索相關數據,而非僅僅依賴模型的原生能力。
背景與核心挑戰
為了驗證 Redis Agent Memory Server(一個基於 Redis 的記憶層開源專案)的實用性,Ferreira 打造了一個名為「My Jarvis」的 Alexa 技能。在開發過程中,他發現即使使用最強大的 LLM,AI 仍會遇到一系列與上下文相關的失效問題:
上下文中毒與干擾(Context Poisoning & Distraction):輸入過多不相關的數據,導致模型在海量資訊中迷失,無法精準回答。 上下文腐敗(Context Rot):隨著對話紀錄增加,早期的重要資訊被後續無關的對話淹沒,導致模型遺忘關鍵設定。 上下文衝突(Context Clash):當記憶中存在版本衝突或時間順序混亂的資訊時,模型會產生矛盾的回答。
面對這些問題,開發者的常見誤區是嘗試升級到更強的模型或擴大上下文視窗(Context Window)。但實務證明,單純增加記憶容量並不能解決邏輯混亂,真正的解決方案在於對上下文進行精細化的工程管理。
上下文工程的技術實踐
為了讓 AI 助理具備像人類一樣的記憶與推理能力,Ferreira 實作了多層次的記憶管理體系:
短期記憶與會話管理 LLM 本質上是無狀態的(Stateless),無法記得上一句話。透過 Redis 建立的會話記憶(Session Memory),可以將對話紀錄儲存為具有生存時間(TTL)的 JSON 負載。為了避免對話紀錄無限增長導致的 Token 消耗與循環調用,他開發了 WorkingMemoryChat 機制,精準控制傳遞給模型的歷史訊息數量。
長期記憶與 RAG 實作 對於跨會話的資訊(如使用者的姓名、偏好),則採用長期記憶(Long-term Memory, LTM)。這涉及到檢索增強生成(RAG, Retrieval-Augmented Generation)技術,將資訊轉化為向量(Vector)儲存在 Redis 中,利用 HNSW 索引進行高效的語義搜索,根據使用者當前的問題檢索最相關的記憶片段。
精準化上下文的進階技巧 當簡單的向量搜索導致結果過多或不精準時,需要引入以下機制: 查詢轉換與壓縮(Query Transformation & Compression):利用 LLM 將模糊的代名詞(如「他」)替換為具體對象(如「John Doe」),使檢索更精準。 少樣本設計(Few-shots Design):在系統提示中加入正反例,教導模型在特定領域中如何判斷意圖,將其從單純的「思考」轉化為「行為規範」。 重排序(Reranking):向量搜索僅是初步篩選,透過 Cohere 等重排序模型對檢索結果再次打分,剔除相關度低於門檻(如 80%)的資訊,確保進入 LLM 上下文的內容具有高優先級。
影響、成本控制與限制
實施上下文工程雖然能大幅提升體驗,但會帶來顯著的運算成本與延遲挑戰。
成本的指數級增長 若將所有對話紀錄直接附加在上下文中,Token 的消耗將隨對話輪數呈指數級增長。為了將成本壓平,Ferreira 採用了兩種策略: 首先是 Token 視窗管理(Token Window),根據模型的最大 Token 限制自動修剪舊訊息。但為了避免隨機刪除重要資訊,他進一步引入了「摘要化」(Summarization),利用另一個 LLM 調用將長對話壓縮為關鍵事實與偏好。 其次是語義快取(Semantic Caching)。不同於傳統精確匹配的快取,語義快取會判斷問題的含義。即使使用者問法不同(例如「今天誰來吃飯?」與「今晚晚餐名單是誰?」),只要語義相同,就直接返回快取結果,減少 75% 以上的冗餘 LLM 調用。
實務限制與校準 上下文工程並非設定一次就永久生效。Ferreira 提醒,當更換底層 LLM 或重排序模型時,原有的評分門檻(Min Score)與校準數值會失效,必須重新調整。此外,語義快取若校準過寬,可能會導致模型在問題有微小差異時仍返回錯誤的快取結果。
總結而言,生產級的 AI 應用不能僅依賴提示詞,必須將上下文工程視為架構的一部分。透過 Redis 的記憶層、RAG 檢索、重排序以及語義快取,才能在控制成本的前提下,打造出穩定且具備人性化記憶的 AI 服務。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。