AI时代,技术人员应该怎样进行学习和编程
关于AI对计算机行业的冲击以及技术人员在当下的自处之道,我想通过这篇文章做一些深度的梳理。近期行业内关于AI替代人类编程的讨论并未停歇。甚至黄某说未来不要学编程之类的话,作为显卡厂商,当然要坐在自己的立场上,我认为这种看法虽然揭示了部分趋势,但如果缺乏前置条件的约束,很容易产生误导。 我们需要清醒地认识到,当前的生成式AI本质上是一个基于概率的插值引擎。它所做的事情,是在海量的训练数据中寻找相关性,然后给出一种统计学意义上的“平均值”或“典型值”。理解了这一点,就明白了为什么我们不能全盘依赖AI。如果我们把AI不仅仅当成提升效率的工具,而是当成替代思考的依赖,甚至像轮椅一样去使用它,那么我们的技术上限就会被锁死在模型的平均水平里。我们将永远无法跳出既有训练数据的认知边界,更谈不上通过编程去创造新的价值。 对于抱着向上学习态度的从业者或学生来说,AI不仅不应是替代思考的捷径,反而应当是提升认知的梯子。 在实际开发中,我们需要理性审视AI的能力边界。AI非常擅长解决冷启动的问题,比如生成项目骨架、编写繁琐的样板代码、或者处理一些我们不熟悉但在工业界已有成熟方案的领域。在这些场景下,AI能极大地消除那些低价值的重复性劳动,让我们将精力集中在真正有价值的创造性工作上。然而,一旦涉及到复杂的系统状态管理、核心逻辑的重构,或是从无到有的创新性架构设计,AI的表现往往会大打折扣。因为它缺乏对系统全局的理解,更没有对逻辑一致性的内在坚持,它无法像人类一样处理那些训练数据之外的无人区问题。 因此,在AI时代,技术人员的学习重点必须发生转移。过去我们可能花费大量时间记忆语法细节或API调用方式,现在这些确实可以交给AI。但我们真正需要培养的核心能力,是对架构的理解力和对代码的掌控力。 这种掌控力体现在一种全新的工作流中:先明确设计,再生成代码。我们不能期待用一句模糊的指令就让AI生成完美的应用,相反,我们需要先用自然语言清晰地定义出功能边界、内存模型、错误处理机制等核心约束。这实际上要求我们具备比以往更强的系统设计能力和表达能力。我们必须把自己的设计品味强行注入给AI,让它在我们的框架内生成代码。如果连我们自己都无法清晰描述想要什么,AI生成的代码只是一堆不可控的逻辑堆砌,甚至还有隐形bug。 AI生成的代码,每一行都必须经过人工的阅读和审查。能够让代码跑起来并不是终点,理解代码为什么...