Skip to main content

阿里1688 AI Pilot 中台

面试基本信息
  • 日期: 2025-12-25
  • 团队介绍: 1688 集团下属的 AI Pilot 中台。工作内容主要围绕大模型技术在 1688 电商平台的应用落地,推动 AI 技术与电商业务的深度融合。团队工作内容包括私有化部署大模型、线上推理优化、AI 平台化能力、Agent 应用化能力的探索与实践等等。
  • 面试时长: 45 分钟

01 AI 应用 / 生成类 AI 工程化

产出链路是实时还是离线?

更多可以理解为定时调度。我们会定时每周或者每日跑一个固定 SQL 的人群包,然后针对人群包里的 userId 进行遍历,获取其近期行为数据,构造 prompt,调用大模型生成个性化推荐文案,最后将生成结果存储到我们的消息系统中,并触发发送给用户,同时收集基于埋点的指标数据,类似于点击率增量 GMV之类的指标。

产出文案是基于商品 ID 还是基于用户 ID + 行为数据?

基于用户 ID + 行为数据。核心目标是个性化推荐,如 “猜你喜欢” 文案、个性化营销话术,输入包含用户 ID 关联的浏览、点击、购买、收藏等行为数据,统一经过提示词工程后传递给大语言模型,再对结果进行二次验证和约束,最后结合目标商品 ID 的生成对应的文案。

从用户行为 → prompt → 大模型 → 结果返回,完整链路是怎样的?

  • 用户行为采集:用户浏览商品时,前端埋点采集行为数据,如用户 ID、商品 ID、浏览时长、历史点击与购买记录,上报至 Kafka
  • 数据聚合与特征提取:实时计算引擎如 Flink 消费行为数据,聚合用户兴趣特征,如偏好类目、价格敏感度,并生成商品特征,如属性、卖点。
  • Prompt 构造:Prompt 模板引擎根据业务场景拼接 Prompt,包含指令约束 生成 50 字以内商品文案、严格 JSON 格式,用户特征为偏好运动户外类目,商品特征为商品 ID: XXX,属性:防水、透气。
  • 大模型调用:API 网关将构造好的 Prompt 转发至大模型服务,支持私有化部署或公有云 API,并根据场景选择同步或异步调用。
  • 结果处理与返回:对大模型输出结果做格式校验与内容过滤,再通过 API 网关 返回前端,展示在商品详情页。
  • 日志与监控:记录全链路日志,包括用户 ID、商品 ID、Prompt、生成结果与耗时,监控模型输出质量与链路延迟。

大模型产出结果是同步返回还是异步产出?

同步返回。针对这个业务场景我们的并发量不大,是由定时的调度任务来触发并开始发送消息给用户,所以可以接受几百毫秒到一两秒的延迟。并且同步场景下对于重试失败回退等机制也更好设计和控制。

如何保证大模型严格返回 JSON 格式?

  • 第一层:VLLM 推理层硬约束 → 开启 guided_json 参数,强制模型生成符合 Schema 的 JSON,从底层阻断格式错误与字段缺失,优先级最高。
  • 第二层:LangChain 编排层硬约束 → 使用 JsonOutputParser 组合 Prompt,自动生成标准化约束,对模型输出做二次校验,格式错误则触发重试。
  • 第三层:Prompt 软约束 → 在 Prompt 中补充“严格输出 JSON,无多余内容”的提示词,作为兜底。
  • 第四层:兜底降级 → 若以上三层都失败,返回预设的商品基础 JSON 模板,保证业务链路不中断,同时记录日志用于后续优化。

如果模型返回的 JSON 格式错误 / 字段缺失,你们怎么处理?

基于 LangChainJsonOutputParser 做二次校验,格式错误触发重试,最多三次。若仍失败,返回预设的商品基础 JSON 模板兜底,确保业务链路不中断,并记录详细日志用于后续分析与优化。

同时 vLLM 推理层也支持重新采样。

VLLM 重采样机制

大模型生成文本或 JSON 时,是逐 token 概率采样的过程,例如生成 } 还是 ,,模型会基于上下文计算概率后采样输出。

  • 第一次生成失败,通常是模型在某个 token 的采样环节抽中了低概率的错误 token,例如应写 ] 却写了 ,,而不是模型理解不了约束。
  • VLLM 的重新采样会在重试时重新基于输出概率分布,更换采样策略再生成一次,规避单次采样的随机错误,让模型更大概率生成符合 JSON 格式的正确 token。
  • 而且 VLLM 的重新采样是轻量化的,复用了本轮请求的 KV Cache,不会重新计算所有 token,几乎不增加额外耗时,也不会额外消耗 GPU 资源。

是否做过二次校验 / 重试 / 自我校验产出?

如何防止产出不符合用户真实兴趣的内容 幻觉?

  • Prompt 强约束:仅允许基于输入的用户行为数据生成推荐文案,禁止编造未提供的信息,返回体必须以 JSON 格式输出并带参考来源。
  • 后端规则校验:维护商品类目树与类目关键词库,将生成结果中的商品或类目与用户真实历史的一级、二级类目构造的倒排索引进行匹配,不匹配则判定为幻觉。
  • 质量模型打分:调用内部 AI 平台的文本质量小模型,采用 BERT 架构,对可读性与营销风格打分,低于阈值则判定为幻觉。
  • 失败回退:校验不通过时回退到模板。

Prompt 是如何设计的?有没有做强约束提示词?

是否尝试过让模型自我反思 / 自检再产出?

如果私有化部署,你觉得还能在哪些层面优化产出质量?

02 机器学习 / 时序模型

模型训练的数据从哪里来?是原始数仓还是清洗后的 OLAP 表?

一次训练大概用多少数据量? 条数 / MB 级别

训练是周期性触发,还是一次性离线训练?

数据结构包含哪些维度? 站点 / 产品 / 费用类型 / 时间

用的是什么模型类型? 时序 / 统计 / ML

用哪些评估指标评估模型效果? 如 MSE / RMSE / 误报率

业务上如何判断模型的好坏?

模型训练完后是否会持续迭代?为什么?

线上推断是如何触发的? 每天几次?

推断时如何选择模型版本?

推断结果如何和业务告警系统结合?

03 大模型推理与部署 & 性能调优

是否了解 vLLM / SGLang?它们解决了什么问题?

vLLM 的核心优化点是什么? KV Cache / Paged Attention

SGLang 相比 vLLM 的差异和特点是什么?

这些框架是否降低 GPU 占用,还是提高 GPU 利用率?

如果要私有化部署大模型,你会选什么方案?

私有化部署后,哪些优化手段是 API 模式下做不了的?

推断加速主要从哪些层面入手? 显存 / cache / batch

04 RAG / Agent / 知识库系统方案

知识库支持哪些数据格式? TXT / PDF / Markdown

PDF 是怎么解析的?为什么考虑用 VLM + OCR?

文档是如何切分 chunking的? 语义 / token

向量是如何产出和存储的?用的什么向量数据库?

Query 进来后完整流程是怎样的?

Top-K 是怎么选的?为什么要做 rerank?

为什么需要 embedding + reranker + LLM 三段式?

Agent 在系统里主要承担什么角色?

多模态 Agent 和普通 Agent 的区别?

如何管理用户自定义 Agent 和模型配置?

05 后端系统规划 & 分布式实践

推送系统是实时还是定时调度?

人群包是如何产出和去重的?

每周消息量级是多少?如何限频?

Kafka 不支持优先级,你们是怎么实现高/中/低优先级隔离的?

为什么要拆 Topic?不拆会有什么问题?

如何避免低优先级消息阻塞高优先级?