跳到主要内容

AI 功能退役指南:如何在不破坏用户体验的情况下下线智能体

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数团队会在最糟糕的时机发现同一个事实:下线一个 AI 功能与废弃一个 API 完全不同。你在文档中添加了停用日期,发送了常规的三封系列邮件,切换了标志位——然后眼睁睁地看着支持队列激增 80%,而用户则大声解释替代方案“运行方式不一样”。他们的意思是:旧智能体的怪癖、特定的故障模式、以及它独有的错误答案,都已经变成了业务中不可或缺的支撑。他们在那些直到消失才被察觉的行为基础上,构建了整个工作流。

这就是 AI 功能废弃的核心问题。确定性 API 具有明确的契约(contracts)。如果你移除一个端点,每个依赖它的调用者都会收到 404 错误。损坏是可追踪、有限且可预测的。概率性 AI 的输出则不同——用户集成的不是契约,而是行为分布。移除一个模型不仅是移除了一项功能,它还移除了一种特定的行为模式,用户可能在没有意识到的情况下花了几个月的时间去适应它。

为什么 AI 下线在结构上比 API 废弃更难

当你废弃一个 REST 端点时,用户清楚地知道什么坏了:调用失败。当你废弃一个 AI 功能时,破坏是弥散性的。一个在解析升级意图方面“足够好”的客服智能体,可能被支持代表们默默地补偿了——他们学会了重新表述工单,以引导它得出正确的结果。当你用更准确的东西替换它时,同样的代表突然看到了不同的路由——这并不是因为新模型更差,而是因为他们的适应策略不再适用。

这种动态在你的用户群中大规模上演。每个与你的 AI 功能接触超过几次的用户,无论是有意识还是无意识,都建立了一个关于其行为的心理模型——包括它的怪癖。停用该功能不仅是移除了一项能力,它还使这些心理模型失效。这就是为什么功能下线会产生不成比例的用户流失,远超同等的产品变更,以及为什么在过渡期间支持成本通常会激增 40-120%。

这对工程的启示是:一次成功的 AI 下线需要将行为发现(behavioral discovery)视为头等工程问题,而不是产品沟通问题。

第一步:在动手之前映射行为依赖

在写下任何废弃通知之前,你需要了解用户实际上在依赖什么。这需要你以不同于以往的方式检查日志。

显而易见的信号是使用量和频率——识别该功能的每日活跃用户与偶尔用户。日活用户拥有最高密度的隐式适应;他们已经将 AI 的行为集成到了肌肉记忆中。这些人将产生你 80% 的支持工单,他们值得个性化的迁移支持,而不仅仅是一个变更日志条目。

但使用频率是容易的部分。难点在于理解行为耦合:哪些工作流依赖于这个 AI 功能的特定输出?寻找以下内容:

  • 工具调用序列:如果你的智能体调用下游工具(数据库查询、外部 API、文件写入),追踪哪些序列是由智能体的推理触发的,而不是由用户的显式意图触发的。一个说“处理我的订单”的用户,可能隐式地依赖于智能体对他们行业背景下“处理”含义的特定解释。
  • 输出下游依赖:在 AI 产生结果后会发生什么?如果用户将该输出复制到另一个系统中、对其进行转换、或将其作为另一个流程的输入,那么即使语义保持不变,更改输出格式或词汇也会破坏他们的集成。
  • 故障模式集成:这是一个反直觉的。一些用户已经适应了 AI 特定的故障模式。他们知道“当智能体说 X 时,它实际上是指 Y”。用一个故障方式不同——或者故障更少但在意想不到的地方出错——的智能体替换它,会扰乱这些习得的补偿行为。

具有追踪级粒度的良好可观测性工具使这种分析成为可能。将每个智能体推理步骤与下游影响链接起来的 OpenTelemetry 兼容追踪是基础。如果你现在还没有这种仪表化(instrumentation),那么在安全地下线任何复杂功能之前,你需要先添加它。

第二步:围绕行为迁移而非仅仅时间线来安排下线

业界已经形成了一套由云供应商普及的模型生命周期管理三阶段模型:遗留(Legacy)、废弃(Deprecated)、退役(Retired)。“遗留”阶段宣布意图;“废弃”阶段阻止新部署同时保留现有部署;“退役”阶段关闭所有服务。

这是一个合理的骨架,但它优化的是管理的清晰度而非行为的迁移。对于具有深度用户集成的 AI 功能,你需要在“废弃”和“退役”之间插入一个专门围绕行为设计的迁移支持阶段——而不仅仅是切换到一个新的端点。

影子模式窗口 (The shadow mode window):在宣布任何时间线之前,让你的替代系统与现有系统并行运行。记录两者的输出,而不将新系统的结果暴露给用户。这会给你带来两个关键的东西:行为偏差的具象测量(这两个系统产生显著不同输出的频率是多少?),以及它们分歧最大的案例清单。这些分歧案例正是用户会遇到破坏的地方——你现在知道该把迁移指导重点放在哪里了。

