AI Agent分布式追踪:跨服务请求链路一目了然
🩺 摘要
Agent调了3个微服务,出问题了不知道哪个环节慢。分布式追踪把整条链路串起来。
📝 详情
追踪的价值
Agent一个请求可能涉及LLM调用、向量检索、数据库查询、第三方API。每个环节都可能慢。没有追踪,你只知道整体慢了,不知道哪里慢。
实现
import uuid, time, json
class Tracer:
def __init__(self):
self.trace_id = str(uuid.uuid4())
self.spans = []
def span(self, name):
span = Span(name, self.trace_id)
self.spans.append(span)
return span
class Span:
def __init__(self, name, trace_id):
self.name = name
self.trace_id = trace_id
self.start = time.time()
def end(self):
self.duration = time.time() - self.start
能看到什么
| 环节 | 耗时 | 占比 |
|---|---|---|
| LLM调用 | 2.3s | 60% |
| 向量检索 | 0.8s | 21% |
| 第三方API | 0.5s | 13% |
| 其他 | 0.2s | 6% |
LLM调用占了60%——优化LLM比优化其他环节更有效。
总结
不加追踪,你就在盲人摸象。加了追踪,一眼看出瓶颈在哪。
💬 评论 (0)