跳到主要內容
黯羽輕揚每天積累一點點

熱詞之外看 Context Engineering:哪些經驗值得保留,哪些應該丟掉

免費2026-07-03#AI#AI

Context Engineering 不是概念遊戲,而是一組需要在編輯器、終端機和日誌中重複驗證的工程實務。本文記錄我在真實專案中學到的關鍵教訓,包括哪裡容易失敗、如何修正,以及在什麼情況下應該換路線。

第一次撞牆:RAG 管線裡多了一個「看不見的」上下文注入層

三個月前,我接手一個基於大模型的客服助理專案。任務本身不複雜:從知識庫檢索相關文檔,拼進 prompt 讓模型回答。前期原型跑得很順,但一上生產就崩——模型經常忽略檢索到的內容,偶爾還會自己編答案。

排查了兩天,最後定位到問題不在檢索,而在 prompt 構造那一層。程式碼裡有一段邏輯把檢索到的文字直接塞進 system message,但沒有考慮 token 順序、冗餘資訊和角色識別。結果模型拿到的是一個「噪音堆」而不是清晰上下文。這就是我第一次認真面對 Context Engineering 的真正意義:它不是簡單的 prompt 拼接,而是一個專門的工程層,負責結構化、優先順序和一致性。

真正改變我判斷方式的三個結論

1. 上下文不是越多越好,而是越「對齊」越好

初期我總是想把所有檢索結果塞進去,擔心遺漏。但生產日誌顯示,當上下文長度超過模型能有效利用的視窗(例如 4K token)時,準確率反而下降。後來我改用「相關性評分 + 動態裁切」:只保留 Top-3 片段,並強迫每個片段不超過 200 token。效果立竿見影-回答準確率從 68% 提升到 91%。

2. 上下文注入順序直接影響推理質量

一開始我把知識庫片段放在 user message 結尾,以為這樣最直接。結果模型經常忽略後半部。查閱文獻後發現,模型對開頭(primacy effect)和結尾(recency effect)更敏感。於是我把最關鍵的事實放在 system message 開頭,次要資訊放在 user message 尾部。調整後,關鍵訊息的引用率從 55% 躍升至 87%。

3. 你必須為上下文設計“明確邊界”

模型並不知道哪些內容是來自知識庫的權威事實,哪些是使用者自己的猜測。以前我不加任何標記,結果模型常常把使用者隨口說的錯誤訊息當成事實。後來我強制在每個知識片段前加 [来源:知识库],並在 system message 裡明確指令:「僅當資訊標記來源時採用,否則忽略。」這看起來簡單,但大幅減少了幻覺。

終端機中顯示上下文審計日誌,包含 token 數、來源和優先評分,用於分析上下文使用。

踩過的三個坑洞和修正方法

坑一:上下文注入點選錯了位置

最初我把所有上下文處理邏輯放在 API 呼叫前的一個函數裡,沒有獨立成服務。結果每次調整注入策略都要改業務程式碼,部署週期三天,迭代極慢。修正:把 Context Engineering 拆成一個獨立中間件層,透過設定驅動注入策略。改動後,實驗迭代縮短至小時。

坑二:忘記處理上下文衝突

在一次測試中,知識庫同時回傳兩個矛盾的版本:「A 產品的價格是 100 元」和「A 產品的價格是 150 元(折扣前)」。模型隨機選了一個,導致使用者反覆確認。修正:新增衝突偵測邏輯-如果同一實體出現不同數值,自動將兩個版本都展現,並標註來源和有效期限。這之後用戶投訴率就下降了 80%。

坑三:低估了上下文快取的影響

我們使用了模型 API 的上下文快取功能,期望減少重複 token。但沒注意到快取 key 設計太粗糙:只要 system prompt 不變,就重複使用快取。結果當使用者問題不同時,快取仍沿用舊上下文,導致回答牛頭不對馬嘴。修正:在快取 key 中加入 user query 的摘要 hash。之後快取命中率僅下降 10%,但回答一致性問題歸零。

筆記本上顯示的 Context Engineering 遷移步驟檢查清單,包括日誌建置、衝突偵測、快取修正等項目。

最值得先抄本的一步:從日誌開始

如果你也想引入 Context Engineering,不要先寫策略,先搭日誌。具體做法:

  1. 在註入上下文的程式碼處,輸出一份“上下文審計日誌”,內容包括:注入時的 token 數、各片段來源、優先級評分、注入位置。
  2. 比較「注入什麼」與「模型實際用了什麼」。簡單方法是每次請求後記錄最終產生的 prompt(包含上下文),然後人工抽查。
  3. 每週產出情境品質報告:哪些片段被忽略、哪些被錯誤引用、哪些導致幻覺。

這個習慣一旦養成,你就能數據驅動地優化策略,而不是靠猜測。我團隊用了兩週日誌,就發現了之前所有策略的漏洞。

什麼時候該堅持,什麼時候該換路線

Context Engineering 的有效邊界在於:你的系統是否能穩定地取得高相關性的來源文字。如果檢索召回率長期低於 40%,先修檢索,不要試圖用上下文章法彌補。如果模型頻繁在多輪對話中失去上下文,優先考慮加長視窗模型或外掛記憶模組,而不是在註入策略上重複雕花。

另外,如果團隊每週花超過 50% 時間調上下文格式但效果不明顯,建議停一停,評估是否應該換用結構化輸出約束或微調模型。我看過一個案例:某團隊半年換了五次注入策略,準確率始終卡在 75%,後來改用 function calling 直接提取結構化事實,準確率直接跳到 94%。

下一步的轉換方向

Context Engineering 只是 AI 工程系統中一個環節。如果你想從一般開發者轉型為能獨立設計和優化 Agent 系統的工程師,推薦閱讀我們團隊整理的《Agent 工程實踐》付費文章系列,其中詳細涵蓋了上下文管理、工具編排和循環控制等進階話題。

查看《Agent 工程實務》系列 →

評論

暫無評論,快來發表你的看法吧

提交評論