Feature request
Closed · Answered

同一个 Session 用得久了,消耗额度越来越快

QiangDiao Li

最近在一个 Session 里连续处理了很多任务,感觉使用时间越长,后面的回复消耗额度越快,速度也比刚开始慢了一些。

我的理解是,Agent 每次回复时可能不只是处理最新一条消息,还需要读取之前的聊天记录、文件内容以及工具返回的结果。随着 Session 里的内容越来越多,每次需要处理的上下文也会变大。

尤其是多次读取文件、搜索资料或者调用 App 后,工具返回的内容可能会一直保留在上下文中。

想请问一下,同一个 Session 使用时间较长后,如果想控制消耗,是定期新建 Session 比较好,还是有其他推荐的使用方式?

Report
Kelly
Team

先说结论:同一个会话里的所有内容,都会一直作为上下文。所以会话越长,越耗额度、也越慢,你的观察是对的。

原理其实不复杂。模型自己没有记忆,Agent 每回复一次,都要把这个会话里到目前为止的内容重新「读」一遍,再接着往下做。这里面不只是你和它说的话,还包括它读过的文件内容、搜索到的资料、调用工具返回的结果。这些内容越攒越多,每一轮要处理的量就越大,积分是按处理的量算的,所以后面的每一轮都比前面贵,速度也会慢下来。

当内容多到快超出模型能记住的范围时,系统会自动把较早的内容压缩成一份摘要,只保留最近的原文。这样不会一下子报错,但被压缩掉的细节可能就记不清了。

所以控制消耗的思路就是:别让一个会话背太多东西。

  • 话题真正换了,就新开一个会话。官方的建议也是「一个任务一个会话」。在输入框里输入「/」,选第一个「new」,就是开一个全新的会话。
  • 一个任务只盯一个目标,不相关的事另开。
  • 指令写具体一些,相关的需求合在一起说,中间结果先看一眼再让它继续,少走弯路。
  • 简单的活换成轻量一点的模型,这是最直接的省法。

新开会话不用担心丢东西:同一个 Agent 的文件是共用的,新会话里让它去读需要的文件就行。

另外,只有 Agent 真正在执行任务时才会消耗积分,翻看文件和历史记录不花积分。想看积分用在哪了,可以在「设置 → 空间设置 → 账单」里看。

Report

Your reply

Sign in to join the discussion. Reading is always open; you only need an account to post.

Sign in