">

Vercel AI Gateway 日志新增会话视图:按会话看成本、缓存命中与路由

Vercel 在 2026 年 10 月 17 日给 AI Gateway 的日志页加了 Sessions 视图:把请求按会话归组,行上直接给出发起会话的编码智能体或应用、成本、模型、供应方与各轮的输入缓存比例,点开还能看到缓存命中率、持续时间与逐轮路径。它让「会话亲和有没有生效」变成页面上能直接看见的事。

这次发布的是什么

Vercel 在 2026 年 10 月 17 日的官方更新日志里,给 AI Gateway 的日志页加了一个 Sessions(会话)视图。它把请求按会话归组,并显示会话亲和(session affinity)是怎么给每一轮做路由的。

在此之前,AI Gateway 的日志是逐条请求的:一次会话里的每一轮各是一条记录,想知道「这一整段对话总共花了多少、命中了多少缓存」得自己拼。Sessions 视图补的就是这一层 —— 每一行是一个会话,行上直接给出跑这次会话的编码智能体或应用(官方举例 Claude Code、Codex、Cursor),以及成本、用到的模型、供应方,还有每一轮里有多少输入来自缓存。

点开一个会话,能看到它的缓存命中率、持续时间与路径。路径按轮次列出每一步用的模型和耗时,并标出服务这次会话的供应方,以及此前服务过的供应方。

可用性与限制

  • 适用范围:Vercel AI Gateway 的日志页;官方说明会话亲和默认对文本与聊天请求生效。
  • 归组方式:默认自动归组;没有显式传会话标识的请求,会按会话开头内容的指纹归组,显示为「指纹会话」。
  • 自行归组:可在每次请求里通过 providerOptions.gateway 传同一个 sessionId,或使用同一个 x-session-id 请求头。
  • 筛选维度:可按轮次、客户端、模型、供应方、鉴权方式或成本筛选。
  • 默认过滤:单轮会话会被隐藏,需要清除「最少轮次」这个筛选条件才会显示。
  • 数据范围:只统计经过 AI Gateway 的请求;直连模型供应方的调用不在其中。
  • 费用与额度:AI Gateway 本身的计费方式以官方页面为准,本文不写具体金额。
  • 保留时长:官方未在当前条目里说明日志数据的保留时长,以官方文档为准。

主要功能

  • 会话视图:把逐条请求按会话归组展示
  • 归因到客户端:行上直接显示这次会话由哪个编码智能体或应用发起
  • 成本按会话汇总:一次会话的总成本,不必自己累加每一轮
  • 缓存命中率:点开会话看整体的缓存命中情况
  • 逐轮路径:列出每一轮的模型、耗时与服务供应方
  • 多维筛选:按轮次、客户端、模型、供应方、鉴权方式或成本过滤
  • 手动归组:用 sessionId 或 x-session-id 自行定义会话边界

技术原理

这套东西的关键概念是会话亲和。一次多轮对话里,每一轮的提示词大部分是上一轮的内容再加新问题 —— 如果每一轮被随机分到不同的供应方,那些已经算过的前缀就缓存不上了。会话亲和的做法是:把每一轮发给上一轮服务过的那个供应方,这样供应方的前缀缓存里已经有大部分提示词,可以直接从缓存读。官方的表述是「停留在同一个供应方上的会话,每一轮能从缓存里读到更多」。

所以 Sessions 视图真正想让你看见的是亲和有没有生效:路径里会标出这一轮以及之前各轮分别由哪个供应方服务。如果一段对话里供应方频繁切换,缓存命中率就会掉,而这个下降现在在页面上直接看得见 —— 不用再去猜成本为什么高。

成本与缓存本来是两件分开看的事,这次被放进了同一行:一行同时给总成本与「有多少输入来自缓存」。对长会话来说这两者相关性很强 —— 缓存命中率低的会话,成本通常也更高。

实际体验

这篇不提供第一人称实测,只给出读者可以自己复现的验证步骤。

第一步,确认你的请求确实走了 AI Gateway。日志与会话视图只记录经过网关的请求,代码里直连模型供应方的那部分不会出现,核算成本时要留意这个口径差异。

第二步,先不做任何配置,看自动归组的结果。官方说明没传会话标识的请求会按会话开头内容的指纹归组;观察这个自动结果和你实际的会话边界是否一致。

