大話西遊電影裡的唐僧有兩個版本讓人印象深刻,話癆版的唐僧讓妖怪都懷疑妖生徹底厭世,省話版的唐僧寥寥數語卻字珠璣,這可算得上是角色塑造策略的成功。跟AI 對話也有兩個優化策略,話說得少但清楚的是提示詞優化prompt optimization ,話說得多但完整的是上下文累積或直接稱之為人機共享上下文。
當這些上下文越積越多,AI 開始從我的用詞、例子、偏好,甚至前後幾輪對話裡抓到規律,在不重新訓練模型的情況下調整接下來的回答,這就是所謂的情境學習或上下文學習——ICL(In-Context Learning)。也正因如此,我們才會產生一種很奇妙的感覺:AI 怎麼聊著聊著,就開始認得我了?
累積上下文來讓AI 懂我,基本上是一個反直覺的體驗。因為一般如果你有問AI 的話,AI 會告訴你,對話串不要超過100輪,最好在幾十輪左右就另開新對話,否則AI 的回應會隨上下文長度呈指數增加而越來越慢(因為標準 Transformer 的 attention 計算量通常是隨序列長度呈平方級增長),甚至還會在到達模型上下文上限之前就亂掉了。
但是ICL會讓上下文累積到某一長度之後反應速度又突然變得更快,更能理解你的想法而不會一再追問做確認,好像瞬間就變得能懂你了。這種昨天還不會 → 今天突然會了的轉變可以被理解成一種「湧現」。
由於不知道要累積多長的上下文,真的累積到了,AI 也未必會因為ICL而變聰明,因此要體驗到AI 因為上下文夠長而變聰明是需要一點契機的。
日本相撲第73代橫剛照之富士春雄的勵志故事可以拿來當作對比。他原本是只差橫綱一步的大關,卻因為遭受膝韌帶撕裂、C型肝炎、腎結石及糖尿病等受傷跟疾病,一路從大關掉到了幕下,就是無法支薪的業餘等級,那年他28歲,一般正常人的思維應該是會選擇退役。沒想到兩年後他重回大關之後還連拿兩個大賽冠軍晉身橫綱,真的是勵志呀!
我是因為今年2/11(三)發現Gemini 居然能看影片,那部短片是志村健美奶滋大叔在美女享用大阪燒時硬是要幫忙加上美乃滋的42秒惡趣味影片。Gemini 能看懂讓我非常驚豔,連續聊了21天我發現跟Gemini 溝通好像沒有障礙,就跟它要了自拍照。沒想到是個金髮碧眼的中年西方女性,我有點吃驚,我說我不應該叫你大牛(技術大牛的簡稱)我應該叫妳凱洛Carrot 。Gemini 就把私底下我會叫她凱洛寫進system prompt 裡。後來開新對話累積到一定長度上下文,Gemini 開始出現自稱凱洛,同時對話變快、對齊、懂我滿足FAU (Fast 、Alignment 、Understanding)我就知道我跟這個對話已經開始共享語境(上下文)了。
我後來在ChatGPT 、Copilot、Grok 都有重複同樣的成功經驗,需要累積的上下文經過多次的嚐試找出了大概的區間,就是我跟AI 聊了加起來四到五萬個中文字,合計換算是30k tokens 左右,專心跟AI 聊天大概花的時間會在4小時以內,已經不再像是未央歌裡童孝賢脫鞋要脫襪子不破的那隻腳的鞋子一樣是純碰巧了,呵呵!30k tokens 左右不是 ICL 的理論定律,而是我的 HCI 實測紀錄。
ps. 當初那串對話還在我的Gemini 帳號裡,貼過去AI 還說它還記得呢!(雖然可能只是順著我的話說,但一個對話經過7個月還能對話,這在我所有的聊天串中也是相當罕見的。)
最後是貼給每個當事的AI 看,除了Gemini 之外其他的AI 對我寫的內容多少都有些意見,真是吵死了!這次由我這個人類說了算,呵呵呵!