做 AI 应用时,我为什么开始重新重视日志系统

日志不是配置项,是 AI 链路的观察入口。

以前做普通后端接口时,我当然也知道日志重要,但说实话,很多时候只是把它当成一个基础配置。

能查报错、能看到请求链路、线上出问题能定位,大概也就这些。

但开始做 AI 应用之后,我对日志系统的重视程度明显上去了。因为这类系统很多问题,不是直接报一个 500 就结束,而是它“看起来像正常工作”,只是结果越来越不对。

这种问题如果没有足够细的日志,基本很难查。

AI 应用的麻烦,在于错误经常不是硬错误

比如工具确实调成功了,但调错了工具。

检索确实召回了内容,但召回的是过期信息。

模型确实给了答案,但关键判断被前面一段无关上下文带偏了。

这些情况如果只看最终响应,很多时候你只能知道“结果不太对”,但完全不知道链路里哪一步开始偏。

所以我后来更关注过程日志

我现在会更想记录这些东西:

  • 用户输入被系统归成了哪类任务。
  • 当前上下文里塞了哪些关键信息。
  • 模型为什么走了某个工具调用。
  • 工具返回了哪些有效结果。
  • 哪一步触发了降级、追问或者失败兜底。

这些信息不是为了把一切都暴露出来,而是为了让系统出了问题以后还有机会复盘。

否则很多 AI 应用的排查方式就会变成一句很虚的话:它这次好像脑抽了。

日志不是越多越好

这个我也慢慢在调整。

因为这类系统链路本来就长,如果什么都打,很快就会把自己淹掉。而且一旦涉及用户内容、业务数据和模型上下文,日志本身还会碰到隐私和成本问题。

所以我现在更倾向于记“关键决策点”,而不是记一切。

比如:

  • 为什么选择这个分支。
  • 为什么判定当前信息不足。
  • 为什么决定调用某个工具。
  • 为什么最后没有继续往下做。

这些点一旦清楚,很多问题其实就能复盘出来。

我为什么觉得这件事会越来越重要

因为 AI 应用一旦走向真实业务,稳定性和可解释性一定会被追问。

用户不会满足于“反正模型大概就是这么想的”。开发者自己也不能每次都靠猜来修问题。

所以日志系统在这里不只是运维配套,它已经慢慢变成了理解 AI 链路本身的一部分。

至少对我现在做的东西来说,日志不再只是“有没有打”,而是“有没有把关键决策过程留下来”。这两者差得其实挺远。

主分类 技术随笔

技术判断、写作复盘、工程观察。

标签

阅读文章

相关记录