写在前面的话
今天不想讲那些技术架构图,也不想堆砌一堆iOS专业术语。我就想聊聊,作为一个离用户最近的客户端开发,我是怎么看待AI的------它到底是让咱们的产品变更好了,还是变更拧巴了。梁宁老师在《增长三十讲》里说过一句话特别打动我:"产品经理要有同理心,要能感受到用户的爽点、痛点和痒点。"今天我想说,做技术的人也得有同理心。不只是对用户,更是对我们自己。
一、开场:一个真实的冲突场景
先讲个事儿
这种场景你们熟不熟悉:
AI同学:"我们的新模型精度提升了10个点,识别更准了!"
3D同学:"等等,你这模型多大啊?"
AI同学:"也就60MB,还行吧。"
3D同学:"那推理时间呢?
AI同学:"大概增加了30-40ms......"
客户端同学心里咯噔一下:"完了,这玩意儿肯定得出事。"
产品经理:"太好了!竞品最近上了很多AI功能,我们也得跟上!"
具体数字每次不太一样,但这个对话的"味儿",基本就是这样。
然后真出事了
功能上线or demo演示第二天,用户反馈炸了:
- "手机烫得要命"
- "电池一小时掉30%"
- "卡顿严重,没法用"
领导问:"怎么回事?不是说AI很智能吗?"我们说:"AI是很智能,但用户的手机不够智能。"
所以今天我想和大家聊聊,怎么避免这种"好心办坏事"。

这就是梁宁说的"系统思维"缺失
每个人都是对的:
- AI团队追求精度,这没错
- 3D团队追求画面,这也没错
- 产品追求竞争力,更没错
但系统错了。

梁宁说,"很多时候,你觉得是做加法,但对用户来说是做减法。"AI功能加上去了,但用户体验减下来了。
二、用户真正要的是什么?------梁宁的"爽点、痛点、痒点"
梁宁的理论我是这么理解的

爽点:即时满足痛点:恐惧、焦虑痒点:满足虚拟自我放到移动端AR里:用户的爽点:
- 手势一挥,虚拟物体就出现(延迟<50ms)
- AR识别又快又准
- 效果炫酷,朋友圈能装逼
用户的痛点:
- 手机发烫(恐惧:会不会炸?)
- 电池狂掉(焦虑:等会儿没电了)
- 卡顿延迟(愤怒:什么破玩意儿!)
- 应用被杀后台(崩溃:我刚才做的全没了)
用户的痒点:
- 比别人用更高级的功能
- 展示自己的设备够好
AI在这里的定位是什么?

很多人以为AI是爽点。但实际上,AI做不好,就是最大的痛点。为什么?因为用户不关心你用了多牛逼的模型,他只关心:
- 快不快?(延迟)
- 准不准?(准确率)
- 烫不烫?(功耗)
- 掉不掉电?(续航)
- 卡不卡?(帧率)
AI如果让这5个变差,用户不会夸你智能,只会骂你智障。
三、移动端的残酷真相:80%用户用的不是旗舰机
设备碎片化有多恐怖?
最大的感受就是:不要用你自己的iPhone15Pro来代表用户

真实情况是:
- 约10-15%用户:iPhone 15/16/17 Pro,小米15Pro,华为meta 70/80pro(土豪)
- 约50-60%用户:iPhone 12/13/14,中端安卓(大多数)
- 约30%用户:iPhoneX,老安卓(学生党、爸妈辈)
同一个AI模型:
- 旗舰机:推理20ms,丝滑
- 中端机:推理60ms,凑合
- 老设备:推理150ms,根本跑不动
性能差距:接近10倍!
场景碎片化
移动端的独特挑战:1. 多任务干扰
- 后台应用争夺资源
- 系统推送、来电、切换应用随时发生
- iOS/Android的激进内存管理,容易被杀后台
- 环境不可控
- 室内外光线差异极大(影响AR识别)
- 移动网络不稳定(影响云端AI)
- 用户使用时长不确定(5分钟 vs 30分钟)
- 发热和电量焦虑
- AR全开运行,手机30分钟必然发热
- 发热后CPU/GPU降频20-40%
- 用户对"耗电"和"发烫"的应用极度敏感
从我的观察和行业数据来看:
使用特点:
- 移动端AR不像VR,用户很少长时间沉浸
- 大部分使用场景是"短平快"(几分钟到十几分钟)
- 经常被打断(来电、通知、切换应用)
用户容忍度:
- 启动慢:如果3秒内没响应,大量用户会放弃
- 卡顿:即使偶尔卡一下,用户也会很敏感
- 发热/耗电:这是移动端用户最敏感的两个点
根据应用商店评论和用户反馈,
负面评价主要集中在:卡顿、发热、耗电。
梁宁说的"确定性"在哪里?
梁宁强调,好产品要给用户确定性。什么叫确定性?就是用户知道会发生什么,并且确实发生了。

