目录

从 KMP 转到 AI 项目

一、从 KMP 到 AI

刚入职时在 KMP(Kotlin Multiplatform)上搞了半年多,LLVM、KSP、KCP、Kotlin IR/FIR、iOS Framework、为热修还学了点 OC,收获不少。

国内因为鸿蒙,一码多端又被提上日程,KMP 是主流方案之一。我们没做 UI 跨端(公司已有 RN,华为也在推 OHOS 上的 RN),所以 KMP 只做逻辑跨端,没上 CMP。

自认做得还行:OHOS 适配、LLVM 隔离、ASAN、ArkTS 与 Kotlin 互调、iOS 热修、Debug 能力等,当时业界没有现成方案;即便现在 Kuikly 开源了,看代码可知他们也没解决 LLVM 隔离、ASAN、热修、OHOS 高版本枚举导入等问题。

但这个项目被 AI「取代」了,也合理:一码多端还要全员学 Kotlin,若 AI 能直接生成多端代码且准确率够高,KMP 的价值就会打问号。绩效普通就普通吧,新人老猿,心态放平。

AI 确实是提效方向,但很多老板把 AI 当万能(例如排期 -40%)。实际用下来,AI 设计框架还行,落到具体实现就容易瞎编;老板们说「可以优化到完美」。若 AI 这条路走不通,再回头做 KMP 这类提效也行。于是我从 KMP 组转到了 AI 组。


二、端侧 AI 框架

我们端侧用 ONNX,Android 这块是之前同事写的(读起来很像 AI 生成的,反人类设计不少)。这是我第一次正经接触 AI 模型,至今也没搞懂内部算法,只知道:输入矩阵 → 模型推理 → 输出矩阵 → 得到推断结果。

我粗浅理解是:输入输出就像一大坨参数用矩阵表示,模型里相当于巨大的 if-else 被各种算法包装,根据输入走不同分支。当然可能理解有偏差,才接触一周。

模型框架和协议定好之后,工作多半是:找特征、收集客户端数据、写 SQL 做矩阵、看效果。数据质量和数量一差,模型可能既不智能也不准;有些业务是「为了用而用」,实验下来没有正向收益。

所以我对这个项目的预期是:评判标准就是落地了多少业务,能带上一点指标提升就更好。


三、一点感想

个人还是更喜欢 KMP 那种偏底层的技术;不过工作这么多年,干啥都是谋生。

感觉很多程序员不太愿意在技术上深挖,更愿意搞人际关系(在国内也正常)。让人不舒服的是,有人会觉得钻研技术的是傻子、自己认知碾压搞技术的,还不尊重你搞技术,自己炒股票、维护老板关系、留下一片屎山(可能还是 AI 写的)给接盘的人。国内不少一线老板也是这么上来的;当然也遇到过真有实力的领导,沟通就顺畅很多,他们理解你在做什么、难在哪。

举两个例子。

字节:安全反馈有用户连接数异常多,可能是黑产。老板拉我进去协助排查,最后判定是黑产,安全问端上有什么措施,老板说:「那是黑产的话,我们端上一定要做一些措施的,严厉打击!」——说了和没说一样。这种老板很灾难:不知道自己想要什么,你做完他可能随时推翻;你在帮他设计和落地,他拿去汇报。

小红书:做内存检测时,老板把目标定得很清楚:OOM 率降、OOM 解决率升。我的任务就是落地和优化。有人会说「职级高了就要自己找方向」——那老板职级更高,不是更该对方向有规划吗?小团队就几个人、几个方向,我不太理解部分领导的神操作。

这类情况各行各业都有。大环境认知是「挣钱、升职加薪」,为达目的各显神通;在这种氛围下认真搞技术挺难,某司大模型套壳之类的事,大厂也干得出来。

越是干得久,越觉得志同道合的人少。我也不是什么高尚的技术信徒,AI 在很多事上确实比我强。只是觉得,如果以后社会就是人与人之间演戏、尔虞我诈、阿谀奉承,会挺没意思的。