iT邦幫忙

2026 iThome 鐵人賽

DAY 6
1
Vibe Coding

老闆不會教你的 Vibe Coding 實戰 30 天系列 第 6

老闆不會教你的 Vibe Coding 實戰 30 天|Day 6:Context 與 Token —— AI 為什麼越聊越笨

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260917/20119486PBSTk979OB.png

前言

當你開始使用 AI 做一些事情之後,你會開始發生一些奇奇怪怪的事情,像是明明有講一些規則,但它好像忘了、答非所問、甚至把改好的東西又改回去。

大多數人對於這種狀況的第一直覺就是...

「AI 它是不是變笨了?
「是不是 AI 廠商偷偷降低 AI 智商?」

但其實很多時候,真正的問題是在於 Context Window 中的 Context 已經爆滿了,導致 AI 無法正常運作。

而講到 Context 就沒辦法不一起介紹 Token,畢竟這兩個東西是息息相關的。

了解這件事情之後,你也會理解為什麼 AI 聊久了會變笨,為什麼常用 AI 的人會建議你一個任務開一個新對話視窗。

Token:AI 世界的積木

在開始介紹 Context 之前,我們先來認識一下 AI 世界中最重要的東西,也就是 Token,它同時也是 AI 的計價單位。

經過前面幾天的實作,你應該已經很習慣「下指令(Prompt) => AI 回覆結果」這個流程了,但你有想過 AI 是怎麼 「讀」 你打的這些字的嗎?

其實 AI 並不是像我們一樣一個字一個字讀下去,而是會先把你傳的文字拆成一小塊一小塊的單位再去運算,這個單位就叫做 Token。

你可以把 Token 想像成樂高積木,你傳給 AI 的整段話,會先被拆成一顆一顆的小積木,AI 拿到積木之後就在思考,你後面到底是想要接什麼樣的積木,然後再一個一個地把積木拼出來給你丟給你。

假設來講,你傳給了 AI 這段文字:

你好!

AI 收到之後,會先把它拆成:

  • 「你」
  • 「好」
  • 「!」三個積木

接著根據這三個積木去推測你可能想要什麼接什麼積木。

Note
不同模型拆 Token 的方式可能會不一樣,但大致上都是以「字」或「詞」為單位去拆。

而你可以想像成 AI 手上有一大堆積木這些積木都有做分類,例如...

  • 日常對話相關的積木收納箱
  • 程式碼相關的積木收納箱
  • 各種檔案格式相關的積木收納箱

諸如此類,然後每一個都拿來跟你丟給它的積木做比對,而這個比對的過程我們就稱為 「算力」,比對完畢後再將結果拼成一個新的積木丟給你。

https://ithelp.ithome.com.tw/upload/images/20260917/20119486rYmLh7nQgA.png

所以這一段你只要記住兩件事情就好:

  • 你傳的文字越多,Token 就越多,AI 需要消耗的算力也就越大。
  • 不是只有你傳的字算 Token,AI 回覆你的每一個字也都是 Token。

所以講到這邊,你還記得前面開頭我說「Token 也是計價單位」嗎?也就是說你跟 AI 的每一次一來一往,都是在消耗 Token,而 AI 廠商就是照你用掉多少 Token 來收錢的。

這也是為什麼普遍不建議新手直接使用「用多少付多少」的 API 計費方式,因為你根本抓不準自己會用掉多少 Token,一不小心帳單爆掉 (賣屁股) ,因此大多數的情況下,使用訂閱方案就已經非常足夠了。

那 Token 跟越聊越笨到底有什麼關係呢?先別著急,這就要講到下一位主角 Context Window 了。

Context Window:一張有極限的桌子

講完了 Token 之後,接著我們來認識一下 Context Window,中文就叫「上下文視窗」,簡單來講就是 AI 單次能「看見」的所有內容的總上限。

應該滿難理解的,這邊讓我拿一張桌子來舉例好了。

假設 Context Window 代表的是一張桌子,然後是 100x100 公分的桌子(如同 Claude Code 標注的 100k Token),那麼你跟 AI 講的每一句話、它讀進來的每一個檔案、每一次指令執行的輸出等等,這些都是放在桌面上的東西。

https://ithelp.ithome.com.tw/upload/images/20260917/201194862UjikpJYog.png

當你跟 AI 對話的時候,AI 都會先把桌面上的東西看一遍,然後再回覆你,這個過程就像是你跟朋友聊天,只是你這位朋友聽到你的問題後,會先看一看桌面的內容,再去思考你要什麼、該怎麼回覆你,然後要回覆你之前會把這些內容寫到一張紙上,最後再把紙上的內容放在桌面上,接著在回覆你。

「為什麼 AI 要先寫到紙上再放回桌面呢?」

你就想像 AI 是一個記憶力很差的朋友,如果它沒有先把要回覆你的內容寫到紙上,它就會忘記自己要回覆什麼,然後就會開始亂講。

