首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

深度!程序员生涯的垃圾时间(上)

编程知识
2024年09月15日 11:14

1

很多程序员对互联网行业中广泛讨论的“35岁危机”表示不满,似乎所有的程序员都有着35岁的职业保质期。然而,随着AI技术的兴起,这场翻天覆地的技术革命正以更加残酷且直接的方式渗透到各行各业。程序员的核心价值正在被自动化和智能工具所取代。程序员不再面临传统意义上的35岁年龄危机,而是面临着职业生涯的终结危机。

AI技术迅速崛起,其迭代速度快到了以周为单位,几乎所有的大模型公司都在AI编程上取得了重大突破。程序员正面临着深刻的转型和被淘汰的风险。但由于AI技术取代程序员的过渡期尚未完全结束,许多程序员仍然从事着那些即将被取代的工作。我愿意把这段时间称为“程序员的垃圾时间”。

垃圾时间(Garbage time)是体育赛事中的术语,指一场比赛中双方分差过大,胜负已定。此时,比赛剩余的时间不再对最终结果产生决定性影响,剩下的时间就被称为垃圾时间。将这个词用在浩浩荡荡的技术革命、汹涌向前的历史车轮上,再合适不过。时代的必然,是个人无法违背的规律。

2

要想理解程序员被AI取代的深层逻辑,我们就不得不说一下AI的原理。

AI之所以能够表现出智能,背后是以大型语言模型(LLM)作为核心支持。它的训练逻辑是基于海量的语言数据,利用每秒可执行万亿次浮点运算的GPU集群(以A100为例,其双精度浮点运算能力为19.5 TFLOPS),通过高效的算法调整数万亿的参数来训练语言模型。我们可以将模型简单粗暴地理解为数据加上参数结构。虽然这样说很简单,但训练模型的成本相当高。以GPT-4为例,训练模型需要数万张每张价值一万美元的A100显卡,训练一次需要上百天,光每天的电费就高达数万美元。不是所有的智能模型都需要如此大的投入,而是如此大规模的投入才能训练出超级智能。

为什么模型可以表现出智能?智能的本质是什么呢?

科学界普遍认为,大模型的涌现能力塑造了AI的智能。涌现(emergence)是指一个大实体由许多相互作用的小实体组成,而这个大实体却能表现出任何组成它的小实体都不具备的特性。随着ChatGPT的流行,大家更加关注大型语言模型的涌现能力。大模型的涌现更多地指,随着模型规模的变大,模型在某一刻突然表现出以前没有的能力,也就是智能。

大模型还有另一个令人惊讶的特性:随着规模的变化,它的准确度也呈幂律上升,这就是规模法则(scaling law)。模型的规模越大,它的表现能力提升得越快。换句话说,随着加大数据量和计算量的投入,模型的智能会呈现出指数级的增长。

现如今,AI大模型正在以一种人类第二大脑的形式渗透到各个领域。尤其是最近OpenAI发布的新模型,使我们的第二大脑不仅是知识的存储和提取工具,更具备了深层次的思考能力。在编程领域,它的表现尤为出色。程序开发天然适合AI的应用场景,因为程序是没有二义性的。程序开发是高度结构化的,代码中的每一个命令、每一个语法逻辑都有着严格的规则。人类的语言表达是存在歧义的,表面意思和深层含义可能不同。但编程语言则不然,它没有任何歧义,只有0和1的非黑即白。

3

这种AI编程取代程序员的过程与新能源取代传统燃油车的进程非常相似。随着新能源技术的发展,产业链的成熟,规模效应使得边际成本越来越低,新能源的竞争优势也越来越大。但它并不是一下子取代所有的燃油车,甚至燃油车的市场根本就不会完全消失。燃油车市场会逐渐开始分化,可被取代的民用汽车市场逐渐被新能源汽车代替,而燃油车则开始走向高端市场,逐渐面向特定群体,比如汽车爱好者和收藏家。你可以在很多超级跑车上见到手动挡,这就是一种侧面印证。

