本文基于支付宝在 QCon 上海 2025 公开的 MYKMP 架构与 AI Agent 编码助手实战,结合三端(Android/iOS/鸿蒙)合一落地数据与工程代码,拆解 KMP 原生跨端如何借 AI Agent 弥合知识鸿沟、实现研发提效,为大型 App 跨端演进提供可复用范式。

一、MYKMP:支付宝原生跨端三端合一架构

支付宝在 “Kotlin + Compose Multiplatform” 基础上构建增强型框架 MYKMP,分层如下

  • MY CMP(UI 与体验层):双渲染管线(Skiko + 自研 Canvas)、AntUI 企业级组件库、自动化埋点、重组耗时检测、原生 View 嵌入(Android/iOS/鸿蒙)。
  • MY KMP(Kotlin 跨平台层):平台 API 导出、Runtime 优化、自研 LLVM 插桩、编译器包体优化、去除鸿蒙 C 桥接层实现 Kotlin 与 eTS 直接通信
  • 跨端基座:C++ 基础库透出 Kotlin 接口、鸿蒙原生能力深度集成、Tecla IDL 跨栈调用。

该架构已在“我的”、理财、直播等核心场景落地,覆盖安卓、iOS、鸿蒙三端,支撑亿级 PV

。同基准下,某头部 App 鸿蒙 KMP 落地覆盖业务 70%、迁移代码占鸿蒙总代码 40%+,整体提效 30%+,IMSDK(11 万行)由 1 人 iOS 工程师以 3500+ 行/天迁移,提效 50%+。

二、三端合一代码实战:expect/actual 与胶水注入

1. 平台契约(commonMain)


kotlin

expect class PlatformLogger() {
    fun i(tag: String, msg: String)
}
// androidMain
actual class PlatformLogger { actual fun i(tag: String, msg: String) = android.util.Log.i(tag, msg) }
// iosMain
actual class PlatformLogger { actual fun i(tag: String, msg: String) = NSLog("[$tag] $msg") }

2. 鸿蒙免 C 桥接与能力注入
MYKMP 去除传统 C 层,直接 Kotlin↔eTS 通信;大型工程用 ServiceManager 做原生能力注入,业务无感知


kotlin

interface DeviceInfo { fun osName(): String }
object ServiceManager { lateinit var deviceInfo: DeviceInfo }
// androidMain 注入 AndroidDeviceInfo(),commonMain 业务仅依赖接口

三、AI Agent 弥合 KMP 知识鸿沟

KMP 新兴致通用大模型训练样本不足、内部代码少,AI Agent 编码助手成为破局点

  • 生码提效:设计稿/Sketch→IR(中间表示)→Compose,还原度 90%+;图生码用 LoRA 微调多模态模型识别 AntUI 高阶组件,后处理用传统图像算法校准幻觉。
  • RAG 智能问答:将千条 API JSON 转 Markdown,提炼 4000 条 FAQ,结合知识图谱回答“是否含某能力/怎么写”;构建失败 Agent、闪退日志 Agent 自动提取日志并召回方案。
  • MCP 工具路由:本地 MCP 协议描述堆栈分析、模板生成等工具,Agent 按提示词自动调用,如“分析鸿蒙闪退堆栈”即路由对应 MCP。

四、生产攻坚:MYTab 三端帧率与稳定性

支付宝“我的” Tab 重构遇两大问题

  • 帧率下降:开启 iPhone ProMotion 120Hz;拆分巨型 @Composable、警惕 Lambda 捕获不稳定变量致过度重组。
  • 稳定性:SnapShot Exception(后台线程改 State 引发)→ 回滚并收口主线程写;鸿蒙 ANR 死锁(K/N 全局锁与 JS 主线程循环等待)→ Companion 初始化避平台调用、平台接口全 suspend 封装,ANR 日清。

五、范式总结与演进

MYKMP + AI Agent 已形成“共享逻辑层(KMP)→ 跨端 UI(CMP)→ Agent 服务端提效”闭环:三端代码合一降维护成本,AI 填补学习曲线与测试缺口

。未来向 Figma 生码、声明式 UI 动态化、远程 MCP 市场扩展,定义超级 App 研发框架新边界

Logo

一站式 AI 云服务平台

更多推荐