作业14:Langfuse 跟学 · 字段规范 · Top10 Token · 告警草稿(动手 + Cursor)
作业目标:安装(或使用现成)Langfuse 并逛遍 Trace / Generation / 成本相关视图;落实统一字段规范;用 Cursor 写出从导出 JSON/CSV 汇总「昨日 Top10 烧 Token 应用」的脚本;起草 3 条告警规则(先 Markdown)。
验收标准:
1. UI 截图或文字记录:能指出 Trace、Generation、Token/成本入口
2. 能默写/对照本作业 8 个规范字段
3. 脚本对样本或真实导出跑出 Top10 CSV/MD
4. 3 条告警规则草稿完整(条件/级别/动作)
环境:本环境已有 Langfuse
http://192.168.110.207:3000(详见部署教程);无环境者可按官方 docker 自建。HTML:
docs/html_cursor/作业14_Langfuse字段规范与Token成本_cursor.html
脚本:
scripts_cursor/作业14_Langfuse字段规范与Token成本/结果:
data/homework14/告警草稿:
docs/md_cursor/作业14_告警规则草稿_Token错误延迟_cursor.md
目录
做完长什么样
| 项 | 值 |
|---|---|
| Langfuse | http://192.168.110.207:3000 |
| 规范字段 | trace_id, session_id, model, prompt_tokens, completion_tokens, tool_name, latency_ms, error_type(+ 汇总用 app_name) |
| 练习样本 | data/homework14/sample_export.json / .csv |
| Top10 产物 | data/homework14/top10_tokens_YYYYMMDD.csv + .md |
| 告警草稿 | 作业14_告警规则草稿_Token错误延迟_cursor.md |
学习路线
A 打开 Langfuse → 认门(Trace / Generation / 成本或用量)
B 背熟字段规范,对照一条真实 Trace 填表
C 导出 JSON/CSV(或用样本)→ 跑 Top10 脚本
D 用 Cursor 自己写一版汇总脚本(可对照仓库实现)
E 写/读 3 条告警规则草稿Part A · 安装与逛 UI
A1. 本环境(已安装则跳过安装)
- 地址:
http://192.168.110.207:3000 - 部署说明:
Langfuse_部署教程_cursor - 与 Dify 联调:
Langfuse_连接Dify专题_cursor、作业3
健康检查:
curl -sS http://192.168.110.207:3000/api/public/healthA2. 若从零安装(自备机器)
按官方 Docker Compose 自托管即可(注意与 Dify 端口错开;本环境用 :3000)。装好后创建 Project、拿 PK/SK。
A3. 逛一遍(必做,写下你看到的路径)
在 UI 中依次打开并用自己的话记一行:
| 视图 | 你要确认的事 | 我的记录(填写) |
|---|---|---|
| Traces | 一条完整调用链;能否点开看 input/output | |
| Generations(或 Observation 里 type=GENERATION) | 模型名、prompt/completion tokens | |
| 成本 / Usage / Metrics(版本不同名称可能不同) | 按时间看 Token 或费用趋势 | |
| Sessions(如有) | 同一会话多轮是否串在一起 |
Langfuse 大版本 UI 文案可能不同:找不到「成本」时,到 Project → Metrics / Dashboard / Usage 近义入口即可,作业认「能量化 Token」的页面。
A4. 造一条数据(可选)
对已开 Tracing 的 Dify Agent 问一句,然后在 Traces 里找到它(作业3 已验收过工具 Span 更佳)。
Part B · 字段规范
B1. 强制字段(上报与导出都应对齐)
| 字段 | 含义 | 示例 | 备注 |
|---|---|---|---|
trace_id | 一次请求链路 ID | tr-00ab… | 排障主键 |
session_id | 会话/对话 ID | sess-… | 多轮归并 |
model | 模型逻辑名 | qwen3.6-27b | 与 LiteLLM model 名一致为佳 |
prompt_tokens | 输入 Token | 6601 | 对应 prompt/input |
completion_tokens | 输出 Token | 128 | 对应 completion/output |
tool_name | 工具名(无则空) | getServerStatus | 来自 Span/工具 Observation |
latency_ms | 端到端或 Generation 耗时(毫秒) | 1520 | 统一用 ms |
error_type | 错误分类(成功则空) | rate_limit / timeout / 5xx | 勿把整段堆栈塞这里 |
B2. 建议扩展
| 字段 | 含义 |
|---|---|
app_name | 应用/Agent 名(成本归属);可用 tag app:客服助手 或 metadata |
user_id | 终端用户(注意脱敏) |
total_tokens | prompt_tokens + completion_tokens(可冗余存储) |
B3. 对照练习
打开任意一条 Trace,按下表抄写(交作业可贴此表):
trace_id:
session_id:
model:
prompt_tokens:
completion_tokens:
tool_name:
latency_ms:
error_type:
app_name:Part C · Cursor 任务:昨日 Top10
C1. 准备数据
方式 1 · 练习样本(推荐先跑通):
python scripts_cursor/作业14_Langfuse字段规范与Token成本/hw14_01_生成练习样本.py
python scripts_cursor/作业14_Langfuse字段规范与Token成本/hw14_02_昨日Top10烧Token.py \
--input data/homework14/sample_export.json方式 2 · 真实导出:
- Langfuse UI 导出 Traces(JSON/CSV,按你版本菜单操作)
- 保存到
data/homework14/export_yesterday.json - 执行:
python scripts_cursor/作业14_Langfuse字段规范与Token成本/hw14_02_昨日Top10烧Token.py \
--input data/homework14/export_yesterday.json \
--date 2026-08-26无时间戳的练习数据可加:--include-missing-ts。
C2. Cursor 提示词(可复制,自己生成一版)
用 Python3 标准库写脚本:
- 读取 Langfuse 导出的 JSON 或 CSV
- 字段兼容:trace_id/traceId, session_id/sessionId, model,
prompt_tokens/promptTokens, completion_tokens/completionTokens,
tool_name, latency_ms, error_type, app_name(或 metadata.app_name / tags 里 app:xxx)
- 筛选「昨天」记录(可传 --date YYYY-MM-DD)
- 按 app_name 汇总 total_tokens,输出 Top10
- 打印表格,并写 CSV + Markdown 到 data/homework14/C3. 期望输出
终端类似:
=== 昨日 Top10 烧 Token 的应用 ===
rank app_name total_tokens traces errors
1 客服助手 .... .. .
...
[OK] data/homework14/top10_tokens_YYYYMMDD.csvPart D · 三条告警规则草稿
完整表格见:作业14_告警规则草稿_Token错误延迟_cursor.md
摘要:
- 日 Token 突增:某应用当日 Token ≥ 昨日 3 倍且 ≥ 5 万 → P2 成本告警
- 错误率升高:5 分钟
error_type非空占比 ≥ 5%(样本≥20)→ P1/P2 - 延迟恶化:15 分钟
latency_msP95 ≥ 15s → P2(≥60s → P1)
先写在 Markdown;有监控后再迁到 Alertmanager / 值班机器人。
完整程序与样本
| 文件 | 作用 |
|---|---|
hw14_01_生成练习样本.py | 生成昨日时间戳的 JSON/CSV 样本 |
hw14_02_昨日Top10烧Token.py | 汇总 Top10 |
作业14_告警规则草稿_*.md | 三条规则 |
验收清单
- [ ] 能说明 Trace / Generation / 成本(或 Usage)在 UI 的入口
- [ ] 8 个规范字段能对照一条真实或样本 Trace 填完
- [ ]
hw14_02对sample_export.json跑通并生成 Top10 文件 - [ ] (加分)用 Cursor 自写脚本,结果与仓库版 Top10 应用名大体一致
- [ ] 3 条告警规则含:条件、窗口、级别、动作
与其它作业关系
| 作业 | 关系 |
|---|---|
| 作业3 | Trace 里工具 Span 验收 |
| 作业4 | 成本熔断(预算) |
| 作业12/13 | 延迟与 429 值班 |
| 作业14 | 成本观测字段 + Top10 + 告警草稿 |