上下文窗口详解:为什么长时间的AI聊天会变得更糟
上下文窗口究竟是什么,为什么长时间的 AI 对话在达到硬性限制之前会变慢并失去清晰度,以及百分比阈值会告诉你何时继续、压缩或重新开始。


更大的上下文窗口并没有解决长时间聊天的问题,只是转移了问题。
即使模型能够处理一百万个令牌,随着单次会话时间的延长,其运行速度仍然会变慢、成本更高、响应速度也会下降。真正让你头疼的往往是硬性限制,而非软性拖累。长时间的聊天会悄无声息地损耗性能,大多数运营商只有在无法有效响应、成本不再合理时才会注意到这一点。
本文将深入探讨上下文窗口的实用性,解释为什么长时间会话在崩溃前性能会逐渐下降,并提供一个你可以截图并立即使用的百分比表格。
上下文窗口即工作内存
上下文窗口是指人工智能模型在单次会话中可以主动考虑的对话、文件和指令的数量。窗口内的所有内容都至关重要,包括你的消息、模型的回复、系统提示、附件、检索到的片段以及工具的输出。如果模型需要“看到”这些信息才能做出响应,那么这些信息就存在于上下文窗口中。
一个有用的理解是:上下文窗口是内存,而不是存储空间。它速度快,但数据有限。会话结束后,它会立即刷新。除非您将聊天记录保存到持久位置,否则它不会跨会话保存任何内容。
令牌才是真正的单位
令牌才是模型实际计算的单位,而不是字符或单词。一个简短的英文单词通常是一个令牌,较长的单词会被拆分成两到三个令牌,而代码、标点符号和非英文文本通常每个字符使用的令牌数量比预期要多。大多数现代模型按每百万个输入令牌和每百万个输出令牌定价,输入费用远低于输出费用,但在长时间会话中,由于每次操作都会重新读取整个历史记录,因此输入费用会迅速累积。
如果您只能记住关于令牌的一件事,请记住:模型几乎每次操作都会重新读取整个对话。长时间的历史记录并非免费。
庞大的上下文并不意味着无限的聊天记录
20万、50万或100万令牌窗口是一个预算,而不是一个许可。从技术上讲,模型能够考虑所有这些令牌,但实际性能并非始终保持一致。延迟会随着输入规模的增加而增加。成本会随着输入内容的增加而上升。而质量——这一点没人愿意承认——也会先上升后下降。大多数模型在会话开始和结束时处理高度相关的内容时表现最佳,而在会话中间那些需要筛选才能回答最新问题的密集内容时表现最差。
更大的窗口可以提高上限,但不会提高下限。
长时间聊天每回合成本更高
随着会话的进行,模型需要重新处理更多上下文,这会增加令牌使用量、延迟和成本。这是机制问题,而非哲学问题。你发送的每条新消息都会携带之前的所有对话内容。
为什么输入令牌会像滚雪球一样越滚越大
一段包含三条来回消息的简短对话,每回合可能只需要几千个输入令牌。而一场持续两小时的设计评审会议,如果附带文档、生成的屏幕截图和引用的代码,很容易在你不知不觉中就消耗掉超过 5 万个输入令牌。在这样的会话进行到第 40 回合时,你花在重新读取已发生事件上的时间比生成下一个答案的时间还要多。
计算过程虽然残酷却很简单。如果一个会话积累了 8 万个历史标记,那么每一回合都需要为这 8 万个输入标记以及生成的所有内容付费。这种成本会随着会话的进行而不断累积。
为什么工具密集型会话增长更快
工具的使用会加速这种雪球效应。每次模型调用工具并获得响应时,工具的输出都会加入上下文。长文件读取、大型搜索结果、多文件差异比较、命令输出和图像生成等都会进入窗口,并一直保留到会话结束。
工程和分析会话消耗上下文的速度最快。一个编码会话读取十几个文件、运行几个测试并检查日志,在实际工作开始之前,可能就已经消耗了 20 万窗口的 60%。等到实际任务开始时,模型已经在拥挤的窗口中穿梭了。
质量下降先于硬性限制
真正的问题不仅在于上下文信息不足,更在于清晰度逐渐下降,而这才是最先发生的。
软性退化与硬性故障
硬性故障是显而易见的。会话拒绝接收新输入或截断消息。你会立即注意到,并且清楚地知道发生了什么。
软性退化是悄无声息的。模型仍然会给出答案,但答案质量会略微下降。它开始重复之前的错误,丢弃十条消息前设置的约束,抓住错误的细节并继续执行,在原本直接的回答上变得含糊其辞。会话感觉不对劲,但技术上并没有出现任何问题。
软性退化是一种代价更高的故障模式,因为它更难被发现。
过时的上下文信息如何污染优秀的工作
上下文信息不仅仅是数量,它还关乎信噪比。一个包含相关细节和清晰问题陈述的专注会话,与一个包含三个已放弃的想法、两个已经更改的旧约束以及一段完全无关的旁枝末节对话的冗长会话,其性能截然不同。
试图提供帮助的模型会权衡窗口内的所有信息。如果在会话进行到一半时改变方向,并且没有明确地放弃之前的方向,那么两种方向都会同时存在,争夺影响力。模型的答案会在两者之间做出妥协。而这种妥协往往并非你所期望的。
混乱的上下文比庞大的上下文更糟糕
一个专注的 60% 会话通常比一个混乱的 30% 会话更好,后者充斥着无意义的分支和无关的工作。窗口的填充程度远不如窗口内的内容重要。
为什么话题切换会降低效率
每次话题切换都会留下痕迹。之前的主题并不会从上下文中删除,它只是不再是焦点。模型在后续的每一次迭代中仍然会考虑它。如果你在一个会话中在三个不相关的任务之间来回切换,即使你只询问其中一个任务,模型实际上也被要求平衡这三个任务。
这会导致输出结果不完整。例如,由于模型仍在思考你二十条消息前讨论过的营销文案,导致代码解决的是错误的问题。布局建议悄然继承了您顺带提及的其他品牌的约束。
为什么每个工作流程一个会话有效
大多数重度用户最终都会采用最简洁的模式:每个会话一个工作流程。品牌相关工作在一个聊天中,工程相关工作在另一个聊天中,策略或规划在第三个聊天中。切换工作流程意味着启动一个新会话,而不是在同一个会话中切换上下文。
这并非吹毛求疵,而是为每种类型的工作提供一个干净的空间。启动新会话的成本几乎为零,而将错误的上下文带入决策的成本却很高。
使用这些上下文百分比阈值
大多数人不需要完美的遥测数据,他们需要的是实用的阈值,告诉他们何时继续,何时重置。以下是可供截图的表格。
| 使用的上下文 | 状态 | 感受 | 操作 |
|--------------|--------------|--------------------------------------------------------------|---------------------------------------------|
| 0% 至 40% | 绿色 |思路清晰,反应迅速,成本低 | 继续前进,这是高效区域 |
| 40% 至 60% | 健康 | 思路依然清晰,成本略有上升 | 保持专注,避免话题切换 |
| 60% 至 75% | 警告 | 反应速度变慢,偶尔跑题,需要更多复读 | 添加新工作前,请压缩或总结 |
| 75% 至 85% | 拖沓 | 延迟明显,错误再次出现,需要更多缓冲 | 完成任务,开始下一个会话 |
| 85% 及以上 | 重置 | 存在截断风险,质量急剧下降,成本过高 | 压缩成计划,然后重置 |
0% 至 40% 为绿色区域
将其视为一个全新的厨房。自由发挥。单一工作流程,高度专注,低成本。大多数高质量工作都发生在这里。
40% 至 60% 仍然健康
你正处于飞行途中。延迟和成本都在上升,但如果会话保持专注,质量仍然非常出色。切勿随意插入无关任务。会话正在收回模型的设置成本;您需要持续利用这些成本。
60% 到 75% 是警戒区间
系统仍在运行,但模型需要花费更多精力来完成相同的工作。以下两项措施会有所帮助:将目前为止做出的决策总结成一份简短的概要,并删除任何明显无效的上下文(已放弃的方法、无关的附件)。此时进行少量压缩可以避免之后进行更大的重置。
75% 到 85% 是拖延区间
每个运行长时间会话的操作员都会体会到这个区间。答案返回得更慢。模型会自我怀疑。它会悄悄地放弃一些约束。结束当前任务,将结论保存到文件或计划中,然后在新的会话中开始下一个任务。
超过 85% 意味着需要压缩或重置
您现在正在为收益递减支付高昂的费用。模型也随时可能因为一次糟糕的操作而崩溃,这比从头开始更糟糕。将关键信息压缩成一个清晰的计划,将其保存在聊天记录之外,然后重置。
尽早开始新的聊天
如果你的记忆真正存在于文件、计划和结构化笔记中,那么开始新的聊天并不会丢失上下文。这只是让工作记忆专注于工作记忆,同时将长期记忆保存在它真正应该存放的地方。
何时保留当前会话
当工作是一个连续的任务,上下文窗口低于 60%,会话一直停留在单个工作流上,并且模型仍然保持敏锐时,可以继续进行。你应该充分利用这些会话的所有信息。
何时立即重置
当你切换工作流、上下文窗口超过 75%、模型开始重复错误或犹豫不决,或者会话积累了三个或更多分支时,都应该重置。此外,每当完成一个离散任务时也应该重置。将已完成的任务延续到下一个任务的成本几乎总是高于从头开始的成本。
构建系统,而非永存的聊天记录
最佳的 AI 工作流程会将持久的知识存储在对话之外,从而确保会话保持策略性和简洁性。聊天记录是工具,而非存档。
使用文档、计划和清单
最经济的外部存储方式是 Markdown 文件。一份简短的计划、一份决策清单、一份后续步骤清单。将它们添加到您的项目中,而不是聊天记录中。新会话开始时会读取该文件,这比拖拽整个 8 万个标记的聊天记录要节省得多。
将可重用的工作流程保存为技能
任何重复执行两次以上的操作都应该保存在聊天记录之外。例如,可重复的设计评审流程、标准的交接格式、研究工作流程。将其记录为可重用的技能、提示模板或系统笔记。每个新会话都会继承该工作流程,而不会继承任何冗余信息。
一个有效的 AI 设置看起来不像一个无限循环的天才聊天记录,而更像是一个整洁的工作间,配备锋利的工具、贴有标签的抽屉,以及每个工作都对应的全新记事本。研讨会仍在继续。笔记本是一次性的。
常见问题解答
当人们意识到问题不在于模型,而在于工作流程时,他们就会提出这些问题。
百万级令牌上下文能解决所有问题吗?
不能。百万级令牌窗口提高了上限,但无法降低下限。在达到上限之前,长时间会话仍然会变得更慢、更耗费资源且响应速度变慢。对于真正需要一次性加载大量相关材料的任务,例如阅读整个代码库或大型数据集,改进是切实存在的。但它并不能将混乱的会话变成专注的会话。
开始新的聊天会影响连续性吗?
只有当连续性存在于聊天记录中时才会。如果您的决策、计划和指令保存在文件中,那么新的聊天会从旧聊天中断的地方继续,只是会去除无关信息。大多数认为新会话“丢失上下文”的操作人员实际上丢失的是该上下文的唯一副本,这是一个工作流程问题,而不是聊天问题。
我应该多久重置一次 AI 会话?
没有固定的重置频率。每当完成一项具体任务、切换工作流程或会话上下文使用率超过 75% 时,都需要重置。对于重度用户,每天可能需要重置三到十次。对于轻度用户,可能每次会话只需重置一次。触发条件是工作量,而不是时间。
为什么我的 AI 在长时间聊天中速度变慢?
因为每次对话都会重新读取整个对话历史记录。随着历史记录的增长,每次对话的输入量也会随之增长,因此每个新回复都需要消耗更多计算资源,启动时间也会更长。再加上工具输出、附件和大型代码读取,输入量的增长速度会超过对话本身的运行速度。
将会话视为工作区
使用 AI 的最明智方式是保持身份和记忆的持久性,同时让会话保持可销毁性。
会话就是工作区。您可以设置会话、使用会话,然后将其销毁。重要的工作会被保存到文件、计划和持久笔记中。会话本身不需要保留。它应该尽可能地节省资源。
错误在于把聊天当作恋爱关系。漫长的、不断积累的、难以割舍的。正是这种错误导致人工智能的使用体验随着时间的推移而变慢变差,即使底层模型变得越来越快、越来越好。聊天不是你的合作者,而是一个工作台。干净的工作台永远比杂乱的工作台效率更高。
与其构建永无止境的聊天记录,不如构建更简洁的系统。如果您需要帮助围绕您的人工智能工具、品牌和产品设计实际的工作流程,请联系我们。我们构建的是工作坊,而不仅仅是提示。
Build cleaner AI systems instead of immortal chats. Brainy designs the workflows, not just the prompts.
Get Started

