解析 LLM 在推荐系统中的三大优势:语义编码消除冷启动、长上下文多轮对话、生成式推荐解释,并给出工程化基础设施建议。
传统推荐系统依赖协同过滤和矩阵分解来筛选商品。这些方法在交互数据丰富时效果不错,但面对冷启动问题、稀疏的用户历史以及现代商品目录中大量非结构化元数据时往往力不从心。大语言模型提供了一种统一的替代方案。它们能够编码语义化的商品描述、推理长期用户会话,还能为每条推荐生成自然语言解释。对于正在构建下一代个性化推荐流程的工程团队而言,这场变革不仅仅是模型架构层面的变革,更关乎基础设施能否支持长上下文推理和 Agent 化循环,同时不带来不可预测的成本增长。
LLM 为推荐系统带来了几个切实可行的优势。
语义理解:模型可以直接摄入商品描述、评论和用户生成内容,无需手工设计特征管道。
零样本迁移:只要模型理解新商品或新品类的文本描述,就能立即为之提供推荐,从而减少冷启动延迟。
多轮上下文:对话式购物助手可以跨会话保持状态,动态细化用户偏好。
可解释性:模型输出的不再是模糊的评分,而是"基于你喜欢 100 美元以下的简约风格跑鞋而推荐"这类推理过程。
这些能力将推荐系统从一个静态评分引擎转变为一个理解用户意图的交互系统。
大多数生产级实现都属于以下四种模式之一。
使用 LLM 或 embedding 模型为商品和查询生成稠密向量,然后输入传统双塔模型或分解模型。Oxlo.ai 提供 BGE-Large 和 E5-Large 的 embedding 端点,可通过标准 OpenAI SDK 调用,并集成到现有检索流程中。
通过向量搜索或启发式方法检索候选集,然后提示 LLM 根据用户画像和近期行为对商品进行评分或重排。这里涉及上下文窗口长度和提示词长度的取舍。由于 Oxlo.ai 采用基于请求的计费方式而非按 token 计费,在提示词中传入冗长的商品目录或大量点击历史不会增加推理成本。
模型直接生成商品标识符、查询细化词或个性化营销文案。这种方式最适合商品目录较小,或者输出本身就是可映射到下游商品的自然语言建议的场景。
LLM 作为 Agent,拥有对工具的访问权限:搜索 API、库存数据库和用户画像存储。它发出函数调用来收集上下文,然后综合得出最终推荐。Agent 化工作流通常需要多轮交互和大上下文缓冲区,在按 token 计费的平台上成本会快速攀升。Oxlo.ai 的固定按请求计费模式正是为这类工作负载设计的。
LLM 排序器的质量取决于你如何表达用户画像。一个强提示词通常包括:
结构化用户画像(人口统计信息、明确偏好、预算约束)。
按时间顺序排列的交互历史(浏览、购买、退货)。
带属性的候选商品列表(标题、品类、价格、描述)。
输出格式规范,最好通过 JSON 模式强制执行。
长期用户历史和详细商品目录产生的提示词可能长达数万 token。在按 token 计费的提供商那里,这直接增加了每条推荐的成本。Oxlo.ai 消除了这个变量。无论提示词长度是 1K 还是 100K token,你只需为每次 API 请求支付固定费用,因此可以传入完整会话上下文而无需权衡取舍。
以下是排序用户候选商品的最简 Python 示例。它使用指向 Oxlo.ai 的 OpenAI SDK,并请求结构化 JSON 响应。我们使用 Llama 3.3 70B,这是一款在结构化上下文推理方面表现强大的通用模型。
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.oxlo.ai/v1",
api_key=os.environ.get("OXLO_API_KEY")
)
user_history = """
- Viewed: Wireless Noise-Cancelling Headphones (Sony WH-1000XM5)
- Purchased: USB-C Charging Cable (Anker, 6ft)
- Viewed: Mechanical Keyboard Keychron K8
"""
candidates = """
1. Keychron K8 Pro (Mechanical, RGB, Bluetooth)
2. Logitech MX Keys S (Wireless, low-profile)
3. Sony WH-CH720N (Noise-cancelling, budget tier)
4. Anker 737 Power Bank (24,000 mAh)
"""
prompt = f"""You are a personalized shopping assistant.
Based on the user's history and the candidate items below, rank the top 3 items and explain why each fits the user's preferences.
User History:
{user_history}
Candidate Items:
{candidates}
Respond in JSON with keys: rankings (array of objects with fields rank, item_id, reasoning)."""
response = client.chat.completions.create(
model="llama-3.3-70b",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"}
)
print(response.choices[0].message.content)
由于 Oxlo.ai 完全兼容 OpenAI SDK,只需修改 base_url 即可。你可以在不同模型之间切换,比如面向多语言用户的 Qwen 3 32B、用于复杂推理的 DeepSeek R1 671B MoE,或者面向 Agent 化编码和视觉工作流的 Kimi K2.6,而无需重写客户端逻辑。
在排序之前,你需要候选集。Oxlo.ai 通过 /embeddings 端点提供 BGE-Large 和 E5-Large 等 embedding 模型。你可以在向量数据库中为商品描述建立索引,根据用户查询检索 top-k 最近邻,然后将候选结果传给 LLM 排序器。
这种双阶段架构能同时保持低延迟和高 quality。Embedding 步骤负责 broad 检索,LLM 负责细粒度个性化。由于两个阶段都可以在 Oxlo.ai 上完成,你可以在单一提供商和统一的 API 形状上标准化你的基础设施。
对于高级个性化场景,将 LLM 作为 Agent 来使用。为其提供函数定义以查询用户画像数据库、检查库存水平或应用业务规则(如利润阈值)。模型决定调用哪些工具,然后生成最终推荐。
这种模式在营销自动化中表现出色,单个用户请求可能触发:
跨三个类目索引的搜索。
促销资格对比。
个性化邮件文案的起草。
每个步骤都会增加 token 和 API 调用。在按 token 计费的平台上,Agent 化循环的成本会快速累积。Oxlo.ai 的按请求计费模式在这方面可能显著降低成本,因为每次调用的价格是固定的,即使提示词中包含冗长的工具定义和对话历史。GLM 5、Qwen 3 32B 和 DeepSeek V4 Flash 等支持 1M 上下文窗口的模型非常适合在扩展的 Agent 化会话中保持状态。
将个性化迁移到 LLM 会引入两个工程约束:成本可预测性和服务延迟。
成本:按 token 计费将账单与提示词长度挂钩。推荐提示词天然较长,因为必须携带用户历史、商品元数据和少量示例。Oxlo.ai 采用固定按请求计费模式,因此无论你发送 1K 还是 100K token,每条推荐的成本都是固定的。对于运行高流量个性化或长上下文 Agent 化循环的团队,这可以带来可观的成本节省。详见 https://oxlo.ai/pricing。
延迟:长提示词会增加首 token 响应时间。通过以下方式缓解:
使用更小的、任务特定的模型处理结构化解析(例如 Oxlo.ai Coder Fast 或 Qwen 3 Coder 30B)。
将响应流式返回给客户端,让用户立即看到推理过程。
缓存频繁访问的用户画像摘要和检索到的候选结果。
Oxlo.ai 在其聊天端点上支持流式响应、JSON 模式和函数调用,热门模型无冷启动,因此你可以在不离开平台的情况下优化用户体验。
LLM 正在将推荐系统从静态矩阵运算重塑为动态的、语言感知的个性化引擎。你选择的基础设施决定了这种能力在规模化时是否负担得起。Oxlo.ai 提供以开发者为中心的平台,采用按请求计费模式,提供 45+ 种涵盖推理、代码、视觉和 embedding 的模型,并完全兼容 OpenAI SDK。如果你的流程依赖长期用户历史、Agent 化工具调用或高流量候选排序,Oxlo.ai 的设计就是为了保持成本固定和延迟低廉。