AI Agent 可观测方案调研报告

目录

  1. 背景与动机
  2. 文章综合分析
  3. 开源框架横向对比
  4. 实施方案
  5. 总结与建议

1. 背景与动机

1.1 问题陈述

在 AI Agent 执行过程和 AICoding 过程中,以下关键信息目前处于黑盒状态

  • Token 消耗:每次 Agent 执行消耗了多少 Token?哪些阶段是 Token 大户?Input/Output Token 各占多少?
  • Skill 调用链路:Agent 依次调用了哪些 Skill?每个 Skill 的执行路径和依赖关系是什么?
  • 响应耗时:端到端的平均响应时间多长?瓶颈在哪个环节?模型推理 vs 工具调用各占多少时间?
  • 质量评估:Agent 产出的代码质量如何?有无幻觉或不合规内容?

1.2 为什么需要 AI 可观测性

与传统微服务相比,AI Agent 应用有三个本质区别,使得可观测性更加重要:

维度 传统微服务 AI Agent 应用
确定性 同一输入 → 同一输出 同一输入 → 每次输出不同
成本模型 以计算资源计费 以 Token 计费,成本难预测
调试方式 断点+日志 需追踪多轮对话、工具调用、推理链路
质量衡量 功能测试通过率 需要"裁判员模型"做语义级评估

核心观点 :AI 可观测性正从运维工具进化为 AI 应用架构的核心组件。没有可观测性,AI 应用从 PoC 到生产的鸿沟无法跨越。


2. 文章综合分析

2.1 核心痛点总结

综合内部文章、可观测中文社区实践分享以及 EvEye 平台文档,AI Agent 可观测性面临以下核心痛点:

痛点一:用起来 --- 非确定性输出难调试

AI 应用最大的挑战是不确定性 。同样的 Prompt、同样的应用,换一个模型回答效果就大打折扣;同一个问题问两三次,每次的回答都不一样。传统的断点调试和日志分析方法在 AI 场景下几乎失效,开发者需要能够重现并对比每次推理的完整上下文。

痛点二:用得省 --- Token 黑洞问题

MCP Token 黑洞是当前 AI 应用面临的最突出成本问题之一。当 Agent 使用 MCP 工具时,看似最终输出只消耗了 1000 个 Token,但背后可能调用了数十次模型、执行了大量 MCP Tools,实际消耗可能上万 Token。每次与模型的对话,都会将历史对话和 MCP Tools 的调用结果一起作为 input 再发给模型,这个过程是不断叠加的,次数越多消耗越大。

关键发现:在缺乏链路追踪的情况下,开发者无法感知这种 Token 消耗的指数级增长。

痛点三:用得好 --- 质量评估缺失

AI Agent 的每一次迭代升级(Prompt 修改、模型切换、工具链变更),都可能引发不可预见的副作用。需要建立自动化评估框架,量化每次变更对服务质量的影响,类似于传统软件的"回归测试"。

2.2 AI 应用黄金三指标

与传统微服务的黄金三指标(请求数 / 错误率 / 耗时)类比,AI 应用的黄金三指标是:

复制代码
┌─────────────────────────────────────────────────┐
│               AI 应用黄金三指标                   │
├────────────┬────────────────┬───────────────────┤
│   Token    │     Error      │     Duration      │
├────────────┼────────────────┼───────────────────┤
│ Input Token│ 异常率         │ TTFT              │
│ Output Token│ 幻觉率        │ (首 Token 延迟)    │
│ 总消耗/成本│ 工具调用失败率  │ TPOT              │
│            │                │ (每 Token 生成间隔) │
└────────────┴────────────────┴───────────────────┘
  • Token:最重要的成本指标。需精确区分 Input Token 和 Output Token(定价不同),按模型、应用、用户等维度聚合统计。
  • Error:包括模型推理异常、工具调用失败、幻觉输出、不合规内容等。
  • Duration
    • TTFT (Time to First Token):从输入到模型吐出第一个 Token 的时间,衡量 Prefill 阶段性能。
    • TPOT (Time Per Output Token):后续每个 Token 的平均生成间隔,衡量 Decode 阶段效率。
    • 总推理耗时 ≈ TTFT + TPOT × (总 Token 数 - 1)

