返回博客
AgentInsight Blog3 分钟阅读1285 字

从 Demo 到生产:AI Agent 可观测到底要看什么?

很多 AI Agent 项目在 Demo 阶段看起来都很顺:用户输入一个问题,Agent 调用模型、检索知识库、执行工具,最后返回一个像样的答案。

从 Demo 到生产:AI Agent 可观测到底要看什么?

很多 AI Agent 项目在 Demo 阶段看起来都很顺:用户输入一个问题,Agent 调用模型、检索知识库、执行工具,最后返回一个像样的答案。

但一旦进入生产环境,问题会马上变复杂:

  • 有些请求突然变慢
  • 有些回答质量不稳定
  • 有些工具调用失败但前端只看到“任务失败”
  • Token 成本越来越高,却不知道花在哪里
  • 用户反馈“AI 不好用”,但团队很难复盘是哪一步出了问题

这也是我们做 AgentInsight 的原因:AI Agent 不能只看最终输出,更要看清中间的执行链路。

只看日志为什么不够

传统日志通常能告诉你“某个接口报错了”,但对 Agent 应用来说,这远远不够。

一次 Agent 任务往往包含:

  • 多轮 LLM 调用
  • 多个工具调用
  • RAG 检索
  • Prompt 拼接
  • 上下文传递
  • 中间决策
  • 成本累积

如果这些步骤没有被结构化记录,排查问题时就只能翻日志、猜原因、复现现场。

真正适合 Agent 的观测方式,应该是把一次任务拆成完整的 Trace,并在每个 Span 上记录输入、输出、耗时、错误、模型、Token 和成本。

生产级 Agent 至少要看 6 类数据

1. Trace 链路

Trace 是 Agent 可观测的基础。

你需要知道一次请求里发生了什么:

  • Agent 做了哪些步骤
  • 调用了哪些 Chain / Tool / LLM
  • 每一步的输入输出是什么
  • 父子调用关系是什么
  • 哪一步失败或变慢

没有 Trace,就很难解释“为什么这次回答不对”。

2. Token 与成本

AI 应用的成本不是固定服务器成本,而是随着模型调用动态增长。

生产环境里至少要按这些维度看成本:

  • 项目
  • 用户
  • 会话
  • 模型
  • Trace
  • 工具链路
  • 时间趋势

如果只看总账单,很难知道到底是哪个功能、哪个部门、哪类请求把成本打上去了。

3. 响应耗时

Agent 任务慢,通常不是一个地方慢,而是多步累积。

你需要拆开看:

  • 模型响应慢
  • 检索慢
  • 工具 API 慢
  • 多轮调用太多
  • Prompt 太长
  • 上下文传递冗余

平均耗时只能说明“慢了”,Trace 耗时才能说明“哪里慢”。

4. 错误与异常

Agent 的失败不一定是程序异常,也可能是:

  • 工具参数错误
  • 模型返回格式不符合预期
  • 检索结果为空
  • Prompt 约束失效
  • JSON 解析失败
  • 外部 API 超时

这些异常如果只混在普通日志里,很难和具体用户会话、模型调用、工具步骤关联起来。

5. 会话质量与评分

Agent 是否“好用”,不能只看有没有返回答案。

更重要的是:

  • 回答是否解决问题
  • 是否命中知识库
  • 是否出现幻觉
  • 是否需要人工介入
  • 用户是否继续追问
  • 业务侧是否认可结果

因此除了 Trace,还应该记录评分、标签、反馈和评估结果。

6. 业务使用情况

企业真正关心的不只是技术指标,还包括:

  • 哪些团队在用 AI
  • 哪些场景用得最多
  • 哪些应用成本最高
  • 哪些场景真正产生业务价值
  • AI 使用是否在持续增长

这也是 AgentInsight 除了研发观测外,还会提供成本分析、模型使用分析、会话分析和业务仪表盘的原因。

用 AgentInsight SDK 快速接入

以 Python 为例,可以通过 @observe 装饰器记录 Agent 链路:

from agentinsight import observe

@observe(as_type="agent")
def run_agent(query: str):
    docs = retrieve_docs(query)
    answer = call_llm(query, docs)
    return answer

@observe(as_type="retriever")
def retrieve_docs(query: str):
    return ["doc1", "doc2"]

@observe(as_type="generation")
def call_llm(query: str, docs: list[str]):
    return "final answer"

这样一次请求就不再是黑盒,而是一条可以复盘的 Agent 执行链路。

对于 LangChain / OpenAI 应用,也可以通过 SDK 集成,把模型调用、Token、耗时和错误自动采集到 AgentInsight 平台。

一个简单的落地建议

如果你正在把 Agent 应用推向生产,可以先从这几个问题开始:

  1. 每一次用户请求能不能看到完整 Trace?
  2. 每一次模型调用能不能看到 Token 和耗时?
  3. 每一次工具失败能不能定位到具体参数和上下文?
  4. 每个项目的 AI 成本能不能单独统计?
  5. 每个会话有没有质量评分或人工反馈?
  6. 业务方能不能看到 AI 应用到底有没有被使用?

如果这些问题答不上来,说明你的 Agent 应用还缺一层生产级可观测能力。

最后

AI Agent 的难点已经不只是“怎么调用模型”,而是“怎么稳定、低成本、可解释地运行在真实业务里”。

AgentInsight 希望做的,就是帮助团队把 Agent 从 Demo 带到生产:看清链路、定位异常、控制成本、评估质量,并最终理解 AI 应用的业务价值。

欢迎试用和反馈: