---
# System prepended metadata

title: 第二篇：模型的記憶與視野 — Context 與 Context Window
tags: [大語言模型, Agent, 核心概念大串聯, AI]

---

###### tags: `大語言模型` `AI` `Agent` `核心概念大串聯`
# 第二篇：模型的記憶與視野 — Context 與 Context Window

> **系列**：AI 核心概念大串聯 | [返回總覽](https://hackmd.io/@TommyHuang/ByDQ96dcZx)
> [← 上一篇：LLM 與 Token](https://hackmd.io/@TommyHuang/HyUQiTuqbl) | [下一篇：Prompt →](https://hackmd.io/@TommyHuang/rygOiTucbg)

---

## 一、Context 是什麼？

**Context（上下文）** 是 LLM 在生成回應時，所能「看到」的全部資訊。

LLM 沒有持久記憶。每次呼叫模型，它只能根據**當次傳入的所有內容**來作答。這些內容的總和，就是 Context。

### Context 包含什麼？
 
```
┌─────────────────── Context ───────────────────┐
│  System Prompt（角色與規則設定）                │
│  ─────────────────────────────────────────    │
│  User: 你好，請幫我分析這份報告                  │
│  Assistant: 好的，請提供報告內容                │
│  User: [報告全文 3000 字]                      │
│  Assistant: 以下是我的分析…                    │
│  User: 請針對第三點深入說明                     │
└───────────────────────────────────────────────┘
```

對話歷史、系統設定、你貼進去的文件——全都是 Context 的一部分。

---

## 二、Context Window 是什麼？

**Context Window（上下文視窗）** 是 LLM 一次能處理的最大 token 數量。超過這個上限，模型就「看不到」更早的內容了。

把它想像成一個**滑動的閱讀窗口**：

```
整段對話歷史（很長）：
[第1輪][第2輪][第3輪]...[第97輪][第98輪][第99輪][第100輪]
                        ↑
                    Context Window 只能看到這裡之後的內容
                    （前面的內容已超出視窗，模型不記得了）
```

### 各大模型的 Context Window

| 模型 | Context Window |
|------|---------------|
| GPT-4o | 128K tokens |
| Claude 3.5 Sonnet | 200K tokens |
| Gemini 1.5 Pro | 1M tokens |
| Llama 3.1 70B | 128K tokens |

> 200K tokens ≈ 約 15 萬個中文字 ≈ 一本長篇小說

---

## 三、Context 與 Context Window 的關係

| | Context | Context Window |
|--|---------|----------------|
| **是什麼** | 當次對話的全部內容 | 模型能處理的最大容量 |
| **類比** | 你攤在桌上的所有文件 | 桌子的大小 |
| **影響** | 決定模型「知道什麼」 | 決定模型「能知道多少」 |

當 Context 超過 Context Window 時，系統必須做**截斷或摘要處理**，這是很多「AI 忘記對話前半段」的根本原因。

---

## 四、Context 管理為什麼重要？

### 問題一：超出上限

```
長篇對話 or 大量文件
→ Context 超過 Context Window
→ 早期資訊被丟棄
→ 模型「失憶」
```

### 問題二：稀釋效應

Context 越長，模型對每個部分的「注意力」越分散。即使在 Context Window 內，塞入無關資訊也會降低回應品質。

### 解決策略

1. **RAG（檢索增強生成）**：只把相關片段放入 Context，而非全部文件
2. **對話摘要**：定期將舊對話壓縮成摘要再放入 Context
3. **結構化 Prompt**：把重要資訊放在 Context 的開頭或結尾（模型對這兩處注意力較高）

---

## 五、重點整理

- **Context** = 模型當次能看到的所有資訊（對話歷史 + 文件 + 設定）
- **Context Window** = 模型能處理的 token 上限，超出則「看不到」
- LLM **沒有跨對話記憶**，一切都依賴 Context
- 管理好 Context 是 AI 應用品質的關鍵

---

> 下一篇：[第三篇 — 與模型溝通的語言：Prompt、User Prompt、System Prompt →](https://hackmd.io/@TommyHuang/rygOiTucbg)
