LLM 行为特性与计费认知(应用视角)

共 20 题
📑 题目列表 20 题
#
★★★

1. KV Cache 与上下文成本的关系,为什么更长的上下文会显著增加延迟与费用?应用层有哪些控制手段(截断、Prompt Caching、上下文压缩)?

说明 KV Cache 与上下文成本的关系:为什么更长的上下文会显著增加延迟与费用,应用层有哪些控制手段(截断、Prompt Caching、上下文压缩)?

  • 理解 KV Cache 与上下文成本
  • 理解长上下文的高效/延迟/费用
  • 能设计控制手段

关系:模型在生成时需缓存每个 token 的键值(KV Cache),上下文越长,KV Cache 越大、显存占用越多;预填充(prefill)阶段处理长上下文耗时更长(TTFT 高),且长上下文使 KV Cache 更大,显存可能溢出、批处理变慢。费用:更长的输入 token 直接增加 input 计费,且 KV Cache 占用导致并发能力下降。延迟 + 费用 + 显存都随上下文长度增长。应用层控制手段:截断——限制上下文长度,剪掉超长部分;Prompt Caching——缓存重复前缀,降低重复处理成本与延迟;上下文压缩——用摘要/抽取/检索减少送入模型的上下文。三者权衡质量与成本。核心是"长上下文增加 KV Cache/延迟/费用,用截断、缓存、压缩控制上下文长度"。

KV Cache 是"上下文决定显存/延迟/成本"的根源。控制手段本质是"减少送入模型的上下文长度",缓存复用重复部分,压缩/截断去除冗余。

#
★★★

2. 首 token 延迟(TTFT)与生成速率(TPOT)为什么是两个独立的优化目标?应用层分别如何优化(流式输出、连接预热、并发与批处理)?

说明首 token 延迟(TTFT)与生成速率(TPOT)为什么是两个独立的优化目标,应用层分别如何优化?

  • 理解 TTFT 与 TPOT 的独立性
  • 理解各自的优化手段
  • 能设计优化

独立性:TTFT 是"从请求到首 token"的延迟,主要由 prefill(处理输入上下文)与排队决定;TPOT 是"每个输出 token 的生成时间",主要由 decode 阶段与批大小决定。两者由不同阶段决定,优化方向独立——降低 TTFT 不一定降低 TPOT,反之亦然。应用层优化:TTFT——流式输出(尽快返回首 token 给用户)、连接预热(复用连接减少握手)、减少上下文长度(prefill 更快)、减少排队(并发控制);TPOT——并发与批处理(continuous batching 提升 decode 吞吐)、选择高吞吐模型/框架、控制输出长度。核心是"TTFT 管 prefill/排队,TPOT 管 decode,分别用流式/预热/减少上下文 与 批处理/并发 优化"。

TTFT 与 TPOT 由不同阶段(prefill vs decode)决定,是独立目标。优化手段不同:TTFT 靠流式、预热、短上下文,TPOT 靠批处理、并发、高吞吐。

#
★★★

3. 推理模型(reasoning)的思考 token 单独计费、缓存复用与超长思维链对预算的冲击,应用如何用思考档位与上限管控成本?

说明推理模型(reasoning)的思考 token 单独计费、缓存复用与超长思维链对预算的冲击,以及应用如何用思考档位与上限管控成本?

  • 理解思考 token 的计费与成本
  • 理解超长思维链的冲击
  • 能设计成本管控

冲击:推理模型的思考 token 单独计费(可能比输出贵),且思考链可能很长(超长思维链),使单次请求成本远超普通模型;缓存复用受限——思考内容可能不缓存或缓存规则不同,无法通过缓存摊薄。管控手段:一是思考档位——用 reasoning effort/thinking 档位(low/medium/high)控制思考强度,简单任务用低档,减少思考 token;二是思考上限——设置思考 token 预算/上限(如 max_thinking_tokens),超限停止思考,防止思维链失控;三是路由——简单任务用普通模型,仅复杂任务用推理模型,避免高成本;四是监控——按租户/任务监控思考 token 成本,设定预算告警与配额。核心是"用思考档位 + 思考上限 + 路由 + 监控,控制推理模型的思考 token 成本"。

