~/blog/llm-101-context-window

LLM 101 · part 5

[LLM 101] Context Window — AI 一次能讀多少字?

cat --toc

TL;DR

Context window 就是 AI 的書桌大小,決定它一次能看多少文字。2026 年的主流雲端模型(GPT-5.4、Claude 4.6、Gemini 2.5 Pro)書桌都到 75-78 萬字,Meta 的 Llama 4 Scout 甚至到 750 萬字。書桌放滿之後,最早的訊息會直接被推下去,AI 就看不到了。不是忘記,是看不到。對策:對話太長就開新的、大任務拆小的、重要資訊貼在最前面。

白話版:為什麼 AI 聊到一半就失憶

你一定遇過這種事:跟 ChatGPT 或 Claude 聊了三十幾則訊息之後,它突然給你一個回答,跟你們十則訊息前講好的完全矛盾。或者它問你一個你早就回答過的問題。感覺像 AI 得了短期失憶症。

某種程度上,還真是。但不是它壞了,是它的書桌滿了

這篇文章解釋那張書桌是什麼、有多大、什麼東西會佔位子、以及怎麼在書桌溢出來的時候繼續有效率地工作。


前言

想像你在一張書桌前工作。桌上有一疊資料 — 你的筆記、老闆的信、報表、參考文件。桌子夠大的時候,你隨時能翻到任何一頁。但桌子就是這麼大。滿了之後,你只能把最底下那疊推到地上,才放得下新的。

被推到地上的那些資料,你的閱讀能力沒有變差。如果有人撿起來放回桌上,你一樣看得懂。問題很單純:不在桌上的東西,你就是看不到。

AI 的 context window 就是這麼回事。

上一篇我們聊了量化 — 怎麼把 AI 模型壓縮到你的電腦能跑。這篇要講另一種「容量限制」:模型在思考的時候,一次最多能看多少文字。


Context window 是什麼?

你每次丟訊息給 AI,它不是只看你最新的那句話。它會從頭到尾重讀整段對話 — 你的第一則訊息、它的第一個回答、你的第二則訊息、它的第二個回答,一路讀到你剛剛打的那句。然後才開始回覆。

Context window 就是「它一次最多能重讀多少」的上限。書桌上能放多少頁紙,它就只能看多少。

但 AI 不是用「字數」來算的。它用的是 token

小岔路:什麼是 token?

Token 是 AI 拆解文字的方式。不完全等於一個字,也不完全等於一個詞,介於中間。

幾個簡單的換算原則:

  • 英文:1 個 token 大約是 3/4 個字。"The cat sat on the mat" 大約 6 個 token。
  • 中文:1 個 token 大約是半個到一個字,看模型而定。「你好嗎」大概 2-3 個 token。
  • 程式碼:括號、縮排、關鍵字都要算。一個簡短的 Python 函式大概 50-100 個 token。
  • 空格和標點也算。

所以「128K context window」的意思是:模型一次能裝 128,000 個 token,大約 9.6 萬個英文字,差不多一本 300 頁的書。

後面為了好讀,我會混用「字」跟「token」,但實際計算的單位是 token。


各家的書桌有多大?

以下是 2026 年初各主要模型的 context window 大小:

模型Context window大約多少字備註
Llama 4 Scout(Meta)10M token約 750 萬字可在地端跑,需 128GB+ RAM
GPT-5.4(OpenAI)1.05M token約 78 萬字雲端,超過 272K 加價
Claude Opus/Sonnet 4.6(Anthropic)1M token約 75 萬字雲端,全段不加價
Llama 4 Maverick(Meta)1M token約 75 萬字可在地端跑
Gemini 2.5 Pro(Google)1M token約 75 萬字雲端
Qwen3.5-122B(阿里巴巴)262K token約 19.6 萬字可在地端跑,可擴至 1M
GPT-4o(OpenAI)128K token約 9.6 萬字上一代,仍可使用
Qwen3 14B(Ollama 地端)32K-128K token約 2.4-9.6 萬字看記憶體多寡
較小的地端模型(7B-8B)8K-32K token約 0.6-2.4 萬字最省記憶體

