03|什麼是 Context?AI「當下知道」的所有資訊

🧠 一句話:Context = AI 在這一次回答之前,「眼前所有能看見」的資訊——不在 Context 裡的,AI 就不知道。
一、Context 的組成
每次跟 AI 對話,模型實際看到的是這一包:
┌──────────────────────────────────────────┐
│ ① System Prompt(規則 + persona) │
├──────────────────────────────────────────┤
│ ② 對話歷史(前面 user + assistant 互動) │
├──────────────────────────────────────────┤
│ ③ 當下這條 user 訊息 │
├──────────────────────────────────────────┤
│ ④ RAG 檢索進來的文件片段 │
├──────────────────────────────────────────┤
│ ⑤ Tool / MCP 呼叫結果 │
├──────────────────────────────────────────┤
│ ⑥ 載入的 Skill 內容 │
└──────────────────────────────────────────┘
↓ 全部加起來 = Context
↓
[模型生成下一個 token]
→ 沒進到 Context 的事,AI 一律不知道——這是理解 AI 行為的起點。
二、Context 不是 Memory
| Context | Memory | |
|---|---|---|
| 範圍 | 當下這次呼叫看到的 | 跨對話的長期狀態 |
| 大小限制 | Context Window(例:200K tokens) | 理論上無限(靠外部儲存) |
| 存在哪 | 直接在 prompt 裡傳 | 通常存 DB / vector store |
| 由誰管理 | 開發者 / Agent runtime | 開發者自己設計 |
LLM 本身沒有持久記憶——你以為 ChatGPT「記得你」,其實是介面在每次呼叫時把對話歷史塞進 Context。
三、Context 從哪來
| 來源 | 來自 | 例子 |
|---|---|---|
| System Prompt | 開發者 | persona、規則、輸出格式 |
| 對話歷史 | 累積 | 使用者跟 AI 來回幾輪 |
| RAG(檢索) | 向量庫 / 全文搜尋 | 從公司文件抓出最相關 3 段 |
| Tool Call 結果 | 函式回傳 | 查 CRM 拿到的客戶資料 |
| MCP | 外部服務 | 即時股價、天氣、Sheet 內容 |
| Skill | 動態載入 | 「現在要做投影片,載入 slide skill」 |
| 檔案 / 圖片 | 上傳 | PDF 解析後的文字、圖片 base64 |
四、為什麼 Context 工程很重要
實務上多數 AI 失敗不是模型不夠強,是 Context 不夠對:
| 失敗類型 | 真正原因 |
|---|---|
| 「AI 講錯資料」 | RAG 沒撈到對的文件 |
| 「AI 不記得我剛說的」 | 對話歷史被截掉 |
| 「AI 答非所問」 | System prompt 跟使用者意圖衝突 |
| 「AI 亂編法條」 | Context 裡沒餵真正法條 → 幻覺 |
| 「AI 慢吞吞」 | Context 太肥,每次重新處理 |
→ Anthropic 把這個工程叫 "Context Engineering"——比 prompt engineering 更上層的設計。
五、Context 的取捨:愈多愈好?
不一定。Context 變大有 4 個代價:
- 錢變多:每次都按 input token 計費
- 慢變多:長 context 處理慢
- 精度下降:模型在長 context 中容易漏掉中段("lost in the middle" 現象)
- 幻覺增加:context 裡有矛盾資訊,模型可能挑錯
實務原則:只放當下任務需要的,不要塞「以防萬一」。
六、Context 焦慮:實務常見現象
「我把所有文件丟給 AI,它還是找不到重點。」
這就是 Context 焦慮——以為塞愈多 AI 愈聰明,反而把 AI 灌昏。
正確流程:
使用者問題
↓
[檢索/篩選] ── 用 RAG 撈出最相關的 5-10 段
↓
[壓縮] ── 摘要 / 去重 / 重排
↓
組成精煉 Context(< 10% Context Window)
↓
送進 AI
七、案例:跨部門查詢助手
把多個資訊源「串接起來」回答一個問題,本質就是 Context Engineering:
| 場景 | Context 構成 |
|---|---|
| 業務問「這家客戶去年買過什麼?」 | 對話歷史 + CRM 查詢結果 |
| 企劃查「新規範會影響哪些方案?」 | System prompt + 知識庫 RAG + 方案清單 RAG |
| 客服主管問「最近的抱怨集中在什麼?」 | 回饋 chunks RAG + 統計工具結果 |
→ Context Engineering 做好了,AI 才會像「幫你跨部門查事的同事」。
八、常見誤解
| ❌ 誤解 | ✅ 正解 |
|---|---|
| 「AI 記得我們上次的對話」 | 不會,除非你把對話歷史塞進 Context |
| 「Context Window 愈大愈好」 | 一定程度後,回報遞減甚至下降 |
| 「丟整份文件給 AI 比較準」 | 多半相反——RAG 出最相關段落更好 |
| 「Context 跟 Memory 同樣的事」 | 不是。Context 是當下;Memory 要靠外部 |