即刻App年轻人的同好社区
下载
App内打开
Yachen
146关注13k被关注7夸夸
Elpass开发者
Twitter/Instagram: blankwonder
🌈
Yachen
1月前
关于 iOS 26 UI 的适配:
目测 Apple 做了大量自动化适配工作。如果使用的是原生控件,升级 SDK 后即可完成大部分适配。只要魔改不严重,基本都能自动获得不错的效果。
UI 将是 Web 技术 App 的噩梦:控件无法自动适配,UI 逻辑也完全不同,几乎不可能兼容新 UI。
即使是原生开发的 App,由于旧版整体是扁平化风格,即使高度自定义,割裂感也不明显(如 Google App、微信等)。但在新 UI 下,割裂感会明显加剧。

综合来看,中大型开发者适配新 UI 会遇到不小阻力,包括:
1. 需要同时兼容 iOS 18 及更早版本,双 UI 适配成本不低。
2. Android 端难以复刻新 UI,双平台维护压力倍增。
3. 使用 Web 技术的项目不仅适配难度更高,还容易被上游库进度阻塞。
4. iOS 已不再具备当年 iOS 7 那种统帅力,Android 厂商可能不会跟进这波 UI 改版,难以带动产业链整体 UI 换代。

所以,未来几年 iOS 上的 UI 割裂感,可能将成为常态。
159
Yachen
1月前
最近大家都在聊 AI 加持下的 vibe coding,我来聊聊作为资深开发者最近高强度使用 AI 的一些感受:

一句话总结,AI 让不会写代码的人具备了“直接造辆车”的能力,而让资深开发者一个人就有了“独立建造航母”的可能。

### 项目重构

最近使用 claude-4 对我之前的一些代码进行了重构。原因是原来的实现中,为了降低编写时的心智负担,会使用一些性能偏低但是易于书写的代码。比方说自动锁管理、ARC、使用 array 数据结构代替 queue。

然而用 AI 实现就没了这些负担,我先让 AI 为原始实现编写完整测试用例,确保原代码行为明确,然后让 AI 对整个 class 进行重构,追求极致性能,写完新代码后再重新运行测试保证行为一致。

就这样,我轻松完成了部分核心数据结构的重构。尽管重构后的代码量几乎翻倍,但逻辑清晰、复杂度可控,换来的则是约 20% 的性能提升。

核心是,AI 编写代码不怕苦不怕累,没有必要为了简化代码而牺牲性能。人类工程师目前主流习惯是牺牲部分运行性能以换取开发效率。

### AI 编程语言

这牵扯出的另一个观察是,什么编程语言对 AI 更友好,我的观察是可读性越高、行为越明确的语言效果越好。语法糖等简化编码技术,反而不利于 AI 使用。(AI 在发现一些奇怪的行为是运算符重载导致的不知道会不会跟我一样跳脚骂街)

而像 SwiftUI 那些优势仅在开发效率上的技术,在 AI 时代更显得有些生不逢时。反正都是 AI 写,AI UIKit/AppKit 实现不过是代码长一点而已,在可控性和行为明确性方面更适合 AI 自动化维护,性能也高的多。

### AI 的资深

虽然 AI 的编码技能,比起资深的工程师其实可能还是会有差距,但是要论知识丰富程度,则远非任何个体可比。

这个优势体现在当我要去实现一些技术盲区时,原本的流程大概是:先读几本书,再对照比较一系列 RFC,再请教下相关领域的朋友确认自己已经理解。或者先按照自己的想象做个最小工程实践,然后再根据各种问题一点点填坑。

比方说最近在实现 IPv6 ND 协议栈,一些特定的 RA 消息构造在某些操作系统上就是无法生效,原本这可能要耗费我几天的时间去研究,阅读各种文献甚至 kernel 源码实现,而现在只需请教 AI,就能非常准确地找到答案。

AI 的这种资深,在你对某个技术的表层足够了解,但是缺乏经验和细节信息时,能够极快的帮你补全。

### 极强的 debug 能力

我的项目里有一个藏了很久的问题,在特定情况下会出现 TCP 性能下降,由于并没有产生任何明确的报错,这让修正这个问题变得异常麻烦。

我原本是单纯向 AI 描述了我的使用场景和问题表现,AI 提出了几种猜想,大部分我看一眼就知道不靠谱,剩下几个试了下也并无效果。索性,我直接把 100MB 的抓包结果丢给了 o3 让他分析。它在几分钟内就精准指出了问题所在,甚至给出了改进建议。这种调试能力在人类团队中几乎无法复现。

如此庞大的数据量,人工分析非常困难。即使借助各种工具,仅学习用法、配置环境就已令人头大。(因为 TCP 流控分析的各种工具链基本都是上个世纪的项目)

现在我已经习惯了这种 vibe debug,遇到什么问题,直接把 verbose 日志和问题描述丢给 AI,大概率就能直接找到问题,这其实也是得益于 AI 的不怕苦不怕累的精神。