第三步,如果自动归组不准,改成显式归组:在同一段对话的每次请求里带上同一个 sessionId(providerOptions.gateway),或同一个 x-session-id 请求头。这一步的关键是一致性 —— 同一段对话里漏传一次,会话就会被切开。

第四步,用筛选功能做对照。先按轮次筛掉单轮会话(官方默认就隐藏它们),再按供应方筛,看停留在同一供应方的会话,缓存命中率是否明显高于频繁切换的那些。这个对照比盯着某个数值本身更有说服力。

项目地址与获取方式

官方更新日志:https://vercel.com/changelog/ai-gateway-logs-now-show-session-affinity

日志文档:https://vercel.com/docs/ai-gateway/observability-and-spend/logs

会话亲和文档:https://vercel.com/docs/ai-gateway/models-and-providers/session-affinity

请通过官方渠道接入,避免把密钥交给第三方代理。

适合谁用

  • 通过 AI Gateway 统一接入多个模型供应方、需要按会话核算成本的团队
  • 在用 Claude Code、Codex、Cursor 这类编码智能体、想知道它们各自花了多少的人
  • 关心缓存命中率、想定位「为什么这个会话特别贵」的工程人员
  • 不必用的情况:请求量很小或只做单轮调用的用户 —— 官方默认就隐藏了单轮会话,这个视图的价值主要在多轮场景

常见问题

会话是怎么划出来的?

默认自动划分。会话亲和会对文本与聊天请求生效,没有显式会话标识的请求按会话开头内容的指纹归组,显示为「指纹会话」。要自己控制边界的话,在同一段对话的每次请求里传同一个 sessionId(providerOptions.gateway)或同一个 x-session-id 请求头。

为什么看不到我的单轮请求?

官方说明单轮会话会被隐藏,直到你清除「最少轮次」这个筛选条件。这是默认行为,不是数据缺失。

缓存命中率低说明什么?

可能意味着一段会话里供应方发生了切换 —— 会话亲和的作用正是把每一轮发给上一轮服务过的供应方,好让前缀缓存生效。Sessions 视图的路径里会标出各轮的供应方,先看那里是否在切换,再判断是不是配置问题。

直连供应方的请求会出现在这里吗?

不会。日志与会话视图记录的是经过 AI Gateway 的请求。如果你的代码里有一部分调用是直连模型供应方的,那部分不会出现在这些统计中,核算成本时要留意这个口径差异。

会话亲和需要额外配置吗?

官方说明它默认对文本与聊天请求生效。只有当你想自己定义会话边界时,才需要传 sessionId 或 x-session-id。

相关工具与内容

Related
快讯 1 小时前

DeepSeek 发布 V4.1-Flash-1017:端到端项目开发能力提升,Search & Fetch API 同步开放

DeepSeek 在官方 API 文档站标注「DeepSeek-V4.1-Flash-1017 Release 2026/10/17」,网页版、App 与 API 同步上线,权重释出于 Hugging Face 与 ModelScope。这版主打端到端项目开发能力,官方称任务完成更快、输出更短;同日 Search & Fetch API 面向所有 API 用户开放,提供网页搜索与抓取两类接口。

前沿快讯 2 阅读
快讯 1 小时前

Cursor 云端智能体可产出 Canvas,Environments API 进入公测

Cursor 在 2026 年 10 月 16 日的官方更新日志里一次放了三项与云端智能体相关的更新:云端智能体可以在工作过程中产出可交互的 Canvas 并以链接分享给团队;用于程序化创建与管理云端环境的 Environments API 进入公测;云端环境最多支持 300 个仓库,官方称大型环境加载更快。

前沿快讯 3 阅读
合辑 18 小时前

智能体编排工具怎么选:模型之外还有三道题

十月第三周多家厂商同时把开放权重模型的卖点压到长程智能体上,模型这一层的可选面变宽了。真正卡住的仍是编排层:数据放哪、谁维护、模型能不能换。逐个看五款编排工具各自守住的位置,并给出按场景取舍的路径。

对比 16 阅读

继续阅读:智能体编排工具怎么选:模型之外还有三道题 · 给智能体接一套可观测性:追踪、指标与日志

关于本文:本站文章由编辑部独立撰写,评测口径与免责说明见关于我们。想继续找工具,可从分类导航按场景浏览,或回首页搜索。

链接已复制