2.3 端到端追踪架构

基于可观测中文社区的实践分享,一个完整的 AI 应用端到端追踪架构如下:

复制代码
用户端侧          API 网关          AI 应用层         AI 网关          模型推理层
(iOS/Android/Web) (Higress)        (Python/Java)     (模型路由)       (vLLM/SGLang)
     │                │                │                │                │
     ├──── Trace ─────┼──── Trace ─────┼──── Trace ─────┼──── Trace ─────┤
     │   (手动埋点)    │   (手动埋点)    │  (自动埋点)     │  (手动埋点)     │  (自动埋点)
     │                │                │                │                │
     └────────────────┴────────────────┴────────────────┴────────────────┘
                        全部基于 OpenTelemetry 标准协议

各层关注点

层级 关注指标
用户层 会话卡顿、用户体验
应用层 响应耗时、推理延时、Skill 调用链
网关层 可用性、流量控制、Token 限流
模型服务层 推理效果、成本、TTFT/TPOT
基础设施 GPU 利用率、KV Cache 命中率

2.4 内部平台参考

略......

2.5 行业趋势总结

根据 2026 年多份权威行业报告(Firecrawl、MLflow、LangChain、Confident AI 等),当前 AI 可观测性行业呈现以下趋势:

  1. OpenTelemetry GenAI 语义规范已成为行业标准

    • OTel 社区在 2025 年正式发布了 GenAI 语义约定
    • 标志着 LLM 可观测性从"各家自建"走向"标准化"
  2. 四大设计原则(CHI 2025 研究,30 位开发者参与):

    • Awareness:使模型行为可见
    • Monitoring:提供实时反馈
    • Intervention:支持即时干预
    • Operability:支持长期维护
  3. 工具分四大类别

    • All-in-One 平台:Langfuse、LangSmith、MLflow、Opik
    • Evaluation 工具:Arize Phoenix、TruLens、Galileo AI
    • Gateway 代理:Helicone、Portkey、OpenLLMetry
    • Enterprise APM:Datadog、New Relic、Pydantic Logfire
  4. 开源主导:Langfuse (MIT)、MLflow (Apache 2.0)、Phoenix、Opik 等开源方案已成主流选择


3. 开源框架横向对比

3.1 一句话理解:这些工具分别在干嘛?

简单来说,AI 可观测工具做的事情就像给你的 AI 应用装了一个"行车记录仪"------记录每次请求走了哪些步骤、花了多少钱(Token)、耗了多长时间、回答得好不好。

目前市面上的主流工具可以分为两大类:

  • "记录仪"型(专注数据采集):LoongSuite ------ 只管把数据记下来,不提供看板
  • "一站式平台"型(采集+看板+评估):Langfuse、MLflow、LangSmith 等 ------ 既记录又展示,还能评估质量
工具 一句话定位 开源协议 适合谁
LoongSuite 阿里出品的"零改造数据采集器" Apache 2.0 用 Dify/Spring AI 等国内框架的团队
Langfuse 社区最火的"一站式观测平台" MIT 想快速搭建完整观测能力的中小团队
MLflow Linux 基金会的"全家桶" Apache 2.0 需要从观测到评估到治理全覆盖的大团队
LangSmith LangChain 官方配套工具 商业闭源 深度使用 LangChain 的团队
Arize Phoenix 偏重质量评估的观测工具 ELv2 重视 RAG 检索质量的团队
Opik 新生代全能选手 Apache 2.0 使用 Dify/Flowise 等低代码平台的团队

3.2 LoongSuite ------ "零改造"的数据采集利器

一句话理解:你的 AI 应用不需要改一行代码,LoongSuite 就能自动帮你记录每次 LLM 调用花了多少 Token、耗了多少时间。

它能做什么?

想象你有一个 AI 客服机器人,用户问"怎么退货",机器人背后会:① 调用知识库检索 → ② 拼装 Prompt → ③ 调用大模型 → ④ 返回答案。LoongSuite 就像在每个步骤之间自动装了一个"计时器+计费器",把整条链路的信息全部记下来。

