展示 HN:我们通过移除重复上下文将代理任务的令牌消耗减少了60%以上
本文介绍 Parcle,一个为AI代理设计的共享记忆层,通过索引和检索相关记忆而非重复加载全部上下文,显著降低令牌消耗。实测显示令牌使用降低高达70%,任务完成速度提升约2倍。
我们注意到,目前大多数AI代理系统都存在一个隐藏的成本问题:模型不断重复读取相同的上下文信息。无论是工单、Slack讨论、文档、客户历史、数据库记录、操作手册、日志还是先前的决策,代理在每次任务开始时都倾向于重新探索一切,导致大量的令牌浪费。虽然可以通过缓存静态前缀、使用更便宜的模型或设置团队预算来缓解,但这些方法都没有从根本上解决问题。
我们构建了Parcle,这是一个为AI代理设计的共享记忆层。它能够获取操作上下文,索引已发生的事件,并允许代理在下一步时只检索一小部分相关的记忆,而不是将全部内容粘贴回提示中,或者更糟的是让代理自行探索而消耗大量令牌。
在我们的部署和评估中,我们追踪了使用和不使用Parcle记忆层时任务的令牌消耗。结果显示,令牌使用最多降低了70%,任务完成速度大约快了两倍。中位数令牌消耗降低了约30%。最大的节省往往出现在数据和上下文密集型的工作流中,例如代理需要从多个来源检索数据和上下文时。目前效果最好的场景包括支持、运营、研究、销售和财务等工作流,这些场景中代理原本会一次又一次地重新加载相同的账户、工作流或历史上下文。
我们认为这一点在当前尤为重要。Pylon的AI成本文章促使我们思考:企业实际上支付了多少费用,因为他们的代理不断寻找相同的上下文?这是否是一个可以通过记忆来解决的隐藏税收?我们构建Parcle的目的是让代理能够记住。令人惊讶的是,记忆不仅使代理更有用,还减少了令牌消耗。更少的令牌花在寻找信息上,更多的时间用在真正有价值的工作上。
此外,Anthropic指出代理使用的令牌大约是聊天的4倍,我们认为这个数字可能被低估了。OpenAI和Anthropic都提供了提示缓存功能,因为重复的提示上下文成本高昂,但缓存仅在可重用内容足够稳定时才有效,而且在5到15分钟不活动后就会失效。同时,“中间丢失”和Chroma的“上下文腐烂”研究都指出了同样的问题:更多的上下文并不等同于可用的记忆。上下文工程领域似乎正在达成共识:困难的部分是决定模型在每个步骤应该看到什么。
Parcle是我们让这一概念可操作的尝试:将记忆置于模型之外,仅在有用时才将其选择进入上下文。我们很希望从在生产环境中运行真实代理的人那里获得反馈:你的令牌实际上消耗在哪里?是重复的输入上下文、工具追踪、重试、输出、评估还是其他?提示缓存和模型路由是否足够?要信任代理循环中的外部记忆层,你需要什么?