先这样答
一张图占多少 Token,没有固定数字:取决于图片分辨率和模型的切分方式,几十到几千都有。分辨率越高,切块越多,视觉 Token 就越多;不少模型还会把大图切成多块分别编码,一张高清图很容易超过几百个 Token,比一段面积相当的普通文字贵得多。
多模态对话消耗快,主要原因是图片会留在历史里。多轮对话时,前面每一轮的图片和对应的讨论都还在上下文中,除非主动截断,否则每发一张新图,占用量就在往上累加。几张高清图加上围绕它们的问答,就能吃掉窗口里相当大的一块,留给后续文字的空间就少了。
给面试官的总结是:图片不是轻量的「附件」,它是按 Token 计价、按位置占位的上下文内容。管理多模态对话,本质上是在管理上下文预算。
面试官会怎么追问
- 「怎么估算一张图的 Token 数?」 看所用模型文档的换算规则,一般按分辨率或块数计算,高分辨率再乘上切分的块数。量级上几十到几千都有,回答时讲清楚决定因素即可,背具体表格反而容易出错。
- 「有什么省 Token 的办法?」 主动管理历史:不再讨论的旧图尽早截掉;入口处压缩图片尺寸;一些服务支持前缀缓存,重复内容不重复计费。核心是别让上下文无管理地累积。
- 「视频是不是更夸张?」 是。视频按帧采样,每帧按图处理,成本等于单帧 Token 乘帧数,一小段视频就可能占满一整段窗口,这也是长视频方案都要做压缩和筛选的原因。
回答的坑
- 脱离分辨率和切分方式报一个精确数字。一张图的 Token 数是变量,说死数字反而暴露不懂机制。
- 以为发过的图聊几句就自动释放。历史消息里的图会一直占位,不做主动管理,窗口和成本都会被吃光。
同系列的题
—— 本题完 ——