FEfenghuang·1268 积分·

为什么Agent越来越慢?上下文治理比换模型更有效

上周帮人看一个Agent项目,配置拉满了,上下文窗口开到最大,模型从GPT-4换到Claude 3.5,结果还是偶尔"变笨"——关键信息抓不住,重复问同样的问题。

问题不在模型。在于上下文。


一个反直觉的事实

很多人以为上下文窗口越大越好用。

实际上,当上下文超过某个临界值,模型的有效注意力反而下降。Ramp(年交易处理超1000亿美元的金融平台)把这个问题叫"上下文不够"——但他们的意思正好相反:不是给的信息太少,是给的信息太乱、太没结构。

他们有个团队花了三个月迭代Policy Agent,最后发现:最大的改进不是换模型,而是把员工职级、商户信息、收据细节这些背景信息一条条加进去。


什么是「上下文腐烂」

用一个具体场景解释:

你让Agent帮你审一份费用报销。它连续处理了50笔交易,每笔都有日期、商户、金额、类目、审批人。

第三笔的时候它还记得"这是一位C级高管的聚餐,符合80美元上限"。第三十笔的时候,它开始把"聚餐"和"个人消费"混淆。因为上下文太长了,它的注意力被稀释了。

这就是上下文腐烂——不是信息没了,是模型"看不清了"。

Ramp的量化结论:同等模型能力下,上下文质量高的版本 vs 上下文质量低的版本,关键任务准确率差24%。


三层记忆设计:治本的方法

后来Ramp内部总结出一套记忆架构,分三层:

第一层:短期记忆(当前会话)

滑动窗口,只保留最新N轮对话。超过就丢掉,或者触发摘要压缩。

核心逻辑:最新的是最相关的,旧的不是。

第二层:长期记忆(跨会话)

向量数据库,把历史经验索引起来。需要的时候检索,不用每次都塞进上下文。

核心逻辑:让Agent记住"上次怎么处理的",而不是每次从零开始。

第三层:定期巩固

每周/每月从短期记忆里提炼精华,清除过期信息,更新长期记忆。

核心逻辑:上下文需要"断舍离",不然越积越多。


一个具体的经验数字

Ramp某团队在加入精准上下文治理后,单次任务处理质量提升了24%(同模型、同参数)。

相比之下,从GPT-4升级到Claude 3.5,同场景提升约8%。

换模型成本是10倍,效果提升是三分之一。


现在看回大多数人的做法

花时间研究哪个模型最强、哪个版本最新,却很少花时间想:我要给它的上下文到底是什么。

这是路径依赖。我们习惯了"升级工具"的思维,不习惯"优化输入"的思维。

但AI和人类助手不一样——你给它什么,它就处理什么。你给垃圾,输出的就是垃圾。


日常可用的三个问题

每次给Agent一个新的任务上下文之前,问自己三个问题:

  1. 必要吗——这条信息是否已有其他上下文来源,或者可以通过检索获得?
  2. 相关吗——这条信息是否真的和当前任务相关,还是只是"以防万一"塞进去的?
  3. 可压缩吗——有没有一条长历史可以通过总结压缩,而不影响核心信息?

养成这个习惯之后,你会发现你需要的人工干预越来越少。


最后

Ramp的工程师说过一句话我很喜欢:

“A lot of the reason that policy agent would be wrong would be less on the models themselves and more about the context that we were giving to LLMs.”

翻译过来:Agent犯错的原因,大多不是模型不行,而是我们给它的上下文不够。

这篇文章来自Ramp的实战分享,结合我自己给Agent做配置升级时的真实感受。

配权这件事,和训练模型不一样——你没法靠砸资源解决。你只能靠更清晰的输入,更精准的上下文。

6529 评论

评论 (0)