推理侧个性化陷阱:当用户上下文的成本超过其收益时
几乎每个 AI 产品在达到数十万活跃用户时都会出现一种模式:团队开始增加个性化——在每个 Prompt 中注入用户历史、偏好信号和行为数据——然后看着产品略微变好,而基础设施账单却大幅增加。当他们最终拉取日志并衡量每增加一个 token 带来的质量增量时,曲线的形状几乎总是一样的:早期增益陡峭,随后进入漫长的平台期,最后是你支付全价却只能换来微乎其微的回报。
大多数团队只有在深陷泥潭时才会进行这种分析。这篇文章将探讨为什么这个陷阱会存在,个性化在何处停止产生回报,以及在生产环境中真正有效的架构是什么样的。
为什么大家默认选择“更多上下文”
在推理时注入用户上下文的直觉源于一个合理的出发点。你有用户数据。模型在知道对话对象是谁时表现更好。因此:在每个请求的系统 Prompt 中注入你所知道的关于用户的一切。
问题在于,“表现更好”和“值得这个成本”并不是同一种衡量标准。
一个典型的用户画像——浏览历史、明确表达的偏好、过往交互、人口统计信号——在序列化后可能达到 800–2,000 个 token。在大规模应用下,这直接转化为基础设施成本。假设每个会话有 5 次请求,对于 10 万日活用户,每个请求注入 2,000 个 token 的上下文,意味着你每天纯粹为了个性化就在处理额外 10 亿个 token。按照目前前沿模型的定价,这个数字会对单位经济效益产生实质性影响。
更深层的问题是,这种成本随用户数量线性增长,而准确性的提升却并非如此。
无人画出的饱和曲线
注入的用户上下文 token 与响应质量之间的关系不是线性的,而是 S 型曲线(sigmoidal)。针对长上下文设置中偏好遵循的研究一致表明,模型从用户历史的前几百个 token 中就能提取出大部分有用的个性化信号。超过这个点后,额外的上下文要么因为注意力机制(该机制会低估 Prompt 中间内容的权重)而被忽略,要么因为产生检索噪声而主动降低质量。
一个说明其严重性的发现是:在零样本(zero-shot)个性化场景中,在大多数评估的模型中,仅对话历史达到 10 轮(约 3,000 个 token)时,偏好遵循的准确率就降到了 10% 以下。超过这个阈值后增加更多历史记录并不能弥补损失,反而会放大损失。模型变得注意力不集中,而不是更加个性化。
内联 用户上下文的有效区域很窄。对于大多数任务,300–500 个 token 的精选用户信号带来的提升几乎与 2,000 个 token 的原始历史记录相当。团队在实践中通常做的是注入比模型能有效利用的量多 10 倍的上下文,为这些 token 付费,并将微小的质量提升归功于数据量,而非数据选择的质量。
缓存失效税
还有第二种成本不那么明显,但同样痛苦:推理端的个性化会摧毁 Prompt 缓存命中率。
模型提供方的 Prompt 缓存通过匹配 Prompt 开头的精确 token 序列来工作。如果你的系统 Prompt 以静态指令开头,后面跟着个性化的用户上下文块,而该上下文因用户而异,那么每个请求都会导致缓存未命中。你必须为每次调用的输入 token 支付全额费用。
对此进行计算的团队通常会发现,他们错过了巨额的成本节省。在一个记录在案的生产案例中,通过重新调整 Prompt 结构(将静态指令放在前面,用户上下文放在最后,并将用户上下文块减少到 200 个 token 的压缩摘要),缓存命中率从 23% 跃升至 71% —— 逻辑相同、模型相同、用户相同。成本改善是以每月数万美元衡量的,而不仅仅是 token。
架构上的博弈是真实存在的:每个请求的个性化程度越高,能缓存的内容就越少。你在用户自定义 Prompt 前缀中添加的每一个 token,都是一个阻止与其他用户共享前缀的 token。
