转到 AI 项目
开头的碎碎念
刚入职公司的时候,风风火火的搞了半年多的 KMP(Kotlin Multiplatform),学到了非常多东西:LLVM、KSP(Kotlin Symbol Processor)、KCP(Kotlin Compiler Plugin)、 Kotlin IR 和 FIR、iOS Framework、后来为了搞 iOS 在 KMP 侧的热修还学了点 OC(Objective-C) 语法···
国内的公司,因为 OHOS 鸿蒙系统的存在,为了节省人力,都开始重新探索起了一码多端的方案,而 KMP 无疑是目前最火的方案之一。我们一开始并没有把 UI 的一码多端渲染放在规划之中(因为公司已经有了成熟的 RN 框架,并且华为官方在支持 OHOS 上的 RN 框架),所以 KMP 在我司,就是纯粹为了实现逻辑的跨端,并没有进行 CMP(Compose Multiplatform) 方面的拓展
我觉得我做的非常可以(主要是克服了很多技术困难,而且业界并没有解决方案,比如 ohos 适配, llvm 隔离, asan 支持, arkts 和 kotlin 互调用, iOS 热修, debug 能力···),即使现在 Kuikly 已经开源。通过查看其开源代码,也会发现:llvm 隔离、asan、热修、包括 ohos 高版本枚举类型导入的问题,他们都是没有解决的。
但是吧,这个项目被 AI PK 下去了,也很合理。一码多端,还需要别人都来学 Kotlin,那如果 AI 可以一码转换为多端的代码呢?如果准确率足够高?那是不是 KMP 就成了伪命题?顺其自然的绩效就是普通拉(我以为至少会是个 普通+,当然也可能就没有这个档位···),不过,做为新人老猿,尽量放平心态把
AI 确实是一个提效的方向,但是现在各大公司的老板们都觉得 AI 是万能的,比如:提供要求排期 -40% 之类的。然而,很多时候 AI 效果并不好,或者在瞎编。就我使用 cursor 的情况来看,让 AI 设计代码框架是 OK 的,但是实现具体细节就会出现瞎编的情况。当然了,老板们表示,这块是可以优化的,可以很完美。如果以后 AI 这条路真的走不通,可以再走回 KMP 这个提效的方向。
于是,我从 KMP 项目组转向了 AI 项目组
参加端侧 AI 框架开发
我们端侧使用 ONNX 框架,然后 Android 这块的代码,由之前的一位同学实现的(我感觉他的代码是 AI 写的···各种反人类的设计···)
这也是我第一次真实接触到 AI 模型相关,至今也没搞懂其内部的各种算法。只是知道,输入矩阵,模型推理后,输出矩阵,就可以知道推断结果了
在我的感觉里,输入和输出的矩阵结果,就像是一个巨大的参数,只不过被矩阵表示了,然后模型里可能就是一个巨大的 if-else,被各种神奇的算法表示了,然后根据输入参数,就可以得到一个细分的 if-else 分支的结果(当然,也可能我的理解完全不对,毕竟才接触了第一周)
这个看似高端的工作,当模型框架和协议制定好以后,更多的是找特征值、收集客户端原始数据、写 sql 查询原始数据生成模型需要的矩阵。而且受到数据的数量和质量的影响,可能模型一点都不智能,甚至准确率可能不太高···而且,有些业务点就是为了用而用,实验回收来的效果,并没有什么正向增长
所以,我已经预感到了,这个项目最终的评判标准就是:落地了多少业务,如果有提升什么指标那是极好了
结尾的碎碎念
我觉得我个人还是喜欢钻研 KMP 那种偏底层的技术,当然了,工作这么多年了,其实干啥都差不多,谋生罢了
只是觉得现在的程序员,很多都很鸡贼:他们往往不想在技术上深究,更多在处理人际关系(我觉得也无可厚非把,中国就是人情社会)。但是,讨厌的是,他们会觉得钻研技术的都是傻逼,他们的认知是碾压搞技术的人的,有一种莫名的优越感,这块让我觉得非常不适。他们并不会尊重你钻研技术,而是每天研究自己的股票、维护好老板的人际关系、留下一片屎山代码(可能是 AI 帮他写的,人类阅读非常困难)给接手的可怜人。同时,国内的一线老板们,很多也是靠着上述的方式爬上来的,当然我也遇到了一些非常硬实力的领导,和他们交流就会畅通很多,很多时候他们理解我们在干什么,究竟有什么困难
举个例子把
我之前在字节的时候,安全那边反馈我们有一些用户的连接数有成千上万个,可能是黑产。于是,老板半路把我拉进去,让我协助排查,我是一头雾水的,后来判定是黑产,安全侧问我们有没有什么措施防止,我的老板留下了一句话,我至今还记得:“那是黑产的话,我们端上一定要做一些措施的,严厉打击!”这句话,说了和没说有啥区别···有这种人做老板的话,将会是灾难级的。因为,很多时候,他并不知道自己要什么,你做完了一个事情,他随时可能会觉得不满意,进而推翻重做。很多时候,是你在帮他打工,你帮他设计,他拿去汇报。这个时候,肯定又有一些人要说了,那老板就是这样啊,你当老板你还要写代码?我觉得现在的环境,就是这批观念奇怪的人搞坏的。即使不写代码,也要思考一下业务方向把,整个团队的路,你要指明,每个人的工作内容,你要安排。如果,什么都不思考,我觉得那会是灾难,当然了,可能另外一批人觉得很开心把
再举个之前在小红书的例子
做内存检测,老板会定下这个事情的基调,目标是 OOM 率降低,OOM 问题解决率提升,目标十分明确。我的任务就是做具体的实施,优化整个过程。这时候,又有人要开口了,职级高了就要自己想要做什么,你做这些单项内容,是因为当时你的职级不高,不是一个方向的 owner。那问题来了,老板的职级更高,他难道不是更应该对某些方向有规划吗?而且基层老板,小团队可能就5-10人,方向可能就 3 4 个,甚至更少。总之,我不是很理解部分领导的神操作
当然了,其实以上的情况,也发生在各个行业。因为现在大家的认知就是:挣钱。不能升职加薪、不能挣钱,那就是不行的。为了升职加薪,也就无所不用其极了。而如此的浮躁的大环境的背景下,认认真真搞技术,可想而知有多难了,就好比前段时间的某司的大模型套壳等等,连大厂都这样了,可想而知···
越是干的久,越觉得志同道合的人很少
我也不算是什么高尚的技术支持者,而且现在 AI 确实处理很多东西,比我处理的要好
我只是觉得,如果以后的社会就是人和人之间的演戏、尔虞我诈、阿谀奉承,会非常的没意思