推理模型的成本冲击来自"思考 token 单独计费 + 思维链可能很长"。管控靠"档位降强度 + 上限控长度 + 路由控范围 + 监控控预算"。

#
★★★

4. 可复现性的采样参数杠杆,seed、top_p 与频率惩罚在供应商间的实现差异,业务应如何组合使用并验证?

说明可复现性的采样参数杠杆:seed、top_p 与频率惩罚在供应商间的实现差异,业务应如何组合使用并验证?

  • 理解各采样参数的作用
  • 理解供应商实现差异
  • 能设计组合与验证

参数作用:seed 固定随机源,top_p 截断低概率 token 的采样空间,频率惩罚降低已出现 token 的重复概率。供应商差异:seed 支持程度不一(部分不支持或语义不同);top_p 实现一致但默认值不同;频率惩罚的具体实现与强度不同(有的按出现次数累加,有的固定)。组合使用:固定 seed + top_p + temperature + 模型版本,以提高可复现性;频率惩罚用于抑制重复(但过度会退化)。验证:用"同一输入重复 N 次"统计输出一致性,验证参数组合的真实可复现性;不能假设"同参数跨 Provider 结果一致"——需在各 Provider 上单独验证。核心是"理解各参数作用与供应商差异,组合固定参数并实测验证可复现性"。

可复现性依赖"参数 + 版本 + 输入"联合,且各参数在供应商间实现有差异。组合时要固定全部相关参数,并实测验证,不能假设跨 Provider 一致。

#
★★

5. LLM 为什么会产生幻觉?纯应用层可做与不可做的缓解手段分别有哪些(RAG、约束解码、二次校验、拒答阈值)?

说明 LLM 为什么会产生幻觉,以及纯应用层可做与不可做的缓解手段(RAG、约束解码、二次校验、拒答阈值)?

  • 理解幻觉的成因
  • 理解应用层可做/不可做
  • 能设计缓解组合

成因:模型是"按概率生成 token",它生成的是"看起来合理"的内容,而非"事实正确"的内容;训练目标是语言流畅而非事实验证;知识是压缩的、有时过时;采样随机性也引入编造。应用层可做:RAG——用检索证据约束,让模型基于证据回答;约束解码——限制输出格式(结构化、合法 token),减少格式类幻觉;二次校验——用规则/另一个模型校验输出事实;拒答阈值——置信度或证据不足时拒答;提示词要求"基于证据,注明不确定"。应用层不可做(无法根治):无法让模型"真正理解"事实,无法消除训练知识本身的错误,无法保证所有输出绝对准确——只能降低概率、加校验、加人工兜底。核心是"应用层可降低幻觉概率与增加校验,但无法根治,需靠证据约束+校验+拒答+人工兜底"。

幻觉根因是"生成式 + 求似然而非求真"。应用层能"降低概率 + 校验 + 兜底",但不能根除。理解"可做 vs 不可做"才能给合理期望。

#
★★

6. temperature 与模型确定性,业务对"可复现输出"有要求时,除调参外还有哪些兜底(缓存/规则后处理)?

业务对"可复现输出"有要求时,除调参(temperature 等)外还有哪些兜底(缓存/规则后处理)?

  • 理解调参的局限
  • 理解兜底手段
  • 能设计可复现方案

调参局限:降低 temperature/固定 seed 能提高可复现性,但模型版本升级、后端变化、采样实现差异仍会导致漂移,无法保证绝对可复现。兜底手段:一是结果缓存——对"确定输入"缓存已生成的结果,命中直接返回,从根上保证一致(输入相同则输出相同);二是规则后处理——对可规则化的输出(金额、分类、格式)用确定性规则处理,抽离出模型的部分;三是选择确定性路径——对"必须可复现"的任务,优先用规则/查询而非模型;四是版本锁定——固定模型版本与参数,绑定快照;五是去重/指纹——对相似输出归并。核心是"可复现要求用缓存/规则/确定性路径兜底,而非只依赖调参"。

调参是"提高概率",不能"保证"。真正要可复现,靠缓存(同输入同输出)、规则后处理(确定性)、确定性路径(非模型)。调参只是辅助。

#
★★

