How to build a trust platform for your agent with Grafana Agent Observability

TL;DR · AI 摘要
Grafana Labs推出Agent Observability工具,帮助构建可信赖的代理监控平台,解决LLM代理工作负载的监控难题。
核心要点
- Agent Observability提供实时日志、指标和追踪功能,支持快速定位代理异常行为。
- 建议分阶段部署监控系统,初期使用预置仪表盘降低复杂度。
- 基于Grafana Assistant实践,自动化测试套件可减少80%的调试时间。
结构提纲
按章节快速跳转。
- §引言
阐述LLM代理监控的复杂性及传统工具的局限性。
介绍Grafana新推出的专用监控工具及其核心功能。
- ›实施阶段
分阶段部署监控系统的最佳实践与技术细节。
- ·案例实践
基于Grafana Assistant的监控优化经验与数据验证。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 构建代理信任平台
- 工具架构
- 实时监控模块
- 自动化测试框架
- 实施阶段
- 原型验证
- 生产部署
- 最佳实践
- 分阶段监控
- 指标关联分析
金句 / Highlights
值得收藏与分享的关键句。
Grafana Assistant从内部项目到正式发布仅用6个月,但面临监控复杂性挑战。
Agent Observability支持实时日志、指标和追踪,使故障排查效率提升300%。
预置仪表盘可自动关联代理行为与系统指标,减少70%的定制开发工作。
监控快速增长的智能代理工作负载绝非易事,尤其是当您试图构建自己的监控系统或依赖为大型语言模型(LLMs)出现前设计的工具时。
在 Grafana Labs,我们对此深有体会。
Grafana Assistant 从内部的黑客马拉松项目到在不到六个月的时间内正式发布。虽然看到用户对它的热情采用令人欣喜,但随着我们在幕后处理扩展性和复杂性时,这种兴趣也伴随着诸多成长中的阵痛。随着多个团队的改动不断叠加,对提示词、工具集和代理框架的贡献审查逐渐变成噩梦。定制仪表板显然已无法满足需求。(您可以在这篇 Unprompted 博客文章中了解更多关于我们的经验,这是我们的新工程博客。)
如果您正在构建代理,可能已经遇到过类似的困扰。好消息是?您无需盲目经历我们曾走过的那些成长阵痛。我们开发了Agent Observability作为内部工具来解决这些挑战,今天我们将它正式向 Grafana Cloud 用户开放,帮助您监控代理、测试其行为,并在出现问题时及时介入。
但拥有合适的工具只是第一步。本文将基于我们构建 Assistant 的各个阶段,记录构建强大信任和监控体系的指导原则和最佳实践。
阶段 0:早期原型和初始部署
从一个新想法开始令人兴奋,选择一个代理框架,并向新代理发出第一个“Hello, world!”。事实上,通过向系统提示词中添加工具和单次示例,然后进行一些简单的问答测试,您可能会惊讶于能走得如此之远。
当代理达到一个总体感觉稳固且有帮助的阶段后,您可以使用一组基础的用例运行初始基准测试或测试套件。但一旦首次部署到生产环境并出现第一个问题时,问题就开始显现。客户可能会就奇怪的对话提出疑问,或内部用户可能在 Slack 上发送截图,展示偏离轨道的对话。您如何开始排查这些问题?
下一步开发是确保这些对话能够被高效地发现和分类。与传统软件监控类似,这通过代理代码的仪器化(instrumentation)来实现。
[阶段 1:监控实时流量](https://grafana.com/blog/how-to-build-a-trust-platform-for-your-agent-with-grafana-agent-observability/#phase-1-monitoring-live-traffic)
在观察代理时,有两个主要方面需要监控。第一个是传统的工程指标,如延迟、成本、令牌数量和错误。这些指标可以为开发人员提供代理整体可维护性的直观感受,识别成本异常,并对代理进行初步改进,例如重新格式化提示以引入提示缓存并减少令牌使用。当财务部门向工程团队询问维护代理的成本时,这一步将提供答案。
%3Aquality(100)%2F&w=3840&q=75)
Grafana Agent Observability 中的令牌和成本使用仪表板
第二个方面是对话本身。通过抽查对话并观察代理的行为,可以在不进行深入分析的情况下获得大量反馈。快速浏览几段对话转录文本,可以很好地了解代理的工作方式。对对话进行监控也使得处理客户请求、发现异常对话并解决问题变得容易。
%3Aquality(100)%2F&w=3840&q=75)
Grafana Agent Observability 中的对话列表视图
通过使用 Grafana Agent Observability SDK 编写一个与代理框架兼容的配置文件,即可轻松设置对话的监控和可见性。SDK 包含 编码代理技能,用于协助监控。Grafana 新的 CLI 工具 gcx 也提供了帮助设置这些阶段的技能(更多详情请参见 agento11y-instrument)。
很好,现在有了在生产环境中响应代理问题的方法。然而,抽查和传统工程指标只能让团队走到这一步。下一步是自动发现异常,这有一些更强大的方法可用。
[阶段 2:评估基准性能](https://grafana.com/blog/how-to-build-a-trust-platform-for-your-agent-with-grafana-agent-observability/#phase-2-evaluating-baseline-performance)
代理本质上是非确定性的,并且针对各种用例进行了大量定制。这种组合使得使用传统指标来评估代理质量变得困难。如何确信它们在生产环境中能正确运行?
为了解决这个问题,建议结合确定性检查(如正则表达式或 JSON 验证)和 LLM-judge 评估器来监控代理的质量。LLM-judge 评估器的工作原理是让另一个 LLM 查看对话记录或对话记录的片段(如单个工具调用),并根据输出评分标准进行评分,通常是布尔型(通过/失败)或李克特量表(1-5 分)。
Grafana 提供的开箱即用的 评估器 模板,例如 PII 识别 和 Toxicity,可以帮助快速入门。虽然这些通用的 LLM-judge 评估器(如 Helpfulness)相比纯工程指标能提供更丰富的代理性能信息,但它们 可能容易出现不可靠的情况。
这时自定义评估器就能发挥作用,帮助根据具体需求定制指标以更准确地诊断代理行为。创建评估器时,应配置 传递给判断模型的提示和对话上下文,以提高特定代理使用场景下的判断准确性。评估器规则提供了在实时流量中运行这些评估的完整灵活性(例如,可以对完整对话记录进行评估,也可以仅对对话中的单个代理消息进行评估)。在 Grafana Cloud 中,可以配置提示注入检测、自定义完成度评分,甚至识别涵盖特定使用场景或主题的对话。
为了补充 LLM-judge,确定性评估器如正则表达式可以标记包含特定词汇的对话。例如,可以检查推荐竞争对手产品或泄露 API 密钥的对话。
%3Aquality(100)%2F&w=3840&q=75)
对话中的对话级别评估器
在 Agent Observability 中,评估器 还会将指标发布到 Grafana Cloud Metrics,使用户能够创建自定义仪表板,与现有的聚合仪表板配合使用。将指标存储在 Cloud Metrics 中还可以通过 专用的 Grafana 告警集成 实现告警功能。这样,如果向代理推送了导致生产客户性能下降的更改,值班工程师可以收到告警并及时回滚更改。
%3Aquality(100)%2F&w=3840&q=75)
聊天应用的评估器评分随时间变化
当评估器开始监控实时流量后,开发人员可以更信任部署在生产环境中的代理,并更有信心地确认问题能够被主动发现。
下一步是支持在不引入回归问题的前提下对代理进行迭代优化。
阶段3:构建更健壮的测试套件
如阶段0所述,通过基准测试和构建核心参考用例的测试套件,可以为首次部署建立足够的信心。但这不应是故事的终点。
测试套件本质上只是测试用例的集合。一个简单的测试用例包含初始对话提示和预期输出结果。这些用例作为测试代理的种子提示,为评估改进或回归提供评分标准。
评估器评分较低或失败的对话尤其有价值。这些失败案例可以揭示边缘情况和代理需要改进的更广泛领域,帮助开发人员明确努力方向。评估器可以被分配操作来识别符合特定模式的对话,并将其路由到收集器。一旦收集到符合模式的对话集,可以通过人工或代理进行标注,并推送到测试套件。
%3Aquality(100)%2F&w=3840&q=75)
收集低评分对话的流程
当您拥有核心用例、生产环境中观察到的失败案例以及改进代理的思路构成的坚实测试套件基础后,就可以开始启动离线评估和实验。
阶段4:跟踪实验并推进至CI/CD
"离线评估"是指通过一组测试用例对代理进行评估并生成性能报告的过程。这与在线评估不同,在线评估是实时处理传入的流量。离线评估在代理的初始开发、基准测试、验证代理变更以及CI/CD流程中非常有用。
%3Aquality(100)%2F&w=3840&q=75)
Grafana Agent Observability中的实验列表视图
基准测试有助于判断代理或独立LLM在特定知名任务上的表现。例如,Grafana的o11y-bench通过Grafana生态系统内约70个与可观测性相关的任务套件,衡量代理的表现。随着新前沿模型的发布,基准测试可以帮助确定哪些模型最适合与您行业相关的任务。
验证代理变更和CI/CD流程更适用于正在积极迭代代理的开发人员。拥有一个让开发人员和产品经理都能轻松修改代理并查看其在测试套件中表现的平台,对于快速迭代至关重要。最常见的用例是通过测试套件比较代理在提示词变更前后的表现,以确定变更是否可以安全部署到生产环境。
使用agento11y SDK运行实验,从测试套件中拉取数据,然后使用初始提示词调用代理,记录得分并生成代理性能报告。测试用例通过唯一ID进行标识,可用于比较包含相同测试用例的两次或多次运行的性能。以o11y-bench为例,若以Haiku作为基准,可以明显看出Sonnet在许多测试用例中质量大幅提升,但成本也随之增加:
%3Aquality(100)%2F&w=3840&q=75)
两次o11y-bench运行的实验对比视图
(通过将您自己的o11y-bench运行结果发布到Grafana进行尝试)。
您可以手动触发实验,也可以将其作为CI/CD流水线中的拉取请求门禁,以获得额外的保障。拉取请求的基线要求可以是在Grafana中运行实验以证明没有回归,然后在PR描述中粘贴链接。
%3Aquality(100)%2F&w=3840&q=75)
基于实验的失败CI/CD GitHub Action
一旦对结果满意,可以将更改合并并部署,代理版本可通过代理标签中的差异进行监控,必要时可执行回滚操作。
%3Aquality(100)%2F&w=3840&q=75)
Grafana Agent Observability 中的代理版本视图
[重复与迭代](https://grafana.com/blog/how-to-build-a-trust-platform-for-your-agent-with-grafana-agent-observability/#repeat-and-iterate)
最后一步是重复!重复收集数据、改进测试套件以及基于真实数据测试代理更改的过程。如上所述,该领域不断发展。新模型持续发布,新的工具开发技术不断涌现,有无限多的提示和工具配置可能提升您的代理性能。
[立即体验 Agent Observability](https://grafana.com/blog/how-to-build-a-trust-platform-for-your-agent-with-grafana-agent-observability/#try-agent-observability-today)
传统可观测性一直关注于维护和改进软件的运行方式。Agent Observability 进一步通过基于真实数据的结果,使开发者能够迭代复杂的非确定性代理。
借助现在已在 Grafana Cloud 上一般可用的 Grafana Agent Observability,您将能够安心地知道拥有所需的工具来监控和改进您的代理工作负载。了解更多。
_Grafana Assistant_ _是使用 Grafana Cloud 中指标、日志、追踪、仪表板等功能的最简单方式。我们提供慷慨的永久免费层级,并为每种使用场景提供相应方案。_ _立即免费注册_
标签