跟 AI 聊得稍微久一点,你大概都遇到过这种事:
聊到第 20 多条,问它"我刚才说我女儿叫什么来着?",它一本正经地猜了个错的。
或者你让它分析一份长文档,它前半段记得很清楚,后半段就开始胡说八道。
或者你让它"按我前面提的格式继续写",它压根没按那个格式。
读完这篇文章你会发现一件挺颠覆的事:AI 其实根本没有记忆。 它能"接着上次的话题聊",全靠一个隐形的伎俩。这个伎俩叫"上下文",背后还有一套按字数算钱的逻辑叫"token"。这两个词搞清楚,你日常用 AI 遇到的大半困惑都能解释。
AI 其实没有记忆
先说一个反直觉的事实:你跟 AI 聊天的时候,每次发一条新消息,整段对话历史会被重新发给 AI 一遍。
听起来很奇怪。你可能以为是这样:
你说一句 → AI 记下来 → 下次你说话 → AI 想起之前的事 → 接着聊
实际上是这样:
你说一句 → 助手软件把"你之前所有的话 + AI 之前所有的话 + 你这次的话"全部打包成一段长文本 → 发给 AI → AI 看完这一整段,回一句 → 助手软件把回的话也加进对话历史 → 等你下一次发话
AI 看完就忘。它不知道自己上一秒说过什么。它每次都是当场读一遍这段长文本,然后回一句,回完就退场。下次再问,再来一次。
之所以你感觉它"记得",是因为那段被重新发过去的长文本里,把过去聊过的所有内容都附带过去了。这段长文本就是"上下文"。
一个具体例子
你跟 AI 这么聊:
你:我女儿叫小花。
AI:好的,你女儿叫小花,明白了。
你:她今年 6 岁。
AI:知道了,小花 6 岁。
你:明天她生日想吃什么蛋糕?
最后一句话发出去的瞬间,助手软件实际给 AI 发的是一整段:
(系统设定:你是一个 AI 助手,要友好回答。)
(用户:)我女儿叫小花。
(AI:)好的,你女儿叫小花,明白了。
(用户:)她今年 6 岁。
(AI:)知道了,小花 6 岁。
(用户:)明天她生日想吃什么蛋糕?
整段一起发过去,AI 看完才知道"哦你前面说过她叫小花、6 岁,所以这个生日蛋糕的问题是问小花的"。
如果助手软件偷懒只发最后一句"明天她生日想吃什么蛋糕?"过去,AI 就只能反问"谁的生日?"。
上下文是什么
上下文就是上面那一整段被打包发过去的长文本。
它一般包括这么几样东西:
- 系统设定:助手软件预先写好的一段话,比如"你是一个友好的 AI 助手,回答要简洁"。这段话用户看不到,但每次都会被附上。
- 历史对话:你跟 AI 之前聊过的所有内容。
- 当前提问:你这次发的话。
- 附加资料:如果你贴了一份文档让 AI 看,整份文档也会被塞进上下文。
- 工具说明书:如果 AI 能用工具,每个工具叫什么、怎么用,也要附上一份。
所以一段对话的上下文是会越来越长的。每多聊一句,都会往这段长文本里再加几行,下一次发出去的就比上一次更长。
上下文有上限
这是关键的事实:模型一次能读多少字是有上限的。这个上限就是大家说的"上下文窗口"。
不同模型上限不一样,目前主流模型大致是:
- GPT-5.5 / 5.6:40 万 ~ 150 万 token
- Claude Opus 4.7 / 4.8:100 万 token
- Gemini 3.5 Pro / Flash:100 万 ~ 200 万 token
- 国产:Kimi K2.6、DeepSeek V4、Qwen3.7、GLM-5 都已到 100 万 token 级别;通义、豆包、元宝部分版本仍在 12.8 万 ~ 32 万 token
1 个汉字 ≈ 1.5 token,100 万 token 大概等于 65 万汉字,差不多一本《三国演义》。
上限就像一个杯子的容量。你聊得越多、贴的资料越长,杯子越满。一旦超过,要么就报错"内容太长了",要么助手软件会偷偷把最早的那几句话扔掉,腾出空间塞新内容(这就是为什么聊久了 AI"忘了你最早说的事")。
为什么聊久了 AI 会变笨
跟杯子越来越满有关。
杯子装满了,最早的那些对话被踢出去,AI 看不见了,就回答不上来。 杯子还没装满但已经塞了一大堆东西,AI 要在一大堆内容里翻找重点,注意力被分散,就容易抓错重点或者前后矛盾。
你应该见过这种情况:跟 AI 聊到一定长度,它开始重复自己说过的话,或者突然忘记你之前定下的规则。这不是它"累了",是它脑子里的内容太多了,新的指令在一堆历史里没被它注意到。
怎么应对
知道这个机制,几个常见困惑就有解了:
- AI 忘了我前面说的事:聊太久了。可以新建一段对话,把最重要的几句重新告诉它。
- AI 不按我前面定的规则来:规则被埋在长对话深处了。可以把规则放在最近一句话再强调一次。
- 让 AI 看长文档总是抓不住重点:文档太长可能没全塞进上下文,或者塞进了但 AI 注意力被冲散了。可以拆成几段分别让 AI 看。
AI 看长文本的注意力是 U 型的
还有一件事跟"上下文有上限"相关,但是另一回事:就算窗口没满,AI 看长文本时注意力也是不均匀的——开头记得最清楚,结尾记得也比较清楚,中间那部分最容易被略过。这件事研究上叫 "Lost in the Middle",跟人读一本厚书时印象最深的往往是开头和结尾是一个道理。
知道这件事,几个用法马上能调整:
- 给 AI 一份长文档,最关键的指令放在开头第一句或者最后一句,不要埋在中间
- 聊到一半想强调一件事,重新说一遍,让它出现在最近的位置,比指望 AI 翻历史靠谱
- 写复杂 prompt 时,先讲核心目标,再讲背景细节,最后再用一句话重申一次目标
Token 是什么
上面说"杯子能装多少字",其实更精确的说法是"杯子能装多少 token"。
Token 是模型算字的单位。它不完全等于一个字、一个词、一个字母。模型在处理文字之前,会先把文字切成一小段一小段的 token,再去处理。
切的规则大致是:
- 英文里常见的单词通常算 1 个 token,比如
apple、hello - 不常见的英文词会被拆成几个 token,比如
unbelievable可能被切成un+believ+able共 3 个 - 中文一个字大约是 1 到 2 个 token
- 标点、空格也都是 token,跟字一样占位置
所以同样的"5 万字",英文和中文换算成 token 数差挺多。作为大致的换算:1 个汉字 ≈ 1.5 个 token,1 个英文单词 ≈ 1 个 token。
为什么不直接按"字"算,要发明 token 这个东西?因为模型内部就是这么处理文字的。这是技术细节,普通用户记住"token ≈ 字"就够了。
按 token 算钱
用 AI 是要花钱的(你用免费版只是因为有人替你买单)。账是这么算的:
每次跟 AI 对话,发过去的所有内容和AI 回的所有内容都按 token 数算钱。一个典型的价格是:
- 输入:每 100 万 token 几块到几十块(模型不同价格差很大)
- 输出:通常比输入贵 3 到 5 倍
注意"发过去的所有内容"这一点。因为对话历史每次都要重发,聊得越久,每次发过去的内容越多,每次都要付历史那部分的钱。
举个例子:
第 1 句:你好。 → 发 5 个 token
第 2 句:我女儿叫小花。 → 发 第1句+AI回复+这一句,约 30 个 token
第 3 句:她 6 岁。 → 发 前面所有 + 这一句,约 60 个 token
第 4 句:生日蛋糕推荐? → 发 前面所有 + 这一句,约 100 个 token
...
第 50 句:你前面说的那个第三个建议是啥? → 发 前面所有,可能已经 5000 个 token
每多聊一句,要付的"历史复读"成本就更高。这就是为什么有些助手软件会在聊到一定长度时偷偷"压缩"早期对话(用一段简短总结代替原文)。这件事一举三得:省钱、给后面的对话腾上下文空间、避免上下文塞太满之后 AI 注意力被冲散开始胡说。
聊一晚上等于复读多少遍
跟 AI 聊一晚上 100 条消息,最后那条发出去的瞬间,前面 99 条对话已经被原原本本地重新发过去了 99 遍。
第 1 条被发了 100 遍(每次新对话都带它)、第 2 条被发了 99 遍、第 50 条被发了 51 遍……加起来背后是几千次复读。这就是为什么"AI 持续聊一整天"看上去免费,背后烧掉的算力相当于几百次单条问答。
所以一段对话不要无限拖下去,该新建就新建。长上下文模型也不是为"无限聊天"设计的,是为这几种场景设计的:一次塞一份长合同让它审、一次塞整个代码库让它改、一次塞一本书让它问答、Agent 跑长任务一路记着前面做过什么。日常聊天用不到这么大的窗口。
为什么 ChatGPT 有时候让你充会员
它免费版给你的上下文窗口往往是缩水版(比如只能用 32000 token),会员才给你大窗口(40 万甚至更高)。窗口越大,能聊得越久、能塞的资料越多、token 成本越高,所以贵。
哪个模型上下文最长
各家都到 100 万 token 起步了,窗口本身已经不是核心竞争力。真正决定长文档表现的是"在长上下文里抓重点的能力",这个差距比窗口大小大得多。
几件值得说一下的事
AI 没有"记性",全靠每次重新读一遍。 你以为它在跟你"持续对话",其实它是每次都重新看一整段对话历史,回完一句就退场。下次再来还是从头读一遍。它不会比一条金鱼更"记得"你。
新建对话 = 让 AI 失忆。 因为新对话里没有附带历史,AI 就真的什么都不知道了。这就是为什么换一段对话问同样的问题,得到的答案可能不一样。
让 AI 记住"重要事项"的最好方法是写在最近一条消息里。 不要指望它会从 50 条之前翻出你定的规则。规则被埋在一堆对话里就跟没说一样。重要的事情每隔一段就重申一次。
附文档进去要有取舍。 一份 100 页的合同直接扔给 AI 让它"读完告诉我所有问题",效果通常很差。因为 AI 注意力会被分散在 100 页里。更好的做法是先告诉它你最关心哪几个点,让它针对性看。
Token 是真金白银。 每次贴一份长文档进去对话、每次让 AI 重读历史、每次让它输出 5000 字的报告,背后都是有人在付钱。免费版的"对话长度限制"不是故意刁难你,是因为对话越长成本越高。
几个容易搞错的事
清空聊天记录就清空了 AI 对你的记忆。 没错,但前提是这段对话没有被任何"长期记忆"机制额外存下来。有些 AI 助手(比如 ChatGPT)支持"记忆"功能,会主动把"用户女儿叫小花"这样的事抽取出来存到一个独立的小本子上,下次新对话开始时再附给 AI。要彻底清,记得也把这个小本子清掉。
上下文越大越好。 不一定。窗口大不代表 AI 注意力强。塞太多内容进去,AI 反而抓不住重点。给 AI 的内容应该尽量精简,不是越多越好。
AI 在思考的时候在"记"东西。 不是。AI 没有内部记忆。所谓"思考"也是它在输出过程中边写边推理,写完就忘。它脑子里没有任何持久状态。
Token 数 = 字符数。 不是。Token 是模型自己内部的切词单位,跟字符数不是一一对应。一段中文比同样意思的英文用的 token 通常多一些(这也是为什么中文场景下 AI 用起来往往更贵的原因之一)。
AI 突然忘了我前面说的事 = 它在压缩历史。 不一定。更常见的做法其实更粗暴:助手软件直接把最早那几轮对话扔掉,只保留最近 N 条。所以你以为它"刚才还记得呢,怎么突然就忘了",实际上是因为那段话刚被丢出窗口外了。这种处理方式叫"滑动窗口",省钱省事,代价就是 AI 看上去会突然失忆。
对话越长每条都全价复读。 不是了。现在 GPT、Claude、DeepSeek、通义这些主流模型都会"记住"开头那段不变的内容(系统设定、早期历史),后续聊天里这部分不会重新算钱,只按一两折计费。所以"对话越久越贵"虽然方向对,但没有线性那么夸张——真正贵的是新增的那部分内容。这套机制叫"前缀缓存",对你来说不需要做任何操作,AI 平台自己会处理。
一句话
AI 没有记忆,每次回话都是当场读一段长文本然后说一句,读的内容叫上下文,按 token 算钱。
理解了这件事,你以后会少踩很多坑:聊太久不要硬聊、重要的事要再说一遍、长文档要拆开看、对话历史就是钱。