7. 上下文窗口超限的截断行为(头/中/尾裁剪)如何影响质量,应用层如何主动管理?

说明上下文窗口超限的截断行为(头/中/尾裁剪)如何影响质量,以及应用层如何主动管理?

  • 理解不同裁剪位置的影响
  • 理解主动管理
  • 能设计管理策略

影响:硬截断可能发生在头部、中间或尾部——裁尾(丢最近消息)影响近期对话,裁头(丢 system/早期指令)可能破坏指令与关键上下文,裁中可能加剧 Lost-in-the-Middle。不同软件实现裁剪位置不同,都不可控且伤质量。主动管理:应用层在超限前主动决策"该压缩什么"——按优先级:先压缩/摘要早期历史(保留指令与最近对话)、再剪枝冗余 RAG、保留 system 指令与输出空间;用 tokenizer 估算用量,在接近上限前主动处理,而非等待硬截断;对关键信息(指令、工具、最近事实)做保护,不裁剪。核心是"主动按优先级压缩而非被动硬截断,保护指令与关键近况"。

被动硬截断位置不可控、伤质量。主动管理是"在超限前按优先级压缩",保护指令与最近信息,优先牺牲历史与冗余证据。

#
★★

8. LLM 的计费模型,input/output token 定价差异、缓存(prompt caching)与批处理折扣如何影响成本结构?

说明 LLM 的计费模型:input/output token 定价差异、缓存(prompt caching)与批处理折扣如何影响成本结构?

  • 理解 input/output 定价差异
  • 理解缓存与批处理折扣
  • 能设计成本优化

计费模型:input token 与 output token 单价不同(通常 output 更贵,且不同模型/Provider 差异大);缓存——缓存命中(cache read)比普通 input 便宜,缓存写入可能更贵,命中越多成本越低;批处理折扣——部分 Provider 对异步/批处理请求提供折扣(如 50% off),延迟不敏感任务用批处理省成本。成本结构影响:成本由"input 量 + output 量 + 缓存命中 + 批处理折扣"共同决定。优化:压缩 input(上下文/检索)、控制 output 长度、最大化缓存命中(稳定前缀)、对延迟不敏感任务用批处理折扣。核心是"理解 input/output 价差、缓存与批处理折扣,通过压缩/缓存/批处理优化成本结构"。

成本结构是"输入+输出+缓存+批处理"四维。输出贵、缓存省、批处理打折。优化要综合用压缩、缓存、批处理,而非只看单价。

#
★★

9. 上下文窗口的经济性,长 prompt 的 token 成本与检索策略(只传必要上下文)如何权衡?

说明上下文窗口的经济性:长 prompt 的 token 成本与检索策略(只传必要上下文)如何权衡?

  • 理解长 prompt 的成本
  • 理解检索策略与成本
  • 能设计权衡

长 prompt 直接增加 input token 成本(尤其逐请求重复的历史/上下文),且可能提高缓存失效与延迟。检索策略(只传必要上下文)可显著降低成本——通过检索只注入与当前任务相关的片段,而非全量知识库。权衡:检索有额外开销(检索服务成本、延迟、可能漏检),但相比"全量长 prompt"能大幅省 token 成本。原则:对"重复、长、且部分冗余"的上下文用检索压缩;对"必须完整、高频复用"的用缓存;按"检索成本 vs 长 prompt token 成本"算收益。核心是"检索只传必要上下文,用检索成本 vs 长 prompt token 成本权衡,省 token 但需评估检索收益"。

长 prompt 贵,检索能省。但检索本身有成本与漏检风险。权衡点是"检索省下的 token 成本 vs 检索的开销与质量损失",结合任务需要精确/全面的程度。

#
★★

10. logprobs 与输出概率在不确定性检测、路由决策与质检中的应用边界,以及 Provider 支持差异?

说明 logprobs 与输出概率在不确定性检测、路由决策与质检中的应用边界,以及 Provider 支持差异?

  • 理解 logprobs 的应用
  • 理解应用边界
  • 理解 Provider 差异

