Vercel 在 2026 年 10 月 17 日给 AI Gateway 的日志页加了 Sessions 视图:把请求按会话归组,行上直接给出发起会话的编码智能体或应用、成本、模型、供应方与各轮的输入缓存比例,点开还能看到缓存命中率、持续时间与逐轮路径。它让「会话亲和有没有生效」变成页面上能直接看见的事。
Vercel AI Gateway 日志新增会话视图:按会话看成本、缓存命中与路由
这次发布的是什么
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。
相关工具与内容
- 工具页:Cursor、CodeBuddy、Dify
- 分类:AI智能体、AI编程、AI对话
- 同题材快讯:Vercel CLI 让智能体可以买域名、MAI-Image-2.6 上架 AI Gateway
相关内容
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 用户开放,提供网页搜索与抓取两类接口。
Cursor 云端智能体可产出 Canvas,Environments API 进入公测
Cursor 在 2026 年 10 月 16 日的官方更新日志里一次放了三项与云端智能体相关的更新:云端智能体可以在工作过程中产出可交互的 Canvas 并以链接分享给团队;用于程序化创建与管理云端环境的 Environments API 进入公测;云端环境最多支持 300 个仓库,官方称大型环境加载更快。
智能体编排工具怎么选:模型之外还有三道题
十月第三周多家厂商同时把开放权重模型的卖点压到长程智能体上,模型这一层的可选面变宽了。真正卡住的仍是编排层:数据放哪、谁维护、模型能不能换。逐个看五款编排工具各自守住的位置,并给出按场景取舍的路径。