复制代码
用户提问 "怎么退货?"
    │
    ▼
┌─────────────┐   LoongSuite 自动记录:
│ 知识库检索    │   ✓ 耗时 120ms
└──────┬──────┘
       ▼
┌─────────────┐   LoongSuite 自动记录:
│ 拼装 Prompt  │   ✓ 输入 Token: 800
└──────┬──────┘
       ▼
┌─────────────┐   LoongSuite 自动记录:
│ 调用大模型   │   ✓ 输出 Token: 350
│ (qwen-max)  │   ✓ 模型耗时 1.2s
└──────┬──────┘   ✓ 首字延迟 200ms
       ▼
┌─────────────┐
│ 返回答案     │   总耗时: 1.5s | 总 Token: 1150
└─────────────┘
怎么用?(三步上手)

Python 应用(比如你用 Dify、LangChain 等框架):

bash 复制代码
# 第 1 步:安装
pip install loongsuite-python-agent

# 第 2 步:用它来启动你的应用(代替直接 python app.py)
loongsuite-instrument python app.py

# 就这样,不用改任何代码!数据自动采集上报。

Java 应用(比如你用 Spring AI Alibaba):

bash 复制代码
# 第 1 步:下载 Agent jar
wget https://github.com/alibaba/loongsuite-java-agent/releases/latest/download/loongsuite-java-agent.jar

# 第 2 步:启动应用时挂载
java -javaagent:loongsuite-java-agent.jar -jar your-app.jar

# 同样零改造!
它的优势
优势 具体说明
零代码改造 不需要在业务代码里加任何埋点,启动命令换一下就行
国内框架全覆盖 Dify、Spring AI Alibaba、AgentScope、通义千问 SDK 都支持
生产级稳定 阿里百炼平台大规模使用,解决了不少开源工具在真实场景下的坑
遵循国际标准 基于 OpenTelemetry 标准,未来换其他工具也不用重来
它的不足
  • 只管采集,不管展示:LoongSuite 只负责把数据记录下来,想要看图表、看报表,需要搭配其他工具(比如阿里云云监控,或者下面要讲的 Langfuse)
  • 没有评估能力:不能帮你判断"AI 回答得好不好",只能告诉你"AI 花了多少钱、多少时间"
  • 社区还在成长期:2025 年初才开源,文档和社区生态还在逐步完善

3.3 Langfuse ------ "开箱即用"的一站式观测平台

一句话理解:一个自带好看界面的 AI 观测平台,能帮你看 Token 花了多少、回答好不好、Prompt 怎么优化。

它能做什么?

如果说 LoongSuite 是"行车记录仪",那 Langfuse 就是"行车记录仪 + 大屏显示器 + 驾驶评分系统"的全套装。

以同一个 AI 客服机器人为例,Langfuse 不仅记录数据,还提供:

复制代码
┌──────────────────────────────────────────────────┐
│               Langfuse 提供的能力                  │
├──────────────────────────────────────────────────┤
│                                                    │
│  📊 Trace 查看器     → 看到每次请求的完整调用链     │
│  💰 Token 成本面板   → 这个月花了多少钱一目了然     │
│  ✏️ Prompt 管理      → Prompt 版本管理 + 在线调试   │
│  📝 评估打分         → 用 AI 给 AI 的回答打分       │
│  📈 数据分析         → 各维度统计图表              │
│                                                    │
└──────────────────────────────────────────────────┘
怎么用?(三步上手)

第 1 步:部署 Langfuse 服务

bash 复制代码
# 用 Docker 一键启动
git clone https://github.com/langfuse/langfuse.git
cd langfuse
docker compose up -d

# 打开浏览器访问 http://localhost:3000
# 创建项目,拿到 Public Key 和 Secret Key

第 2 步:在代码中接入

python 复制代码
# 安装 SDK
# pip install langfuse

from langfuse.decorators import observe

