LLM 追踪与 AI 追踪

LLM 追踪是指捕获应用程序中每次大语言模型调用的详细执行数据的实践,包括提示词(prompt)、补全(completion)、模型参数、Token 数量、延迟和元数据。当追踪范围从单个 LLM 调用扩展到覆盖整个 AI 系统栈(嵌入、检索器、RAG 管道)时,这被称为 AI 追踪。对于多步骤自主式 智能体,追踪其完整的决策过程被称为 智能体追踪.

LLM 追踪是 AI 可观测性 的基础组成部分。虽然可观测性包含了追踪、评估、监控和反馈收集,但追踪提供了使所有其他可观测性功能成为可能的基础原始执行数据。LLM 追踪让工程团队对他们的 AI 应用程序的实际运行情况拥有深度可见性:不仅能了解它们是否在运行,还能知道发送了什么提示词、生成了什么响应、消耗了多少成本以及在何处发生了故障。随着 LLM 应用程序从原型走向生产关键型系统,追踪对于调试、优化和质量保证变得至关重要。

与传统日志记录不同,LLM 追踪以结构化、可查询的格式捕获 AI 执行的完整上下文。它记录了 提示词、模型响应、 工具调用、检索结果、Token 使用情况以及显示多步推理的嵌套 Span。这种结构化遥测数据允许团队搜索模式(例如,“所有 Token 使用量超过 10,000 的追踪”)、调试特定的故障,并理解每个输出背后的“原因”。

MLflow Trace UI showing captured LLM calls with prompts, responses, and metadata

一个显示了提示词、补全、Token 使用情况、延迟和执行元数据的 LLM 追踪

快速导航

为什么 LLM 追踪如此重要

LLM 应用程序引入了传统日志记录无法解决的独特挑战

调试非确定性

问题:LLM 针对相同的输入会产生不同的输出。传统日志无法捕获调试“为什么生成特定输出”所需的完整上下文。

解决方案:追踪将提示词、模型参数和响应一同捕获,使每次执行都可重现和可调试。

成本优化

问题:如果无法直观了解哪些请求最昂贵以及原因,Token 成本可能会急剧攀升。

解决方案:跟踪 Token 使用情况(按请求),识别低效的提示词,并寻找在不牺牲质量的情况下切换到更小模型的机会。

质量保证

问题:LLM 可能会产生幻觉、无关的响应或退化的输出,从而损害用户信任。

解决方案:追踪数据结合 自动化评估 有助于在质量问题影响到用户之前检测到它们。

生产监控

问题:如果没有追踪,就无法知道何时由于模型更新或提示词漂移而导致 LLM 行为发生变化。

解决方案:持续追踪为 检测退化、延迟激增和成本异常提供了基准。

什么是 LLM 追踪?

LLM 追踪捕获应用程序中每次大语言模型调用的详细执行数据。每次追踪记录:

  • 提示词:发送给模型的准确输入,包括系统消息、用户消息和少样本示例。
  • 补全:模型生成的完整响应,如果使用 n > 1,则包括所有候选输出。
  • 模型参数:温度(Temperature)、top_p、max_tokens、停止序列以及其他影响输出的配置。
  • Token 使用情况:提示词 Token、补全 Token 和消耗的总 Token,从而实现 成本跟踪.
  • 延迟:首个 Token 的响应时间、总响应时间以及服务器端处理时间。
  • 元数据:用户 ID、会话 ID、请求 ID 以及用于过滤和分析的自定义标签。

这些结构化数据允许团队搜索模式(例如,“所有延迟超过 5 秒的追踪”)、调试特定的故障并了解成本动因。与日志不同,追踪旨在对数百万个请求进行查询、聚合和关联。

MLflow 的自动追踪功能 只需一行代码即可捕获 50 多个 LLM 提供商和框架的所有这些遥测数据,并将追踪结果存储在本地,或将其发送到您的追踪服务器以进行分析和监控。

什么是 AI 追踪?

