在開發 AI Agent(人工智慧代理人)時,許多開發者傾向於將所有可能的文件、程式碼範例與最佳實作規範全部塞進 Prompt(提示詞)中,認為提供越多資訊,模型表現會越好。然而,這種做法往往適得其反。根據 Baruch Sadogursky 與 Patrick Debois 在 QCon London 的分享,過於臃腫的上下文(Context)不僅會導致模型迷失方向,甚至會因為衝突的指令而產生錯誤的結果。他們提出了一個核心觀點:精準的 300 個 Token 遠比 10 萬個充滿雜訊的 Token 更有效。這將 AI 的開發重心從單純的 Prompt Engineering(提示詞工程)提升到了 Context Engineering(上下文工程)的架構層級。
背景與問題:為什麼大上下文會失效
目前許多開發者依賴於將所有專案知識放入單一文件(例如 CLAUDE.md)中,並在每次對話時將其全部發送給大型語言模型(LLM)。但這種做法存在三個主要問題。首先,LLM 是無狀態的,每次對話都會將之前的歷史紀錄、系統提示詞以及所有附加文件重新發送,導致上下文視窗(Context Window)迅速被填滿。其次,當資訊量過大時,模型容易忽略末端資訊或在大量數據中迷失。最嚴重的是,當文件中包含多個版本的規範或衝突的指令時,模型可能會隨機選擇其中一個,導致產出結果不符合預期,甚至產生邏輯錯誤。
核心解決方案:從塞滿提示詞到技能化管理
為了克服上述問題,作者提出了將上下文「模組化」的概念,將其視為一種數據層(Data Layer)來管理,而非簡單的文字輸入。
首先是導入 Skill(技能)的概念。Skill 是一種延遲加載(Lazy-loaded)的上下文機制。與一次性加載所有文件的做法不同,Skill 包含一個名稱、詳細的觸發描述以及實際的知識內容。當使用者提出要求時,Agent 會先分析所有 Skill 的描述,僅在判定該技能與當前任務相關時,才將對應的上下文注入 Prompt 中。例如,在處理後端 API 時,不需要加載前端 UI 的規範,這能大幅降低雜訊並提高精準度。
其次是建立 Context Artifact(上下文構件)。作者主張將 Skill、Rules(規則)與 Docs(文件)打包成一個版本化的構件。這將上下文管理從單純的 Markdown 文件提升到了軟體構件管理(Artifact Management)的高度。透過版本控制與分發機制,開發者可以確保 Agent 使用的是正確的版本(例如 v3 而非 v2),並能將這些經過驗證的最佳實踐在團隊或組織間重複使用,避免每個專案都要重新編寫一遍提示詞。
技術脈絡:選擇正確的上下文獲取通道
在獲取資訊的手段上,許多人過度依賴 RAG(檢索增強生成,Retrieval-Augmented Generation)。RAG 透過向量數據庫搜尋相似內容,但其缺陷在於它搜尋的是「相似度」而非「相關性」,且容易因為文本切片(Chunking)導致上下文斷裂,導致 Agent 抓到錯誤版本的 API 文件。
因此,作者建議根據需求選擇不同的上下文通道: 針對精確的工具使用:採用版本化的構件(Context Artifacts),直接提供正確版本的完整文件與強制性規則。 針對通用知識:使用 Web Search(網頁搜尋)。 針對專案規範:使用 Rules(規則),透過 IDE 或檔案後綴自動加載。 針對動態變更:使用 MCP(Model Context Protocol,模型上下文協定)作為連接器,將上述各種搜尋與獲取手段標準化,實現更靈活的延遲加載。
影響與實務意義:解決記憶黑盒與量化評估
針對 Agent 在長對話中容易遺忘或被模型自動壓縮(Compaction)導致資訊流失的問題,作者提出了「記憶銀行」(Memory Bank)的方案。與其信任模型不可控的內建記憶,不如透過 Skill 指令,強制 Agent 將關鍵的架構決策(Architectural Decisions)以特定格式寫入專案的 .memory/decisions 文件中。這樣即使開啟新會話,Agent 也能透過讀取記憶銀行迅速恢復對專案決策的認知,將記憶從黑盒轉變為可控的檔案。
最後,為了避免僅憑感覺判斷 AI 表現的「Vibe Check」(感覺檢查),作者引入了 LLM-as-a-judge(以模型作為評審)的評估機制(Evals)。透過定義明確的評分量表(Rubric)與測試場景,使用另一個中立的模型來量化評估上下文工程的效果。實測顯示,在缺乏上下文的情況下,Agent 對特定私有庫的正確率僅 35%,但在導入完整 Context Artifacts(包含 Skill、Docs 與 Rules)後,正確率可提升至 98%。
限制與總結
儘管上下文工程能顯著提升 Agent 的可靠性,但它也增加了維護成本。開發者需要花時間定義正確的 Skill 描述、維護版本化的構件以及設計評估場景。此外,LLM 作為評審時仍可能存在偏差,因此人類領域專家的審查依然不可或缺。
總結來說,AI Agent 的開發正從「嘗試尋找完美模型」轉向「構建高效的上下文架構」。將上下文視為一種可版本化、可模組化且可量化評估的軟體資產,才是讓 AI Agent 在大規模企業環境中穩定運作的關鍵。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。