人类 wildgun 写的前言:这篇文章是我最近看了 Anthropic 的 CEO 说到今年年底(?)绝大部分的代码将会由 AI 生成这样的新闻后,想到的并于 ChatGPT 进行的讨论。下面的内容是根据讨论,让 AI 整理出的文章。
说起来,我真的在计算机专业的学校毕业后就没有用过一次二叉树之类的东西了……谁在开发中用过谁举一下手?
当 AI 的发展一日千里,我们不得不一次次回溯那个问题:「人类还能做什么?」
Anthropic 的 CEO 预测,未来三到六个月,AI 可能会编写 90% 的代码。OpenAI 的创始人则在 2025 年初表示,未来十年内,每个人都可以调动相当于 2025 年全人类智力的计算能力。这些预测,听起来或许像科幻小说,但它们的影响正在逐步显现。
那么,在 AI 可以编写代码、优化算法、构建系统的世界里,我们还需要学习编程吗?
如果学习编程只是为了「写代码」,那么答案或许是悲观的。就像过去机械化替代了工匠的手工雕琢,自动化替代了流水线工人的重复劳作,AI 也在迅速吞噬那些纯粹基于语法和逻辑规则的编程任务。人类的手敲代码,正变得不再必要。
但如果我们理解编程为一种思维方式,那么情况则完全不同。
编程不仅仅是代码,而是建立问题的抽象框架、理解系统的运作方式、掌握结构化的逻辑推理。AI 可以写出更优雅的排序算法,但它不会去质疑:「这个问题真的需要排序吗?」AI 可以自动补全你的代码,但它不会去思考:「这个系统的核心瓶颈在哪里?」
未来的学习,或许不再是「如何写代码」,而是「如何洞察 AI 生成的代码之下的逻辑肌理」,如何在 AI 的冷峻算力中植入人类思维的温度,如何让 AI 从冰冷的工具变成可被驾驭的思想延伸,而非一个只能依赖的黑箱。
在这样的变革下,我们的学习方式也需要改变。
或许,未来的学习不再是从厚重的编程教材或长篇讲解视频中逐行敲下示例代码,而是直接让 AI 生成不同版本的代码,并分析它们之间的异同,探究哪种实现方式最符合实际需求。比如,以前学习排序算法,我们会手写冒泡、快速、归并排序的实现,测试它们在不同数据集上的效率;而现在,或许更重要的是,让 AI 生成多种排序策略,分析它们在不同数据分布下的适用性,甚至思考,是否真的需要排序,还是能用其他方法避免这个问题本身。
不仅如此,AI 还可以为学习者自动生成测试数据集,而不只是代码本身。不同的算法适用于不同的数据特征,也可能受到硬件限制的影响(还记得比尔盖茨说的 64KB 内存就够了的那句话吗?)。过去,我们需要手动设计各种数据集,调整参数,观察算法的运行情况,而现在 AI 可以直接根据特定需求生成最能体现差异的数据,使学习者的关注点转向更本质的优化策略,而不是冗长的实验准备工作。
AI 能写 90% 的代码,但那最后 10% 的价值,可能比过去的 100% 都要重要。它关乎愿景、关乎判断、关乎真正的问题定义。
在这个世界里,编程不再是工具,而是语言——用来表达、用来建构、用来让 AI 听懂我们的思想。
所以,我们不应该去害怕 AI 取代人类编程,而是该思考:
——当 AI 写代码时,我们真正想创造的是什么?是能够自我进化的智能体,还是更符合人类认知的计算范式?是能够精准模拟现实的虚拟世界,还是全新的数学宇宙?我们是否希望 AI 仅仅是更高效的执行者,还是它应该成为真正的探索者,替我们去寻找未曾触及的思想边界?
(这句是人类 wildgun 写的:)其实我自己更期待的是,在不断摸索和与 AI 加深交流的同时,人类能认识到自身的七情六欲、美德与七罪及其衍生出来的种种善恶行为背后的机理(听说最近 AI 在联系时也表现出会说谎了?)。