分段废弃:不要在同一时间线下线所有人。按行为依赖深度进行分段:

  • 高频、深度集成用户:直接联系。尽早提供替代功能的访问权限,明确表述为“请帮助我们验证它是否符合你的使用场景”。这些用户会发现你遗漏的边界情况,让用户参与验证能将潜在的批评者转化为迁移的支持者。
  • 高频、低集成用户:提供带有具体工作流示例的自助迁移指南,而不只是功能文档。向他们展示在旧系统上的特定用例在新系统上是什么样的。
  • 低频用户:标准的发布节奏在这里运行良好。他们的行为依赖较浅。

在过渡期间保留降级行为:在可能的情况下,在过渡期间保持旧功能的只读或缩减功能版本。如果用户仍然可以从旧系统中获取输出,即使他们无法通过它采取行动,他们也可以逐步验证其迁移,而不是进行硬切换。这极大地降低了在截止日期当天发现你破坏了关键业务的风险。

第三步:沟通迁移,而非弃用

导致大多数客服压力激增(support avalanches)的沟通失败在于,将下线公告(sunset announcement)视为了主要信息。用户需要的是迁移指南,而且他们需要在倒计时开始之前就获得它,而不是同步进行。

将每一条沟通信息都围绕着工作流的保留(workflow preservation)来展开,而不是功能的移除。"我们将在 [日期] 停用 [功能]" 会触发损失厌恶(loss aversion)——用户会纠结于即将消失的东西。"这是你的 [特定用例] 在新系统中的运作方式" 则具有可操作性,并回答了每一张客服工单背后的隐含问题。

值得注意的实践细节:

  • 具体的路线图优于模糊的通知期限:"该功能将于 6 月 1 日停止接受新请求,并于 7 月 1 日完全停用" 比起 180 天的笼统通知,产生的焦虑更少。用户需要知道他们现有的工作流何时会中断,而不只是知道它们最终会中断。
  • 针对特定角色的迁移指南:如果客服代表和客户经理使用你的 AI 功能的方式不同,请编写不同的指南。通用的文档会被忽视;针对 "支持经理如何使用此功能" 的特定文档则会被阅读。
  • 直接联系那 20% 的核心用户:帕累托分布在这里同样适用——一小部分用户占据了你大部分的功能使用量。直接给他们发邮件,而不是通过产品更新日志(changelog)。承认他们是深度用户;告诉他们你想专门帮助他们完成迁移。

那些将功能维护所节省成本的 15-25% 投入到迁移支持中的组织,通过防止流失,始终能获得 3-4 倍的投资回报率(ROI)。这个逻辑之所以成立,是因为成功迁移的 AI 功能用户会变得更加忠诚,而不是相反——他们投入了精力,而成功的迁移验证了这种投入。

真正奏效的技术模式

带有行为遥测的功能标志(Feature flags):使用功能标志基础设施不仅是为了控制访问权限,更是为了收集对比行为数据。当你为不同的群体并行运行新旧系统时,你不仅想知道 "用户是否完成了任务?",还想知道 "他们的任务完成模式是否发生了变化?"。行为指标——完成时间、错误率、交互序列——揭示了即使在准确性指标看起来完全一致的情况下,新系统是否真正等效。

记录智能体(Agent)状态:智能体系统通常会在多步交互中累积上下文(context)。在弃用之前,导出并记录你的智能体所使用的状态表示。拥有长期运行的智能体会话的用户期望连贯性;确保替代品能够摄取等效的上下文(即使格式发生变化),通常是平滑迁移与愤怒的大规模退订之间的区别。

优雅降级,而非硬性切断:当停用日期到来时,如果你不能保证每个人都已迁移,请实现回退行为(fallback behavior),而不是直接返回 404。将未处理的请求路由到一个虽然降级但仍可运行的版本,而不是返回错误。错误响应会引发升级投诉;降级但仍可工作的响应则为你争取了跟进的时间。这对于自动化集成尤为重要,因为在第一次遗漏报告或导出失败之前,它们不会将失败反馈给人类。

监控迁移后的行为漂移(behavioral drift):在新系统上线后,对其进行插桩监控(instrument),以检测那些即使没有提交客服工单、但可能正受困于行为差异的用户。代理指标包括:重试率增加、功能参与度下降、以前能快速完成的任务现在耗时更长。这些信号通常在迁移后 2-4 周出现,此时最初的新鲜感已经消失,用户正试图重现他们原始的工作流。

成功的下线是什么样的

那些能够出色执行 AI 功能下线的组织的模式是:他们将下线视为一项产品计划,而不是一次工程清理任务。在发布公告之前,他们会运行影子模式窗口、映射行为依赖、细分用户群,并编写针对特定工作流的迁移指南。停用日期是一个长达数月的过程的最后一步,而不是发令枪。

那些引发客服压力激增的组织则恰恰相反:他们先宣布,然后匆忙去了解哪些地方出了问题、涉及哪些人。到那时,他们是在处理工单,而不是在预防它们。

根本原则是,AI 功能不仅仅是为用户做事——随着时间的推移,它们会成为用户思考做事方式的一部分。停用功能需要同时停用相关的心理模型,这比任何更新日志条目所能提供的都要耗时且需要更多耐心。


AI 系统不会突然失败;它们会发生漂移(drift),并在消失时带走用户的工作流。构建一个考虑到隐含行为依赖的下线指南(sunset playbook)并不是锦上添花——它是决定功能停用是清爽的弃用,还是长达数季度的事故的工程工作。

References:Let's stay in touch and Follow me for more thoughts and updates