幾件事值得注意:

  1. 雲端模型的書桌已經到 1M 起跳了。 在自己電腦上跑通常 32K-262K。Llama 4 Scout 是例外 — 10M,但要 128GB 以上的記憶體才撐得住。
  2. 數字一直在長。 兩年前 4K 是主流,現在主流雲端模型的起步就是 128K。
  3. 大不一定好。 原因等一下會講。

書桌上都被什麼佔了?

這是很多人低估的部分。你的書桌空間不只放你的訊息,而是放所有東西

  1. 你的訊息 — 這段對話裡你問過的每一句話
  2. AI 的回覆 — AI 給你的每一段回答(這些通常比你的訊息長很多!)
  3. 系統指令 — 你看不到,但你用的 app 會在背後塞一段「你要怎麼表現」的指示給 AI。這段文字永遠佔在書桌上。簡單的聊天機器人可能只要幾百個 token,複雜的助手可能要好幾千個。
  4. 上傳的檔案 — 你丟進去的文件、PDF、程式碼,整份都會攤在書桌上。
  5. 工具輸出 — 如果 AI 幫你搜網路或跑程式碼,結果也會放上來。

舉個例子,一段普通對話的書桌用量:

內容Token 數
系統指令約 2,000
你的 5 則訊息約 1,500
AI 的 5 則回覆約 4,000
你上傳的文件約 8,000
書桌上的總量約 15,500

如果你的 window 是 128K,這完全沒問題。但如果你來回聊了 50 則,AI 每次又回了很長的內容,輕輕鬆鬆就燒掉 6-8 萬個 token。上傳了長文件的話,更快。


書桌滿了會怎樣?

不同的 AI 服務處理方式不同,但最常見的策略很暴力:最早的訊息直接推下去。

你不會收到任何警告。AI 就是看不到你早期的訊息了。如果你在第 3 則訊息裡跟它約定了一組規則,現在已經聊到第 40 則,那組規則可能早就不在書桌上了。AI 不是故意不聽話 — 它是真的看不到。

有些服務比較聰明(會把舊訊息先摘要再丟掉,或讓你「釘選」重要的內容),但根本限制不變:書桌就是這麼大。


「中間地帶」的注意力問題

有一件反直覺的事:就算所有東西都還在書桌上,AI 對每一段的注意力並不相同。

史丹佛和 UC Berkeley 的研究者發現,AI 模型對放在最前面最後面的資訊處理得最好,放在中間的資訊容易被忽略。他們把這叫做 「迷失在中間」問題

回到書桌的比喻:你翻資料的時候,自然會對最上面那頁(最新的)和最先讀的那頁(開頭的)印象最深。夾在中間的那幾十頁,注意力就是比較弱。

這對你的實際使用有影響:

  • 重要指示放最前面。 如果你要求 AI「永遠用條列式回答」,寫在第一句,不要埋在三段文字後面。
  • 在最後面再提醒一次。 如果你在對話前期設定了很關鍵的東西,在你最新的訊息裡再提一次。
  • 書桌越大不代表回答越好。 把一份 200 頁的文件整份丟進去,然後問第 97 頁的問題,效果可能還不如只貼相關的那幾頁。太多雜訊反而會讓重要的東西被淹沒。

地端模型:書桌比較小

如果你用 Ollama 在自己的電腦上跑 AI(第一篇有介紹),context window 通常比較小,而且有實實在在的記憶體成本。

為什麼? Context window 需要額外的工作記憶體(RAM 或顯卡記憶體),模型本身的權重之外還要多佔一塊。這塊記憶體會隨著 context 長度等比例增長。context window 放大一倍,工作記憶體就多一倍。

拿一個 14B 模型的 Q4_K_M 版本為例(模型本身約 9 GB):

Context 長度額外記憶體總共需要
8K token約 0.5 GB約 9.5 GB
32K token約 2 GB約 11 GB
128K token約 8 GB約 17 GB

128K 那邊多出來的 8 GB,就是為什麼很多地端設定預設用比較短的 context。如果你的電腦只有 16 GB RAM,模型吃掉 9 GB,剩下 7 GB 夠跑 32K 但跑不動 128K。

這是跑地端模型的真實取捨。雲端服務幫你吸收了這個成本,這也是它們能提供超大 context window 的原因之一。


實用對策:怎麼跟書桌限制共處

