当前位置: 首页 > news >正文

AI Agent 工程实践(33):Agent 如何监控

摘要:本文针对 AI Agent 上线后“服务活着却在胡说”的监控盲区,梳理了只看存活、只看成本、不盯幻觉三种常见错误,提出 Agent 监控应在传统指标之外额外关注成功率、Tool Error、Latency、Cost、Token、Memory Hit、Hallucination 七个 LLM 专属维度,并给出七指标看板、Mermaid 架构图、Prometheus 打点与离线 eval 示例,最后按“可用性必告警、质量类观察为主”的分级原则避免告警疲劳。

系列:AI Agent 工程实践
上一篇:第 32 篇《Agent 如何上线》
下一篇:第 34 篇《企业 AI Agent 架构》

一、开场:agent 变傻了,没人知道

运营说"最近 agent 答得不对"。工程师去查,发现三天前某个模型版本更新后,特定问题开始胡说。但因为没有监控,谁也说不清:是哪天开始的?哪个场景?哪个模型?影响多少用户?只能靠用户投诉反推。

上篇(32)讲"安全上线",这篇讲"上线后怎么知道它好不好"——监控。

二、问题背景:传统监控不够

只看服务存活:

# 健康检查只返回 200 @app.get("/health") def health(): return {"status": "ok"} # 服务活着 ≠ agent 答得好

Agent 挂了(HTTP 500)你会知道,但它活着却在胡说,传统监控毫无感知。Agent 监控 = 传统指标+ LLM 专属指标

三、错误尝试:三种监控盲区

错误 1:只看 CPU/内存/存活

服务没崩就以为没事,质量劣化完全盲区。等到发现,已经是大量错误回答被用户看见了。

错误 2:只看成本

成本没超就安心,但成本和质量是两个轴——可能又贵又烂,省钱但答非所问。

错误 3:不盯幻觉

"LLM 偶尔胡说正常",不量化幻觉率,等到客诉才暴露,信誉损失已发生。

四、关键观察:Agent 要盯七个指标

传统服务的指标(QPS、错误率、延迟)只是底座。Agent 额外要盯7 个 LLM 维度

  1. 成功率:请求完整跑完、未异常中断的比例。
  2. Tool Error:工具调用失败率——Agent 最常见的硬错误。
  3. Latency:端到端延迟(P50/P95)——用户体感。
  4. Cost:单请求成本 + 日/月总成本趋势。
  5. Token:输入/输出 token 消耗,成本与上下文膨胀的前兆。
  6. Memory Hit:记忆命中率——命中低说明"记不住用户",体验差。
  7. Hallucination:幻觉率——靠 eval 集 + 用户反馈打分量化。

前 5 个可直接打点,后 2 个要靠"埋点 + 评估 + 反馈"间接度量。缺任何一个,你对系统的认知就有盲区。

五、最终方案:七指标看板

指标定义为什么必须看异常信号
成功率未异常中断的请求占比系统基本可用性突降
Tool Error工具调用失败次数/总调用Agent 主要硬错误源持续 >2%
LatencyP50/P95 端到端耗时用户体感P95 翻倍
Cost单请求 + 周期总成本烧钱速度日均超预算
Token输入输出 token 量上下文膨胀/成本前兆陡增
Memory Hit命中长期记忆比例"是否记住用户"持续偏低
Hallucination幻觉回答占比质量底线上升

监控数据流向:Agent 运行时打点 → 日志/链路收集 → 指标聚合 → 看板 + 告警

六、架构图(Mermaid)

七、代码与配置示例

用计数器打点(伪 Prometheus):

from prometheus_client import Counter, Histogram REQ = Counter("agent_requests_total", "总请求") TOOL_ERR = Counter("agent_tool_errors_total", "工具失败") LAT = Histogram("agent_latency_seconds", "端到端延迟") @LAT.time() def handle(req): REQ.inc() try: return run_agent(req) except ToolError: TOOL_ERR.inc() # 工具失败单独计数 raise

幻觉率靠离线 eval:

# 每日跑 eval 集,统计答非所问比例 bad = sum(1 for c in eval_set if not is_correct(c)) hallucination_rate = bad / len(eval_set) # 趋势监控

八、设计权衡:告警 vs 观察

