这种模式重复得如此频繁,以至于几乎成了一种典型。AI 团队注意到每周评估中的质量下降了四个百分点。延迟正常,错误率正常,模型版本没变,提示词也没变。他们花了一周时间调整提示词。又花了一周尝试不同的分块(chunking)策略。第三周对检索流水线进行消融实验。最终,有人将一批糟糕的输出追溯到某个特定文档,找到了该文档,查看了它最后一次摄取的时间,发现上游流水线在两周前开始过滤掉某一类记录,原因是进行了一次“无害的清理”,删除了标记为“内部”的记录。而该 AI 功能正依赖于这些记录。
仅有契约是不够的。契约是一个承诺;血缘(lineage)则是谁向谁承诺了什么的地图。数据血缘图将喂给 AI 功能的每一个字节追踪回产生它的上游流水线,并将拥有该流水线的团队确定为责任方。如果没有血缘,当功能出现退化时,AI 团队甚至无法识别是谁的流水线出了问题;他们必须取证式地重建从“糟糕的输出”到“糟糕的列”到“糟糕的任务”再到“糟糕的团队”的路径,而每一步都要花费数小时。
血缘将 AI 功能变成了一个已注册且可见的消费者。上游团队可以在仪表盘上看到,他们的 daily_customer_facts 表供应给三个下游消费者,其中之一就是 AI 支持智能体。上游团队现在在社交和协作上都能意识到,“无害的清理”并非真的无害。消费者不再是隐形的了。
下一步是配对轮值(paired on-call)。当 AI 功能退化且根因在上游时,上游团队会被呼叫。这并非是对 AI 团队呼叫的补充——而是当根因在他们那边时,直接呼叫他们。AI 团队针对质量退化的运维手册(runbook)以“检查上游契约状态”开始,如果违反了契约,则将报警路由给上游负责人。这听起来很官僚,直到这种事发生过两次,上游团队内化了这样一个认知:他们的定时任务(cron job)有一个通过报警(而非仅仅通过仪表盘)来“付费”的客户。行为转变会非常迅速。
AI 功能是两条流水线缝合在一起的产物,而这种缝合处在几乎所有组织中都是不可见的。上游流水线是 2010 年代的产物:为分析而建,由数据团队拥有,像基础设施一样运行。下游功能是 2020 年代的产物:为推理而建,由 AI 团队拥有,像产品一样运行。两者之间的缝隙是 2025 年的问题,在这两个十年中都没有人负责,而没有将其正式化的团队所交付的 AI 功能,其可靠性上限将由上游链路中插桩(instrumentation)最少的环节决定。
需要落地的纪律并不光鲜。它是具有约束力的数据契约,是标明所有权的血缘图,是穿透检索层传播的新鲜度信号,以及遵循数据流向而非组织架构图的轮值机制。这些都不是科研。这全都是介于一个可运行的 AI 演示(demo)与一个可运行的 AI 产品之间那些乏味的工程细节。能够大规模交付可靠 AI 功能的团队,是那些当上游数据团队提议进行“小幅清理”时会将契约摆在台面上,以及当上游团队忘记契约存在时会触发报警轮值的团队。
下次你的 AI 功能退化时,不要先忙着调整提示词(prompt)。先去读读血缘图,问问这周上游发生了什么变化。答案几乎总是在那里。而你原本打算花三周时间重写的提示词,几乎肯定是在准确执行它该做的任务——只不过是基于那些悄悄变得不再符合你评估套件假设的数据。