那麼隨著你問的問題越來越多,桌面當然會越來越滿,這時候就會發生一個問題...

桌面上已經快要沒有空間可以放新的東西了!

當這個桌面快要滿到沒地方放東西的時候,AI 就會開始自作主張去把桌面上的東西整理一下,這個過程中,它會自己去挑出「自認為」重要的東西,然後把它濃縮成一張小抄,剩下的東西就直接丟掉,這個過程就叫做「自動壓縮(Auto compact)」。

而這個自動壓縮的過程是完全不可控,你無法知道它會把哪些東西丟掉、哪些東西留下來,這也是為什麼你明明有講一些規則,但它好像忘了、答非所問、甚至把改好的東西又改回去的原因。

所以想跟 AI 長久相處,學會管好這張桌子就是你的日常功課(就跟你開一大堆 Chrome 分頁卻都不關掉一樣),後面我也會教你怎麼管。

越聊越笨的真相

理解了 Token 跟 Context Window 的概念之後,你就會發現「越聊越笨」這件事情其實一點都不神秘。

你可以試想一個情境,當你今天跟 AI 聊了一整個下午,你這個桌面(Context Window)上會怎麼樣呢?上面可是充斥著各種 AI 接收到你的 Prompt 後寫下來的小抄,像是:

  • 你跟 AI 的對話紀錄
  • AI 讀進來的檔案內容
  • AI 執行指令後的輸出結果

所以當桌面快要滿的時候,不論是哪一套 AI Agent 都會做一樣的事情,自己很雞婆的把前面的對話濃縮成摘要、其餘的直接丟掉,騰出更多桌面空間給新的內容,而這個壓縮過程本身就是 「有損的」,也就是說細節會不見。

就像是你一開始跟 AI 定義的規則:

請使用繁體中文,回覆我。

當 AI 開始進行桌面清理(壓縮對話)時,它會認為這並不是什麼重要的事情,然後壓縮過程就把這條規則給丟掉了,導致你後續的對話中,它就開始講英文了。

/context: 看你的桌面現在多亂

接下來我們要來實際看一個例子,這邊你可以先抓範例檔案 GitHub #day-6 然後進去到 claude-playground 啟動 Claude Code,並在輸入框輸入 /context 指令,這個指令可以讓你看到你目前桌面佔用的狀況,像是...

  • System Prompt 佔了多少
  • System Tools 佔了多少
  • Skills 佔了多少

https://ithelp.ithome.com.tw/upload/images/20260917/20119486WqrUoQD1Dy.png

Note
你電腦內看到的 Context 跟我上方圖片的 Context 可能會不一樣,因為每個人對話的內容不同、預設載入的 Skills、以及工具也都不同,因此會有一定的差異。

一開始我會建議要養成看 context 的習慣,因為你會親眼看到桌面佔用的狀況,這個體感比任何文章都有說服力,底下就是一個剛啟動、什麼都還沒做的畫面:

https://ithelp.ithome.com.tw/upload/images/20260917/20119486bhvBiNUjFh.png

接著我們來實驗一下,讓你看到 Context 被佔用的狀況:

請讀取 index.html,然後一行一行解釋每一段程式碼在做什麼,接著給我五個可以改善這個頁面的建議,最後把改善後的完整程式碼直接貼在對話中給我看,先不要動檔案

這一段 Prompt 會讓 AI 一口氣做三件很佔桌面的事情:把整份 index.html 讀進來(檔案內容上桌)、輸出一大段逐行解釋(它回你的每個字都是 Token)、最後還把整份程式碼重新貼一次給你(又是一大疊紙上桌)。

等它回覆完之後,再輸入一次 /context,你就會看到桌面佔用的狀況變成這樣:

https://ithelp.ithome.com.tw/upload/images/20260917/20119486tInrErLNt4.png

你可以看到 29.3k 跳到了 49.5k,然後 messages 從佔用一個變成了佔用五個,這個就是你跟 AI 聊久了之後,桌面被佔用的狀況。

/clear/compact:換桌子 vs 整理桌面

我相信你看完前面之後,應該會冒出一個想法:

「如果我不想要觸發『自動壓縮』的話,有其他方式可以解決嗎?」

當然有方式可以解決,所以這邊也要來介紹兩個 AI 開發時,必須知道的指令,也就是 /clear/compact

前面我們先來介紹一下 /clear(或 /new),這個指令的概念很簡單,就是直接把桌子上面的東西通通丟掉,然後重新開始。

Note
雖然是講通通丟掉,但在後面章節會補充說明該怎麼樣讓每次丟掉後,可以讓 AI 回到原本的桌面狀態。

