LLMOps 全景:观测 / 评估 / 监控 / 实验
LLM 应用上线后真正的工作才开始——Langfuse、Helicone、OpenTelemetry、持续 eval、A/B 实验。2026 LLMOps 完整工具栈。
L7-05 讲了”怎么把模型部署上线”。 L7-07 讲了”基础监控”。 这一篇讲:上线之后的”日常运营”——LLMOps 全景。
LLM 产品和传统软件最大的区别—— 上线只是开始,长期是个持续 eval + 持续优化的工作。
为什么 LLMOps 不同于 MLOps
| 维度 | 传统 MLOps | LLMOps |
|---|---|---|
| 模型来源 | 自己训练 | 大多调用 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+ |
| Helicone | OpenAI 风格代理 | ✅ | 免费 / Pro $20+ |
| LangSmith | LangChain 官方 | ❌ | 免费档 + Plus |
| Phoenix (Arize) | Notebook + 生产 | ✅ | 免费 |
| W&B Weave | W&B 出品 | ❌ | 免费 + 付费 |
关键能力:捕获每次 LLM 调用的完整 trace(input / output / model / latency / cost / tool calls)。
Eval(评估)
| 工具 | 定位 |
|---|---|
| Langfuse Datasets + Eval | 一站式 |
| promptfoo | YAML 配置 + CI 集成 |
| Inspect AI (UK AISI) | 严肃 safety eval |
| RAGAS | RAG 专门 eval |
| TruLens | 多维度 RAG eval |
Prompt 管理
| 工具 | 定位 |
|---|---|
| Latitude | Prompt 版本控制 + 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 个监控指标
每天必看:
- Cost:每天总花费 + 单次请求平均花费
- Latency:P50 / P95 / P99 延迟
- Hallucination rate:抽样人工 review 或 LLM-as-judge
- Error rate:API 失败 + 超时 + parse 失败
- 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 Engineer | Prompt 工程 + Agent / RAG / Tool 实现 |
| Eval Engineer | 测试集 / 自动评估 / regression 监控 |
| AI Safety / Red Team | 攻击测试 / 滥用监控 / 内容审核 |
| Prompt Designer / PM | 业务理解 + prompt 业务化 |
| 传统 SRE | infra / 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。
读到这里说明你认真在学 🎯
订阅每周精选 —— 下一篇新文章 / 新可视化第一时间送到邮箱。
讨论区
· 用 GitHub 账号登录评论src/components/Comments.astro 顶部填入
仓库 ID 和分类 ID(见组件注释里的配置步骤)。