Skip to content

LLMOps 生产运营高频问答

LLMOps 考的不是“会不会调 API”,而是你能不能把一个大模型应用长期稳定地跑在生产环境里:上线前怎么评估,发布时怎么灰度,线上怎么监控,成本异常怎么止血,bad case 怎么回流,模型或 prompt 改坏了怎么回滚。工程原理可继续看 LLMOps 生产运营,网关侧治理可看 模型网关与多模型路由,上线的统一质量门禁可看 LLM 评测与发布门禁实战,在线实验、质量 SLO 与回滚演练见 LLM 线上评测、灰度实验与质量运营面试题,线上事故定位可看 大模型应用线上排障手册

先给面试官的总览回答

LLMOps 是大模型应用的生产运营体系。它把 prompt、RAG 配置、工具 schema、模型版本、评测集、发布流程、监控告警、成本预算和 bad case 回流放到同一个闭环里管理。

可以用一条链路概括:

text
需求变更
  -> prompt / RAG / 模型 / 工具配置变更
  -> 离线评测和安全回归
  -> 影子流量或灰度发布
  -> 线上质量、成本、延迟监控
  -> 告警、降级、回滚
  -> bad case 标注和评测集回流

高分回答要强调:

  • prompt 也是代码:要版本化、评测、灰度、回滚。
  • 评测是发布门禁:不能靠“感觉变好了”上线。
  • 线上监控要分层:系统指标、模型质量指标、业务指标都要看。
  • 成本是生产事故:token 暴涨、循环 Agent、缓存失效都可能烧钱。
  • bad case 是资产:线上失败样本要进入评测集、prompt 修复或微调数据。

Q1:LLMOps 和传统 MLOps 有什么区别?

可以从迭代对象、评测方式、成本结构和失败模式四个角度回答。

维度MLOpsLLMOps
主要变更数据、特征、模型训练代码prompt、RAG、工具 schema、模型路由、模型版本
模型来源常由团队训练常用 API、开源模型或 MaaS 平台
评测方式AUC、F1、准确率等确定指标golden set、LLM judge、人评、业务指标组合
成本结构训练成本和推理资源token 成本、上下文长度、重试、工具调用、judge 成本
失败模式数据漂移、特征漂移、模型退化幻觉、提示注入、格式失败、成本暴涨、工具越权
迭代频率周期较长prompt 和配置可能每天变化

面试表达:

MLOps 管的是模型训练和部署全生命周期,LLMOps 更强调应用链路的变更治理。大模型应用里 prompt、检索参数、reranker、工具 schema 和路由策略都会改变系统行为,所以它们都要像代码一样进入版本、评测和发布流程。

Q2:上线一个 LLM 应用前要检查什么?

可以直接背这张清单:

检查项关注点
评测集是否覆盖高频问题、核心业务、bad case、高风险边界
质量基线新版本是否优于或不低于旧版本
安全集是否覆盖 prompt injection、越权、隐私、危险请求
成本预算单次 token、日预算、租户配额、异常熔断
延迟指标TTFT、TPOT、P95/P99、超时率
观测链路prompt、检索结果、模型输出、工具调用是否可追踪
灰度策略小流量、影子流量、A/B、回滚开关
降级链路备用模型、缓存答案、规则模板、人工兜底
权限边界工具调用、数据访问、租户隔离、审计日志
数据回流用户反馈、投诉、转人工、bad case 标注流程

面试里可以说:

我不会只问“模型效果好不好”,还会问“出错能不能发现、能不能止血、能不能回滚、能不能复盘”。这是 demo 和生产系统的分水岭。

Q3:prompt 变更怎么安全上线?

prompt 变更可能引起全链路行为变化,不能直接发生产。

推荐流程:

text
prompt 修改
  -> 代码评审 / prompt diff
  -> 离线 golden set 回归
  -> bad case 回归
  -> 成本和延迟评估
  -> 影子流量对比
  -> 小比例灰度
  -> 指标达标后全量
  -> 异常一键回滚

关键点:

  • prompt 要版本化,记录作者、变更原因、适用场景。
  • prompt 和模型版本、RAG 参数、工具 schema 要一起记录。
  • 每次变更都要跑固定评测集,避免修好 A 场景却改坏 B 场景。
  • 高风险业务先跑影子流量,只记录新版本输出,不影响用户。
  • 灰度期间看质量、转人工率、投诉率、成本、延迟和安全告警。