# 在你想追踪的函数上加个装饰器就行
@observe()
def handle_customer_question(question: str):
    """处理客户提问"""
    # 1. 检索知识库
    docs = search_knowledge_base(question)
    
    # 2. 调用大模型
    answer = call_llm(question, docs)
    
    return answer

@observe(as_type="generation")
def call_llm(question, context):
    """调用大模型 ------ 标记为 generation 类型,自动记录 Token"""
    response = openai.chat.completions.create(
        model="qwen-max",
        messages=[
            {"role": "system", "content": f"根据以下资料回答:{context}"},
            {"role": "user", "content": question}
        ]
    )
    return response.choices[0].message.content

第 3 步:打开看板查看数据

在 Langfuse 的 Web 界面中,你可以看到:

  • 每次请求的完整调用链(谁调了谁、每步花了多长时间)
  • Token 消耗统计(按天/按模型/按功能汇总)
  • 成本计算(自动按模型定价算出花了多少钱)
它的优势
优势 具体说明
开箱即用 自带 Web 界面,部署完就能看数据,不需要再搭配其他工具
社区最活跃 GitHub 28000+ Stars,遇到问题容易找到解决方案
Prompt 管理 可以在界面上直接修改和测试 Prompt,还支持版本回滚
评估打分 内置"让 AI 给 AI 打分"的功能,自动检查回答质量
集成广泛 支持 60+ AI 框架(OpenAI、LangChain、LlamaIndex 等)
它的不足
  • 部署稍复杂:需要跑 5 个服务(应用 + 数据库 + ClickHouse + Redis + 对象存储),对运维有一定要求
  • 只支持 Python 和 JS:如果你的应用是 Java 或 Go 写的,SDK 支持有限
  • 被 ClickHouse 收购:2025 年底被收购,长期发展路线存在一定不确定性

3.4 LoongSuite vs Langfuse:该选谁?

这两个工具并不是"二选一"的竞争关系,而是可以互补的:

复制代码
              LoongSuite                    Langfuse
              ─────────                    ────────
定位:         数据采集专家                  一站式平台

做什么:       记录数据                      记录 + 展示 + 评估

改代码吗:     完全不用改                    需要加装饰器

看得到吗:     看不到(需搭配看板)           自带 Web 界面

支持语言:     Python / Java / Go            Python / JS

适合场景:     已有看板、只差数据采集          从零开始搭建观测能力

三种典型选择

你的情况 推荐方案 理由
想最快看到效果 Langfuse 部署完就有界面,5 分钟出数据
Java/Go 应用为主 LoongSuite Langfuse 不支持 Java SDK,LoongSuite 三语言全覆盖
既要零改造采集,又要好看的界面 LoongSuite + Langfuse LoongSuite 采集 → OTLP → Langfuse 展示,两全其美

!TIP

组合方案是最佳实践:用 LoongSuite 做零代码数据采集(省去埋点工作),数据通过 OpenTelemetry 标准协议转发给 Langfuse 做展示和分析。这样既不用改业务代码,又能享受 Langfuse 的丰富界面。


4. 实施方案:以"AI 客服机器人"为例

下面以一个常见的 AI 客服机器人项目为例,演示如何分三步接入可观测能力。

4.1 Phase 1:先看到数据(1-2 周)

目标:让"黑盒"变成"灰盒"------至少知道每次请求花了多少 Token、多长时间。

方案 A:用 Langfuse(推荐快速验证)
python 复制代码
# 1. 安装
# pip install langfuse openai

# 2. 设置环境变量
import os
os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-xxx"      # 从 Langfuse 界面获取
os.environ["LANGFUSE_SECRET_KEY"] = "sk-xxx"
os.environ["LANGFUSE_HOST"] = "http://localhost:3000"

# 3. 在入口函数加上 @observe 装饰器
from langfuse.decorators import observe

@observe()
def answer_customer(question: str):
    """客服机器人入口"""
    context = search_docs(question)       # 检索知识库
    answer = generate_answer(question, context)  # 调用大模型
    return answer