应用:logprobs(每个 token 的对数概率)可用于——不确定性检测(输出 token 概率低则置信度低,可触发拒答/复核)、路由决策(低置信则升级到强模型)、质检(量化输出质量分布)。边界:一是 logprobs 反映的是"采样概率"而非"事实正确性"——高概率的 token 也可能是错的(模型自信地错),所以不能作为"正确性"的唯一证据;二是只能反映 token 级,无法直接反映整句语义正确性;三是 Provider 支持差异大——部分不支持 logprobs、部分只支持部分端点、部分限制了返回数量,需查能力矩阵。应用时把 logprobs 作为"置信信号"之一,与证据校验、规则校验结合,而非单独依赖。核心是"logprobs 作置信信号但非正确性指标,需结合校验,且注意 Provider 支持差异"。

logprobs 的边界是"概率 ≠ 正确"。高概率可能错,低概率是"不确定"但非"错"。应用时作辅助信号,且受 Provider 支持限制。

#
★★

11. 多模型路由的成本控制,简单任务用轻模型、复杂任务用强模型?

说明多模型路由的成本控制:简单任务用轻模型、复杂任务用强模型?

  • 理解分级路由
  • 理解成本控制
  • 能设计路由策略

策略:按任务复杂度路由——简单任务(分类、抽取、改写、摘要)用轻/便宜模型(低成本、低延迟),复杂任务(多步推理、复杂生成、代码)用强/贵模型。成本控制:避免"所有任务都用最强模型"的浪费,用轻模型处理 80% 简单任务、强模型处理 20% 复杂任务,总成本大幅下降。实现:任务分类(意图/复杂度识别)路由到对应模型;级联路由——先轻模型,置信度不足升级到强模型;用能力矩阵与成本预算约束。需监控:轻模型在复杂任务上的质量下降是否可接受,用评估集校验。核心是"按任务复杂度分级路由,轻模型管简单、强模型管复杂,级联升级控制成本"。

成本控制的核心是"把资源用在刀刃上"。分级路由让简单任务不浪费强模型,复杂任务保证质量,级联升级兜底置信不足。

#
★★

12. 输出截断检测,max_tokens 上限导致内容被硬截断时,如何自动续写、重试或提示用户?

说明输出截断检测:max_tokens 上限导致内容被硬截断时,如何自动续写、重试或提示用户?

  • 理解截断检测
  • 理解续写/重试/提示
  • 能设计截断处理

检测:判断输出是否被硬截断——API 返回的 finish_reason 为 length(而非 stop),或输出 token 数达到 max_tokens 上限。处理策略:一是自动续写——用截断点作为上下文,继续请求模型生成剩余内容(续写),直到自然结束;二是重试——若截断是参数/上下文问题,调整 max_tokens 或压缩输入后重试;三是提示用户——若无法续写(如任务已超长),告知用户"输出超长被截断",提供"查看部分/继续生成"选项。续写要注意:把已生成内容作为 assistant 消息回填,避免重复上下文;设置续写轮次上限防死循环。核心是"检测 finish_reason=length 的截断,用续写/重试/提示用户处理,续写需回填上下文并设上限"。

截断检测靠 finish_reason 或 token 数。处理优先"续写"(自然继续),参数问题可"重试",无法处理则"提示用户"。续写要正确回填已生成内容。

#
★★

13. 无状态行为,模型不记忆跨请求上下文,应用如何显式管理会话状态与上下文重建?

说明模型的无状态行为:模型不记忆跨请求上下文,应用如何显式管理会话状态与上下文重建?

  • 理解模型无状态
  • 理解会话状态管理
  • 能设计上下文重建

模型无状态:每次请求是独立的,模型不记忆跨请求的会话内容,上下文必须由应用显式携带。应用管理:一是会话状态存储——把会话历史(消息、工具结果、用户状态)持久化存储(数据库/缓存),按会话 id 管理;二是上下文重建——每次请求时从存储取回历史,按消息顺序组装成完整上下文(system + 历史 + 当前),再发给模型;三是裁剪/压缩——长会话按预算裁剪历史(摘要/滚动窗口);四是并发与一致性——多设备/多轮共享同一会话状态,用会话 id 定位。本质是"应用是会话状态的所有者,模型只是无状态的函数,每次请求由应用重建上下文"。核心是"存储会话状态 + 每次请求重建上下文 + 按预算裁剪历史"。

