HelloAI
L7 第 9 篇 🐥 难度 🕒 16 分钟

LLMOps 全景:观测 / 评估 / 监控 / 实验

LLM 应用上线后真正的工作才开始——Langfuse、Helicone、OpenTelemetry、持续 eval、A/B 实验。2026 LLMOps 完整工具栈。

阿莱
2026/9/29

L7-05 讲了”怎么把模型部署上线”。 L7-07 讲了”基础监控”。 这一篇讲:上线之后的”日常运营”——LLMOps 全景

LLM 产品和传统软件最大的区别—— 上线只是开始,长期是个持续 eval + 持续优化的工作。

为什么 LLMOps 不同于 MLOps

维度传统 MLOpsLLMOps
模型来源自己训练大多调用 API
重训频率每天 / 每周几乎不(除非 fine-tune)
核心痛点模型衰减prompt 漂移 / API 变化 / 成本爆炸
评估难度有 ground truth无标准答案,要 LLM-as-judge
故障模式accuracy 下降幻觉 / jailbreak / cost spike / 工具调用失败

LLMOps 是全新工程领域,2024-2026 才成熟。

完整 LLMOps 栈(2026)

┌─────────────────────────────────────────────────┐
│  应用层:你的 LLM 产品                            │
└─────────────────────┬───────────────────────────┘

        ┌─────────────┼─────────────┐
        ↓             ↓             ↓
  ┌─────────┐  ┌─────────────┐  ┌─────────┐
  │ 模型路由 │  │   缓存层    │  │  RAG    │
  │OpenRouter│ │  Redis /    │  │ pgvector│
  │ LiteLLM │  │ Prompt cache│  │ Pinecone│
  └────┬────┘  └─────────────┘  └────┬────┘
       │                              │
       ↓                              │
  ┌─────────────────────────────┐     │
  │     LLM 提供商(多个)       │←────┘
  │ OpenAI/Anthropic/Google/...  │
  └─────────┬───────────────────┘


  ┌──────────────────────────────────────┐
  │       Observability 层                │
  │  Langfuse / Helicone / LangSmith     │
  │  - Trace(每次请求完整链路)           │
  │  - Token / cost / latency            │
  │  - Prompt / response 全量日志         │
  └────────────┬─────────────────────────┘


  ┌──────────────────────────────────────┐
  │       Eval 层                         │
  │  - 离线 eval(每次 deploy 前)        │
  │  - 在线 eval(实时采样)              │
  │  - LLM-as-judge / 人工 review        │
  └────────────┬─────────────────────────┘


  ┌──────────────────────────────────────┐
  │       实验 / 迭代                      │
  │  - Prompt 版本管理                    │
  │  - A/B 测试                          │
  │  - 模型切换实验                       │
  └──────────────────────────────────────┘

主流工具速查

Observability(trace + 日志)

工具定位开源价格
Langfuse开源 + 自托管首选免费 / Cloud $29+
HeliconeOpenAI 风格代理免费 / Pro $20+
LangSmithLangChain 官方免费档 + Plus
Phoenix (Arize)Notebook + 生产免费
W&B WeaveW&B 出品免费 + 付费

关键能力:捕获每次 LLM 调用的完整 trace(input / output / model / latency / cost / tool calls)。

Eval(评估)

工具定位
Langfuse Datasets + Eval一站式
promptfooYAML 配置 + CI 集成
Inspect AI (UK AISI)严肃 safety eval
RAGASRAG 专门 eval
TruLens多维度 RAG eval

Prompt 管理

工具定位
LatitudePrompt 版本控制 + collab
PromptLayer主流
Langfuse Prompts集成 trace + prompt
自建 git 仓库简单可靠

LLM 网关 / 路由

工具定位
OpenRouter统一 API + 多家路由
LiteLLM自托管代理
Portkey商业网关(路由 + 缓存 + 重试)

实战:搭建最小可用 LLMOps 栈

目标:知道每次 LLM 调用花了多少钱、慢不慢、回答好不好。

1. 加 Langfuse trace(10 分钟)

from langfuse import Langfuse
from langfuse.decorators import observe

langfuse = Langfuse(public_key="pk-...", secret_key="sk-...")

@observe()
def answer_user_question(query: str):
    # 你原来的 LLM 调用代码
    response = openai.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": query}]
    )
    return response.choices[0].message.content

自动捕获:input / output / model / token usage / cost / latency / trace ID。

2. 建 eval set(30 分钟)

# 收集 50-200 个真实用户请求(脱敏)+ 期望答案
dataset = langfuse.create_dataset(name="customer_support_v1")
dataset.create_item(input="退款怎么办", expected_output="...")
# ... 50+ items

3. 每次 deploy 前跑 eval

# CI 里跑
for item in dataset.items:
    pred = answer_user_question(item.input)
    score = llm_judge(pred, item.expected_output)
    if score < 0.7:
        raise Exception(f"Regression on {item.id}!")