反例:只为高端设备优化
- 高端用户:哇,好流畅!(20%的人爽)
- 普通用户:卡成PPT......(80%的人骂)
- 用户体验:不确定、分裂、崩溃
正例:分层体验
- 高端用户:用高级功能
- 中端用户:用标准功能
- 低端用户:用基础功能
- 所有人都能用,只是精细度不同
- 用户体验:确定、可预期、没有绝对的失望
四、AI部分深入:不是技术问题,是人性问题
1. AI的三个常见误区

误区1:"模型越大越好"这是技术人的执念。AI同学会说:"我们的模型精度提升了5个点!"但用户不会说:"哇,精度从89%提升到94%,我好感动!"用户只会说:"为什么我的手机这么烫?"梁宁视角:你在追求技术指标,用户在追求情绪稳定。
误区2:"端侧AI就是先进"很多团队为了宣传,强调"本地AI、保护隐私"。但真相是:
- 端侧AI:功耗高、发热大、速度看设备
- 云端AI:功耗低、速度稳定、但需要网络
没有绝对的优劣,只有场景适配。实时交互(如手势识别):必须端侧非实时分析(如场景理解):可以云端,梁宁视角:不要为了"先进"而先进,要为了"用户体验"而先进。
误区3:"AI失败了就提示用户"最常见的做法:
AI识别失败
→ 弹窗:"识别失败,请重试"
→ 用户:???
这是最烂的体验。更好的做法:
AI识别失败
→ 自动降级到传统方案
→ 用户无感知
→ 核心功能继续可用
梁宁视角:别让用户承担你的技术缺陷。技术的不确定性,不应该转嫁给用户。
2. AI在移动端的正确打开方式
梁宁说,"产品要克制"。我对AI的理解也是:克制。
原则1:轻量化优先
案例:手势识别模型优化
| 模型大小 | 设备覆盖率 | 精度 |
|---|---|---|
| 60MB(原始版) | ▌▌ 20% | 94% ⚠️ |
| 15MB(量化版) | ▌▌▌▌▌ 70% | 92% 👍 |
| 8MB( 剪枝版) | ▌▌▌▌▌▌ 85% | 89% 👍 |
| 3MB(Lite版 ) | ▌▌▌▌▌▌▌100 | 85% ✅ |

原始模型:60MB,精度94%
→ 量化后:15MB,精度92%(损失2%)
→ 剪枝后:8MB,精度89%(损失5%)
→ 蒸馏后:3MB,精度85%(损失9%)
决策:
- 3MB版本给所有设备(100%可用)
- 8MB版本给中高端设备(70%可用)
- 15MB版本给旗舰设备(20%可用)
牺牲9%精度,换来100%覆盖率。梁宁视角:让80%的人满意,比让20%的人惊艳更重要。
原则2:优雅降级
永远不要让用户看到"功能不可用"。

分层设计:
L1(保底):所有设备都能跑
↓
L2(标准):中高端设备体验更好
↓
L3(高级):旗舰设备极致体验
动态监控:
运行中监控:
- 帧率<50fps → 降一级
- 温度>45度 → 降一级
- 电量<15% → 降到L1
用户感受:
- 不会突然"卡死"
- 不会看到"加载失败"
- 体验平滑降级,几乎无感知
梁宁视角:确定性= 用户知道最坏会怎样,并且最坏也还能接受。
原则3:端云协同
不是所有AI都要端侧跑。

实时场景(端侧):
- 手势识别
- AR追踪
- 实时渲染
非实时场景(云端):
- 场景语义理解
- 复杂物体识别
- 大规模计算
网络不好时:
- 云端功能降级
- 端侧保底继续跑
- 用户核心体验不受影响
梁宁视角:系统要有冗余,有备份,不能把所有鸡蛋放一个篮子。
3. AI不是炫技,是解决问题
梁宁说,"用户要的不是你的产品,是他问题的解决方案。"用户的问题是:
- 想用手势操作虚拟物体(问题)
- 不是:想体验最先进的AI模型(手段)
所以:
- 如果ARKit原生手势能解决80%场景→ 用它
- 如果简单的传统算法能解决→ 用它
- 只有必须用AI才能解决的,才上AI
AI是工具,不是目的。
五、思考:如果要做AR手势交互,怎么选方案?
假设场景:我们要做一个AR应用的手势交互。
第一反应:用ARKit手部追踪,系统级能力。
但需要考虑这些问题
设备兼容性:
- ARKit手部追踪需要A12+(这是官方要求)
- 老设备怎么办?放弃,还是提供替代方案?
性能开销:
- 手部追踪会增加系统负载(这是必然的)
- 如果AR场景本身就很重,还跑得动吗?
- 用户会不会觉得卡?
功能适配:
- ARKit提供标准手势
- 如果我们需要特殊交互呢?
系统能力很好,但有边界。
我们需要:
- 覆盖不同设备
- 控制性能开销
- 满足定制需求
重新设计:分层适配
梁宁说,"要理解不同用户的不同需求。"我们设计了三层:

L1:传统交互(100%用户)
- 屏幕点击+ 注视高亮
- 不酷,但稳定
- 这是保底
L2:ARKit手势(60-70%用户)
- iPhoneXS+自动启用
- 点击、抓取、滑动
- 这是主流体验
L3:自定义AI(10-20%用户)
- iPhone14 Pro+
- 复杂手势、品牌定制
- 这是高端差异化
动态降级:核心逻辑
用户使用过程中,设备状态会变化:
- 刚开始:电量足,设备凉→跑L2/L3
- 20分钟后:发热,电量降→ 自动降级
- joyspace.jd.com/attachment-...
每秒检测:
- 帧率<50fps → 降一级
- 温度>45度 → 降一级
- 电量<15% → 强制L1
用户感受:
- 不会突然功能消失
- 平滑切换
- 给个温馨提示:"手势已暂停(性能保护)"
结果
这种分层设计的结果:
✅ 100%用户可用(这是底线)
✅ 大部分用户能体验到手势交互(60-70%)
✅ 卡顿投诉显著下降
✅ 帧率更稳定,体验更流畅
梁宁视角:这叫"分层满足"。
高端用户有高端体验,
普通用户有稳定体验,
所有人都没有被抛弃。A
六、AI在移动端的4个核心洞察

洞察1:AI是提效工具,不是门槛
正例(基于行业观察):
一些做得好的AR应用会这样设计:
- 高端设备:精细建模+实时光影
- 中端设备:简化建模+基础光影
- 低端设备:2D贴图+手动调整(无AI也能用)
这种分层设计的效果:
- 所有用户都能用
- 应用评分和口碑明显提升
- 负面评价大幅下降
梁宁视角:AI应该降低门槛,而不是提高门槛。
洞察2:免费≠无成本
ARKit虽然"免费"(不用下载模型),但:
- 运行时消耗GPU
- 占用电量
- 发热降频
系统能力也有成本,不要以为调个API就完事了。
洞察3:80%能用 > 20%完美
梁宁说,"不要让完美成为好的敌人。"移动端开发最大的教训:
- 别追求在旗舰机上的极致体验
- 要追求在大部分设备上的可用体验
精度从94%降到85%,换来设备覆盖率从20%提升到100%,值不值?值。因为用户要的不是你的精度数字,是"能不能用"。
洞察4:保底方案决定产品下限
梁宁说,"产品要有底线思维。"AI会失败,这是确定的。所以:
- 每个AI功能都要有PlanB
- 每个智能交互都要有传统备选
- 每个高级体验都要有基础保底
60%用户好体验+ 40%用户能用,远比80%用户都不够好更明智。
七、站在不同视角

站在AI视角
理解:客户端不是服务器。提供:
- 轻量版模型(<10MB,所有设备能跑)
- 标准版模型(15-20MB,主流体验)
- 完整版模型(可以放云端)
最重要的是轻量版!因为它决定了产品的下限。
站在3D引擎视角
理解:GPU是共享资源。提供:
- 3档渲染方案(高/中/低)
- GPU占用率监控API
- 动态降精度能力
我们一起守护用户的帧率。
站在产品视角
理解:不是所有功能都要加。思考:
- 这个功能解决什么用户痛点?
- 在中低端设备上体验如何?
- 如果功能失败,用户怎么办?
- 我们愿意为了这个功能牺牲什么?
梁宁说:"产品要克制。"
八、三点感悟

感悟1:技术是为人服务的
刚入行时,我追求技术极致。现在我明白,技术的价值在于让更多人受益。80%的人能用,比20%的人惊艳更重要。
感悟2:不要只做功能,要做体验
十年前,产品说加功能,我就加。现在我会问:
- 这解决什么问题?
- 中低端设备怎么办?
- 失败了用户怎么办?
感悟3:客户端是用户的守门员
梁宁说,"产品经理要有同理心。"我想说,客户端开发也要有同理心。我们最懂用户的真实设备和使用场景。所以我们有责任说:
- "这个方案在他们的设备上真的能用吗?"
- "这会不会让大部分用户体验变差?"
- "我们有保底方案吗?"
我们不只是写代码,是为用户体验把关。
九、总结:AI给移动端续命,还是催命?
回到标题这个问题。答案是:
用得好:
- AI让功能更智能
- 降低交互门槛
- 用户体验更流畅
用得不好:
AI让设备卡顿发热
提高使用门槛
用户体验变差
这不是AI的错,是我们用AI的方式。
关键在于:
同理心 理解用户的设备、场景、情绪
克制 不是所有地方都要用AI
分层 让所有人都能用,只是精细度不同
保底 永远有Plan B,永远不让用户卡死平均使用时长:
梁宁说:"好的产品,是克制的产品。"我说:"好的AI集成,是克制的AI集成。"
最后的话

这次分享的核心信念:> 技术的价值不在于"我们能做到多先进",而在于"我们能让多少人受益"。移动端开发的本质:> 在约束中找到最大公约数,让大部分人满意。这需要:
- 对用户的深刻理解
- 对技术的务实态度
- 对团队的有效协调
- 对长期的负责任
═══════════════════════════════════════
markdown
谢谢大家
─────────
欢迎交流讨论
═══════════════════════════════════════
数据参考:
XR性能测试。。