@observe(as_type="generation")
def generate_answer(question, context):
    """大模型调用 ------ 自动记录 Token 和耗时"""
    import openai
    response = openai.chat.completions.create(
        model="qwen-max",
        messages=[
            {"role": "system", "content": f"你是客服助手。参考资料:{context}"},
            {"role": "user", "content": question}
        ]
    )
    return response.choices[0].message.content

效果:打开 Langfuse 界面就能看到每次客户提问的 Token 消耗和响应时间。

方案 B:用 LoongSuite(推荐零改造)
bash 复制代码
# 不改任何代码,直接用 LoongSuite 启动应用
pip install loongsuite-python-agent
loongsuite-instrument python customer_service.py

# 数据自动上报到配置的后端(阿里云 SLS 或 OTel Collector)

效果:零代码改造,所有 LLM 调用的 Token 和耗时自动被记录。


4.2 Phase 2:看清全链路(2-4 周)

目标:不仅知道总数,还要知道每个步骤分别花了多少。

在 Phase 1 的基础上,给更多关键步骤加上追踪标记:

python 复制代码
from langfuse.decorators import observe

@observe(name="客户提问处理")
def answer_customer(question: str):
    # 每个子步骤自动成为"子节点",在界面上能看到树状调用链
    intent = classify_intent(question)        # 步骤1:意图识别
    
    if intent == "退货":
        docs = search_return_policy(question)  # 步骤2:检索退货政策
    else:
        docs = search_general_faq(question)    # 步骤2:检索常见问题
    
    answer = generate_answer(question, docs)   # 步骤3:生成回答
    return answer

@observe(name="意图识别")
def classify_intent(question: str):
    """用小模型快速分类用户意图"""
    response = openai.chat.completions.create(
        model="qwen-turbo",  # 用便宜的小模型做分类
        messages=[{"role": "user", "content": f"判断意图:{question}"}]
    )
    return response.choices[0].message.content

@observe(name="知识库检索")
def search_return_policy(question: str):
    """检索退货政策"""
    # ... 检索逻辑
    return docs

@observe(name="生成回答", as_type="generation")
def generate_answer(question, context):
    """用大模型生成最终回答"""
    response = openai.chat.completions.create(
        model="qwen-max",
        messages=[...]
    )
    return response.choices[0].message.content

效果:在 Langfuse 界面上能看到这样的调用链:

复制代码
客户提问处理 (总耗时 2.1s, 总 Token 1580)
├── 意图识别 (耗时 0.3s, Token 80, 模型: qwen-turbo)
├── 知识库检索 (耗时 0.5s)
└── 生成回答 (耗时 1.3s, Token 1500, 模型: qwen-max)

一眼就能看出:"生成回答"是最大的 Token 消耗和耗时瓶颈


4.3 Phase 3:持续优化(4-6 周)

目标:不仅看到数据,还能用数据来优化 AI 的效果和成本。

3.1 Token 成本分析

通过 Langfuse 的成本面板,你可以回答这些问题:

复制代码
❓ 这个月 AI 客服一共花了多少钱?
   → 成本面板:总计 ¥3,200(qwen-max ¥2,800 + qwen-turbo ¥400)

❓ 哪类问题最费钱?
   → 按功能分组:退货问题 ¥1,200 / 物流查询 ¥800 / 闲聊 ¥600

❓ 能不能省钱?
   → 发现"闲聊"类用 qwen-max 太浪费,可以降级为 qwen-turbo
   → 预计每月节省 ¥400
3.2 质量评估

用 Langfuse 内置的"AI 打分"功能,定期检查回答质量:

python 复制代码
from langfuse import Langfuse

langfuse = Langfuse()

# 对最近的对话进行质量评估
traces = langfuse.fetch_traces(name="客户提问处理", limit=100)

for trace in traces:
    # 用大模型给每个回答打分(1-5分)
    score = evaluate_answer_quality(
        question=trace.input,
        answer=trace.output,
        criteria="准确性、完整性、友好度"
    )
    # 把分数写回 Langfuse
    langfuse.score(trace_id=trace.id, name="quality", value=score)

效果:可以在面板上看到"本周平均质量评分 4.2 分",及时发现质量下降。

3.3 关键监控指标

