开发指南
指标埋点策略
必埋点
- 每次 LLM 调用:model、input_tokens、output_tokens、duration、status
- 每次工具调用:tool_name、duration、status
- 每次检索(若 RAG):query_len、num_results、duration
可选埋点
- Prompt 哈希(用于去重与聚类)
- 用户/租户 ID(用于多租户成本分摊)
- 业务标签(如 feature、experiment)
Trace 设计
Span 层级
request
├── rag.retrieve
├── llm.chat
│ ├── llm.prompt_build
│ └── llm.inference
└── tool.search
敏感信息处理
- 不记录完整 Prompt/Response 到 Trace(可截断或哈希)
- 按合规要求决定是否存 PII
- 日志与 Trace 输出前做脱敏
与现有系统集成
Prometheus
- 自定义 Counter、Histogram 暴露 LLM 调用指标
- 推理服务(vLLM、TGI)通常已暴露,可 scrape 聚合
Grafana
- 导入或自建 Dashboard:QPS、延迟、Token、错误率
- 配置告警规则
日志系统
- 结构化 JSON 日志,含 trace_id
- 与 ELK、Loki、CloudWatch 等对接
成本分摊
- 按 user_id、tenant_id、project 聚合 Token
- 结合模型单价计算费用
- 支持用量限制与告警