大家好,我是 Axton。最近,科技圈因为英伟达 CEO 黄仁勋 (Jensen Huang) 的一番话炸开了锅。他在世界政府峰会上直言,我们不应该再让孩子们学习编程了。这话一出,可真是让我捏了一把汗——我家孩子刚刚选择了计算机科学专业啊!难道计算机科学真的不重要了吗?今天,我想结合一个我亲身经历的编程小案例,从一个老程序员的视角,和大家聊聊 AI 究竟会不会取代程序员,以及在 AI 浪潮下,什么样的我们才能更好地生存下去。
一次与 AI 协作的真实编程经历
为了更直观地感受 AI 在编程领域的实际能力,我决定让 GPT-4 和 Claude 帮我解决一个视频编辑中的具体问题。 我希望实现一种字幕跟随的效果,即字幕动画的持续时间与字幕本身的长度完全一致。我使用的视频编辑软件是剪映。
在剪映中,新建项目后,我会选中所有字幕,并为它们统一添加”新年打字机”的动画效果。但问题在于,这个动画效果默认的持续时长只有短短的 0.5 秒。当字幕内容较长时,这个动画效果一闪而过,几乎看不出”打字”的感觉,效果很不理想。要优化其实很简单,手动操作的话,只需要将每一条字幕下方的那个代表动画时长的小箭头,一直拉到和字幕本身的长度对齐即可。我尝试手动调整了一条字幕,效果确实好了很多,那种逐字出现的感觉立刻就出来了。
然而,一部影片往往有成百上千条字幕,如果每一条都手动调整,那效率也太低了。于是,我自然而然地想到了让 AI 来帮我写一段代码,自动完成这个枯燥的重复性工作。我把剪映的项目文件直接丢给了 Claude,并清晰地描述了我的需求:修改项目文件,使得所有字幕的打字机动画效果时长,都能自动匹配对应字幕的长度。
这项任务的关键在于,如何在项目文件中准确找到每一条字幕与其对应的动画效果。Claude 表现得很聪明,它迅速理解了我的意图,并很快找到了它认为相关的 ID,尝试将动画和字幕关联起来,然后生成了第一版代码。代码运行起来倒也顺利,没有任何报错,但遗憾的是,它并没有产生预期的效果。显然,AI 在字幕与动画的对应关系上判断失误了。我又让 Claude 尝试了几次,但它始终没能找到正确的关联。
无奈之下,我只好亲自出马,仔细研究了一遍剪映的项目文件结构。在一番摸索后,我终于找到了正确的对应逻辑,并将这个关键信息告诉了 Claude。这一次,Claude 几乎是立刻就生成了修改后的、能够正确工作的代码。在运行新代码之前,我特意检查了一下项目文件,除了我之前手动调整过的那条字幕外,其他字幕的动画时长都还是默认的 0.5 秒,远远短于字幕本身的长度。接着,我运行了 AI 生成的脚本。程序执行完毕后,我重新打开剪映项目,惊喜地发现,所有字幕的动画时长都已经完美地拉伸到了与各自字幕长度一致!整个影片的字幕都实现了理想的跟随效果,比如随意点开两句字幕,都能看到文字随着语音逐字清晰展现。
完整视频请点击观看:
AI 时代,程序员的核心能力是什么?
这次与 AI 协作的经历,让我深刻体会到完成一项编程任务所需要的三个阶段的核心能力。 首先,你需要有能力想到可能的解决方案。在我最初并不知道剪映是否有现成功能支持这种精细调整的情况下,我需要能够预判到通过修改项目文件或许可以实现,并大致构想出技术路径。其次,才是我们通常理解的编程能力,即熟练运用编程语言编写代码来实现具体功能。最后,也是至关重要的一点,是分析和解决问题的能力,当结果不符合预期时,能够准确定位问题并找到解决方案。
现在让我们回到最初的问题:AI 会取代程序员吗?我们可以简单地将程序员分为初级、中级和高级。在上述三个阶段的能力中,许多初级程序员可能主要停留在第二阶段——熟练运用编程语言。对于这部分主要工作是”翻译”需求为代码的程序员来说,答案可能是残酷的:是的,你们被 AI 替代的风险非常高,而且这种替代已经开始了。从我与 Claude 的协作过程中可以看到,一旦需求明确、方案清晰,AI 编写代码的效率和准确性是惊人的。如果一个程序员的价值仅仅体现在对编程语言的熟练运用上,那么在现有 AI 面前,确实已经没有太多优势。AI 正在迅速抹平编程语言本身带来的技术鸿沟。
其实,不仅仅是初级程序员,所有处于初级阶段、工作内容具有明确标准和可遵循流程的白领职位,都面临着被 AI 替代的风险,比如初级数据分析师、初级会计师、律师助理等等。最近备受关注的 AI 程序员 Devin,就是一个鲜活的例子。
计算机科学的真谛:超越编程语言
那么,既然 AI 都能编程了,我们是否真的就不需要学习计算机科学了呢?黄仁勋 (Jensen Huang) 先生所说的”人类语言就是未来的编程语言”,是否意味着计算机科学教育的终结?我认为这里存在一个重大的误解。 AI 目前主要解决的是”语言”层面的问题。你或许不再需要死记硬背 Python 或 Java 的复杂语法,只要能清晰地表达你的想法,AI 就能帮你生成代码。但这绝不意味着编程思想和计算机科学知识变得不重要。
这就好比,即便全世界突然统一了语言,你不再需要学习英语、法语或西班牙语,也并不意味着你就能自然而然地成为一名优秀的作家或演说家。正如我前面提到的,当需求明确、指令清晰、方案具体时,Claude 编写代码确实快速而精准。而学习计算机科学的核心价值,恰恰在于培养你定义需求、明确指令和设计方案的能力。这些深层次的认知能力,是短期内 AI 难以企及的。
计算机科学教育的重点,从来都不是仅仅教会你熟练掌握某一门编程语言的语法。大学学习的精髓,也远不止于知识的堆砌,更重要的是培养”学习的能力”。这种元能力,能让你在面对像 AI 这样的全新领域时,快速抓住其核心,并有效地应用到实践中去。
驾驭 AI 的核心:Prompt Engineering 与自动化思维
那么,在 AI 应用时代,什么是核心能力呢?我认为是 Prompt Engineering 以及 AI 与自动化的结合。我经常听到一种论调,说 Prompt Engineering 之所以现在看起来重要,只是因为 AI 还不够先进,等 GPT-5 甚至 GPT-50 出来了,AI 的理解能力大幅提升,Prompt Engineering 自然就没那么重要了,所以现在没必要费劲去学。
持有这种观点的人,至少忽略了三点。第一,假设五年后 AI 真的发展到不再需要精巧的 Prompt Engineering,但你愿意在这五年里原地踏步,眼睁睁看着那些积极学习和应用 Prompt Engineering 的人不断进步,然后在某个时间点被你轻松超越吗?这显然不现实。第二,除非 AI 发展到能像《三体》中的三体人那样直接读取人类思维,否则 Prompt Engineering 作为一种与 AI 高效沟通的技能,将永远具有其价值。即便 AI 能理解自然语言,自然语言本身也是一种需要逻辑和清晰表达的沟通工具。人与人之间尚且存在”鸡同鸭讲”的情况,更何况是与机器沟通呢?Prompt Engineering 的本质,就是教你如何运用人类的语言,更精准、更有效地与 AI 对话。这和你学习计算机科学一样,不仅要学编程语法,更要学解决问题的思路。学会写 Prompt 的各种框架技巧,好比学会了编程语法;而真正学会用 Prompt 解决实际问题,那才称得上是 “Engineering”。例如,很多人都听说过思维链 (Chain of Thought, CoT) 这一 Prompt 技术,也知道用好它需要将任务拆解,引导 AI 一步步执行。但任务拆解本身,就是一项复杂且重要的能力。
第三,有人可能会说,现在 AI 都能帮你优化 Prompt 了,那 Prompt 优化工具会不会取代 Prompt Engineering 呢?我的答案是不会。这就像为什么总有人喜欢”越狱”手机一样,难道让操作系统全权管理一切不好吗?难道使用厂商预设好的所有设置不香吗?原因在于,许多人更希望掌握控制权。AI 在优化你的 Prompt 的过程中,会替你做出许多决策,这可能导致你失去对最终结果的精细控制。谷歌的 Gemini 就是一个例子,它有时会过度优化你的提示,甚至到你无法生成特定图像(比如白人图像)的程度。
培养洞察力:在 AI 时代脱颖而出
回顾我开头那个字幕编辑的例子,完成任务的三个阶段能力中,第一项”能够想到可能的解决方案”尤为关键。 在我并不知道剪映是否有内置功能可以精确调整字幕动画时长的情况下,我需要能够想到”它或许可以做到”,并且能预见到”通过修改项目文件”是一种可行的技术手段。
为什么我能想到呢?因为我对剪映这款软件的风格有所了解,它以提供各种预设的炫酷效果著称。为什么我能预见到技术手段呢?因为我发现剪映的项目文件是以明文可读的格式存储的,这意味着我有机会通过外部脚本去修改它。因此,遇到问题后,头脑中能迅速涌现出各种可能的解决方案,这是我多年来非常看重并刻意培养的一项能力。
例如,2023 年初 AI 浪潮席卷而来,各种信息铺天盖地,如何快速筛选出真正有价值的内容呢?我首先想到的就是利用 ChatGPT 的推理能力,对所有相关的 AI 资讯进行重要性评级,以此作为信息筛选的第一道关卡。基于这个想法,我相继推出了结合 GPT 及自动化工具对 Twitter 和 RSS 信息源进行筛选的教程视频,我应该算是全网最早一批将 AI 与自动化工具结合并提供详细配置过程讲解的博主。这些内容,包括我遇到错误、解决错误、调试代码的整个过程,都融入到了我的 AI 自动化课程中。我的目标不仅仅是教会学员操作某个软件的技巧,更是希望传递解决问题的底层能力,这样学员才能举一反三,去解决更多未知的新问题。
如何训练这种洞察力?
我简单分享三点心得:
第一,建立广泛的领域知识,培养跨领域的思维模式。 领域知识的重要性不言而喻,无论 AI 如何发达,它都无法替代人类在特定领域的深厚积累。比如,同样是使用 Midjourney 进行 AI 绘画,即便大家都熟悉 Midjourney 的指令,我画出来的图也肯定比不过一位真正的画家。因为我不了解在什么场景下,运用哪种艺术风格能够更好地表达主题,我甚至可能都不知道存在哪些艺术风格,比如什么是巴洛克风格?我一个理工男,对这些艺术领域的知识就相对匮乏。
第二,保持好奇心和探索精神。 尝试用多种不同的方法去解决同一个问题,甚至去质疑那些约定俗成的解决方案,探究其背后的原因和逻辑。
第三,关注核心能力的培养,避免陷入虚假的”学习状态”。 自 AI 爆火以来,各种新工具、新网站层出不穷,数以千计。如果你只是热衷于追逐各种新鲜工具的使用技巧和花哨玩法,那可能只是在”玩游戏”,而不是在真正地学习。虽然作为一名 AI 博主,我需要关注更广泛的 AI 产品动态,但即便如此,我也不会盲目地”大撒网”。在大语言模型方面,我重点关注的是 GPT 系列、Claude 和 Gemini,同时会捎带关注 Mistral 等新兴力量。在自动化工具方面,我则聚焦于 Zapier 和 Make 这两个全球知名的老牌自动化平台,它们拥有成熟的工作流能力,并且能够与数千种应用集成。当然,我也会关注一些新涌现的 AI 智能体工作流平台,比如扣子 (Coze),但我深知一个软件平台从发布到成熟需要经历漫长的过程,因此除非必要,我不会在全新的平台上投入过多精力。
中级程序员们,或许很快就会感受到来自初级程序员甚至是编程小白们的冲击。因为 AI 极大地降低了行业的入门门槛,新手们在 AI 的辅助下,能够更快地达到中层职位的技能水平,而且他们往往更年轻,精力更充沛。可以说,普通程序员的黄金时代或许已经结束了。未来,AI 如果不能奴役人类,那么它必将成为人类的强大工具。而谁能更有效地操控这个工具,谁就能在竞争中占据领先地位。
这就是我一直跟我家孩子强调的,一定要学好 Python 和 Prompt Engineering,要学会如何与 AI 高效对话。其实,黄仁勋 (Jensen Huang) 先生的核心观点也是如此:普通人或许不再需要专门去学习编程语言的语法细节,但是计算机科学的基础知识、解决问题的逻辑思维以及多领域知识的融合,依然至关重要。
核心要点总结
在我看来,面对 AI 带来的变革,我们首先要明确计算机科学的学习价值远不止于编程本身,它更深层次地在于培养我们分析问题和解决问题的系统性思维能力,而这种能力短期内是 AI 难以替代的。其次,我们需要不断提升自身的学习能力,并积极投入到学习那些能够帮助我们驾驭 AI 的技术和方法中去,例如 Prompt Engineering 和自动化思维。最后,关于”程序员是否会被 AI 替代”这个问题,我的答案是:那些停止学习、固步自封的人,无论在哪个时代,都会被快速淘汰,AI 的出现只是加速了这个进程,使其来得更加迅猛和猝不及防。
独特深度洞见
AI 的崛起,并非简单地宣告某些职业的消亡,而是深刻地重塑了”价值”的定义。过去,掌握复杂的技术细节(如编程语言的精通)本身就是一种核心价值。而在 AI 时代,这种价值正在被稀释。真正的核心价值,正从”如何做”转向”做什么”和”为何做”。AI 成为了强大的执行者,而人类的洞察力、创造力、以及定义问题和目标的能力,则上升到了前所未有的高度。因此,未来的竞争,将更多是围绕”思考质量”和”目标设定”的竞争,而非单纯技能的较量。