Qcon 上海 2025 快手 Al ×大前端性能稳定性:快手亿级 DAU下的智能诊断实践
AI × 大前端性能稳定性:快手亿级 DAU 下的智能诊断实践
近期AI赛道异常“内卷”,硅谷甚至出现了“996”乃至“007”的新闻。AI在编码(如Cursor、Anthropic)和解决复杂问题(如ACM竞赛夺冠、IMO金牌水平)上的表现,似乎已超越大部分程序员。
这引发了一个普遍的焦虑:AI coding + AI debug 是否将形成一个完美闭环,从而替代程序员?
然而,在快手这样拥有亿级日活(DAU)的复杂业务场景中,我们的实践表明,需要冷静看待这一议题。AI并非替代者,而是团队产出的放大器。今天的分享,将围绕快手在性能稳定性领域如何利用AI进行智能诊断与实践,揭示AI在真实工业场景中扮演的角色。
快⼿性能稳定性背景
发展历程
快手移动端稳定性建设经历了四个清晰的阶段:
- L1 基础可观测(2019): 自研APM,替换Bugly,建立基础监控能力。
- L2 工具平台化(2021): 专注于具体稳定性问题的治理,诞生了KOOM等开源工具。
- L3 体系化运营(2024): 构建故障防御体系,推出Holmes(排障)、Ekko(应急处置)等系统。
- L4 智能化探索(2025~至今): 引入AI,追求成本与效率的最优解。
每个阶段都基于上一阶段的成果进行迭代,这与移动互联网发展的节奏同步。
当下与未来的核心挑战
尽管硬件性能(如iPhone)已提升百倍,软件架构(如GMPC)演进多年,但大前端的性能稳定性问题远未解决。复杂性体现在多个维度:
- 业务复杂: 用户操作、数据、物理环境千变万化,不可穷举。
- 技术栈复杂: 原生、React Native、Flutter、H5、小程序等多栈并存,运行时机制、内存模型、线程模型差异巨大。
- 系统机制复杂: 深入底层(ART、V8、内核),疑难杂症多。
- 协作复杂: 跨团队快速迭代,质量保障难度高。
从算法复杂度视角看,我们解决问题的“算法”本质未变,但“输入”却因业务增长和技术栈扩张(如新增鸿蒙)而急剧增加,导致问题规模(年报警事件超150起,必解问题超2000个)庞大。
团队困境:资源错配与成长瓶颈

我们观察到团队中一个普遍的困境:
- 专家工程师深陷于解决只有他们能处理的复杂Bug,时间被占满。
- 普通工程师因经验不足无法解决这些Bug,难以快速成长。
- 结果是,两者都无法有效成长,形成恶性循环,最终影响系统稳定性。
AI的机遇正在于此——它有望成为打破这一循环的放大器,将专家经验沉淀和复制,赋能整个团队。
AI x 性能稳定性介绍
AI x 稳定性:整体策略与架构设计
战略聚焦:从问题处置切入

稳定性体系覆盖研发生命周期多个环节(开发、测试、监控、排障、应急处置)。我们选择从 “问题处置” 切入,因为这里是消耗研发时间最多的“重灾区”。问题处置又可细分为:
- 根因排障(慢性病治疗): 复杂的、偶发的、需要深度推理的问题。
-
应急处置(急诊抢救): 突发的、需要快速止损的线上故障。
这与大语言模型(LLM)在信息总结、逻辑推理、方案生成方面的能力高度契合。
实施架构:面向Agent的演进
我们判断,AI在工程领域的落地形态将是 “Agent(智能体)” 。因此,我们从一开始就以可扩展的Agent框架为基础进行架构设计。
我们的性能稳定性Agent架构分为四层:
- Agent业务层: 承载具体场景的智能体,如根因修复Agent、故障应急Agent、指标巡检Agent。
- Agent产品层: 定义与用户的交互形态,如生成Kim报告、自动提交MR修复、多轮对话、流式响应。
- Agent框架层: 提供技术支撑。我们选择了灵活性强的AutoGen框架,支持Agent编排、链式规划、图编排,以及ReAct、CoT等推理策略,并能与Claude Code、Gemini CLI等协同。
-
Agent基建层:
- AI基建: 灵活选型模型(轻量/深度/多模态),通过MCP(Model Context Protocol)将内部平台(如监控平台Keep)工具化,结合RAG进行知识增强。
- 服务基建: 确保Agent系统本身可观测、可调试、可降级、成本可控。这是系统能否稳定运行的关键。
实践一:实践:AI 辅助根因排障
AI辅助根因排障——从“破案”到“自动修复”
从棘手案例说起