指标建议理由
成功率/Tool Error必告警直接影响可用
Latency P95告警体感硬指标
Cost/Token观察+预算线趋势性,不必秒级
Memory Hit观察体验指标
Hallucination周级观察需 eval,滞后

反过度告警:什么都告警 = 告警疲劳,真正异常被淹没。分级——可用性必告警,质量类观察为主。把告警留给"不处理就出事"的指标。

九、总结

  • ✅ 服务活着 ≠ agent 答得好,传统监控对质量劣化盲区。
  • ✅ 三种盲区:只看存活、只看成本、不盯幻觉。
  • ✅ Agent 监控 = 传统指标 + 7 个 LLM 维度(成功率/Tool Error/Latency/Cost/Token/Memory Hit/Hallucination)。
  • ✅ 前 5 直接打点,后 2 靠 eval + 用户反馈间接度量。
  • ✅ 分级:可用性必告警,质量类观察为主,防告警疲劳。

下一篇,把前面所有零件画成一张企业全链路图。(34)


参考资料(带用途说明)

  • 本系列(32)Agent 如何上线:本文监控指标是(32)灰度/全量判断的依据。
  • 本系列(27)日志系统:监控的打点数据来自(27)的日志字段设计。
  • 本系列(28)可观测性:Trace/Span 是本文链路追踪的理论基础。
  • 本系列(30)Agent 如何做测试:幻觉率评估复用(30)的 Golden Dataset。
  • Prometheus 文档(prometheus.io):指标打点与聚合的实现参考。

本文是 AI Agent 工程实践系列的第 33 篇(第四阶段第十三篇)。


系列导航

上一篇:第 32 篇《Agent 如何上线》
下一篇:第 34 篇《企业 AI Agent 架构》

http://www.cnnetsun.cn/news/4260695.html

相关文章:

  • 动态规划实战:从最长公共子序列到蓝肽子序列问题解析
  • 【LLM】Qwen3-0.6B服务化部署、请求与性能测试
  • Pydantic 数据验证讲解
  • YOLO目标检测实战:从331张行人车辆数据集入门到部署
  • 充电桩产线 ATE 自动测试系统架构设计:上下料/测试/分拣怎么拼
  • RustFS 加入 NVIDIA Inception:AI 原生存储路线走到哪了
  • 本地LLM硬件需求怎么算?显存内存估算公式与配置指南
  • 2026年数据分类分级产品选型指南:七大厂商解决方案技术评测与行业优选解析
  • 从零构建AI文本检测系统:Wikipedia AI or Not Quiz实战
  • 概率张量分解与函数配准的统一框架:光滑重参数化实战
  • 荒岛求生1.1.6他来啦
  • 李宏毅机器学习课程学习指南:从基础到实战的完整路径
  • AI生成美术素材引争议:游戏团队必须建立流程责任与审查机制
  • Spring代理模式深度解析:从AOP原理到事务模拟实战
  • 从零构建LLM:打通训练与推理全流程的工程实践
  • effective modern C++- item 1: 理解模版类型推导
  • 零基础也能吃透!Python自动化办公全实操教程,告别加班效率翻倍
  • 学习Python图像处理库Pillow
  • 【29册即拍即发】折纸侦探团全系列PDF合集(1-29卷)|高清步骤图+动物/昆虫/人物全覆盖|折纸入门与进阶必备收藏版
  • 14.什么时候用pgvector什么时候单独部署Milvus
  • PCB缺陷检测VOC数据集实战避坑指南
  • 千问 LeetCode 11. 盛最多水的容器 Java实现
  • AI望远镜技术落地:从边缘推理到智能观测自建方案
  • 学术AI技术进阶:单一模型局限性与多模型协同架构在科研全流程的落地价值
  • 打架行为检测数据集:VOC+YOLO双格式2类别实战指南
  • 深入理解C++ std::enable_if_t的用法<一>做为函数返回值
  • 基于CNN的睡眠质量分析系统:从时间序列处理到健康应用实践
  • 同样是写文档,为什么别人图文清爽?
  • OpenRouter深度解析:一个API Key统一调用多模型的工程实践
  • 本地大模型部署显存估算:用计算器搞定GPU选型与KV Cache优化