本文由 100% 人类思考和攥写,请放心阅读

欢迎来 0xFFFF 论坛与我交流

预测篇

LLM 不会实现 AGI

大模型这种自回归架构,是一种概率模型,输出的是「最大概率」的结果。相当于在已知的范围内求解,很难得出 out-of-the-box 的结论 (或者叫 novelty),但这是在我看来 AGI 必不可少的。而且目前 LLM 能固化的学习都是在 pertained weight 上,在 context window 上的「学习」是「长度有限」且「volatile」的,有 skew 的,让它很难做到所谓「进化」。而且它的上限也比较明显,即高质量的语料。

我之前认为他是在「屎上雕花」,现在还是维持原判。

LLM 会很有用

如果把它当做工具,LLM 会很有用。

LLM 对我的用处主要是快速消化信息的能力,比如说翻译,转录,会议,文档和博客总结,快速总结网络内容获取答案,doc ocr,semantics search 等等。 还有一点是能够快速熟悉的代码库,可以更好的进行复用,漏改的情况会少很多,代码审查更方便等等。

这点我认为非常利好开源项目,在贡献开源项目时候门槛降的很低,不再需要熟悉仓库后才进行贡献,而 deepwiki 等网站也让熟悉的门槛低了很多,能够更快速的定位相关模块并进行修改。

软件质量会下降

Vibe Coding 生成代码的速度非常快,但是快 != 质量高,而且快让代码审查变得更加困难。一次甩出几千行代码,跑了可以运行,却不知道其中的坑在哪里。甚至不知道 error path 是怎么处理的,有时候 silent error 是非常难检查的。
除此之外,vibe coding 达到的很多时候是局部最优,是结果取向的。很显然局部最优不等于全局最优,如果背后的操控者没有足够的 sense 来防御住局部最优,很容易出现「整齐的屎山」。

Context Management 很重要,会更加重要

Context window 有限,怎么在有限的 window 下做更多事情?

这个可以分两点解答,工程上的 context management 和 使用上的 context management

工程上的主要是降本增效,怎么利用好 prefix cache(context cache),怎么解决 LLM lost in the middle 问题,when and how to compact / summarize when context window exceed。这方面我认为做的最好的是 Claude code。

使用上就很主观,怎么整理好 context 喂给模型,喂什么比较合适,怎么拆任务,能力不足时候可以自己先做一部分让 LLM 续写等,自己手动管理 agent 的 context ,给出 tacit knowledge 等,很多时候能问出什么,能力怎么样,也是和使用有关的。不多赘述

工作篇

LLM 不是万能的

不知道为什么,感觉有很多人认为 LLM 是万能的,什么都可以缝进去。然后「提效」。纯自嗨的感觉,这里讲一点

专门事情做的让专门软件做

这里的代表是编译器,似乎很多人把 LLM 当做编译器用来做转换,如果 TypeScript 晚个十年,是不是都不用做了直接 AI 得了。。。

还有类似数据分析,数据处理,也是丢给 AI 来做,这种以前该用 Excel,Python 做的,现在也应该用他们。最近的 Claude Skills 有回正的趋势。。。

LLM 提效有限

上面会提到,experienced developers working with AI on highly familiar codebases overestimated their productivity boost from AI. 很多时候提效是错觉,measure 下来效率反而是降低的,最多是没那么累了。

LLM 能让工作量产出变多 → LLM 能提效。这是一个非常危险而错误的推论。

Anthorpic 的研究说明,增多的那部分产出其实是可做可不做的,原本不会开展的任务,比如说详细的测试,详细的文档,超级全面的错误处理/兜底等。又或者是非核心功能(dashboards 等)。我个人的感觉也是这样的

就我个人的体感而言,我目前主要用 OpenAI Codex xhigh 推理,大多数时候 Codex 都不如我做的好(单从正确性角度,很多时候一看前几行就知道思路是有问题的),有时候也不如我做的快(主要是 Codex 太慢了。。)。但很多时候会比我改的更全面,或者批量加 log 之类的,比较繁琐但简单的任务,探路任务,委托出去是没问题的。但总的来说,提效有限。

甚至很多时候,自己写一部分再让 AI 做才是最有效的。 而如果是自己熟悉的领域,更是自己做的会又快又好。

管理者最有可能因此获利

管理者推 AI 提效 - 提效有限(甚至是反效果)- 工作量变多 - 自己加班 - 但总有人能“提效”,不是每个工作都 created equal,有些工作内容天然的就更适合 AI 做 - 自己加班 - 恶性循环

而因为 AI 提效而裁员是借口,和整体经济环境的关系更大

LLM 远远不能取代人类

鉴于现在 LLM 还不能背锅(L2.999 自动驾驶),还不能当 owner。各类协调,不管是人力的协调,资源的协调,还是跨部门协作,联调等,都还得依赖人类协作。

但每个人都「可以替代」

对于 Junior 的工程师来说,一个 Senior Dev + 几十个 Agent 就是 one person army,没有「经验」连面试都过不去:),也就不需要 Junior 工程师了。

对于 Senior 的工程师,你是否值这么多钱?还是来个相对便宜的高潜 + 几十个 Agent 把你秒了,谁知道呢:)

对 CS 就业持严重的悲观态度。

软技能会更重要

向上管理,跨团队协作,内部人力协调,总结文档,暴露风险,推动整个团队/项目 按时按质上线,做业务,拉资源。这些技术外的软技能,我认为会比专业上的硬技能更加重要了

虽然可能一直都挺重要的,但是在如今硬技能更廉价的时代,可能软技能才会让一个 RD 不可或缺。

猜测:工作会向全栈发展

学习篇

LLM 是最个性化的老师

这是学习者的福利,相当于一个比较通识的私教,深度和准确度另说,但是个性化这点真的是非常难得的,可以追问,可以从你个人的角度理解和解答问题,还没有脾气。

学习效率提升了,那么代价是什么呢。有一点不好的是会变得结果取向,没有经过个人的思考就直接获得的答案,没有了四处查阅资料。试错的过程,理解上我认为是没那么深的。而且很多时候学习的惊喜就是藏在这种不经意间,这个过程更让人成长。

See also:论学习(2)

人类需要刻意练习

要使用好 AI,就需要人工监督。但监督 AI 又恰恰需要那些因过度依赖 AI 而退化的编程技能。

我们需要刻意练习。

希望以后能写更多博客,让更多 LLM 用我的内容训练,从而影响更多人:)