编程领域也是如此,它同样会在AI编程的影响下逐渐分化。传统的工程化编程工作在这个阶段逐渐失去意义,变得越来越机械化和工具化。程序员投入的精力和时间,与AI带来的生产力提升相比,使他们感觉自己的劳动价值被稀释。因此,处理常规开发任务、运维、前后端开发、简单业务逻辑编码的工程化程序员,其职业生涯正被AI工具所威胁。而那些少数的精英型程序员则被重用,他们具备深厚的理论基础和算法能力,工作更具创造性和前沿性,已超越了传统工程师的范畴,更像是一名科学家。这种理学思维和工程思维的核心区别,体现在专业上就是工科和理科的区别。这注定了未来程序员的工作,或者说程序科学家的工作,只有极少数人能够胜任。

麻省、哈佛、斯坦福,清华、北大、中科院,如今在AI领域的研究者,都有着极高的学术背景。他们与AI的结合可谓以一当十,以一敌百。他们创造的价值有多巨大,就有多少“平庸”的价值被取代。

4

然而,任何变革总是充满着危机与机遇。当我们看不清未来时,不妨回过头看看过去。

我们从技术和经济的角度来回顾历史上的一些故事。

首先,从技术的角度来看。

2016年4月,AlphaGo战胜了世界围棋冠军李世石。自此之后,在下围棋这件事上,人类就再也没赢过。如果我们想了解ChatGPT对人类的影响,不妨看看AlphaGo对围棋界产生了哪些影响。

如今,几乎所有职业围棋选手都依赖围棋AI来提升自己的棋艺。比如在开局阶段,许多被传统认为是“不能走”的棋路,AI却会大胆选择。经过多次攻防后,AI会在另一个地方回应这些棋路,展现出人意料的深远布局。职业棋手们直到这时才恍然大悟:原来如此!

有人形容,AI时代就像远远驶来的火车。我们远远地就看到它来势汹汹,但当它真正到来时,却只是一瞬间与我们擦肩而过。然后,我们只能眼睁睁地看着它离我们越来越远,再也无法追上。

19世纪时,电力仅限于上流社会使用。当有人提议将电力普及到千家万户时,议会上出现了反对的声音。有人警告道:“如果每家每户都安装电插头,那其杀伤力将难以估量,简直就像现代化的武器!如果一只小猫不小心碰到电插头,不就立刻被电死了吗?如果哥哥叫弟弟去摸一摸插头,岂不是瞬间没命?如果我们在整个伦敦,甚至全英国普及电力,岂不是等于给所有人,包括坏人和精神病患者都发了一把枪?这实在是太可怕了!”"

因此,这项决议当时没有通过。

然而,站在今天的角度回看,电力为整个人类社会带来了巨大的价值,几乎所有人都从中获益。诚然,触电事故的确时有发生,但即使如此,我们也不会因此停止使用电力。我们需要做的,是学习如何正确、安全地使用电。

5

我们再从资本的角度来看。

我们不得不承认,资本是推动技术快速发展的核心力量。资本的大量投入,使得AI成为当下最热门的领域。各种初创公司、研究项目、创新产品都得到了空前的支持。虽然这必然会导致AI市场的泡沫化,但这种过度推动正是为了刺激创新,筛选出具有竞争力的公司和产品。疯狂砸钱,激活市场,正是资本朴实无华的行事手段。最终,一定会有几家公司脱颖而出,形成寡头格局。这些公司都是经过充分竞争而产生的,而谁最终胜出并不重要。

这像不像是当初互联网泡沫时代的重演?

2000年左右,互联网同样经历了泡沫化,也同样经历了金融危机。但新兴事物的崛起,必然伴随着混乱和动荡。各个公司摸着石头过河,最终摸索出成功的商业模式,塑造了今天的互联网格局。而当今的科技巨头,恰恰都是那个互联网泡沫年代产生的。百度,2000年创办;腾讯,1998年创办;阿里巴巴,1999年创办;谷歌,1998年创办;Facebook,2004年创办;亚马逊,1994年创办;Netflix,1997年创办。这些公司都是在互联网泡沫时期产生的,并在那段混乱中脱颖而出。

我们现在面对的这场AI技术革命,同样伴随着经济的衰退,但这绝对不是一个时代的衰落,而是一个崭新时代的开始。AI时代的独角兽,正在孕育当中。

程序员生涯的垃圾时间(上)

https://blog.caiyongji.com/2024/09/15/programmers-garbage-time-1.html

程序员生涯的垃圾时间(下)

https://blog.caiyongji.com/2024/09/15/programmers-garbage-time-2.html

