用户只是要优化一个产品标题,模型却背着一大堆和标题无关的资料工作。
成本、速度与模型选择
减少无效上下文:别让 AI 背着一堆没用的信息工作
上下文越长,模型需要处理的 Token 往往越多,成本可能更高、速度也可能更慢。但更常见的问题不是上下文太长,而是里面有太多和当前任务无关的信息。
一句话回答
不是上下文越多越好,而是和当前任务越相关越好。好的上下文不是“信息最多”,而是“每一条信息都和当前任务有关”。
只保留当前任务真正需要的信息,AI 更快、更省,也更容易抓住重点。
模型真正需要看的,不是“所有信息”,而是“完成当前任务需要的信息”。
很多内容已经被后续决定替代。
用户只是在改一个标题。
当前任务根本用不到这些字段。
返回过的字段一直堆在上下文里。
旧方案和当前方案互相打架。
真实,但和这次任务没有关系。
真实信息,不等于有效信息。
模型要处理更多输入,成本通常更高。
旧要求和无关事实会影响判断。
真正重要的几条信息反而不突出。
无效上下文不只烧钱,还可能让答案变差。
很多轮对话只需要保留结论。
旧颜色、旧流程、旧策略应及时删除。
每次返回几十个字段,最后变成噪音。
能查询筛选,就不要整表塞给模型。
Top 50 不一定比 Top 5 更可靠。
所有规则都往里塞,容易冲突也更贵。
时间戳、随机 ID 可能破坏缓存复用。
当前任务可能只需要其中几段。
第 1 轮:白色背景;第 2 轮:6 个板块;第 3 轮:导航调整。
当前方案:白色轻量风格,首页保留 6 个核心板块,导航使用最新版。
蓝色方案、旧导航、已删除板块不再传给模型。
上下文不只要增加,还要会删除。
20 个字段。
30 个字段。
50 个字段。
当前状态、预计送达时间、异常情况。
用户只问订单什么时候到,真正需要的可能只有物流状态、预计送达时间和异常情况。
把 1000 条订单全部交给 AI,让模型自己找。
数据库定位张先生最近一笔订单。
订单金额、状态、时间、关键备注。
把筛选后的事实讲清楚。
能在程序层筛选,就不要让模型自己从海量数据里找。
资料越多,噪音也可能越多。
围绕当前问题拿核心段落。
保修政策、售后说明、A100 手册相关段落就够了。
RAG 的核心不是找最多资料,而是找最相关资料。
放在 System Prompt。
沉淀成 Skill。
放进知识库检索。
通过工具按需获取。
成熟系统不是把什么都塞进 System Prompt,而是把规则、方法、知识和动态数据分开放。
不提供就无法完成任务,例如当前问题、关键规则、必要事实。
相关案例、历史摘要、可选背景,只有需要时再放入。
旧项目记录、无关订单、已废弃规则,不进入当前上下文。
必须知道就保留,可能有帮助就按需加入,无关信息就删除。
历史对话、知识库、数据库、工具返回、用户资料。
先问:这次任务真的需要吗?
只留下会影响回答或执行的内容。
旧对话变摘要,工具结果变关键字段。
交给 AI 的是最少的充分信息。
AI 不应该直接吃“全部信息”,而应该经过筛选和压缩。
开发企业 AI 官网。
WordPress。
白色轻量化风格。
首页、产品页、文章页。
优化移动端首页。
现有数据库结构。
结构化本身就是一种上下文压缩。
无关随机字段、精确时间戳、全部历史状态,会让请求不断变化。
把真正会变化的内容放到动态区,且只保留当前任务需要的部分。
减少无效上下文,不只是省 Token,也有利于缓存。
AI 不知道“刚才确定的方案”是什么,任务无法继续。
再少不够,再多浪费。
旧规则、无关资料、全部字段一起进来,成本和干扰都增加。
先别急着塞给模型。
判断相关性。
清理噪音。
变成状态摘要。
控制召回。
减少输入。
再选合适模型。
更快、更省、更聚焦。
本节练习
把一封客户跟进邮件的上下文压缩到刚刚好
不要把 50 轮历史、完整客户档案、所有订单和全部产品资料都塞给模型。先筛选出当前任务、客户需求、最近沟通、相关产品价格和写作要求。
本节小结
上下文就像办公桌。真正高效的工作方式,不是把所有资料都堆上来,而是这次要做什么,就只把这次真正需要的东西放到桌面。
- 真实信息不等于有效信息。
- 无效上下文不仅烧钱,还可能让答案变差。
- 旧信息能总结就总结,失效信息及时删除。
- 最理想的是最少的充分上下文:再少不够,再多浪费。