阅读跟踪记录的实用指南
跟踪详细信息以结构化视图展示代理如何处理每个请求,助您理解对话或任务中的主要步骤。 从宏观层面来看,每条跟踪记录包含多个跨度,这些跨度代表不同的活动,例如代理推理、工作流执行、工具使用以及模型调用。 这些跨度有助于您解读执行流程并识别耗时环节。
哪些痕迹细节显示
跟踪详细信息可视化地展示了代理从开始到结束处理消息的全过程。 每条消息展开为一组结构化的跨度序列,每个跨度对应特定活动,例如推理、工具流、模型调用、工作流执行或人工干预。
您可以使用跟踪详细信息来:
追踪代理执行的完整运行时流程。
理解决策、工具和模型调用如何共同促成了最终响应。
验证步骤之间传递了哪些信息。
识别故障、瓶颈或异常行为。
每个跨度代表什么
以下跨度通常被输出,代表运行中的特定活动。 在分析任何跟踪信息时,请参考下表。
跨度 | 详细信息 |
|---|---|
| 整个工作流运行——最外层跨度及完整的执行生命周期。 |
| 代理调用生命周期 - 当代理首次被调用时。 |
| 分配给代理人的单一任务。 |
| 代理执行特定任务时的推理过程或目标。 |
| 代理人的计划或内部推理步骤。 |
| 系统如何选择接下来要调用的代理或技能。 |
| 工作已委派给另一位代理人。 |
| 提示构建——用于构建模型提示的模板。 |
| 负责生成文本的模型(LLM)调用。 |
| 外部行动。 |
| 代理人使用工具的决策(逻辑使用决策)。 |
| 需要人工输入或验证的环节。 |
阅读跟踪记录时,请将上述细节作为参考依据——您看到的每个跨度都可追溯至这些定义之一。
识别不同类型的跨度
每个跟踪包含代表关键活动的跨度。 常见的例子包括:
1. 工作流跨度
工作流跨度代表整体执行生命周期。 它们展示了工作流如何从头到尾运行,包括分支、循环、工具调用以及大型语言模型交互。
示例跨度: LangGraph.workflow
2. 代理跨度
特工的行动轨迹揭示了其思维方式、计划制定及行动实施过程。 他们描述了该智能体的目标、其如何分解任务,以及它选用了哪些子智能体或工具。
示例跨度: invoke_agent, invoke_agent.task, agent.task, agent.plan
3. 工具跨度
工具跨度反映基于工具的操作。 利用这些信息来理解工具何时以及如何被触发,尤其是在调试工具故障时。
示例跨度: tools.task, tool.invoke
4. 模型(LLM)的跨度
模型跨度捕捉模型的行为。 它们会突出显示模型何时被使用、耗时多久,并提供输入和输出文本的访问权限。
示例跨度: llm.call
5. 人际互动的范围
人机交互时段指系统为等待用户输入、确认或决策而暂停的时间段。
示例跨度: human.task
使用跨度来理解整体性能
即使不进行更深入的分析,追踪跨度也能帮助您评估性能:
工作流持续时间 :最外层跨度表示整个请求所耗时间。 看看这个
LangGraph.workflow跨度。代理思维与行动 :代理相关跨度可帮助您区分代理的计划与实际行动。 比较
agent.plan(规划)与invoke_agent.task(执行)。模型使用情况 :LLM跨度显示系统依赖语言模型的位置,这通常会导致延迟。 查看
llm.call模型使用频率及使用时长。工具开销 :检查
tools.task和tool.invoke以了解工具调用所花费的时间。
这些视图可帮助您识别流程中哪些部分对整体延迟贡献最大。
快速发现错误或问题
您可以扫描跟踪跨度来确定问题发生的位置:
查找带有警告或错误标记的跨度。
检查工具、工作流或模型调用是否返回了错误。
确定问题源于工具、模型还是工作流步骤。
这种高层次视图有助于您在深入分析之前快速识别问题区域。
一目了然地理解模型使用
llm.call 跨段落高亮:
当模型被调用时
发生了多少次交互
该模型在生成响应过程中所发挥的总体作用
这些跨度可快速理解模型在请求期间的参与情况。
审查跟踪记录的最佳实践
从顶级
LangGraph.workflowspan 开始,以理解整体结构。逐步展开跟踪记录,查看代理的执行过程。
寻找重复模式,例如反复调用工具(
tool.invoke)或模型调用(llm.call)。使用错误标记快速定位长跟踪记录中的故障点。
这些模式可帮助您直观地解读跟踪流,而无需深入的技术知识。