AIHero

    模型

    模型提供商请求

    运行框架与模型提供商之间的一次往返:运行框架发送上下文,提供商返回一次响应。

    Matt Pocock
    Matt Pocock

    模型提供商请求是运行框架模型提供商之间的一次往返。运行框架发送当前上下文,提供商返回一个响应(一次工具调用或最终答案)。如果智能体调用工具,一条用户消息就可能产生许多个模型提供商请求——每个工具结果都会触发下一个请求。

    每个请求都会携带全部内容:系统提示词、截至当前的完整对话和每个工具结果。模型无状态的,因此提供商不会在请求之间保留任何内容——第 40 个请求会重新发送第 39 个请求发送的全部内容,再多加一个工具结果。前缀缓存正是为了降低这种重复的成本。

    请求也是计费单位。输入 Token输出 Token和缓存折扣都按请求计算。这就是为什么一个看起来无害的问题可能产生出乎意料的费用:成本并不与你的消息长度成正比,而取决于请求数量乘以每个请求携带的上下文大小。

    应当把请求与轮次区分开。轮次是与你的一次交互,而单个轮次——“修复失败的测试”——可能展开成一连串请求:

    请求模型返回运行框架随后
    1工具调用:运行测试运行测试,并追加失败输出
    2工具调用:读取测试文件追加文件内容
    3工具调用:读取源文件追加文件内容
    4工具调用:编辑源文件应用编辑,并追加结果
    5工具调用:再次运行测试运行测试,并追加通过输出
    6最终回答:“已修复,测试通过”向你展示结果

    一个轮次产生了六个请求——每个请求都会重新发送完整上下文。当你想知道 Token 都花到哪里去了,应当数请求,而不是数轮次。

    用法:

    “一个问题就消耗了四万个 Token?”

    “看看工具调用——12 次 grep、8 次读取、4 次编辑。每个工具结果都会产生新的模型提供商请求,而且每次都会重新发送整个会话前缀。”

    不只想学术语?

    加入 AI Hero,获取实用技能、AI 工程思考,以及帮助你始终走在前沿的资源。

    没有垃圾邮件,随时可以退订。

    分享