高分回答:

prompt 不是文案,而是生产逻辑。prompt 发布要像代码发布一样,有评测门禁、灰度、回滚和审计。

Q4:什么是影子流量?和灰度有什么区别?

影子流量是把真实请求复制一份给新版本处理,但新版本结果不返回给用户,只用于离线对比。

灰度发布是让一小部分真实用户真正使用新版本。

方式是否影响用户主要用途
离线评测不影响固定评测集回归
影子流量不影响看真实输入下的新旧差异
灰度发布影响少量用户验证真实业务指标
A/B 实验影响实验用户比较业务效果

LLM 应用特别适合影子流量,因为真实用户输入往往比评测集更脏、更长、更模糊。影子流量能发现:

  • 新 prompt 在真实问题上是否跑偏。
  • 新模型是否更爱拒答或更爱编。
  • 成本是否因为输出变长而上涨。
  • 结构化输出是否更容易解析失败。
  • 工具调用是否参数不兼容。

面试表达:

高风险 LLM 变更我会先影子流量,再灰度。影子流量看行为差异,灰度看真实业务影响。

Q5:线上怎么发现“模型变笨了”?

不能只靠用户投诉,因为那已经太晚了。要分三层监控:

系统层

  • 请求量、错误率、超时率。
  • TTFT、TPOT、P95/P99 延迟。
  • input/output token。
  • 重试次数、fallback 次数。
  • 缓存命中率。
  • 工具调用成功率。

质量层

  • LLM judge 抽样评分。
  • 幻觉率、忠实度、引用准确率。
  • 结构化输出 schema 通过率。
  • 拒答率、误拒率。
  • RAG 检索 Recall@K。
  • Agent 任务完成率和工具参数准确率。

业务层

  • 问题解决率。
  • 转人工率。
  • 用户点赞/点踩。
  • 投诉率。
  • 留存、转化、工单关闭率。

面试表达:

“模型变笨”通常不会只体现在一个指标上。我会把固定评测集的定时探针、线上抽样 judge、用户反馈和业务指标结合起来看趋势,而不是等投诉。

Q6:成本突然翻倍怎么排查?

按“调用量、单次成本、重试和路由”四条线排查。

text
总成本 = 请求量 × 单次平均 token × 模型单价 × 重试/工具调用放大系数

排查顺序:

  1. 请求量是否上涨:是否有新业务接入、流量峰值、异常脚本、Agent 死循环。
  2. 输入 token 是否上涨:是否 prompt 变长、历史对话没裁剪、RAG top-k 过大、工具结果未截断。
  3. 输出 token 是否上涨:是否 prompt 要求变啰嗦、max_tokens 设置过高、模型开始重复。
  4. 模型单价是否上涨:是否路由失效,简单任务都走了旗舰模型。
  5. 重试是否上涨:上游超时、结构化输出失败、工具调用失败导致多次重试。
  6. 缓存是否失效:system prompt 改动导致前缀缓存失效,语义缓存命中率下降。
  7. judge 成本是否上涨:是否抽样比例过高,或者评测任务进入线上同步链路。

止血动作:

  • 按租户和应用熔断高成本调用。
  • 降低 max_tokens、RAG top-k、历史窗口长度。
  • 简单任务强制走小模型。
  • 暂停非核心 judge 和离线批任务。
  • 启用缓存或模板兜底。
  • 限制 Agent 最大步数和工具调用次数。

面试表达:

成本排查要能从 trace 里按应用、租户、模型、链路聚合 token 和重试。没有 trace,只看账单,很难定位。

Q7:LLM 应用的 trace 应该记录什么?

trace 是 LLMOps 的底座。一次请求至少要记录:

  • request id、user id 或租户 id。
  • 模型名称、模型版本、供应商。
  • prompt 模板版本、system prompt hash。
  • 输入 token、输出 token、总成本。
  • TTFT、TPOT、总耗时。
  • RAG 检索 query、召回文档 id、rerank 分数。
  • 工具调用名称、参数、返回状态、耗时。
  • 结构化输出 schema 版本和校验结果。
  • fallback、重试、降级原因。
  • guardrail 命中情况。
  • 用户反馈和最终业务结果。

