4、上下文管理:让AI记住你说过的话

上下文管理,说白了就是怎么让AI别「失忆」。

我刚开始用大模型时,经常遇到这种情况:明明上一轮刚交代过背景,下一轮它就忘了。气得我直拍桌子。后来我才明白,这不是AI故意气我,而是上下文窗口在作怪。

4.1 上下文窗口的概念

每个大模型都有一个「记忆容量」,这就是上下文窗口。你可以把它想象成一张便签纸——AI只能看到这张纸上写的内容,纸之外的东西,它一概不知。

模型 上下文窗口大小 约合中文字数
GPT-3.5 4K tokens 约3000字
GPT-4 8K / 32K tokens 约6000 / 24000字
Claude 2 100K tokens 约75000字
GPT-4 Turbo 128K tokens 约96000字

注意,这里的「字」不是指汉字个数,而是token。一个中文汉字大约占1-2个token。所以别被数字骗了,实际能用的中文内容要打个折扣。

⚠️ 重要提醒: 上下文窗口不是越大越好。窗口越大,模型的处理速度越慢,成本也越高。而且,模型对窗口中间部分的内容「记忆力」最差——这叫「迷失在中间」现象。

4.2 如何提供有效上下文

我见过太多人把上下文当成垃圾桶,什么信息都往里塞。结果呢?AI被大量无关信息淹没,反而抓不住重点。

提供有效上下文,我总结了三个原则:

  1. 只给必要信息——跟当前任务无关的,一个字都别多写
  2. 重要信息放最后——模型对最近输入的内容记忆最牢
  3. 结构化呈现——别用大段文字,用列表、表格、代码块

✅ 有效上下文示例:

项目背景:电商平台用户评论分析
目标:提取用户对物流速度的不满点
数据格式:每条评论包含【用户ID】【评论内容】【评分】
输出要求:列出TOP5问题,附原文引用

你看,这样写,AI一眼就知道自己要干什么。我曾经在做一个客服系统项目时,把上下文写成了一篇小作文,结果AI总是答非所问。后来改成这种结构化写法,准确率直接翻倍。

4.3 长对话中的上下文维护

长对话是最考验上下文管理能力的场景。你想想看,聊了50轮之后,AI还能记住第一轮的需求吗?大概率记不住。

我的做法是:定期「复习」关键信息

具体来说,有三种策略:

  • 策略一:摘要法——每5-10轮对话后,让AI总结一下当前进展,然后把摘要作为下一轮的上下文
  • 策略二:锚点法——把核心需求写在对话的开头,每次回复时都引用这个锚点
  • 策略三:分段法——把长任务拆成多个短任务,每个任务单独开一个对话

💡 我的个人习惯: 我一般用摘要法。每轮对话结束时,我会说「请用一句话总结当前状态」。下一轮开始时,先把这句摘要贴进去。这样既节省token,又不会丢失关键信息。

举个例子,假设你要让AI帮你写一份市场分析报告:

第1轮:设定背景和框架
第5轮:让AI总结「目前已完成市场概况、竞品分析,待完成用户画像」
第6轮:把摘要贴进去,继续写用户画像
第10轮:再次总结「已完成用户画像、SWOT分析,待完成策略建议」
...

这样做的好处是,即使对话进行了50轮,AI依然清楚自己处于哪个阶段。

⚠️ 避坑指南: 我曾经犯过一个错误——在长对话中不断追加新需求,却从不清理旧信息。结果上下文窗口被撑爆,AI开始胡言乱语。记住:上下文不是无限大的,该删就删,该总结就总结

4.4 上下文管理的进阶技巧

如果你想让上下文管理更上一层楼,可以试试这几个技巧:

  1. 角色锚定——每次对话开头都重申AI的角色,比如「你是一名资深UI设计师」
  2. 格式锚定——固定输出格式,比如「请始终用Markdown表格输出」
  3. 优先级标记——用【重要】、【次要】、【参考】等标签区分信息权重
  4. 分块输入——把长文本分成多个小块,每块前面加个标题

嗯,这里要注意:这些技巧不是越多越好。我建议你根据任务复杂度,选1-2个组合使用。比如写代码时,我常用「角色锚定+格式锚定」;做分析时,我常用「优先级标记+分块输入」。

最后说一句:上下文管理不是AI的锅,是我们自己的责任。你把上下文整理得越清晰,AI给你的回报就越丰厚。这跟带新人是一个道理——你交代得清楚,他干得就漂亮。