观测介绍
背景:从“黑箱”到“透明视图”
在AI应用的开发与部署过程中,请求调用路径往往复杂交错,难以追踪关键节点,导致问题定位困难、性能瓶颈难发现。为解决这一痛点,观测功能应运而生。
观测功能通过在请求处理的每个关键节点插入探针,自动化采集处理时间、调用路径等信息,构建完整的调用链(Trace),并通过可视化界面展示,帮助开发者快速定位问题。
例如,当用户发起请求时,系统会记录从请求开始到模型调用的完整路径,并在“调用链详情”页面中展示每个步骤的耗时和状态。
核心能力
观测功能覆盖了以下几类关键数据,帮助开发者和运维人员全面掌握Agent的运行状态:
|
名称 |
说明 |
|
|---|---|---|
|
智能体概览 |
展示关键业务指标(如Token消耗、Trace数、响应成功率等),监测关键业务表现,及时发现异常趋势,支撑运营决策。 |
|
|
聚焦用户使用行为与资源运行情况,提供多维度、可量化、可追踪的运营视图,帮助用户掌握应用实际运行状态,实现资源优化与成本控制。 |
||
|
记录请求从发起到响应的完整路径,展示各组件的调用顺序、耗时与时间,快速定位性能瓶颈与异常调用,减少故障排查时间。 |
||
|
记录用户与系统的交互过程的信息,深入理解用户行为,提升体验流畅度 |
||
|
智能体运行分析 |
展示高代码智能体的运行状态、更新时间及详细日志,辅助追踪执行流程。 |
|
|
展示沙箱工具调用过程中的日志信息,用于排查工具执行异常。 |
||
|
展示网关在使用过程中产生的日志信息。 |
||
基础概念
AgentArts智能体开发平台为开发者提供了完整的链路请求调用记录的可视化展示,具体包括以下部分:
Trace
一次完整请求的全生命周期记录,从用户发起请求完整地呈现了从请求发起到最终返回输出的全生命周期。
Span
在Trace中,每一个独立的操作步骤称为一个Span,比如一次模型调用或一个函数调用。Trace中的第一个Span被称为Root Span,它记录着整个请求的开始和结束。而Root Span下的子Span,则用于记录请求执行过程中更具体、更细粒度的操作信息,帮助了解整个流程的详细上下文。
下图是一次请求的完整数据记录,从请求输入到最终返回结果,链路会记录每一个环节的处理信息。
链路信息
展示每个span的输入和输出信息,用户可以详细查看具体的输入内容和输出内容。
元数据
运行过程中的键值对集合,用于存储运行实例的补充信息,例如应用程序版本、运行环境、调用模型名称或其他需关联的自定义信息。
标注
附加在Span上的自定义标签。可以使用标注结果对Trace数据进行分类、筛选或标记特殊事件。标注的结果也可以针对特定的场景筛选后回流至评测集,可以实现对特定场景智能体或评测集数据的评估。
例如标记某次对话为“优质回答案例”。通过标注筛选,可以快速构建特定类型的评测数据集,用于后续的智能体效果验证。
指标
用于反映系统运行的宏观状态和性能健康度,常见类型包括Tokens消耗、请求数、错误数和平均响应时间;您可以通过指标图表详细查看当前Span的指标信息。
日志
应用场景
场景一:模型调用链路优化
- 示例问题:调用链路中存在多个耗时环节,导致整体响应时间过长。
- 解决思路:通过调用链分析功能,可以在“调用链详情”页面中查看每个Span的耗时,定位最长耗时的组件,从而进行优化。例如,发现某个工具调用耗时过长,可进一步分析其输入输出,优化调用逻辑。
- 处理结果:模型调用链路响应时间缩短,用户体验提升。
场景二:模型输出不符合预期
- 示例问题:通过旅游智能助手查询南京的博物馆信息,模型调用博物馆推荐工具,但助手返回“未找到该类型景点”。
- 解决思路:通过观测模型节点处理的详细信息,发现模型生成的attraction_type参数为“博物馆”,但博物馆推荐应用预期的入参是“文化机构”,导致应用查询返回异常。
- 处理结果:优化模型Prompt,调整参数名称为“文化机构”,应用调用成功,返回正确博物馆推荐信息。
场景三:Token消耗异常,成本飙升
- 示例问题:某智能体Token消耗激增,导致成本失控。
- 解决思路:调用链分析发现,模型在多次对话中反复调用高成本的长文本生成服务,且未做上下文判断或缓存。
- 处理结果:通过增加上下文判断逻辑避免重复生成,引入缓存机制复用常见问题答案,并设置调用频率与Token阈值告警,实现成本可控、响应高效、运行稳定的智能体服务。
- 示例问题:需要量化评估智能体在特定场景下的性能表现。
- 解决思路:通过观测功能收集特定场景下的Trace数据进行回流,用于构建评测集。
- 处理结果:通过评估结果识别高频问题,优化对应的问题提升智能体响应的准确率。