敏感信息要脱敏:

  • PII、密钥、合同原文、内部文档片段不应明文长期保存。
  • trace 应有访问权限和保留周期。
  • 高风险行业要区分调试日志和审计日志。

面试表达:

trace 不是为了好看,而是为了回答“这次为什么答错、为什么变慢、为什么变贵、为什么调用了这个工具”。

Q8:如何设计发布门禁?

发布门禁是把模型变更拦在生产事故前。

常见门禁:

门禁示例
质量门禁golden set 不低于旧版本,关键场景必须通过
安全门禁越狱成功率、隐私泄露、危险请求拒答率达标
成本门禁平均 token、P95 成本不超过预算
延迟门禁TTFT、P95 延迟不劣化超过阈值
格式门禁JSON/schema 通过率不下降
RAG 门禁Recall@K、引用准确率、忠实度达标
Agent 门禁工具选择、参数正确率、任务完成率达标
回归门禁历史 P0/P1 bad case 不允许复现

门禁不是越多越好,要按业务风险分级:

  • 低风险问答:质量和成本门禁即可。
  • 企业知识库:增加引用、忠实度和拒答门禁。
  • Agent 工具:增加权限、幂等、轨迹安全门禁。
  • 金融/医疗/法律:增加人工抽检和合规审批。

Q9:线上 bad case 怎么变成资产?

bad case 回流是 LLMOps 的核心飞轮。

text
线上失败
  -> 收集原始问题、上下文、输出、trace、用户反馈
  -> 归因:检索、prompt、模型、工具、权限、数据、评测缺口
  -> 标注正确行为
  -> 加入评测集或训练集
  -> 修复 prompt / RAG / 工具 / 模型路由
  -> 回归验证

常见 bad case 分类:

  • 检索没召回。
  • 检索召回了但模型没用。
  • prompt 指令冲突。
  • 工具参数错误。
  • 结构化输出解析失败。
  • 模型幻觉事实。
  • 不该拒答却拒答。
  • 该拒答却执行。
  • 成本或延迟超标。
  • 用户意图识别错。

面试表达:

bad case 不能只存在客服工单或聊天记录里,必须进入评测集和缺陷库。否则同类问题会反复发生。

Q10:如何做多模型 fallback 和降级?

降级链路要考虑质量、成本、可用性和合规。

常见策略:

text
主模型失败
  -> 同供应商备用模型
  -> 跨供应商同等级模型
  -> 小模型简化回答
  -> 缓存答案 / 模板答案
  -> 人工接管

注意事项:

  • 备用模型的 prompt 可能要单独适配。
  • schema、Function Calling、工具参数要兼容。
  • 安全策略不能因为 fallback 被绕过。
  • fallback 可能改变回答风格和质量,要进入评测集。
  • 降级命中率要监控,频繁降级说明主链路不稳定。

高风险任务不要自动降级到弱模型执行副作用操作。比如转账、发邮件、删数据、审批通过等,应转人工或只给建议不执行。

Q11:如何治理 prompt injection 和越权工具调用?

LLMOps 需要把安全作为运行时能力,而不是只靠模型自觉。

推荐防线:

  • 输入侧检测 prompt injection 和敏感请求。
  • RAG 文档做来源可信度和内容隔离。
  • system prompt 与用户内容明确分层。
  • 工具调用前做权限校验。
  • 高风险工具需要审批。
  • 工具参数做 schema 和业务规则校验。
  • 限制 Agent 最大步数和可调用工具范围。
  • 输出侧做敏感信息、合规和越权检查。
  • 全部工具调用写审计日志。

面试表达:

模型可以生成调用意图,但不能决定自己有没有权限。权限判断必须在模型外部的确定性系统里做。

Q12:如何从零搭一个最小可用 LLMOps?

不需要一开始做大平台。最小可用版本可以包括:

  1. 评测集:50-200 条高频问题、核心场景和 bad case。
  2. 评测脚本:固定 prompt、模型、参数,输出质量和成本报告。
  3. Trace:记录 prompt、检索、模型输出、工具调用、token、延迟。
  4. Prompt 版本:prompt 放配置中心或仓库,支持 diff 和回滚。
  5. 成本日报:按应用、租户、模型统计 token 和费用。
  6. 告警:错误率、延迟、成本、转人工率、schema 失败率异常告警。
  7. Bad case 表:用户反馈和失败样本进入标注流程。