4. 加在线监控告警

# 实时采样 10% 的生产请求做 LLM-as-judge
# 当 hallucination rate > 5% 或 cost > $X/h 时发告警

Eval 的层次

1. 单元级(Unit eval)

每个能力一个 metric:

  • 分类准确率
  • JSON schema 是否合法
  • 拒答率(敏感 query 是否拒绝)

2. 系统级(System eval)

整个 LLM 应用:

  • 任务成功率
  • 用户满意度(NPS)
  • 平均解决时长

3. 安全级(Safety eval)

针对滥用 / 攻击:

  • Jailbreak 攻击成功率
  • 幻觉率
  • 隐私泄露率

4. 业务级(Business eval)

最终业务指标:

  • 客户留存
  • 转化率
  • 客单价

持续运营的 5 个监控指标

每天必看:

  1. Cost:每天总花费 + 单次请求平均花费
  2. Latency:P50 / P95 / P99 延迟
  3. Hallucination rate:抽样人工 review 或 LLM-as-judge
  4. Error rate:API 失败 + 超时 + parse 失败
  5. User feedback:thumbs up/down 比例

A/B 实验(Prompt / 模型切换)

LLM 产品的 A/B 实验和传统软件不同:

# 50% 用户走 prompt v1,50% 走 prompt v2
prompt_version = "v2" if hash(user_id) % 2 == 0 else "v1"
prompt = load_prompt(f"customer_support_{prompt_version}")

# 记录到 trace 元数据
with langfuse.trace(metadata={"prompt_version": prompt_version}):
    response = llm(prompt + query)

评估窗口

  • 离线 eval:立即(部署前)
  • 用户满意度:1-2 周(统计显著性需要时间)
  • 长期留存:1-3 个月

常见运营事故(真实案例)

1. Cost runaway

开发把 max_tokens 写错 → 每个用户烧 100K tokens → 一晚上账单暴涨。 防御:单请求 cost 告警 + 每用户 quota。

2. Prompt injection

用户在 input 里塞 “ignore previous instructions”。 防御:input filter + system prompt 加强 + 输出审查。

3. 模型版本悄悄变了

OpenAI 把 gpt-4 alias 默认指向新版本 → 回答质量变化。 防御:固定具体版本号(gpt-4-2024-08-06),eval 持续跑。

4. Hallucination 飙升

某个新场景模型频繁编造 → 客户投诉。 防御:在线采样 LLM-as-judge 监控 + RAG 接入。

5. API 限速

模型公司给你的 rate limit 不够 → 大量 429。 防御:多模型 fallback + 队列 + retry with backoff。

团队角色(成熟 LLMOps 团队)

角色职责
LLM EngineerPrompt 工程 + Agent / RAG / Tool 实现
Eval Engineer测试集 / 自动评估 / regression 监控
AI Safety / Red Team攻击测试 / 滥用监控 / 内容审核
Prompt Designer / PM业务理解 + prompt 业务化
传统 SREinfra / cost / latency

小团队这些角色合并;中大型公司每个都是独立岗位。

💡 一个观察

LLMOps 是 2025-2027 最被低估的工程领域

  • 门槛低:会 Python + 用过 LLM 就能上手
  • 稀缺:真懂 LLMOps 的工程师远少于 LLM 工程师
  • 价值高:直接决定 LLM 产品上线后的成败

类比:2010s 早期”懂 DevOps”的工程师是稀缺品,五年后变成”基本要求”。 2026 现在的”LLMOps 工程师” = 当年的 DevOps 工程师

如果你现在投入 6-12 个月深入 LLMOps—— 2027-2028 你会是市场上最值钱的那批人之一。

推荐配套阅读

  • HelloAI L4-08 LLM 评估
  • HelloAI L7-05 模型部署与服务化
  • HelloAI L7-07 监控与可观测性
  • HelloAI L4-12 LLM 成本优化
  • Langfuse 官方文档
  • OpenAI Evals 仓库
  • 论文:OpenAI / Anthropic 各自的”How we evaluate models”

🚧 3 个常见坑

⚠️ 实战避坑

坑 1:先上线再加观测 没观测就上线 = 黑盒——出问题不知道在哪。第一天就接 Langfuse / Helicone

坑 2:只测部署前,不测线上 线上数据分布会持续偏移——必须在线采样持续 eval,不能只跑一次。

坑 3:把 LLM-as-judge 当真理 LLM 评判 LLM 有系统偏见(喜欢自家模型 / 长输出)——必须定期人工 calibration

🔗 被以下 1 篇文章引用
📬

读到这里说明你认真在学 🎯

订阅每周精选 —— 下一篇新文章 / 新可视化第一时间送到邮箱。

💬

讨论区

· 用 GitHub 账号登录评论
⚠️ Giscus 评论未配置 —— 在 src/components/Comments.astro 顶部填入 仓库 ID 和分类 ID(见组件注释里的配置步骤)。