
很多人用 Chatbot 久了都会遇到类似的情况:刚开始聊得很顺,聊到后面却越来越容易跑偏。明明前面说过的要求,它忘了;已经废弃的版本,它又捡回来;资料给得越来越多,回答反而没有一开始稳定。
这些问题背后,经常都和一个词有关:上下文(Context)。
可以把上下文理解成 Chatbot 当前用来理解你这次任务的“工作台”。你刚刚说过的话、上传的文件、当前任务要求、前面确认过的结论,都可能成为它判断下一步该做什么的依据。
这个工作台的空间和注意力都有限。材料越多,并不意味着模型掌握的信息越充分。如果重要要求被埋在大量聊天记录里,或者旧稿、新稿、废弃方案同时摆在桌面上,模型就需要花更多力气判断“现在到底该听谁的”。
所以,上下文管理其实离普通用户很近。
下面这些做法不需要理解 Token、RAG、向量数据库,也不用懂模型原理。打开任意 Chatbot 产品,就可以开始用。
懒人图解版

材料输入
长材料优先传文件
需要让 AI 阅读 PDF、Word、Markdown、代码文件或一篇很长的文章时,优先使用产品提供的文件上传能力。
少做:
我把 2 万字报告全文贴到聊天框里,你先看一下……
可以改成:
我上传了
report.pdf,后面的问题都以这个文件为资料来源。
这样做还有一个附带好处:后面再次引用资料时,可以通过文件名定位,不需要重复粘贴全文。
多个文件说明各自用途
一次给三个文件,只说“参考一下这些资料”,会把材料之间的关系留给 AI 猜。
更好的方式是:
paper.pdf:事实来源draft.md:现在需要修改的稿件style.docx:只参考语言风格
如果几个文件的可信度不同,再补一句:
出现事实冲突时,以
paper.pdf为准。
这个动作只有几秒钟,却能少掉很多误解。
大文件同时给阅读目标
上传一本几十页的 PDF 后,只说“帮我看看”,范围太大。
可以明确到:
从这份 PDF 里找出和 Memory TTL 有关的定义、配置方法和限制。
或者:
重点阅读第 3、4 章,帮我判断作者是怎么处理长任务状态保存的。
让 AI 知道“为什么读”,比单纯告诉它“去读”更有效。
局部问题只给局部材料
只想修改一段开场,没有必要每一轮都附上全文。
可以给:
这是上一段和需要修改的这一段。只调整第二段,让它和上一段衔接自然。
需要检查全文结构时,再把完整稿件交给 AI。
给上下文的目标,是让当前任务拥有足够的信息。材料堆得更多,不一定更好。
任务说明
当前任务放在前面
一个很容易忽略的小细节:先说“要做什么”,再给材料。
例如:
只检查事实错误,不润色文字。下面是正文:
会比先贴 3000 字文章,最后再补一句“对了,只检查事实”更清楚。
对于长内容尤其如此。
每轮设置一个主任务
一条指令里同时要求:
查事实、重写结构、压缩到 500 字、优化标题、调整语气,再看看有没有遗漏。
这些要求可能互相影响。
更稳定的做法是分轮处理:
第一轮只检查事实。
确认后:
事实保持不变,现在优化结构。
最后:
结构确定,压缩到 500 字以内。
每一轮上下文里都有一个明确的判断目标。
把限制写成可检查条件
“稍微短一点”“语气自然一点”“别改太多”都很依赖模型自己理解。
可以换成更明确的条件:
控制在 500~600 字。 保留现有 4 个小标题。 不增加案例。 不修改数字和专有名词。
越容易检查的要求,执行起来越稳定。
明确不能修改的部分
如果一个稿件只有局部需要调整,可以告诉 AI:
只改第二、三段,其他段落保持原样。
或者:
标题和小标题已经确定,只修改正文。
这相当于主动缩小 AI 的工作范围,也减少它顺手改动其他内容的机会。
版本管理
新版本出现时宣布旧版本失效
这是长对话里非常实用的一条。
一份稿子来回改了五次之后,聊天记录里其实同时存在五个版本。AI 后续回答时可能再次引用第一版中的内容。
新版本确定后,可以加一句:
上一版作废,后续只以这版为准。
如果改动很大:
前面所有稿件版本都停止参考,下面这份是当前版本。
这句话相当于给上下文做了一次版本切换。
定稿内容明确锁定
某些部分确认后,可以主动告诉 AI:
这三个小标题定稿,后面不再调整。
版本号确认是 v0.7.2,后续所有内容都使用这个数字。
这一段的技术结论已确认,后面只允许调整措辞。
这样后续修改的范围会越来越小,Chatbot 也更容易知道哪些信息属于“当前结论”。
多个候选及时淘汰
讨论标题时,很容易留下十几个候选。
等范围缩小以后,可以说:
前面的标题方案全部排除,现在只比较下面两个。
同样的方法也适用于方案、结构、文案和设计方向。
少让废弃选项长期留在有效上下文里。
大改后重新提交当前完整版本
一篇稿子经过几十轮局部修改以后,“完整最新版”可能散落在十几条消息中。
这时可以重新上传或粘贴一次当前完整稿:
这是合并所有修改后的最新版。后续以这份内容为准。
比让 AI 自己从聊天历史里拼出最终稿可靠得多。
长对话整理
阶段结束时做一次上下文摘要
研究资料、定结构、改稿,其实是三个不同阶段。
一个阶段结束后,可以让 AI 做一次整理:
总结目前的工作状态,只保留:
已确认事实
已确定方案
仍然有效的要求
尚未解决的问题 删除废弃方案和讨论过程。
这个摘要可以作为下一阶段的起点。
关键在于:总结结论,少总结讨论过程。
“我们讨论过 A、B、C 三种方案”意义有限。
“最终采用 B;A 和 C 已排除”更有价值。
任务发生明显变化时开新对话
如果前面一直在分析论文,接下来准备基于结论写一篇完整文章,可以考虑开启一个新的会话。
新对话只带过去这些东西:
当前目标
最终确认的事实
固定要求
当前文件
下一步任务
旧对话里大量试错、废案和临时讨论,就不用继续占据新的工作环境。
新对话并不意味着从零开始。你只是把上一阶段真正有价值的信息带过去。
跑偏时先整理上下文
当 Chatbot 开始反复引用旧信息、忘记最新要求,继续追加“你怎么又忘了”“我前面明明说过”帮助有限。
可以明确重置当前判断依据:
先停止修改。重新整理当前任务,只保留下面这些信息:
当前目标……
当前版本……
已确认结论……
本轮限制…… 前面与这些内容冲突的信息全部忽略。
很多长对话都可以靠这一招重新拉回来。
信息更新
修改条件时说明变化范围
少说:
现在换开发者读者。
可以说:
目标读者从普通用户改为开发者,其他要求保持不变。
这样 AI 知道只更新一个条件,而不用重新猜整个任务有没有发生变化。
纠错时给出正确答案
发现 AI 用错版本号时:
版本号不对。
信息还不够完整。
更好的方式是:
版本号应为 v0.7.2,前面出现的 v0.7.1 作废,后续统一使用 v0.7.2。
一次把错误信息替换干净。
概念理解错了就纠正概念
如果 AI 把某个概念理解错,只修改当前一句话,后面还可能继续出错。
例如:
Routine 在这里指一类实现任务,不是工作流中的一个阶段。后续都按照“任务类别”理解。
这相当于修改 AI 当前工作台上的一条基础规则。
日常使用习惯
主任务对话少混入无关内容
正在一个对话里连续修改项目文章,中间突然问餐厅推荐、翻译菜单、规划旅行,这些内容和当前稿件没有关系。
单独开一个聊天,会让两个任务都更干净。
尤其是需要持续几天、反复修改几十轮的任务,保持一个相对专一的会话很有价值。
已给过的信息用定位代替复制
如果材料还在当前会话里,可以说:
继续参考刚才上传的
report.pdf。看
draft.md的第三节。按上一条确认的四个原则修改。
能定位的信息,没有必要每次完整复制。
稳定规则和临时要求分开
有些要求会持续很久:
所有稿件都面向开发者。
有些只服务当前这一篇:
这一篇控制在 800 字,因为版面比较短。
把两类要求区分开,能减少临时规则在后续任务中被误用。
如果产品支持项目指令、个人偏好、Memory 等功能,也可以把长期稳定的信息放到对应位置,把聊天窗口更多留给当前任务。
信息越多,越要说明重点
“我把能想到的资料全部给 AI”很容易产生安全感,但 Chatbot 最终仍然需要判断哪些信息与当前问题关系最大。
所以每次给很多材料时,最好顺手补一句:
这轮最重要的是第二份文件中的实验结果。
或者:
背景资料很多,但你只需要关注发布时间和功能变化。
这相当于主动给上下文划重点。
一条可以反复使用的指令
如果只记住一个方法,可以保存下面这段话。
当一个 Chatbot 对话越来越长、版本越来越多、回答开始混乱时,把它发出去:
先不要继续执行任务。请整理当前上下文,只保留最终确认的事实、当前有效版本、仍然生效的要求和待解决问题。前面已经废弃的版本、方案和讨论过程全部排除。整理完成后,后续任务都以这份最新状态为依据。
所谓上下文管理,很多时候就是持续做几件小事:该给的信息给够,该淘汰的信息及时淘汰,版本发生变化时明确更新,让当前任务需要的内容始终处在最清楚的位置。
不需要写复杂 Prompt,也不需要懂模型架构。
把 Chatbot 当成一张有限的工作台,你自然会知道什么时候该放文件,什么时候该收走旧稿,什么时候该把桌面重新整理一遍。