From:https://www.cnblogs.com/takeurhand/p/18415135
本文地址: http://shuzixingkong.net/article/2036
0评论
提交 加载更多评论
其他文章 .NET 的 Native AOT 现在是什么样的?
在软件开发领域,优化性能和简化效率仍然至关重要。多年来,.NET 平台一直在创新,为开发人员提供基础设施,以打造弹性和高效的软件解决方案。今天要写的这篇文章源自昨天在朋友圈发的文章《UWP 通过 .NET 9 和Native AOT 的支持实现 UWP 应用的现代化》[1],一位小伙伴的对话让我想全
.NET 的 Native AOT 现在是什么样的? .NET 的 Native AOT 现在是什么样的?
全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数
在 Python 中,函数和方法都是代码的基本单元,用于封装和执行特定的任务。它们之间有一些重要的区别,而 lambda 匿名函数则是 Python 提供的一种简洁定义小型函数的方法。
全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数 全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数 全网最适合入门的面向对象编程教程:49 Python函数方法与接口-函数与方法的区别和lamda匿名函数
痞子衡嵌入式:JLink命令行以及JFlash对于下载算法的作用地址范围认定
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是JLink命令行以及JFlash对于下载算法的作用地址范围认定。 最近痞子衡在给一个 RT1170 客户定制一个 Infineon MirrorBit 类型 64MB Flash 的 SEGGER 下载算法,做完之后在 JFlash 下
痞子衡嵌入式:JLink命令行以及JFlash对于下载算法的作用地址范围认定 痞子衡嵌入式:JLink命令行以及JFlash对于下载算法的作用地址范围认定 痞子衡嵌入式:JLink命令行以及JFlash对于下载算法的作用地址范围认定
CMake构建学习笔记16-使用VS进行CMake项目的开发
详细介绍了通过Visual Studio 2019 这款IDE进行CMake项目开发过程,能够极大增加C/C++程序的开发效率。
CMake构建学习笔记16-使用VS进行CMake项目的开发 CMake构建学习笔记16-使用VS进行CMake项目的开发 CMake构建学习笔记16-使用VS进行CMake项目的开发
Nuxt Kit 组件管理:注册与自动导入
title: Nuxt Kit 组件管理:注册与自动导入 date: 2024/9/15 updated: 2024/9/15 author: cmdragon excerpt: Nuxt Kit 为组件的注册和导入提供了灵活高效的解决方案。无论你是要批量导入组件,还是单独处理特定组件,这些工具都能
Nuxt Kit 组件管理:注册与自动导入 Nuxt Kit 组件管理:注册与自动导入
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
前言 之前有小伙伴问:Linux 服务器运维管理除了宝塔,还有其他值得推荐的管理软件吗?,今天大姚给大家分享一个现代化、开源的 Linux 服务器运维管理面板:1Panel。 项目介绍 1Panel是新一代的 Linux 服务器运维管理面板,旨在通过现代化的 Web 界面帮助用户轻松管理 Linux
1Panel:一个现代化、开源的 Linux 服务器运维管理面板 1Panel:一个现代化、开源的 Linux 服务器运维管理面板 1Panel:一个现代化、开源的 Linux 服务器运维管理面板
二叉树的 Morris 中序遍历——O(1)空间复杂度
回顾 问题陈述: 给定一棵二叉树,实现中序遍历并返回包含其中序序列的数组 例如给定下列二叉树: 我们按照左、根、右的顺序递归遍历二叉树,得到以下遍历: 最终中序遍历结果可以输出为: [3, 1, 9, 2, 4, 7, 5, 8, 6] Morris trick Morris 中序遍历是一种树遍历算
二叉树的 Morris 中序遍历——O(1)空间复杂度 二叉树的 Morris 中序遍历——O(1)空间复杂度 二叉树的 Morris 中序遍历——O(1)空间复杂度
这些年没来得及学习的一些 HTML5 标签
认识并学习下还没来得及学习的一些 HTML5 标签 <ruby> 标签 HTML <ruby> 元素被用来展示东亚文字注音或字符注释。 比如: <ruby>兄弟<rt>xiongdi</rt></ruby>
这些年没来得及学习的一些 HTML5 标签 这些年没来得及学习的一些 HTML5 标签 这些年没来得及学习的一些 HTML5 标签