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被大量无关信息淹没,反而抓不住重点。
提供有效上下文,我总结了三个原则:
- 只给必要信息——跟当前任务无关的,一个字都别多写
- 重要信息放最后——模型对最近输入的内容记忆最牢
- 结构化呈现——别用大段文字,用列表、表格、代码块
✅ 有效上下文示例:
项目背景:电商平台用户评论分析
目标:提取用户对物流速度的不满点
数据格式:每条评论包含【用户ID】【评论内容】【评分】
输出要求:列出TOP5问题,附原文引用
你看,这样写,AI一眼就知道自己要干什么。我曾经在做一个客服系统项目时,把上下文写成了一篇小作文,结果AI总是答非所问。后来改成这种结构化写法,准确率直接翻倍。
4.3 长对话中的上下文维护
长对话是最考验上下文管理能力的场景。你想想看,聊了50轮之后,AI还能记住第一轮的需求吗?大概率记不住。
我的做法是:定期「复习」关键信息。
具体来说,有三种策略:
- 策略一:摘要法——每5-10轮对话后,让AI总结一下当前进展,然后把摘要作为下一轮的上下文
- 策略二:锚点法——把核心需求写在对话的开头,每次回复时都引用这个锚点
- 策略三:分段法——把长任务拆成多个短任务,每个任务单独开一个对话
💡 我的个人习惯: 我一般用摘要法。每轮对话结束时,我会说「请用一句话总结当前状态」。下一轮开始时,先把这句摘要贴进去。这样既节省token,又不会丢失关键信息。
举个例子,假设你要让AI帮你写一份市场分析报告:
第1轮:设定背景和框架
第5轮:让AI总结「目前已完成市场概况、竞品分析,待完成用户画像」
第6轮:把摘要贴进去,继续写用户画像
第10轮:再次总结「已完成用户画像、SWOT分析,待完成策略建议」
...
这样做的好处是,即使对话进行了50轮,AI依然清楚自己处于哪个阶段。
4.4 上下文管理的进阶技巧
如果你想让上下文管理更上一层楼,可以试试这几个技巧:
- 角色锚定——每次对话开头都重申AI的角色,比如「你是一名资深UI设计师」
- 格式锚定——固定输出格式,比如「请始终用Markdown表格输出」
- 优先级标记——用【重要】、【次要】、【参考】等标签区分信息权重
- 分块输入——把长文本分成多个小块,每块前面加个标题
嗯,这里要注意:这些技巧不是越多越好。我建议你根据任务复杂度,选1-2个组合使用。比如写代码时,我常用「角色锚定+格式锚定」;做分析时,我常用「优先级标记+分块输入」。
最后说一句:上下文管理不是AI的锅,是我们自己的责任。你把上下文整理得越清晰,AI给你的回报就越丰厚。这跟带新人是一个道理——你交代得清楚,他干得就漂亮。