1. 對話太長就開新的。

最簡單也最有效。如果你聊了 30 則以上,AI 開始搞不清楚狀況,直接開一個新對話。把舊對話裡的重要結論和關鍵資訊複製到新對話的第一則訊息裡就好。

2. 重要的東西放最前面。

你的需求、限制條件、關鍵決定 — 全部寫在對話的最開頭。這樣一方面利用了「開頭注意力最強」的特性,另一方面也確保它是最後一個被推下書桌的東西。

3. 大任務拆成小任務。

不要一口氣說「幫我寫一份 2026 年的完整行銷策略」。拆開來:

  • 對話 1:「分析我們的競爭對手」(貼上競品資料)
  • 對話 2:「寫一份定位聲明」(貼上對話 1 的分析結果)
  • 對話 3:「做一份季度行動計畫」(貼上定位聲明)

每個對話有乾淨的書桌,上面只放那個任務需要的東西。

4. 重要的規則要重複提醒。

如果你在 20 則訊息前設了一個規則(「用美式英文,不要英式英文」),AI 開始偏掉的時候,不要只糾正它,把整條規則重新講一遍。原本那條規則可能已經不在書桌上了。

5. 注意什麼東西在吃你的書桌空間。

AI 的長回覆很吃空間。如果你不需要詳細解釋,叫它簡短回答。如果你上傳了很大的文件,考慮只貼相關的段落,不要整份丟進去。


常見誤解

「AI 有像人一樣的記憶。」 沒有。AI 每次回答都是從頭重讀整段對話。訊息之間沒有持久記憶(有些 app 會在上層加記憶功能,但模型本身每次都是從書桌上的內容重新開始)。

「context window 越大,AI 越聰明。」 不是。context window 的大小跟智力是兩回事。一個 2M token 的模型不會比 128K 的「聰明」— 它只是一次能看更多文字。而且前面講過,看得多不代表每段都看得仔細。

「AI 自相矛盾就是在唬爛。」 通常不是。長對話中最常見的矛盾原因是:它跟自己矛盾的那個上下文已經掉下書桌了。它在回答它還看得到的部分,只是看不到它正在矛盾的那段。

「應該永遠選 context window 最大的模型。」 不一定。更大的 window 更花錢(雲端按 token 收費)或更吃記憶體(地端跑)。如果你的任務 32K token 就夠了,用 1M 的模型不會更好,只會更貴。


一句話總結

Context window 就是 AI 的書桌:放不下的東西會掉下去,AI 就看不到了。對話太長就開新的、重要東西放最前面、大任務拆小的。

下一篇我們會聊 AI 到底怎麼「寫出」回答的 — 當它一個字一個字產生文字的時候,背後在發生什麼事。

這是「LLM 101」系列的第五篇。上一篇:什麼是量化?Q4、Q8、FP16 到底差在哪


延伸閱讀:

常見問題

AI 的 context window 是什麼?
Context window 就是 AI 一次能看到的文字量上限。你可以想成 AI 的書桌大小。2026 年主流雲端模型(GPT-5.4、Claude 4.6、Gemini 2.5 Pro)都有 75-78 萬字的書桌。Llama 4 Scout 最大到 750 萬字(但需要 128GB 以上記憶體)。書桌放滿之後,最早的對話內容會被推下去,AI 就看不到了。
為什麼 AI 聊久了會忘記前面說的話?
AI 沒有像人一樣的長期記憶。它每次回答都會從頭重讀整段對話。當對話長度超過 context window 的上限,最早的訊息就會被丟掉。AI 不是忘記了,而是那些訊息已經不在書桌上,它根本看不到。
什麼是 token?跟 context window 有什麼關係?
Token 是 AI 拆解文字的單位。一個 token 大約是 3/4 個英文字、或大約半個中文字。128K context window 代表 AI 一次最多能看約 9.6 萬個英文字,大約是一本 300 頁的書。你的訊息和 AI 的回覆都會佔用這個額度。
對話太長怎麼辦?
最簡單的方法是開一個新對話。把重要的結論和關鍵資訊複製到新對話的第一則訊息裡。也可以把大任務拆成幾個小任務,每個任務一個對話。另外,重要的指示放在最前面或最後面,AI 對中間段落的注意力比較弱。