用好 AI › 上下文污染
上下文污染:聊得越久它越糊涂
不是错觉。2 家厂商在自己的官方文档里都写了这件事,还有 2 篇可查论文给出了具体差多少。
差多少:2 篇可查的论文
厂商说「会变差」,论文给的是「差几倍」
所以 —— 长材料要放前面,问题放最后。
越往后,越容易把删除、发送、提交这类操作顺手做了。
国产平台怎么说
四家里只有一家写了具体做法
通义千问(百炼)接口本身不存历史。官方给的做法:只留最近几轮(官方自己写明会丢掉较早的内容),或者快到上限时让模型把旧对话压成摘要再接着聊。
Kimi只写了输入加输出不能超过窗口上限;超了是自动截断还是报错,官方没说。
豆包(火山方舟)未采集:清空历史、压缩对话的帮助文档没取到原文。
文心一言官方未说明:只有「具备记忆机制」这类泛化说法,没有窗口数值和截断规则。
RULER 测了 10 个号称长窗口的模型,实际能用的长度普遍远小于宣称值;NoLiMa 测了 13 个号称 128K 以上的模型,问题和答案不字面重合时,上下文一长普遍明显掉分。
各平台官方文档、arXiv 论文 · 2026-09-13数据与出处 ⌄
这两项测的是「在长文档里找不找得到」,不是「多轮聊天后面会不会自相矛盾」。后一种问题,截至 2026-09-13 没查到公开评测,中文场景也没有。
怎么办
都出自各家官方文档,我们把工程师看的说法换成了人话
换个不相干的任务时,先把桌面清空
手上这件事做完、要换一件不相干的活时,开一个全新的会话,别接着聊。旧内容不清掉,它每说一句话都在为这些没用的东西付钱,还会把上一件事的细节带进来。官方的原话是:陈旧的上下文会在之后的每一条消息上浪费 token。
压缩的时候告诉它「保留什么」
对话太长时,工具会自动把前面的内容压成一段摘要。默认摘要是它自己决定留什么 —— 您可以直接指定,比如「重点保留改过的代码和测试结果」。也可以把这条要求写进项目的固定说明里,以后每次自动生效,不用每次交代。
把问题放在最后面,不要放开头
给它一份很长的材料时,先放材料、最后再问问题。这是 Google 官方在长上下文文档里明确给的建议 —— 同样的内容,问题在末尾时表现更好。
别把用不上的工具都挂着
每接一个外部工具,它的说明都要占位置。用不上的先关掉。官方还给了一条更省的做法:能用现成命令行工具解决的,就别为它专门接一个服务 ——命令行工具不需要把每个功能的说明都塞进上下文。
措辞为本站翻译,原文逐条附链接。来源:厂商官方文档 · 2026-09-06
顺便说一个数
省上下文最终是为了省钱
在企业部署里,平均每个开发者每个活跃工作日约 13 美元、每月 150 到 250 美元;九成用户每个活跃日不超过 30 美元。把「换活就开新会话、长材料放前面」做到,日常任务往中档走,这个数还能降。
常见问题
答案都从本页数据生成
聊得越久,AI 真的会变差吗?⌄
会,而且不是某个模型的毛病。Anthropic、Google 都把这件事写进了自己的官方文档,本页收了 4 条原文,逐条附链接。
差多少?有没有具体数字?⌄
有。上下文腐坏:监控能力随上下文变长而下降(arXiv 2605.12366,2026)实测:在「认出编程助手做了一个隐蔽危险动作」这项任务上,同一个危险动作,如果发生在 80 万 token 的正常活动之后,三家的主力模型漏掉它的概率是原来的 2 到 30 倍。
是不是所有厂商都承认这件事?⌄
不是。OpenAI 没有这么写 —— 这一家的压缩文档只说压缩能「balance quality, cost, and latency」,没有像另外两家那样直接写「对话变长质量会下降」。我们打开了它的 compaction 与 conversation-state 两页,都没有找到这句因果表述。我们把查过的页面地址也列在页面上了:https://developers.openai.com/api/docs/guides/compaction、https://developers.openai.com/api/docs/guides/conversation-state。
这些数字是你们自己测的吗?⌄
不是。2 篇论文可以按 arXiv 编号自己核,另有一份技术报告(Chroma,2025,配套代码开源)—— 它不是同行评审论文,我们单独标出来,不和论文混为一谈。这是公司自发的技术报告,不是同行评审论文。放在这里是因为它开源了数据与代码,可以自己复现。
那我该怎么办?⌄
本页从各家官方文档里整理了 6 条做法,逐条注明出自谁、哪一页。最省事的一条是:换个不相干的任务时,先把桌面清空 —— 手上这件事做完、要换一件不相干的活时,开一个全新的会话,别接着聊。旧内容不清掉,它每说一句话都在为这些没用的东西付钱,还会把上一件事的细节带进来。官方的原话是:陈旧的上下文会在之后的每一条消息上浪费 token。
省上下文到底能省多少钱?⌄
在企业部署里,平均每个开发者每个活跃工作日约 13 美元、每月 150 到 250 美元;九成用户每个活跃日不超过 30 美元。
这一页的内容什么时候采的?⌄
厂商官方文档与论文原文,采集于 2026-09-06。厂商随时可能调整文档措辞,引用前请以官方页面为准。
来源清单
13 条:厂商官方文档 8 条 · 论文与报告 5 条
逐条摊开,每条附原文链接⌄
官方文档 · 8 条
- https://platform.claude.com/docs/en/build-with-claude/compaction↗
- https://platform.claude.com/docs/en/build-with-claude/context-editing↗
- https://ai.google.dev/gemini-api/docs/long-context↗
- https://developers.openai.com/api/docs/guides/compaction↗
- https://developers.openai.com/api/docs/guides/conversation-state↗
- https://code.claude.com/docs/en/costs↗
- https://help.aliyun.com/zh/model-studio/multi-round-conversation↗
- https://platform.kimi.com/docs/introduction↗
您该怎么办
换一件不相干的活时,开新会话,别接着聊 —— 这是成本最低、见效最快的一条。长材料放前面,把您的问题放最后面。
还有一条最容易被忽略:越往后,它越容易漏掉危险动作。删除、发送、提交这类不可逆操作,人自己确认,不要交给它顺手做。长对话还是理不清,可以去人工援助留个需求。