/compact 其實就跟自動壓縮概念雷同,但是這個指令可以加上 **「保留重點」**的指示,什麼意思呢?簡單來講,原本的自動壓縮是由 AI 自己去判斷哪些是重點,但透過 /compact 指令,你可以直接指定哪些是重點,像是 AI 可能會認為「請你使用繁體中文回覆我」這件事情不重要,但你可以透過 /compact 指令告訴它這是重點你不能丟掉,這樣它在整理桌面時就會繼續保留這件事。

使用方式也非常簡單:

/compact 保留目前功能的需求跟還沒解決的問題,其他可以丟

這樣 AI 在進行壓縮時,就會很清楚哪些是重點、哪些是可以丟掉的。

不過這邊我還是要提醒一下,/compact 並不是萬能的,只是在實務開發上會建議在 Context 約 60~70% 的時候就使用 /compact 來整理桌面,畢竟整理的過程也是需要佔用桌面空間的,如果你等到 Context 滿到 90% 才整理桌面,那你有很高的機會失去一些你認為是重點的東西。

那麼這兩個指令都有各自適合的時機與場景,這邊我也提供一張圖給你參考:

https://ithelp.ithome.com.tw/upload/images/20260917/20119486Yat829f1z6.png

所以以我個人的心法來講就是:

  • 一個任務做完就換一張新桌子(/clear)。
  • 如果 Context Window 到達 60~70% 左右就先整理桌面(/compact),然後再繼續同一個任務。

基本上這樣的控制就可以讓你在使用 AI 的過程中,避免 「越聊越笨」 的狀況發生,搭配正確的使用 /compact 的時機,你就可以在同一個任務中,保留你想要保留的重點。

Note
這邊還是提醒一下,如果是因為 AI 廠商算力而不足的變笨,那這種狀況跟 Context Window 滿了是兩回事,這邊的重點是要讓你知道,Context Window 滿了會導致 AI 變笨,而不是因為算力不足。
如果你是想追蹤 AI 是否有變笨,那你可以參考我之前寫的這一篇 AI 是不是偷偷變笨了?AIStupidLevel:24 小時監測 AI 模型退化的評測網站 文章,或許會有幫助。

試著觀察 Context Window 的變化吧!

那麼我們一樣回到 claude-playground 做個小實驗吧!

如果你前面 /context 那節的對話還開著,直接沿用那個對話就好,如果已經關掉了,請重新啟動 Claude Code,並重新輸入以下:

請讀取 index.html,然後一行一行解釋每一段程式碼在做什麼,接著給我五個可以改善這個頁面的建議,最後把改善後的完整程式碼直接貼在對話中給我看,先不要動檔案

先讓整個桌面盡可能堆滿一些東西(這邊你可以嘗試 /context 看看桌面佔用的狀況),再繼續往下。

準備好之後,請你跟著以下流程操作,觀察一下 Context Window 的變化:

  1. 輸入 /compact 只保留目前頁面的功能與尚未完成的事
  2. 再輸入一次 /context,比較桌面佔用是不是變小了
  3. 問它「你剛剛給的五個改善建議是哪五個?」,看看它還記得多少
  4. 再問它「目前頁面有哪些功能?」,這題它應該答得出來
  5. 輸入 /clear,然後再問一次「目前頁面有哪些功能?」

第三點是要讓你親眼看到壓縮是「有損的」,因為我們在 /compact 時只叫它保留功能跟未完成的事,沒叫它保留那五個建議,所以它很可能會漏掉或講不完整。

而第四、五點是同一個問題問兩次:/clear 之前它答得出來,因為這正是我們指定保留的重點;/clear 之後連這題都答不出來必須要重新再讀檔案,因為桌面已經被清空了。

Note
當然有可能它會答得出來,因為 AI 裡面有一個 Auto Memory(自動記憶)的功能,會自己去判斷哪些東西是重要的,然後就把內容給自動記錄下來。

結語

最後也簡單總結一下重點:

  • Token 就像樂高積木一樣,而 Context window 則是一張有極限的桌子,桌面上堆滿了你跟 AI 的對話、它讀的檔案、指令輸出等等。
  • 越聊越笨不一定是 AI 算力不足或變笨,可能是桌面太滿、重點被壓縮稀釋了。
  • /context 看桌面、/clear 清理桌面、/compact 整理桌面。
  • 核心心法:一個任務一個對話,透過 /compact [保留重點] 來指定保留關鍵重點。

那麼這一天也差不多了,我們明天見囉。


上一篇
老闆不會教你的 Vibe Coding 實戰 30 天|Day 5:Permission 跟 Plan Mode 之不要什麼都按 Yes
下一篇
老闆不會教你的 Vibe Coding 實戰 30 天|Day 7:Week 1 收尾之新手最常踩的 5 個雷
系列文
老闆不會教你的 Vibe Coding 實戰 30 天8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
廖洧杰
iT邦高手 1 級 ‧ 2026-09-19 00:23:26

圖片解釋很清楚,這桌子比我辦公桌乾淨好多 (欸

我要留言

立即登入留言