建议监控以下核心指标:

指标 含义 建议告警阈值
单次 Token 消耗 一次对话用了多少 Token > 5000 Token 告警
响应时间 用户等了多久 > 10 秒告警
错误率 多少比例的请求失败了 > 5% 告警
质量评分 AI 回答的平均质量 < 3.5 分告警
日均成本 每天花了多少钱 超预算 120% 告警

5. 总结

5.1 三句话概括

  1. AI 可观测不是锦上添花,而是必需品。不知道花了多少 Token、不知道哪里慢、不知道回答好不好,AI 应用就永远停留在 Demo 阶段。

  2. 两个工具覆盖大部分场景。LoongSuite 负责"零改造数据采集",Langfuse 负责"展示分析评估",组合使用效果最佳。

  3. 分三步走,不要一步到位。先看到数据(1-2 周)→ 再看清链路(2-4 周)→ 最后持续优化(4-6 周)。

5.2 选型速查

复制代码
你的情况是?                          推荐方案
──────────                          ────────
想最快出效果                     →   Langfuse(部署即可用)
Java/Go 应用                     →   LoongSuite(三语言覆盖)
不想改代码                       →   LoongSuite(零改造)
要好看的界面                     →   Langfuse(自带看板)
又不想改代码又要好看界面          →   LoongSuite + Langfuse(最佳组合)
阿里内部团队                     →   LoongSuite + 云监控 2.0
需要全家桶(含 AI 网关+评估+治理)→   MLflow

5.3 注意事项

  • 数据安全:可观测数据中包含完整的用户对话内容,务必自行部署,不要把数据传到外部平台
  • 性能开销:生产环境建议开启采样(比如只记录 10% 的请求),避免影响正常业务
  • 渐进式推进:不要一上来就追求全面覆盖,先让团队看到价值,再逐步深入

附录

A. 参考资料

开源项目
行业文章

B. 术语表

术语 全称 含义
OTel OpenTelemetry 开源可观测性框架标准
TTFT Time to First Token 首 Token 延迟(Prefill 阶段耗时)
TPOT Time Per Output Token 每 Token 生成间隔(Decode 阶段效率)
GenAI SemConv GenAI Semantic Conventions AI 应用可观测数据的语义规范
MCP Model Context Protocol 模型上下文协议(AI 工具调用标准)
A2A Agent-to-Agent 多 Agent 通信协议
LLM-as-Judge --- 用 LLM 作为评估裁判员的方法
Monkey Patch --- Python 运行时动态替换函数/方法的技术
KV Cache Key-Value Cache 模型推理中缓存中间计算结果的机制
相关推荐
AI智图坊2 小时前
亚马逊多站点Listing视觉制作的效率瓶颈与AI解决方案:GPT-Image-2与Nano Banana Pro双模型分析
大数据·前端·数据库·人工智能·自动化·aigc
王小王-1232 小时前
基于机器学习的垃圾短信检测研究
大数据·人工智能·机器学习·垃圾短信检测·垃圾短信识别
2301_780356702 小时前
全视通AIoT在智慧病房与智慧门诊中的应用架构与实践
人工智能
古希腊掌管代码的神THU2 小时前
【清华代码熊】Agent Harness 工程实践之(1): Context管理
人工智能·深度学习·自然语言处理·面试
AI焦点2 小时前
2026年大模型API聚合平台实测实录:六大主流方案横评与企业选型复盘
人工智能
哔哩哔哩技术2 小时前
B站 Index LLM 团队论文开源:170亿次真实用户交互背后的UGC视频评估新范式
人工智能
Rain5092 小时前
1.3. Next.js与Nest.js在AI数据分析中的角色
前端·javascript·人工智能·后端·数据分析·node.js·ai编程
是一个Bug2 小时前
Agent Skills 是什么?跟 MCP、Workflow、Command、Prompt 有什么关系?
大数据·人工智能·prompt
库拉大叔2 小时前
2026 国产 AI 大模型横评:DeepSeek、通义千问、Kimi、文心一言、星火、豆包谁更能打?
人工智能·文心一言