AI 追踪扩展了 LLM 追踪,从而覆盖整个 AI 应用程序栈,而不仅仅是单个模型调用。LLM 追踪专注于捕获提示词和补全,而 AI 追踪则捕获 AI 系统的每个组件:

  • 嵌入:被嵌入的文本块、使用的嵌入模型、向量维度和计算时间。
  • 检索器:搜索查询、检索到的文档、相似度得分和检索延迟。
  • RAG 管道:文档分块、检索、重排和上下文装配步骤。
  • 多模型系统:不同模型的链(例如,嵌入模型 → 重排模型 → 生成模型)。
  • 自定义逻辑:与 LLM 集成的业务逻辑、数据转换和外部 API 调用。

AI 追踪将这些组件捕获为一个单一的执行图,展示数据如何在您的整个 AI 栈中流动。这使得调试跨越多个组件的故障(例如,“检索器返回了无关文档,导致 LLM 产生幻觉”)以及优化端到端延迟和成本成为可能。

通过使用 MLflow 与 OpenTelemetry 兼容的追踪功能,您可以追踪 AI 栈的任何组件,而不仅仅是 LLM 调用。使用 @mlflow.trace 装饰器 来对自定义函数进行插桩,或者依赖于流行框架的自动追踪,例如 LangChain, LlamaIndex 等。 LangGraph.

什么是智能体追踪?

智能体追踪将 AI 追踪扩展到多步骤自主式智能体。LLM 追踪跟踪单个模型调用,AI 追踪捕获多组件管道,而智能体追踪则揭示了跨多轮进行推理、规划和执行行动的智能体的完整决策过程。

使用 LangGraph、CrewAI 或 AutoGen 等框架构建的智能体会做出动态决策:调用哪些工具、何时重试、如何从错误中恢复以及何时请求帮助。智能体追踪捕获了此执行图:

  • 推理步骤:引导智能体行动的内部思考、规划和反思。
  • 工具调用:调用了哪些工具、使用了什么参数以及它们返回了什么。
  • 条件分支:智能体如何根据中间结果在不同路径之间进行选择。
  • 迭代循环:重试逻辑、错误处理以及与工具或多轮用户的交互。
  • 并行执行:同时进行的工具调用以及结果是如何合并的。

这种可见性对于调试智能体故障至关重要。当智能体陷入死循环、做出错误的工具选择或产生意外输出时,智能体追踪可以准确显示推理在何处出错。

MLflow 会自动追踪智能体工作流,捕获完整的执行有向无环图 (DAG)。您可以查看每个推理步骤、工具调用和决策点,从而轻松识别并修复有问题的智能体行为。

LLM 追踪的常见应用场景

LLM 追踪解决跨整个 AI 生命周期的现实世界问题:

  • 调试幻觉:当您的 LLM 产生不正确的输出时,追踪会准确显示发送了什么提示词、包含了什么上下文以及使用了什么参数。这使得您可以轻松识别问题是出在提示词构建、检索质量还是模型行为上。
  • 优化 Token 成本:跟踪 Token 使用情况和成本(按请求),以识别昂贵的查询、低效的提示词或切换到更小模型的机会。团队使用追踪在不牺牲质量的情况下将 LLM 成本降低 30-50%。
  • 监控生产质量:持续追踪与 自动化评估 相结合,有助于检测由于 API 更新、提示词漂移或数据更改而导致模型行为退化的时刻——且是在用户察觉之前。
  • A/B 测试提示词:在部署 提示词更改到生产环境之前,使用追踪数据运行 并排评估。比较相关性、真实性和安全性等质量指标,以确保更改能够提高输出质量。
  • 理解智能体行为:智能体可能会表现出不可预测的行为——陷入循环、做出错误的工具选择或产生不一致的输出。智能体追踪会显示每个推理步骤、工具调用和决策点,以便您可以识别并修复有问题的模式。
  • 合规性与审计:捕获完整的审计轨迹,显示发送了什么提示词、接收了什么响应以及访问了什么数据。 执行 PII(个人身份信息)脱敏策略和内容安全护栏 以满足监管要求。

如何实现 LLM 追踪

现代开源 AI 平台如 MLflow 使得通过极少的代码更改即可轻松添加生产级的 LLM 追踪。

只需单行代码,您就可以自动捕获每次 LLM 调用的追踪信息,包括提示词、响应、Token 使用情况、延迟和模型参数。这些追踪信息存储在本地,或发送到您的 MLflow 追踪服务器,您可以在其中通过 MLflow UI 搜索、过滤和分析它们。

以下是启用自动追踪的快速示例。请查看 MLflow 追踪集成文档 以了解如何在 LangChain、LangGraph、LlamaIndex、Vercel AI SDK 和其他框架中使用追踪。

OpenAI

python
import mlflow
# Enable automatic tracing for OpenAI
mlflow.openai.autolog()
# That's it - every LLM call is now traced
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-5.2",
messages=[{"role": "user", "content": "Hello!"}],
)

LangGraph

python
import mlflow
# Enable automatic tracing for LangChain
mlflow.langchain.autolog()
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, AgentType
llm = ChatOpenAI(model="gpt-5.2")
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)
agent.run("What is the weather in San Francisco?")

Vercel AI SDK

typescript
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
// Configure OpenTelemetry to send traces to MLflow
// (see MLflow docs for setup details)
// Enable tracing for each AI SDK call
const result = await generateText({
model: openai('gpt-5.2'),
prompt: 'What is MLflow?',
experimental_telemetry: { isEnabled: true }
});
MLflow Trace UI showing captured LLM calls with prompts, responses, and metadata

MLflow UI 自动捕获并显示每次 LLM 调用的追踪

MLflow 是最大的开源 针对智能体、LLM 和 ML 模型的 AI 工程平台,每月下载量超过 3000 万次。成千上万个组织使用 MLflow 调试、评估、监控和优化生产级的 AI 智能体和 LLM 应用程序,同时控制成本并管理对模型和数据的访问。由 Linux 基金会支持并根据 Apache 2.0 许可协议授权, MLflow 提供完整的 LLM 追踪解决方案,无厂商锁定。 立即开始 →

开源与专有 LLM 追踪

在选择 LLM 追踪平台时,在开源与专有 SaaS 工具之间做出决定,对您的团队、基础设施和数据所有权具有重大的长期影响。

开源 (MLflow) 使用 MLflow,您可以保持对追踪基础设施和数据的完整控制。部署在您自己的基础设施上,或使用 Databricks、AWS 或其他平台上的托管版本。没有按追踪计费的费用,没有使用限制,也没有厂商锁定。您的追踪数据仍由您控制,并且您可以根据自己的确切需求自定义平台。MLflow 通过与 OpenTelemetry 兼容的追踪,可以与任何 LLM 提供商和智能体框架集成。

专有 SaaS 工具:商用追踪平台提供了便利,但牺牲了灵活性和控制力。它们通常根据追踪量或席位收费,这在规模化后可能会变得非常昂贵。您的数据会被发送到他们的服务器,从而引发隐私和合规性担忧。您被锁定在他们的生态系统中,因而难以更换供应商或自定义功能。大多数专有工具仅支持 LLM 提供商和框架的一个子集。

为什么团队选择开源:构建生产级 LLM 应用程序的组织越来越多地选择 MLflow,因为它提供了企业级的追踪,同时不妥协数据主权、成本可预测性或灵活性。Apache 2.0 许可协议和 Linux 基金会的支持确保了 MLflow 保持真正的开放和社区驱动,而不受单一厂商的控制。

常见问题 (FAQ)

LLM 追踪是指捕获应用程序中每次大语言模型调用的详细执行数据的实践,包括提示词、补全、模型参数、Token 数量、延迟和元数据。它创建了完整的审计轨迹,精确显示每个 LLM 请求期间发生的事情。

相关资源