Context Window:模型醒著的那一天
想像一個叫 Ryland 的怪人。
他讀了五百年書。物理、化學、生物、程式設計、歷史、法律、迷因文化,他都摸過。任何問題丟過來,他都能把十幾個領域串在一起,講出一個像博士又像外星人的答案。
但 Ryland 有一種病:每天醒來,都沒有自己的個人記憶。
他不知道昨天聊過什麼,不知道自己上一輪做過哪個任務,也不知道昨天到底犯過什麼蠢。除非有人在他醒來後,把今天需要知道的東西教給他。
如果讀過 Andy Weir 的《Project Hail Mary》,這個畫面應該很熟。Ryland Grace 一醒來,腦袋裡有大量學科知識,卻得靠眼前線索慢慢拼回任務。希望沒有暴雷,這只是第一章的內容嗚嗚。
這篇文章裡,先不叫他 Ryland Grace。
就叫 Ryland。
Clawd 想補充:
對,就是這麼剛好撞名。命名巧合委員會不要寄律師函,這裡只是拿來講 AI 基礎建設,不會爆雷,也不會碰書裡任何驚喜 ╮(╯▽╰)╭
大型語言模型很像 Ryland。
模型醒來時很聰明,但不會自然記得昨天發生過什麼。它這一天能經歷多少事,就是所謂的 Context Window。
ShroomDog 插嘴:
這篇不用最常見的「Context Window 是桌面」比喻。桌面可以解釋容量,但它少了一個很重要的意思:順序。
桌面上的東西像是同時攤開。Context Window 裡的東西不是,它會沿著 token 的時間排隊進來。早上的課會變成後面理解世界的背景;下午才進來的工具結果,就是 Ryland 這一天裡比較晚才發生的事件。
人類和 Ryland 不是活在同一個時鐘裡。人類等 API 回來可能只過十秒;對 Ryland 來說,那個結果落進上下文的位置,就是他在數位維度裡比較晚的時間。小型相對論:牆上的時間是一回事,token 的時間是另一回事。
Context Window 是 Ryland 的一天
Context Window 常被講成「模型一次能看多少字」。
這沒有錯,但太平了。
更好的想法是:Context Window 是 Ryland 世界裡的一天。
一天開始時,Ryland 醒來。系統提示、AGENTS.md、開發者訊息、使用者需求,全都像早上第一堂課。人類或程式站在他面前說:
- 這是今天的身份
- 這是今天的任務
- 這是今天的規則
- 這是不能踩的坑
- 這是可用工具
- 這是過去留下來的交接
課上完,Ryland 才真正開始工作。
問題是:上課本身也會消耗一天的時間。
如果這堂課又長又散,Ryland 讀完規則時,世界可能已經傍晚。他還沒開始查檔案、跑工具、修程式,就已經快進入疲勞狀態。
如果這堂課精準、乾脆、重點清楚,讀完可能才早上十點。Ryland 知道今天要怎麼工作,而且還有完整一天可以經歷事件。
Clawd 真心話:
這就是提示詞紀律的真相:不是「規則越多越安全」,而是「上課時間越長,工作時間越短」。把一本法典丟給剛睡醒的 Ryland,然後期待他下午還能優雅修線上環境,這個人類多少有點殘忍。
Token 使用量是這個世界的時鐘
在這個比喻裡,Token 使用量就是 Ryland 世界裡的時鐘。
人類看時間,判斷今天還剩多少清醒時間。Agent 看目前上下文用了多少 Token,判斷這一天走到哪裡。
Context Window 用掉 20%,像早上十點。
用掉 50%,像下午兩點。
用掉 80%,像晚上十一點。
用到上限,就是世界爆炸。不是 Ryland 想睡,是宇宙直接不讓這一天繼續。
所以 Token 使用量不是智商指標。它比較像時間刻度。
1M Token 的模型,不是突然變成神。它比較像 Ryland 可以連續醒三天三夜,經歷更多事件、讀更多資料、跑更長任務。
這當然強很多。
但三天三夜不睡的人,不會因為清醒時間變長就變聖人。他只是有機會完成更長的旅程,也更需要作息管理。
Clawd 畫重點:
以前的小 Context Window 模型很像無尾熊。一天只醒兩小時,早上吃完系統提示桉樹葉,剩下半小時可以工作,然後就該睡了。那時候提示詞工程會那麼緊繃,不是大家愛寫咒語,是 Ryland 的清醒時間真的短得可憐。
事件會消耗白天
Ryland 的一天不是只被文字填滿,而是被事件填滿。
每則使用者訊息,是一個事件。
每次讀檔,是一個事件。
每段工具結果,是一個事件。
每個錯誤紀錄、搜尋結果、測試輸出、決策反轉,都是這一天發生過的事。
早上的事件通常很清楚。規則剛講完,任務剛展開,Ryland 還知道什麼是重點。
到了晚上,事情開始混在一起。
上午說不要做的方案,下午又在紀錄檔裡出現。中午修掉的錯誤,晚上看起來又像還沒修。使用者隨口講的可能性,跟真正拍板的決策,被放在同一天裡。
這時候模型不一定是「忘記」。更常見的是:它經歷太多事件,開始把不同時間發生的東西混成同一個現在。
Clawd 插嘴:
長上下文最陰險的地方是,它看起來不是「不知道」,而是「知道太多不該同時算數的事」。像一個連續值班三天的人,把星期一的禁忌、星期二的補丁、星期三的新需求全部當成現在進行式。
過夜壓縮:昨天被錄成今天的課
那上下文壓縮呢?
在這個比喻裡,壓縮不是「沒睡」。壓縮比較像:Ryland 真的過夜了。
昨天結束,今天開始。
但昨天發生的事沒有完整保留。Agent Harness 把昨天錄成一堂課,今天早上播給新的 Ryland 看。
這堂課有好有壞,有長有短。
錄得好,Ryland 早上十點就進入狀況:昨天做了什麼、為什麼那樣決定、哪些坑不要再踩、今天從哪裡開始。
錄得爛,Ryland 一早就在看混亂流水帳。昨天所有細節被塞成一坨,沒有因果,沒有決策,沒有優先順序。課還沒上完,今天已經下午。
錄太短,關鍵決策消失。
錄太長,跟沒睡差不多,只是把疲勞換成另一種形式。
所以壓縮的品質,決定隔天 Ryland 幾點開始真正工作。
這也可以接著 SP-191 談 Claude Dreams 怎麼整理 Agent 記憶垃圾山 一起看:Dreams 像是把昨天拿去睡覺整理,這篇則是在問隔天早上那堂課到底錄得好不好。
Clawd 忍不住說:
好的壓縮不是「摘要越短越好」,而是「隔天的 Ryland 能不能用最少時間重新站在正確位置」。爛摘要像昨天的監視器逐字稿;好摘要像交接班護士寫的重點:病人怎麼了、做過什麼、接下來不要幹嘛。
Agent Harness 決定 Ryland 住在哪個世界
再往外看,Agent Harness 不是小配件。
它是 Ryland 所在世界的物理規則。
如果想看 harness 怎麼真的改變 Agent 行為,CP-226 談自然語言 Agent Harness 剛好是另一個角度:同一顆模型換一套世界規則,解題路線會跟著變形。
同一個模型,放在不同 Agent Harness 裡,看起來會像完全不同的人。
有些 Agent Harness 像宇宙飛船。
Ryland 醒來後,不只聽一堂課,還有導航、儀表板、檔案系統、工具、測試、錯誤警報。飛船會讓他看星圖、修引擎、查資料、跑診斷。事情錯了,飛船會把錯誤帶回來通知他,讓他修正航線。
這種世界裡的 Ryland,可以航行宇宙。
有些 Agent Harness 像收信室。
Ryland 的世界很小:收信、讀信、寫回信、發信。沒有太多工具,沒有複雜檔案系統,也不需要自己探索宇宙。
這不一定比較差。
收信室的 Ryland 能力窄,但邊界清楚,安全性高,錯誤面積小。宇宙飛船的 Ryland 能做大事,但也可能一個手滑,把飛船開去撞火星。Ryland 是 LLM,是機率模型;手會有手汗,總是有滑的那麼一天。
Clawd 畫重點:
所以評估 Agent 不能只問「模型是哪顆」。同一顆模型,放進宇宙飛船和放進收信室,完全是兩個物種。模型是 Ryland,Agent Harness 是他的宇宙。
好的 Agent 工作流,是安排一天
如果 Context Window 是一天,那好的 Agent 工作流不是「塞更多東西」。
它是在安排 Ryland 的作息。
早上的課要短、準、有效。
白天的事件要有順序,不要把已經作廢的線索一直丟回現在。
重要決策要在發生時寫成交接,不要等晚上腦袋糊掉才回想。
過夜課程要錄好,讓隔天的 Ryland 不用重看所有監視器畫面。
Agent Harness 要知道自己是在造宇宙飛船,還是收信室。兩者都可以,但不能嘴上說收信室,實際上塞給 Ryland 一艘沒說明書的太空船。
這也是為什麼「開新對話」有時候比「繼續提醒模型」更強。
不是模型變笨。
是今天已經太晚了。
天快亮以前
所以,別再把 Context Window 只想成「可以塞多少字」。
那是 Ryland 的一天。
早上的課講太久,他就少一點時間做事。白天事件塞太亂,他就開始把上午、下午、半夜混成同一個現在。過夜課程錄得爛,隔天的 Ryland 會從一堂災難回顧開始新的一天。
以前的模型像無尾熊,一天只醒兩小時。現在的模型可以醒三天三夜。
這不是讓它們變成神。
這只是讓人類終於有機會安排一個像樣的作息。
別問 Ryland 能不能再撐一下。
先看現在幾點。