上下文窗口 · N² 演示
AI 的记忆是个固定大小的窗口,不是慢慢变淡,是装满了就一刀切挤掉最旧的。往里加消息,看最旧的怎么被 FIFO 挤出去;再拖序列长度 N,看注意力的计算量怎么按 N² 平方爆炸——这就是窗口不能开到无限大的原罪。
纯前端模拟,算的是真实的
FIFO
挤出和
N × N
公式,零 API、零延迟。
① 上下文窗口 · FIFO 挤出
聊得越多,最旧的越先被挤掉窗口上限(演示用)100 tok
真实模型窗口几十万~百万 token。这里缩小到几十~三百,方便眼看挤出怎么发生。
窗口占用33 / 100 tok
帮我写个 Python 函数,列表去重
14 tok
最简单:list(set(lst))
10 tok
要保留原来的顺序
9 tok
② 注意力计算量 · N²
序列翻 10 倍,计算量翻 100 倍序列长度 N316 tok
N × N = 注意力点积次数
10 万
99,856 次
100
1 万
1,000
100 万
1 万
1 亿
10 万
100 亿
100 万
1 万亿
每跳一档(序列 ×10),计算量跳两档(×100)——这就是窗口不能无限大的原罪。记得越多,越烧钱。