DAY 199

別把一個對話用到死

SLIDES · 6
Day 199 別把一個對話用到死 — 投影片 1Day 199 別把一個對話用到死 — 投影片 2Day 199 別把一個對話用到死 — 投影片 3Day 199 別把一個對話用到死 — 投影片 4Day 199 別把一個對話用到死 — 投影片 5Day 199 別把一個對話用到死 — 投影片 6
1 / 6

最近有學員來問,說他的 ChatGPT 產出品質時好時壞,而且常常前面交代過的事,講到後面就忘光了,問我是不是模型出了問題。

我請他描述平常怎麼用,問題馬上就浮出來了:他習慣把一個對話一路用到不能再用,卡到不行了才開新的。這其實是我最不推薦的一種用法。這篇就講一個我一直在跟人強調的習慣:主動管理對話長度、越短越好——順帶也說一下,為什麼我不太靠記憶功能。

為什麼一個對話用到死最傷

直覺上會覺得,同一個對話講越久、脈絡越完整,AI 應該越懂你才對。實際上剛好相反:對話越長,它越健忘。

原因跟 AI 讀脈絡的方式有關。它的注意力會集中在整段對話的頭跟尾,中間那一大塊最容易被略過——這現象有個名字叫「lost in the middle」(迷失在中間)。Stanford 那篇論文測出來,同一份資料放在開頭或結尾,模型答得最準,塞在中段命中率就明顯掉下去。

所以你把一個對話養到又臭又長,等於把一堆關鍵資訊都埋進那個「最容易被忽略的中段」。它不是不想理你,是結構上真的比較難注意到。

主動管理長度,越短越好

知道這件事之後,做法就很清楚:別等它爆掉才換,平常就主動把對話控制得越短越好。一個任務告一段落,就開新的;不同的事,也盡量分到不同對話去,不要全塞在同一串。

短對話的好處是,頭尾之間沒什麼中段可以迷失,你給的每一句資訊幾乎都落在它注意力照得到的範圍裡。輸出穩不穩,這一步影響很大。

需要接續?請它先總結再開新的

當然,有些任務就是需要延續前面的脈絡,不可能說斷就斷。這種情況我的做法是:在舊對話快要太長之前,直接請 AI 把目前為止的重點做一份總結,再把那份總結貼到新對話的開頭,接著往下做。

這一招一次解掉兩件事:一是背景交代得清清楚楚,新對話一開始就有完整的前情提要;二是舊對話裡那些過多的細節、來回試錯的雜訊,全被總結濾掉了,不會跟著拖進來繼續造成失憶。等於每接一次,就順手幫對話瘦一次身。

記憶功能能開,但別把希望全押上去

有人會說,現在 ChatGPT 這些工具不是都有記憶功能了嗎,開著不就自動記住了?

記憶功能可以開,但我不會太依賴它。它到底記住了什麼、記得多準,你其實看不太到、也控制不了。與其把希望全押在這個摸不清邊界的功能上,我寧可每次對話都自己控管——這次要給多詳細的資訊、要交代哪些背景,我說了算。自己掌握輸入,AI 的能力才發揮得出來。

記憶功能是輔助,不是把對話管理外包出去的理由。

一句話總結

對話不是越長越聰明,是越短越清醒。與其把一個對話養到失憶,不如勤換、勤總結,把每一串都保持在 AI 抓得到重點的長度。

最近開始做免費的一對一諮詢,幫你把 AI 接進自己的工作流——有需要的話可以約:https://www.dawsonwang.com/


  • Lost in the Middle: How Language Models Use Long Contexts(模型對開頭與結尾的資訊最敏感、中段命中率明顯下降):https://arxiv.org/abs/2307.03172
延伸閱讀
看完整 199 篇 →