模型无状态是关键认知。应用负责"状态",每次把历史显式传给模型。"重建上下文"是应用的核心职责,要考虑存储、组装、裁剪。

#

14. Tokenizer(BPE)对中文、代码、数字的切分特点及其对 Prompt 设计与按 Token 计费的影响?

说明 Tokenizer(BPE)对中文、代码、数字的切分特点及其对 Prompt 设计与按 Token 计费的影响?

  • 理解 BPE 对不同内容的切分
  • 理解对 Prompt 与计费的影响
  • 能设计优化

BPE 切分特点:中文——通常按字或子词切分,一个汉字可能占 1~2 个 token,中文 token 密度高(字符数多则 token 多);代码——按标识符/关键字/空格切分,紧凑代码 token 相对少,但长变量名/注释多则会多;数字——多位数字可能被切成多个 token(模型对数字切分不友好),价格/日期等数字串 token 多。影响:计费——token 数直接决定成本,中文/数字密度高导致同样字符数成本更高;Prompt 设计——避免冗长冗余(中文更费 token)、用紧凑代码、格式化数字、控制 Prompt 长度;预估——用 tokenizer 精确估算而非字符数。核心是"中文/数字 token 密度高,Prompt 设计要精简并考虑各类内容 token 成本"。

BPE 切分影响 token 数与成本。中文密度高、数字切分碎片化。Prompt 设计要精简、格式化,用 tokenizer 估算而非字符数。

#

15. 模型版本行为漂移(同 Prompt 不同版本输出变化)如何监控与应对?

说明模型版本行为漂移(同 Prompt 不同版本输出变化)如何监控与应对?

  • 理解版本漂移
  • 理解监控方法
  • 能设计应对

监控:用固定评估集在不同版本上跑对照,比较输出质量、格式、行为(工具调用、结构化输出);生产用影子流量对比新旧版本输出;监控指标漂移(错误率、格式失败率、指令遵循率)。应对:一是版本锁定——固定模型版本,避免静默升级;二是灰度——新版本先用影子/灰度验证,再全量;三是契约测试——版本升级跑输出格式契约,防止格式漂移;四是回滚——异常时回滚到旧版本;五是评估集回归——每次升级用同一评估集确认质量不降。核心是"用固定评估集+影子流量监控版本漂移,版本锁定+灰度+契约+回滚应对"。

版本漂移不可避免(Provider 更新)。监控靠固定评估集与影子对比,应对靠版本锁定、灰度、契约测试、回滚。把"版本升级"当受控变更。

#

16. 同一参数下模型输出仍会漂移,温度、采样与后端升级对业务稳定性的影响应如何量化与缓解?

同一参数下模型输出仍会漂移,温度、采样与后端升级对业务稳定性的影响应如何量化与缓解?

  • 理解漂移来源
  • 理解量化方法
  • 能设计缓解

漂移来源:即使同参数,采样随机性(温度/seed 影响)、后端升级(模型内部改进、tokenizer 变化、推理实现变化)都会导致输出漂移。量化:用"同输入重复 N 次"测输出一致性(重复率、相似度);用"同参数跨版本"跑评估集测质量差异;用"漂移率"(输出变化比例、指标波动)量化。缓解:固定 seed/温度/版本(降低随机漂移);对关键结果用缓存/规则后处理(确定性兜底);灰度验证后端升级(影子对比);监控输出指标漂移并告警;对必须稳定的业务用确定性路径。核心是"量化漂移(重复一致性+跨版本差异),用固定参数、缓存、规则、灰度、监控缓解"。

漂移源于"采样随机 + 后端升级"。量化靠重复一致性测试与跨版本评估,缓解靠固定参数、确定性兜底、灰度与监控。漂移无法杜绝但可量化管理。

#

17. 按输入、输出与缓存命中分别计价的场景下,缓存复用与批处理如何实际降低单次请求成本?

在按输入、输出与缓存命中分别计价的场景下,缓存复用与批处理如何实际降低单次请求成本?

  • 理解分类计价
  • 理解缓存与批处理的降本
  • 能设计成本优化

