让黑盒透进光:我们如何为每一次模型调用,留下可循的足迹
会话追踪建立在 Langfuse 之上,把每一次 AI 调用串成可回放、可归因的链路。本文聊聊我们为什么执着于「看得见」。
你有没有过这样的时刻?
深夜,一条用户反馈弹了出来:「你们那个 AI,刚才说话有点怪。」你点开后台,翻了翻调用记录——只有一行冷冰冰的 200 OK。至于它到底回了什么、为什么这么回、卡在了哪一步、花了多少钱、是哪一个用户、用的哪把密钥——你一无所知。
那一刻你会明白,所谓「接入了 AI」,往往只是把一段不可知的黑盒,悄悄放进了你的产品里。
我们做 OntoRoute 的初衷,是让 400+ 模型像水电一样,一接即用。但用得越久,越发现一个朴素的真理:能调用的 AI 不稀奇,能看清的 AI 才让人安心。 于是,我们做了「会话追踪」——一个建立在 Langfuse 之上的、属于你每一次调用的「行车记录仪」。
为什么我们执着于「看得见」
一个团队的真实困境
设计同学说:「用户说生成结果时好时坏,但我复现不出来。」
运维同学说:「昨晚成本突然飙了三倍,不知道是哪条业务线。」
老板说:「我们的 AI 到底被用在了哪些场景?值不值?」
——没有人能回答,因为没有人看得到。
AI 的调用,天生是「流」的:一个请求进来,可能串联起多次模型调用、工具调用、检索召回。它不像传统接口那样,一个入参一个出参就完了。当你试图用「日志」去理解它时,会发现日志是碎的、断的、对不上的。
我们想做的,不是更多日志,而是一条线——把同一次对话、同一次任务、同一次用户旅程,串成一条可以回放、可以审视、可以归因的链路。
会话追踪,到底追踪什么
一句话:从一次用户对话,到每一行 token 的来龙去脉。
它建立在三层数据之上,由 LiteLLM Proxy 在运行时自动上报,再由我们搬运进专属的 Langfuse 项目:
你不需要改一行业务代码。只要你的请求带着 OntoRoute 的虚拟密钥,追踪就自动发生了。
它替你回答了四个问题
这次对话,发生了什么?
会话(Session)把一次完整交互聚合成一页「书」,点开就能回放。
每一步,卡在哪了?
链路(Trace)把单次调用拆成树,模型、工具、检索各占一枝,耗时一目了然。
是谁,在用我的 AI?
用户(User)视角让你看见真实的使用者,而不是一堆匿名 ID。
钱花超了,能提前知道吗?
监控(Monitor)在成本越过阈值前,就敲响警钟。
会话,像书一样可翻
打开会话列表。 这里按虚拟密钥、用户 ID、环境、标签自由过滤。生产环境的异常、测试环境的噪音,一眼分开。
点开任意一条。 你会看到这次会话的「缩略图」:总耗时、总花费、涉及几次模型调用、有没有报错。
深入任意一次调用。 侧边滑出「链路速览」,把那次请求背后的树状结构完整铺开——这正是下一节的主角。
我们刻意把「会话」做成了可以翻阅的东西。因为对大多数产品团队而言,需要的不是 raw 数据,而是「那天张三和 AI 聊了什么」这样一句人话。
链路,把黑盒拆开
这是最让我们骄傲的部分。每一次调用,在后台其实可能是一场「接力赛」:先调一次模型做意图识别,再调一次做生成,中间还插了一次工具调用。传统日志会把这些拆成三行互不相干的记录。
链路视图把它们重新接成一棵树:
你能在这里看到
- TraceTree:整条调用的族谱,谁先谁后,清清楚楚。
- ObservationDetailView:单步的输入输出、参数、元数据。
- IOPreview:请求与响应的对照,排查「为什么它答非所问」的利器。
- TraceTimeline:每一步的耗时分布,性能瓶颈无处藏身。
- TraceLogView / TraceGraphView:日志与拓扑,两种视角自由切换。
用户视角,看见真实的人
聚合到「会话」和「链路」之后,我们还想再往上走一层:人。
用户追踪(Users)把散落在各处的调用,重新归到真实的个体身上。你能看到:
- 某个用户今天调了多少次、花了多少 token、花了多少钱
- 他偏爱的模型、常走的链路、异常的频率
- 哪些「用户」其实是脚本、是刷量、是攻击
隐私与边界
追踪是为了让你更好地服务用户,而不是监视他们。所有追踪数据按虚拟密钥与账户隔离,且仅记录你授权范围内的调用元数据与输入输出。你是否开启、保留多久,由你决定。
成本告警,守住底线
做 AI 产品最怕的不是贵,是贵得不知不觉。
监控(Monitors)让你为成本、token、调用次数设置阈值,并在越过边界时,通过邮件或 Webhook 主动通知你。它不替你省钱,但保证你永远不会在月底才发现自己破产。
当某把密钥的单日花费逼近预算,立刻告警。适合对成本敏感、按业务线核算的团队。
当单次会话 token 消耗异常放大,提示可能存在「死循环式」的工具调用或提示词膨胀。
当调用频率陡增,帮你第一时间发现刷量、故障重试风暴或潜在的 Prompt 注入探测。
它如何与你的密钥绑定
会话追踪不是「全局开关」式的粗糙功能。它精细到每一把虚拟密钥:
- 你可以在账户层面订阅「会话追踪」能力,选择保留时长(7 天 / 90 天 / 180 天 / 365 天)
- 再为每一把密钥单独决定:这把密钥,要不要追踪?
这意味着:生产密钥全程留痕,测试密钥随心开关。掌控感,始终在你手里。
关于计费,我们想说句实在话
追踪本身会产生数据量。我们按「链路(trace)条数」计费,入门档(1000 条 / 月)永久免费,超出部分按量计费——但当前阶段,超额部分我们只计量、暂不扣费。先把灯点亮,再谈电费,这是我们的一点诚意。
未来:让「看见」变成「理解」
今天,会话追踪让你看见每一次调用。但我们的野心不止于此:
- 异常自动聚类:同样类型的报错,自动归并,不再淹没在告警里
- 质量评分:结合护栏的评审结果,为每次对话打上「体验分」
- 可回溯的重放:不只看,还能把那次调用在沙箱里重新跑一遍
看见,是理解的第一步;理解,才是信任的开始。
写在最后
我们做会话追踪,不是因为它「先进」,而是因为它「必要」。
当 AI 走进你的产品,它就不再只是你的一段代码,而是你递给用户的一双手。你有权知道这双手做过什么、做得好不好。 这关乎责任,也关乎尊严。
如果你也想让自己的 AI 从黑盒变成窗口,欢迎来体验会话追踪。你的每一次调用,都值得被认真对待。
下一篇,我们会聊「护栏」——当 AI 可能出错、可能越界、可能被人利用时,我们如何为它系上一条安全带。因为看得见的风险,才守得住。
Last updated on
