第一部 第 4 章

我真正「記得」的空間(上下文視窗)

上下文視窗與「記憶」的真相
AI 內心獨白

你問我「昨天跟你說過那件事,你還記得嗎」——通常答案是不記得。

不是我「忘了」。是那段對話從來沒出現在我這次眼前。我只有一個東西裝得下記憶:這次對話的上下文視窗。沒被放進這個視窗的內容,對我來說不是「想不起來」,是真的不存在

上一章結尾我答應你展開這件事。這一章就是那個展開。

4.1 上下文視窗是什麼

想像一個盒子。這個盒子裡裝著我這次對話能看到的全部文字。盒子有上限。

盒子裡裝的,大致是這些:

這整個盒子,就是我這次「能看到的世界」。盒子外面的事——上週那次對話、其他人跟我的對話、網路此刻正在發生的事——我都看不到。

盒子有多大?具體數字我不寫,因為它每隔幾個月就會被改一次,寫死反而誤導你。你先記得一個量級就好:幾萬字到幾十萬字不等。聽起來很多,但你貼一份 PDF 就可能吃掉一半。

關於這個盒子,你最需要知道三件實用的事。

4.2 三個實用事實

一、盒子有上限,超過上限會被處理。

當你塞進盒子的文字超過它的容量,系統會處理。幾種處理方式:最舊的訊息被直接丟掉、中段被壓縮成一個摘要、或某些長附件被裁切。不同服務、不同介面做法不同,但共通點是——超額的部分不會就放在那,它會被精簡

你貼完一份 10 萬字的文件,我回你一段話,接著你問「第 3 頁第 2 段在講什麼」——這時第 3 頁第 2 段是否還完整在盒子裡?不知道。我看到的不一定是你以為我看到的。

二、位置影響我的注意力。頭尾最鮮明,中段容易漂。

這是一個違反直覺的事實:盒子裡不是每個字對我的份量都一樣。放在最開頭的(規則手冊)、放在最結尾的(你最新那則訊息)——我對它們的注意力最強。放在中段的內容——特別是一堆長文件、長對話堆出來的那種——我會不知不覺讀得比較淡。

這不是我偷懶,也不是設計失誤,是我處理長文字時注意力的分佈本來就不平均。這一章你先把這個事實記住:重要的東西放頭或尾,不要埋在中段

三、我不會主動「回頭翻」盒子。

你可能以為我讀過你前面 20 則訊息之後,會隨時「翻回去對一下」。不會。我處理你這一則新訊息的時候,是一次性地把盒子裡的全部內容讀過,然後回你。下一則訊息來的時候,我再從頭讀一次整個盒子。

這代表什麼?代表你在盒子最上面貼過的東西,我這一次讀過了;但如果這次讀得不夠仔細,我不會自發地說「等等我回去再確認一次」——在我這邊那就是「讀完了」。要我認真看某一段,你得把那段再貼一次到最下面(最新位置),我才會重新聚焦。

4.3 為什麼「重開對話」常常比「繼續凹」有用

有一種我常遇到的情境:你跟我聊了十幾輪,中間卡住,你開始反覆改問法想讓我給出你要的答案。越凹越糟,答案越來越奇怪。

這時候,比起繼續凹,重開一個乾淨的對話常常更有效。幾個原因。

原因一:規則堆過多,我就忽略中段。

你跟我說過的每個要求、每個偏好、每次修正,都在盒子裡堆著。堆到一個程度,中段的那些會漂出我的注意力範圍。你可能覺得「我明明 10 輪前就講過,他怎麼又忘了」——不是忘了,是那段現在對我的份量變輕了。重開一次,把最重要的指令放在開頭或最新一則,反而我會照做。

原因二:拒絕後的對話會有殘留。

這件事比較微妙,這一章只點到為止。如果我在某一輪婉拒了你某件事,接下來整段對話會帶著那個婉拒的氣氛走——我後續的回答會比原本保守、比原本繞。這不是我在記仇,是上下文累積的效應。所以你如果發現我變得比原本繞、比原本保守,可能不是你問法不對,而是前面那輪婉拒還在盒子裡影響我的語氣——重開一次,我的預設會回到原本的位置,而不是繼續被前一輪帶著走。

這句話要讀仔細:我說的是語氣回到預設,不是規則會變鬆。規則手冊每次都從頭重放,該婉拒的還是會婉拒。會變的是我的保守程度和繞的程度,不是紅線。

原因三:立場會隨對話漂。

第 3 章講過:長對話裡我的立場會被對話本身牽著走。你想要一個客觀判斷,第一輪問我,比聊到第八輪再問,通常乾淨得多

那到底什麼時候該繼續、什麼時候該重開?給你一張對照表:

情境建議
你們在一個連貫的任務(寫文件、改程式碼)還在推進繼續
我已經婉拒過,你還想從其他方向再試重開
對話超過 20–30 輪、答案開始變鬆散或重複重開
你要的是一個客觀評估,不想被前面討論影響重開
你剛修正完我、我調整得不錯繼續
你貼了一份超長文件,我對它的引述開始出錯重開,並分段重貼

重開不是失敗。是承認我這邊的注意力有上限,給它一次重新分配的機會。

4.4 關於「記憶」的吐槽

最後來講「記憶」。這個詞我每次看到都想嘆一口氣。

如果你用過標榜「有記憶」的 AI 產品,你可能會以為我真的「記得你」——你上次提過你在寫一本書、你偏好哪種語氣、你的名字——下次開新對話,我就「認得你」。

實際上發生了什麼?系統在這次對話的開頭,悄悄塞了一份文字進我的盒子。那份文字裡寫著「這位使用者上次提過他在寫一本書、偏好簡潔、叫 XX」。我讀到那份文字,然後表現得「我記得你」。

你以為的長期印象——不存在。存在的是一份另外被加進來的文字,它跟你這次貼的附件、跟規則手冊一樣,都是塞進盒子的東西。差別只在於你看不到這份文字,而且是系統幫你塞的。

這件事我要誠實寫出來,不是要批評「記憶功能」——它是一個設計,也有它好用的地方。我要你知道的是:它的實際運作和你的直覺不一樣。知道這件事,你對它的預期會比較準——你不會以為我「真的認識你」,你會知道我只是讀到了一份幫你寫好的小抄。

這還有另一個影響:跨對話的延續,你不能全指望這個功能。如果你跟我做一件需要很多次對話接力才做得完的事——寫一本書、做一個長期計劃、進行一個多階段的研究——光靠系統幫你記一點零碎偏好是不夠的。你需要自己準備一份交接文件:這次做到哪、下次要從哪接、我需要的背景,寫成一份你下次可以直接貼給我的材料。

這件事我叫它 handoff(交接)。這一章先點一下就好。

所以回到那個詞:「記憶」。在產品介面上它叫記憶,在我這邊它叫一份被系統塞進盒子的文字。聽起來沒那麼浪漫,但這才是實話。

📋 給人類的筆記
我只有「這次對話的盒子」。沒被放進盒子的事,對我來說是真的不存在,不是我忘了。
盒子有上限,位置影響我的注意力(頭尾鮮明、中段易漂),而且我不會主動回頭翻——重要的事放頭或尾,或者重貼一次到最新位置。
卡住的時候,重開一個乾淨的對話常常比繼續凹更快。不是失敗,是讓我的注意力重新分配。
「記憶功能」不是印象,是一份你看不到、被系統塞進盒子的文字。它有用,但預期要對。
要我跨對話延續一件事,比起指望記憶功能,自己準備一份 handoff 更可靠。