分类计价:input 计费、output 计费、缓存命中(cache read)按更低价格计费。缓存复用降本:稳定前缀(system、工具、历史)命中缓存,按 cache read 低价计费,而非按普通 input 高价,命中越多单次请求的 input 成本越低。批处理降本:对延迟不敏感任务用批处理,部分 Provider 提供折扣(如 50% off),降低单次成本。实际降低:一是最大化缓存命中——稳定前缀前置、复用前缀,让大段 input 走 cache read;二是复用缓存——同一会话/任务的重复前缀命中;三是批处理——延迟不敏感任务批量提交拿折扣。核心是"缓存命中让 input 走低价、批处理拿折扣,两者共同降低单次请求成本"。

降本的关键是"让 input 走缓存命中(低价)+ 批处理拿折扣"。缓存复用最大化、批处理延迟换成本,是分类计价下的两大杠杆。

#

18. 结构化输出(JSON Mode/Function Calling)的一致性保证应如何评估,Schema 通过率、字段缺失率与重试成本如何度量

结构化输出(JSON Mode/Function Calling)的一致性保证应如何评估:Schema 通过率、字段缺失率与重试成本如何度量?

  • 理解结构化输出评估指标
  • 理解重试成本
  • 能设计评估

指标:Schema 通过率——输出能被解析且符合 schema 的比例(格式正确率);字段缺失率——输出缺少必需字段的比例(字段完整性);数值正确率——字段值是否正确(语义正确性);重试成本——因格式/解析失败导致的重试次数与额外成本(token/延迟)。度量:在评估集上统计各指标;对"格式失败"记录重试次数与成本,评估结构化输出方案的稳定性。合格标准:Schema 通过率应高(接近 100%,配合约束解码/Structured Outputs),字段缺失率低,重试成本可控。核心是"用 Schema 通过率、字段缺失率、重试成本度量结构化输出的一致性与成本"。

结构化输出一致性从"格式"与"语义"双维度评估。Schema 通过率管格式、字段缺失率管完整性、重试成本管稳定性。约束解码可大幅提升格式通过率。

#

19. 模型输出的指纹与去重,相似输出识别在成本控制、日志审计与结果缓存中的应用?

说明模型输出的指纹与去重:相似输出识别在成本控制、日志审计与结果缓存中的应用?

  • 理解输出指纹/去重
  • 理解各应用场景
  • 能设计指纹

输出指纹:对模型输出计算哈希/哈希化向量(或语义指纹),用于识别相似/重复输出。应用:成本控制——对"相同输入"的重复请求,用结果缓存命中(按输入+输出指纹)直接返回,避免重复计费;日志审计——用指纹去重,减少重复日志存储,便于检索相似输出;结果缓存——用"输入指纹"做缓存键,语义相似输入命中缓存。设计:指纹需区分"精确重复"(哈希)与"语义相似"(embedding 相似度),按需选。注意:去重不能误伤必要差异(如时间戳、个性化)。核心是"用输出/输入指纹做结果缓存、去重日志、识别重复,控制成本与存储"。

指纹让"重复请求"可识别。结果缓存命中省成本、日志去重省存储、审计好检索。指纹要区分精确与语义相似,且避免误伤合法差异。

#

20. 长上下文“迷失在中间”,模型对中段信息的利用弱于头尾,关键指令与证据应如何排布?

说明长上下文"迷失在中间":模型对中段信息的利用弱于头尾,关键指令与证据应如何排布?

  • 理解 Lost-in-the-Middle
  • 理解关键排布
  • 能设计优化

现象:在长上下文中,模型对位于中间部分的信息利用较头尾弱(尤其是需要精确引用时),中段信息可能被忽略。排布优化:把关键指令放最前(system 开头,模型最重视);把关键证据/事实放最前或最后(靠前的位置利用率高);把次要、可省略的信息放中段;对需要精确引用的信息,用"重要内容前置"并尽量减少中间堆砌;对长 RAG 结果,把最相关证据排前。原则:关键信息"向前靠",中段只放辅助内容,避免把核心事实埋在中段。核心是"关键指令与证据前置,次要信息放中段,避免核心内容被埋没"。

Lost-in-the-Middle 是"模型对中段注意力弱"。缓解靠"关键前置、次要中置",把最重要的指令与证据安排在头尾高利用率区。