Langfuse 的使用
如何监控 AI 系统的运行状况?
使用 Langfuse 作为 AI 可观测性平台,实现了全链路追踪和性能监控。
核心能力:
- 全链路追踪(Trace):记录从用户请求到 AI 响应的完整流程,包括多个 Agent、LLM 调用、检索等环节
- Token 成本分析:自动统计每次 LLM 调用的 Token 消耗和费用,为模型选型提供量化依据
- 性能监控:分析每个环节的耗时,定位性能瓶颈
- Prompt 管理:查看实际渲染的 Prompt,便于调试和优化
实现方式:
- 使用
@observe装饰器自动创建 Trace - 通过
langfuse_context.update_current_trace()添加业务元数据
实际效果:
- 问题定位效率:从数小时降至数分钟(通过 Session ID 直接定位)
- 成本优化:通过 Token 分析,优化 Prompt 和模型选型,成本降低 40%
- 性能优化:通过耗时分析,识别瓶颈,论文生成时间从 45 分钟降至 12 分钟"
如何统计 LLM 的 Token 消耗?
采用 Langfuse + 自研 Token 计算的方式,实现精准的 Token 统计。
Langfuse 自动统计:
- 每次 LLM 调用,Langfuse 会自动记录 Input Tokens、Output Tokens、Total Tokens 和 Cost
- 支持按 Session、Tag、Model 等维度统计
自研 Token 计算:
- 为了在调用 LLM 前预估 Token,我们实现了
calculate_token_count()函数 - 支持 GPT、Qwen、DeepSeek 等多种 Tokenizer
- 用于动态截断对话历史,控制 Token 在限制内
实际应用:
- 模型对比:通过 Langfuse 对比 DeepSeek、Qwen、GPT-4 的 Token 消耗和成本,选择最优模型
- Prompt 优化:通过 Token 分析,发现某个 Prompt 过长,优化后 Token 降低 44%,成本节省 45%
- 异常监控:通过 Langfuse 筛选 Token > 30,000 的任务
如何定位和解决 AI 系统的性能瓶颈?
通过 Langfuse 的 Span 耗时分析,精准定位性能瓶颈,数据驱动优化。
分析流程:
- 查看 Trace:在 Langfuse 中找到慢任务的 Trace
- 分析 Span 耗时:查看各 Span 的耗时占比
- 定位瓶颈:找到耗时最长的 Span
- 优化并验证:修复后,在 Langfuse 中对比优化前后的耗时
案例 1:检索过慢
- 问题:检索耗时 42.1s,占总耗时的 93%
- 根因:未设置
size参数,默认返回所有结果(5 万条) - 修复:添加
size=10限制 - 效果:检索耗时从 42.1s 降至 1.2s,总耗时从 45.3s 降至 4.4s
案例 2:LLM 调用过慢
- 问题:LLM 调用耗时 30.5s,Input Tokens = 28,456
- 根因:Prompt 中包含了整个论文库的摘要
- 修复:只使用前 10 条的摘要
- 效果:LLM 耗时从 30.5s 降至 10.2s,Token 降低 72%
案例 3:并行化优化
- 问题:三个 Agent 串行执行,总耗时 45.3s
- 优化:改为并行执行
- 效果:总耗时从 45.3s 降至 18.7s,降低 59%
量化成果:
- 论文生成时间从 45 分钟降至 12 分钟(降低 73%)
- 系统吞吐量提升 200%"
如何优化 Prompt,提升 AI 生成质量?
通过 Langfuse + A/B 测试,持续优化 Prompt,提升生成质量。
优化流程:
- 查看当前 Prompt:在 Langfuse 中查看实际渲染的 Prompt,发现问题
- 设计优化方案:修改 Prompt,添加明确的要求、Few-shot 示例等
- A/B 测试:为新旧 Prompt 创建不同的 Session,运行各 100 次任务
- 对比效果:在 Langfuse 中对比成功率、Token 消耗、生成质量
- 采用优化方案:如果效果提升,采用新 Prompt
案例 1:明确要求
- 问题:生成的摘要过短(平均 150 字)
- 优化:在 Prompt 中明确要求字数(300-500 字)
- 效果:平均字数从 150 字提升至 380 字,质量评分从 7.2 提升至 8.6
案例 2:Few-shot 示例
- 问题:生成的大纲层级过少(1-2 层)
- 优化:使用专业领域的真实案例作为 Few-shot 示例
- 效果:大纲层级从 1-2 层提升至 2-3 层,专业性评分从 6.8 提升至 8.4
案例 3:参数调优
- 问题:生成内容过于死板
- 优化:将
temperature从 0.2 提升至 0.5
量化成果:
- 通过 A/B 测试迭代优化,内容专业性评分从 7.2 提升至 8.6(提升 19%)
- 管理 159 个 Prompt 模板,支持 50+ 专业领域的定制化生成"

浙公网安备 33010602011771号