一周内可以搭出最小闭环,先解决“看不见、不可回归、不能回滚”的问题。后续再演进到模型网关、MaaS、自动路由、在线评测和数据飞轮。

Q13:LLMOps 系统设计题怎么答?

题目:

设计一个公司级 LLMOps 平台,支撑多个业务应用接入不同大模型,并保证质量、成本和安全可控。

可以按六层回答:

text
接入层
  统一 SDK / API、鉴权、租户隔离

配置层
  prompt 版本、RAG 参数、工具 schema、模型路由策略

执行层
  模型网关、fallback、重试、限流、缓存、工具调用

评测层
  golden set、LLM judge、人评、发布门禁、回归报告

观测层
  trace、日志、指标、成本、质量抽样、告警

反馈层
  用户反馈、bad case 标注、评测集回流、微调数据沉淀

关键追问:

  • 多租户预算如何控制?
  • prompt 版本和模型版本如何绑定?
  • 如何处理供应商故障?
  • 如何防止 prompt injection?
  • 如何证明新版本比旧版本好?
  • 如何回滚已经灰度的问题版本?
  • 如何保护 trace 中的敏感数据?

一句话总结:

LLMOps 平台不是单纯观测工具,而是把模型应用变更纳入可评测、可发布、可观测、可回滚的生产体系。

Q14:项目里怎么讲 LLMOps 亮点?

不要只说“我们接了 Langfuse 看日志”。更好的讲法是:

我们把 prompt、模型、RAG 参数和工具 schema 都做了版本化;上线前跑 golden set 和 bad case 回归;上线时先走影子流量和灰度;线上记录 trace、token 成本、延迟、工具调用和用户反馈;成本或质量异常会触发告警和降级;bad case 进入评测集,形成持续改进闭环。

如果是企业知识库:

我们监控检索 Recall@K、引用准确率、忠实度、拒答率和转人工率。每次调整 chunk、embedding、reranker 或 prompt 都必须跑回归,防止召回变差或幻觉上升。

如果是 Agent:

我们监控任务完成率、工具调用成功率、平均步数、越权拦截率和副作用操作审计。超过最大步数或高风险工具触发人工审批。

如果是多模型平台:

我们按租户统计成本,按场景做模型路由,简单任务走小模型,复杂任务走强模型;供应商故障时自动 fallback,但 fallback 版本也必须通过评测门禁。

Q15:常见反面回答

这些回答容易扣分:

  • “模型效果不好就改 prompt。”
  • “上线后看用户反馈就行。”
  • “成本高就换便宜模型。”
  • “多模型 fallback 就是换个 URL。”
  • “只要接了日志平台就是 LLMOps。”
  • “线上 bad case 手工看看就行。”
  • “LLM 应用不需要像代码一样测试。”
  • “安全交给模型自己拒答。”

修正思路:

  • 改 prompt 前先归因,改后跑回归。
  • 用户反馈太滞后,要有主动监控和探针。
  • 降成本要看路由、缓存、上下文、重试和模型单价。
  • fallback 要验证 prompt、schema、工具和安全兼容。
  • LLMOps 的核心是变更治理和闭环,不是日志展示。

最后一页速记

追问关键词
LLMOps vs MLOpsprompt/RAG/工具 schema 也是变更对象
上线前检查评测集、安全、成本、延迟、trace、回滚
prompt 怎么发版本化、评测、影子流量、灰度、回滚
模型变笨怎么发现系统层、质量层、业务层三层监控
成本翻倍怎么排查请求量、token、模型单价、重试、缓存
trace 记什么prompt、检索、输出、工具、token、延迟、版本
发布门禁质量、安全、成本、延迟、格式、bad case
bad case 怎么用归因、标注、回流评测集和训练数据
fallback 怎么做同级备用、跨供应商、小模型、缓存、人工
安全怎么管权限在模型外,工具调用要审批和审计

一句话收尾:

LLMOps 的本质,是把不可控的生成式系统放进可评测、可观测、可回滚、可持续改进的工程闭环里。

基于 MIT 许可发布