页面没报错,为什么客户还是说“不能用”?

系统正常运行不代表客户拿到完整结果。通过任务编号串联日志、指标和处理过程,能够追查业务偏差,同时控制记录内容、访问范围和保留期限。

客户说:“今天的报表少了一家门店。”

开发者看了一圈,网页能打开,服务器在运行,AI 也返回了内容。每一项技术检查都像是正常的,可客户手里的结果确实不完整。问题究竟藏在哪一步?

“可观测性”听起来很专业,其实可以先理解成:系统留下足够线索,让人有机会看清一件事是怎样发生的。它关心的不只是亮没亮绿灯,还包括工作经过了哪里、在哪里偏离预期。

有点像查快递。只知道仓库还在营业,解释不了包裹为什么没送到。揽收、转运、派送的记录连起来,才有机会找到中断位置。软件里的任务也需要这样的经过。

OpenTelemetry 文档把常见线索分为日志、指标与链路追踪。日志记录发生过的事件,指标描述一段时间内的数量变化,追踪则帮助理解一次请求走过的过程。资料:OpenTelemetry

把这些词放回报表的假设场景就容易懂了。文件导入时有十家店,筛选后只剩九家,最后模型也只总结九家。新门店的编号格式被筛选规则排除了,错误早在 AI 接手前就已经发生。

如果只保存最后那段回答,开发者可能不停改提示词。如果每步都有数量和状态记录,就能更早发现:模型没有丢掉那家店,它根本没见到。

同一个任务编号,可以把这些散落记录串在一起。不同阶段如果各用各的名字,人还得靠时间和记忆去猜哪些记录属于同一件事。资料多,不等于线索清楚。

当然,观察系统也不等于把用户全部文件永久存下来。完整材料可能含有不该扩大访问的内容。很多问题通过处理数量、错误类别、版本和必要摘要,就能得到线索;记录什么、谁能看、保留多久,都和具体用途有关。

我理解的好记录,应该能减少解释时的猜测。换一个没参与当时开发的人,也有机会沿着证据还原经过,而不是先找作者问一圈。

客户不会因为服务器没有宕机,就接受一份漏掉门店的报表。真正有用的可观测性,要把这两端接起来:技术层面哪里发生了什么,以及它怎样影响了客户最后拿到的东西。