一个典型的NPE(空指针)崩溃,堆栈全是系统代码,无业务逻辑。它仅在特定活动场景下偶发,现场信息缺失,线下难以复现。直接将此堆栈扔给ChatGPT,它能解决吗? 实践表明,非常困难。
调研数据显示,96%的研发认为日常排障有痛点,其中69%认为现场信息太少,50%认为日志太多。行业数据也指出,开发者35-50%的时间花在调试验证上。这印证了我们的新范式:“Code is cheap, show me the (bug-free) fix.”
排障的本质与AI能力边界
排障本质上是逆向推理的认知活动,与侦探破案高度相似:
- 观察与数据收集(勘查现场)
- 提出假设(推测嫌疑人)
- 设计并执行实验(验证推测)
- 确认解决方案(定罪)
AI的能力在此链条上并非均匀:
- 擅长区(激发与引导): 信息总结、模式匹配、基于专家经验规则进行初步分类。
- 薄弱区(需人机协同): 模型能力有上限,对垂直、私域工具的使用需要学习。
-
瓶颈区(需分治规避): 受限于推理深度、上下文长度,易产生幻觉。对于“越查越深”的Bug,需要人工提前拆解步骤。
核心工具:Holmes——动静结合的排障“现场还原”
我们自研了Holmes排障工具,核心思路是动静结合:
- 静态信息(Tombstone): 日志、崩溃堆栈、内存快照。相当于“死亡现场”。
- 动态信息(Debugger): 调试器、性能分析器、动态追踪。相当于“一步一步死给你看”。
特别是Holmes UI视图,它能在崩溃时捕获:
- ViewTree元信息: 布局、状态、文本、图片资源。
- TouchEvent元信息: 触摸事件响应链和轨迹。
-
Activity/Fragment元信息: 生命周期状态。
通过AI逆向推理,可以从这些信息中还原用户操作路径,极大辅助定位问题(例如,精确指出是点击了哪个按钮后发生的崩溃)。
实施路径:Agent编排与上下文工程
面对Holmes采集的海量、复杂信息,我们通过Agent编排来让AI消化:
- 故障概览Agent: 先汇总基本信息(版本、堆栈、基础代码上下文)。
- 基于规则分类: 根据专家经验规则,将问题分配给专项Agent(如UI崩溃Agent、空指针Agent)。
- 专项排障Agent: 例如UI崩溃Agent,它会调用MCP工具获取详细的UI日志和源码,进行分析,最终生成修复Diff或报告。

提升准确率的关键在于“上下文工程”,目标是达到“适定问题”状态:
- 欠定问题(信息太少): 会导致输出模糊、幻觉。
- 超定问题(噪声太多): 会稀释注意力,导致误导。
- 适定问题(恰到好处): 为Agent提供单一职责、直接相关的上下文,才能获得确定性解。我们通过Few-shot示例和量化标准来逼近这一状态。
AI x 根因排障:效果展示
拓展:AI火焰图分析

性能分析的火焰图数据量巨大(十几秒可能产生60MB数据),分析门槛高、效率低、易遗漏。
我们的方案是:
- 数据预处理: 对原始火焰图数据进行压缩、初筛、关键事件关联。
-
AI分析层: 让AI理解性能数据,自动分析卡顿、启动、帧率、功耗等多维度问题,直接定位到源码并给出优化建议,将分析过程从“小时级”缩短到“分钟级”。
实践二:AI 加速应急处置
AI加速故障应急处置——与时间赛跑
应急场景的挑战

以iOS 26升级导致大量历史版本App崩溃为例。传统手段各有局限:
- 商店更新: 覆盖率低(一周约50%),用户流失风险大。
- 回滚: 对系统级变更无效。
- 热修复: 涉及大量版本和历史代码,工作量大,且最关键的是不够“急”。
应急处置的核心在于时效性,必须与故障扩散赛跑。
核心武器:Ekko——线上“时光倒流”
我们自研了Ekko安全气垫系统,其核心思想是:在崩溃发生后、应用闪退前,动态修改程序执行流,让其“跳回”安全状态继续执行,实现类似游戏“R技能”的时光倒流效果。
Ekko 崩溃阻断:覆盖所有崩溃类型

Ekko是 “售后方案” ,只在崩溃发生时触发,避免了无异常用户端的性能损耗,保证了安全性。
AI赋能应急处置流程
即使有了Ekko,配置和使用它依然复杂(需指定跳转地址、恢复上下文等),在紧急状态下人工操作易出错、易遗漏。
我们引入故障应急处置Agent,实现:
- 自动分析: Agent接收报警,自动分析故障维度(如操作系统、芯片型号、版本分布),快速界定影响范围。
- 辅助决策: 根据分析结果,建议是否启用以及如何配置Ekko兜底。
- 生成与发布: 自动生成兜底配置,并串联流水线完成白名单、审核、灰度、全量发布流程。


在“黑天鹅”事件中(如某次误操作导致千万级崩溃),AI冷静、全面的分析能力,能有效避免人在高压下的决策失误。
总结与展望:认知提升与人机协同
Agent开发的核心感悟

- 思维切换(Thinking in LLM): 从图灵机的确定性思维,转向理解LLM的概率自回归本质。明确其能力边界(擅长/薄弱/瓶颈区),知道何时用模型、何时用程序、何时用工具。
- 识别与释放瓶颈: 提示词工程无法突破模型认知上限,但能激发其表现。在模型推理深度有限的前提下,需基于专家知识提前做好任务拆解(分治)。
- 评测体系至关重要: 建立科学的Agent能力评估体系,其重要性不亚于上下文工程。这关乎迭代效率和成本控制。
回顾初心:AI是放大器,而非替代者
回到最初的焦虑,Linus Torvalds的观点值得深思:“代码的审查和维护本身就充满挑战。” AI不会改变这一本质,而是帮助我们更好地应对它。
我们的结论是:
- 人类弱化(生产力释放): AI将接管“体力型”排障和“死记硬背型”任务。
- 人类强化(思考力升级): 工程师将更聚焦于辨别因果、验证结果、系统性思考、创造性实验以及深度的业务理解与战略决策。
未来展望
在快手亿级DAU的复杂战场上,AI × 性能稳定性的探索刚刚启航。未来将是人机协同(Human in/on the Loop) 的深度结合。我们应积极拥抱AI,将其作为强大的杠杆,释放工程师的创造力,共同应对大前端领域越发复杂的稳定性挑战,奔赴星辰大海。



























