### Peer review

作为独立开发者,我的 code review 一直以来只能靠自己,但是自己写的 bug,很多时候自己是看不出来的🙈,现在我只需将 git diff 的结果交给 AI,就能请它帮我 review。

同样的,我也会 review AI 给出的结果,AI 当然也会犯错,高级低级的都有。但是比起人类同事来说,AI 没有 ego,能很好地接受反馈并立即调整;很多人类做不到,或至少过程很曲折。

### 职业影响

就目前 AI 的能力来看,无疑是对初级开发者就业市场产生了巨大的压力,对于资深工程师来说,反而是一种赋能。(我目前还是能为找到 AI 的错误并指导它而沾沾自喜,但也不知道还能持续多久。)

这比较让人担忧的是,这可能导致职业断层,因为初级开发者根本没有机会得到训练机会而成长。

不过这已经早已不仅仅是软件工程师所面临的问题,本质上来说,所有脑力工作者的职业都受到了巨大威胁。像咨询、律师等职业,还可以依靠私域信息门槛维持。而像医生这样完全依赖公域信息的职业,初级职位也同样完全可以被 AI 替代了,当然最终取决于患者的接受程度。

我最近一次体检后的报告喂给 o3 进行解读,他给出的信息量、准确性、建议,均远超全科医生给出的解读。不仅仅是因为 AI 的信息更全面,AI 可以为报告中每一项异常数据,检索最新研究与各国医疗指南,并整合后给出建议,甚至由于 GPT 已经了解我的生活习惯,能更优针对性的给出意见。而这种工作量对于人类医生来说是不可接受的(当然大多数情况下也确实没有必要)。

很多人对 AI 医疗的顾虑是:AI 犯错了怎么办?然而其实人类医生也会犯错,而且就现在的 AI 水平来看,AI 犯错的概率应该已经比一般人类医生低了。当然最优解还是兼听则明,把 AI 的意见告知医生,也把医生的反馈告知 AI,基本最后都会达成一致。对于一些不重要的小问题,仅 AI 意见完全足够。

### AI 的限制

当然 AI 也不是万能的,甚至可以说局限性相当明显。claude-4 虽然非常强,但是随着 context 的增长,注意力溃散的非常严重,后面基本就像喝多了一样。

当前的最佳实践是:尽量保持 context 精简,聚焦具体任务,依靠人力来拆解复杂目标。

比方说先用一个 context 确定具体需求,再开一个 context 将明确好了的需求转换为具体任务列表,再把任务单独交给一个个 context 去具体实现。这样效果会好很多。

仔细一看,这不就是人类的团队协作模式嘛 😂

这让我想起不久前由 GPT o1 DeepSeek R1 的思维链引发的 AI 能力巨幅提升。其实在思维链能力出来之前,就可以靠 prompt 指引 AI 一步步思考,取得类似的效果,甚至催生了 prompt 工程师职业。然而直接在模型层面将这种能力整合后,prompt 引导就非常多余了。

那么目前编程实践中,如今常用的 context 切分技巧,我认为在不久的将来也可能被模型层原生支持,即 AI 自主可以通过切换 context 的方式维持注意力,保持高效。这可能带来 AI 能力的又一次飞跃式进步。

2025 年的 AI 协助编程观察 – Yachen's Blog

320
Yachen
2月前
汉斯季默音乐会北京场,TGA 颁奖典礼上走红的武器大师 Pedro Eustache 也来了,一晚上换了八百个乐器
00:18
64
Yachen
3月前
40
Yachen
3月前
看完东京的酒店价格,上海像不要钱一样。
31
Yachen
4月前
刚下了个声波生成器测试下音响低频下潜,一点点把频率降低到几乎听不见,突然隔壁房间传来咚咚咚的敲击声音,吓得我立刻停止,
- 第一反应是吵到隔壁了在敲墙抗议?但是不可能啊声音开的非常低我自己都快听不见了。
- 或者难道是低频触发了某种神奇的共振?
- 也可能邻居家的宠物对低音异常敏感躁动不安🤔?

然后隔了几分钟刷朋友圈一看,北京地震了…
50
Yachen
6月前
不可否认,利益相关对思维的影响过于显著。OpenAI Anthropic 这两天的言论,已经到了面目狰狞的地步。

然而,就算单纯从利益角度考量,这些表态也毫无实质意义,既无法阻止 DeepSeek 的崛起,也挡不住整个行业的洗牌,而公众对其大多嗤之以鼻,连最后的体面都没了。

拥抱变化才是明智的选择,Cloudflare Microsoft 都开始基于 R1 服务了,这才是成熟的企业。

不过这波真正躺赢的应该是 Apple,找时机把 $AAPL 买回来吧。
93
Yachen
6月前
看了梁文锋的采访,感叹下:真的只有因为想要做某件事,才能把事做好、做到极致。因为觉得要做、应该做而去做,就只能做出个二流水平。
11
Yachen
8月前
00