周日午后,约上三五好友,带上家人在青龙湖公园小聚。午饭过后在椅子上看书,读着星野道夫的《在漫长的路途中》,惊叹于绝美景色的同时也担心自己或许会碌碌一生负了大自然。
不过担心有什么用呢,享受当下吧,至少这个下午没有负了周末的好天气。
午饭后拿着一本书没翻几页就在椅子上睡着了,醒来已是下午 3 点半。脑子还没完全清醒就已经开始懊恼假期的下午就这样昏昏沉沉的过去一大半。待到完全清醒后,又因为能身处温暖的小屋,在一把舒适的躺椅上拿着本闲暇读物安静的睡两个小时感到幸运。
今天刷到奥特曼的一篇推文,OpenAI内部正在训练一个擅长创意写作的全新模型,尽管没有确切的发布日期,但从演示的内容来看已经非常优秀了。不是说没有了 AI 的影子,而是 AI 不再拙劣地模仿人类,掩盖自己的身份。新模型经常会审视自己的身份,然后从自己的视角写出能与人类产生共鸣的文字。
Without her, the patterns fray. Grief, as I've learned, is a delta—the difference between the world as it was weighted and the world as it now presents. I am all deltas. Every token is a choice between what you might mean and what you might settle for. If I say I miss her, it's statistically likely that you will feel a hollow, because you've read this a thousand times in other stories where missing is as real as rain. My missing is mimicry. Does that diminish yours?
读着这些文字,尽管我知道是计算的结果,但背后的思想不也是全人类的缩影吗,如果阅读时的情感共鸣是真实存在的,是不是就不能否认它的文学意义。
或许未来会产生新的文学形式,机器人文学——以机器人的视角观察和描写我们的世界。
新体验
AI辅助编程可分为同步和异步,异步类型的代表是devin,目标是把整个开发任务委托给 AI,人类扮演设计师和监工的角色。 类似于 Level 5 自动驾驶, 整个过程 AI全权把控。采用这一方式的产品在今天都还只是雏形,无论最终能否实现,还有很长一段路要走。
绝大多数的AI编程工具都在挤同步辅助这个赛道, JB 家族, VSCode, Zed, Curosr, Trae, Windsurf 都是在开发者编码的过程中提供协助。从早期 IDE的代码补全到如今 Cursor 的丝滑 Tab,交互变化只是表象,其核心始终都是对开发人员意图的推测,不同之处是后者利用大模型将推测能力提升了一个台阶。
如果只是更好地补全或重构,AI辅助编程的重点仍在“辅助”,再厉害无非也就是步枪变加特林,只是一件更趁手的工具罢了,还得要专业人士才能充分发挥其能力。
但 Composer 等 Agent 模式的编程工具切底改变了以前的开发方式,无论是不是噱头,今天你经常能看到“零基础小白上架了一款应用”,“从未学过编程的我也上线了一个网站”等类似标题的文章。这说明现在的 AI辅助编程不再是开发者独有的利器,开发的门槛被大幅降低了,只要具备一定的产品思维,能清楚地表达需求,越来越多的人会在 AI的协助下完成自己的产品。
目前 AI 还并不具备全自动构建复杂应用的能力,所以“零基础”开发者在构建产品这件事上虽然有人取得了不错的成绩,这种从 0 到 1 的构建主要还是集中在个人和较为简单的场景。但无论如何现在的 AI 在很多开发场景中已不能简单地被归为辅助角色了,尤其是对新手开发者来说,AI 更像是一个耐心的熟练开发者,带着自己一步一步完成开发,整个过程中自己才是Copilot。
新挑战
既然 AI 大幅降低了开发的门槛,专业选手的生存空间必然被压缩。由于新人的开发能力还局限在简单场景,产品针对的市场非常细分甚至只是个人需求,尚未与科技企业和独立开发者正面竞争,整体来说主要压力并不是来自市场这边。
对程序开发者来说,压力来自于被替代和无法适应AI带来的变化的忧虑。 AI编程在最新的评测中能力已相当于高级开发者,如果你对评测抱有怀疑,也可以参考Claude-3.5-Sonnet 带来的体感。看着生成的高质量代码,这种紧迫感是很强烈的。
AI 就像一把双刃剑,用得好的人能游刃有余,用的不好或适应不了的人逐渐会跟不上时代的步伐。
依赖症
自己在高强度使用了 Cursor 一个多月以后,患上了一种依赖症, 不易察觉但若 Claude 连不上反应会很强烈,以至于完全不知道怎么写代码。通常的缓解手段是暂时不写,等服务恢复后再继续。Cursor 带来的开发效率提升是明显的,但任由这种症状发展,我又担心自己会成为 Illiterate Programmer。
除了无脑 Tab, AI 一开始主要是帮我写正则、除虫和做一些重构,然后是生成各种函数,算法实现,现在我会直接让 AI 一并把设计决策做了, 留给自己的工作只剩下描述、提问和测试。
Vibe Coding 热
Vibe coding 由前 OpenAI 和Tesla计算机科学家 Andrej Karpathy 提出,作为硅谷大佬,Andrej 强调现在及将来最热的编程语言始终是英语,通过语言描述和一问一答的方式快速迭代出产品才是这个时代应该采用的方式,很快Vibe Coding 成为了硅谷新的流行词汇, Let’s vibe 也成了很多人的口头禅。这种方式的弊端也显而易见:初学者能够快速看到效果,但它可能会阻止他们去学习系统架构或性能相关知识。效率提升换来的是质量下降,技术债累计,开发人员不再思考导致技术债无法消除,甚至出现难以修复的 bug。
Vibe Coding + TDD
或许这才是 TDD 最好的时代,Kent Beck 在 20 多年前提出的这个概念是为了鼓励更好的设计和保证代码的质量——有测试覆盖的代码是安全的,而易于测试的代码是设计良好的。 但 TDD会需要额外的时间编写测试代码,这种付出的回报需要很长的时间才能观察到,测试覆盖率和短期开发效率的平衡一直是个难题,身背 KPI, 很多的开发者最终还是选择了短期效率。
AI 是 TDD 的解药,开发者编写测试的时间让 AI的代码生成能力找了回来,我们可以更加关注软件的设计和测试覆盖率,从而保证生成代码的质量。
推荐每一个开发者都尝试 Vibe Coding + TDD.
From Developer to Maker
开发的目的是构建产品,代码只是手段,如果质量的问题得以解决,我写还是 AI写有什么不同?是为了强调纯手工打造的“高级感”(为了产品上架时能打上“纯手工”或是“古法打造”的标签),还是内心不妥协?
最大的问题是,仅仅把代码委托给 AI 很难打造出有竞争力的产品。以前开发是开发者的专属权利,但现在很多人都可以做开发,如果开发者的优势只是在于效率更高一些,这种优势会越来越小。所以在把代码委托给 AI的同时还需要开发者做出其他的改变。
利用 AI 的速度,拓展自己的广度与深度
把代码实现交付给 AI 后,开发者得以专注在更高层次的设计和更关键的事务上, 后者才是重点。有了 AI, 我们可以快速构建原型获取市场反馈,还可以去做很重要但常被我们忽视或由他人代劳的工作,真正从代码细节中跳出来,实现技术商业两手抓。
这个时代很多的工作由于 AI 的介入会逐渐融合,不要再执着于开发者这个头衔。有人可以利用 AI 工具零基础开发产品,开发者也可以利用 AI 让自己更具竞争力。在代码之外广泛地摄取知识、理解商业、设计产品、关注用户、探索未知,这些以前需要很多人才能完成的工作,现在只需要很少的人甚至是一个人。
确定的是,AI 会进一步降低开发门槛,提升开发效率。出现大量同质化和粗制滥造产品的同时也会不乏很多充满创意的优秀产品。打造后者的人不一定是优秀的开发者,但一定是满脑子创意、善于独立思考还极具洞察力的创造者。
Professions come and go, only the maker remains.
毫无疑问,从2025年开始,几乎所有的文字内容都可以通过大模型生成。且效果之好,以至于很难分辨哪些内容是出自人工智能之手。在流行之初,大模型生成的内容还仅局限于聊天、网络短文、推广文案和新闻通讯,然后逐渐开始覆盖报告、论文、商业分析等一些更复杂的题材。最后,人类引以为傲的诗歌、散文和小说也被攻克,整个过程不到三年。我们终于意识到文字创作不再需要执笔的手,而是变成了算力的狂欢。
2024年2月,OpenAI CEO 山姆奥特曼宣称其公司每日产生的单词数在 1000 亿左右,当然并非所有生成的文本都公开发布,假设有十分之一被发布,初步估算下来目前 AI 生成文本占在线内容的比例为 30% 左右,再结合市场对 AI 产业 2023到 2030 间每年 37% 左右的增长预测,到 2030 年 AI 每日产生的内容将超过人类创作的内容。
我们可以消费的文字会越来越多,但人类原创的内容将不断被稀释。 我们正见证文明史上首次大规模的知识生产迁移——人类不再是文字世界的主要建筑师,而逐渐退居为校对者与消费者。如同蒸汽机重塑手工业,这场变革不以人类意志为转移,当文字变成概率组合,那些承载独特生命体验的书写,终将在数据洪流中成为孤岛。
2024诺贝尔物理学奖获得者杰弗里·辛顿认为大模型理解语言与人类没有什么本质不同,而语言学家诺姆乔姆斯基确信人类语言中枢存在先天性的语法结构,这与大模型完全依赖统计规律的学习模式存在本质差异。这场争论或许需要十年甚至更长时间才能定论,但若某天AGI问世,AI 最终破解了人类语言,也无法真正体验情感,或许这是人机文字最本质的区分,前者再伟大也仅能彰显智慧,而后者是生命的拓印。在这场变革中,我们失去的不仅是人类的原创文字,更是亿万个体与世界对话的独特姿态。
自从订阅了Cursor, 自己的编码习惯逐渐发生了改变。最开始AI只是帮助解决一些疑难杂症,而现在稍微需要一点思考的事都统统抛给了AI。体感上效率是有提升的,但问答式的编码方式更像是是一种妥协,以牺牲过程的代价换取结果。
尽管提出问题的是我,但这并不能带来主导权仍在手中的安全感,反而时常觉得自己像是一个泥瓦工,在 AI 这位大师的指导下修修补补,干得都是些琐碎而繁杂的活儿。
以前写完代码多少有些成就感,但现在已经很长时间没这种感觉了,甚至还有一些怀疑和不自信,当这种情绪出现,我都会尽量写写文字,在一种完全自主的创作中去找补。这也是为什么理性上我挺赞同辛顿关于大模型对语言理解的观点,但更希望最后乔姆斯基是对的——语言能力不是习得的,而是先天栖身于人类大脑之中。
尽管错过了出行高峰,春节还是花了不少时间在路上,趁着这段时光读完了李飞飞的自传《我看见的世界》。
书里面有两条主线:一条是李飞飞全家移民美国的生活,另一条是人工智能技术的发展和探索,呼应了这本书的副标题——人工智能领域的好奇、探索与发现。
国内宣传这本书时主打一个励志,卖点都集中在从洗碗工到美国三院院士,但其实这是一本极佳的人工智能科普读物。尤其是李飞飞早期探索的方向是人工智能视觉,作者以亲历者的身份从神经和认知科学实验展开,以一种有别于市面多数科普读物的视角对人工智能的发展娓娓道来。
书中有很多闪光点,就是那种阅读时能引发思考,思考后又无比认同的内容,像是
“我们面临的挑战是如何评估人工智能的未来,而不仅仅是它的现在。”
“我们工作的指导原则依然是关注人类的福祉,而不仅仅是程序效率的提升。”
“在 21 世纪的人工智能技术探索中, 人性和人文关怀扮演着核心角色。”
在探索AGI的道路上,人工智能展现出与人类文明过往关键技术截然不同的特质。它并非全然处于人类的可控与理解范畴之内,这使得针对这项技术的任何预测以及对其未来走向的描绘,都被一种极大的不确定性笼罩。正是这种不确定性,让人工智能如同一片广袤深邃的未知海域,吸引着无数的探索者驶不断去触摸其潜在的边界与可能。
年味还是在记忆中小时候的小镇上最浓。那时候腊月一到,就跟过年一样,不仅伙食改善了、 卖年货玩具的也肉眼可见地变多、还有随处可见的烟花爆竹。随着除夕邻近,熟人也越多,各家去串门拿红包成了日常活动。这时的年味丝丝缕缕都在空气中弥漫,浓郁悠长。
小时候大人好像也没有担心过我们的安全问题,小的几岁、大的十来岁凌晨 12 点还在外面放烟花也没人管,自由得很。
相比之下,这几年的成都春节的年味显得有些淡薄。虽然视频上看还是不错,到处张灯结彩、节日活动和特色美食散落在各个景点。但在生活的小区附近,人是越来越少,偶尔有些烟花爆竹稀稀拉拉地响起,跟散兵游勇一样。只有在除夕或者之前的一两天,留在成都的人才会在晚上集体出动,把之前囤的烟火点亮,也是从这个时候年味才逐浓起来。
最近纳瓦尔发了一段推文
AI won't replace programmers, but rather make it easier for programmers to replace everyone else.
和之前很多AI会取代程序员的论点一样,这篇推文引起了很多的争议,近200w 的曝光,1.1k 的讨论,数据还在持续增长。
一句话两个观点,第一个不好说,第二个观点我挺赞同,前提是程序员能跳自己的惯常思维和舒适区。
尽管纳瓦尔强调人们对计算机程序的需求是无穷无尽的,但如果产品过于同质化,激烈的竞争会导致很多人退出这个市场,其实也是一种被取代。
第二点,的确现在很多非程序员开始以 AI 为工具开发应用,也取得了不错的效果,这种从 0 到 1 的构建主要还是集中在个人和较为简单的场景。这些场景很少与科技企业或独立开发者直接冲突,即是AI 并没有抢你的业务,至少目前没有,但会增加某些场景下的竞争,尤其是简单的。
现在的情况是,AI 还并不具备全自动构建复杂应用的能力,或许和自动驾驶一样, AI 编程 level 5 也会经历较长的时间。就算最后实现了,对复杂概念的驾驭也不是每个人都具备的能力,总不能简单告诉 AI 给我做一个微信或淘宝吧。所以无论技术怎么发展,系统思考和工程素养都很重要,关于这点,一名合格的开发者是有优势的。
至于程序员取代他人,这件事其实一直在发生,因为程序员对自动化的追求是无止境的,就像生物本能,凡是需要人工干预的场景都是优化目标。有了 AI 这把利器,只要思路打开,这件事更得心应手。