每周都有新的 AI 工具占据头条。学生们看着对话代理、自动驾驶汽车和生成式艺术的演示,迫不及待地想要加入其中。这种渴望是可以理解的。既然可以通过拖拽、放置和提示词(prompt)来构建一个可运行的聊天机器人,为什么还要花几个月的时间去学习循环和变量呢?但如果急于跳过编程基础,你将会遇到一个比想象中更早到来的瓶颈。
为什么捷径如此诱人
当前的 AI 营销浪潮强调的是速度。低代码平台和 API 封装器(wrappers)让你能在一下午内就搭建出一个对话界面。这种快速的成功感看起来像是真正的进步。然而,这些界面建立在并非由你编写、且无法窥探其内部结构的底层架构之上。当 API 对你的用户进行频率限制(rate-limit)、当模型在生产环境中产生幻觉(hallucinate),或者当你需要降低推理延迟以保持移动应用的响应速度时,肤浅的知识会让你陷入困境。你会变得依赖于他人构建的工具,无法对其进行修复或重塑。
编程究竟能带给你什么
编程是为计算机编写精确指令的行为。它是网站处理并发流量的方式,是移动应用在设备间同步数据的方式,是数据库在不损坏的情况下存储数百万条记录的方式,也是云软件在硬件故障后仍能保持可用性的方式。同样至关重要的是,它也是每一个 AI 系统被创建、训练和部署的方式。没有它,你就不是一名工程师,而只是他人作品的消费者。
另一方面,人工智能是计算机科学的一个分支,专注于让机器执行通常需要人类判断的任务。它结合了代码、数学和数据。所谓的“魔法”根本不是魔法。它只是包裹在 Python 中的统计学、在专用芯片上运行的矩阵乘法,以及精心策划的训练集。剥去炒作的外壳,你会发现其底层是软件工程。
两者之间的真正区别
编程赋予你从零开始创造的能力。AI 则赋予你专门的技术,将模式识别、预测或生成能力融入到这种创造中。一个是基础,另一个是建立在其之上的楼层。在浇筑混凝土之前,你无法安装楼层。
当你懂得如何编程时,你就可以阅读开源大语言模型或扩散模型背后的源代码。你可以确切地看到注意力机制(attention mechanisms)是如何实现的,而不仅仅是听博客文章里怎么说。当你需要更换损失函数(loss function)或针对特定数据集调整学习率(learning rate)时,你可以编辑 AI 代码。你可以修复那些不可避免会发生的错误。张量(tensors)形状不匹配、CUDA 显存溢出(out-of-memory)崩溃,或是数据预处理流水线中的隐性错误(silent bug),这些都无法通过向聊天机器人提问来解决。你需要追踪变量、检查梯度并推导内存分配。
大多数企业不需要围绕公共 API 的通用封装。他们需要能够与现有的病历、财务账本或制造传感器集成的特定领域工具。他们需要遵守严格隐私约束、且运行预算不允许每天调用数百万次付费接口的系统。构建这些系统需要编写原创代码。
从 Python 开始
如果你想从事 AI 工作,请从 Python 开始。它的语法读起来几乎就像英语一样,这降低了初学者的门槛。不要把这种简单误认为是软弱。Python 承载着现代机器学习的重型机械。TensorFlow、PyTorch、scikit-learn 和 Hugging Face Transformers 都是构建在其之上的。当你学习 Python 时,你学习的不是一种玩具语言,而是在学习 AI 研究人员用来推动领域进步的同一种工具。
实用的学习路线图
将你的学习视为一个序列,而不是自助餐。以下是一个真正能建立势头的学习顺序。
Python 编程。 掌握变量、循环、函数、类和文件处理。编写能够解析 JSON 日志或抓取基础网页的脚本。如果你不能对列表进行排序或干净地处理异常,那么你还没有准备好迎接梯度下降(gradient descent)。
数据结构与算法。 数组、哈希表、树和图不仅仅是面试中的琐碎知识。它们是你存储关系并高效搜索这些关系的方式。现代推荐引擎的核心其实就是一个巧妙的图遍历问题。
SQL 与数据库。 模型需要干净的数据。你将从 PostgreSQL 数据库中获取训练集,通过连接表来组装特征,并存储用户交互数据以便后续进行微调。忽视这一步意味着你是在把数据当成“魔法粉末”对待,而不是将其视为你可以掌控的结构化资产。
数学:统计学与概率论。 AI 在不确定性下进行预测。你需要理解分布、条件概率和假设检验。如果没有这些知识,你就无法评估你的模型是在真正学习,还是仅仅在记忆噪声。
机器学习基础。 研究监督学习和无监督学习。在接触预构建库之前,尝试仅使用 NumPy 从零开始构建一个线性回归模型。通过代码感受数学的力量。
深度学习。 进阶到神经网络。在让 PyTorch 处理自动微分之前,先手动理解反向传播。了解底层发生了什么。
生成式 AI。 研究 transformers、attention mechanisms 和 large language model architectures。这时,那些华丽的工具才有了意义,因为你可以看到其内部齿轮是如何运转的。
AI 项目。 构建一个端到端的流水线。收集数据、清洗数据、训练模型、通过 REST API 暴露接口并进行部署,以便他人使用。这就是理论转化为工程实践的过程。
编程与 AI 是合作伙伴
编程与 AI 并非对手。编程构建船只,AI 则添加导航系统。程序员可以构建一个可以拍照的移动应用;加入 AI 后,它就能识别植物物种。程序员可以构建一个交易数据库;加入 AI 后,它就能实时标记欺诈行为。顺序很重要。先造船。
会浪费数月的错误
跳过基础会导致“复制粘贴式”开发。你从在线论坛上找来一段脚本,改一下文件路径,然后祈祷它能运行。当它出错时,你脑中没有关于原因的模型。仅仅依赖 AI 工具会让你变成一个操作员,而不是一个构建者。你可以要求生成摘要或图像,但你无法交付一个完全受控于另一家公司的产品。忽视数学会让你变得盲目。你会随机调整超参数,试图碰运气得到一个结果,却无法理解为什么你的分类器在 edge cases 上会失败。试图一次性学习所有东西会分散你的注意力。在起步阶段,深度胜过广度。挑选一个概念,钻研它,直到你彻底理解为止。
按正确的顺序构建项目
从小型、具体的应用开始。构建一个带有图形界面的计算器。创建一个能将数据持久化到本地文件的待办事项应用。编写一个根据创建日期重命名数千张照片的脚本。这些练习会教会你如何管理状态、处理用户输入以及调试逻辑。
只有在那之后,你才应该尝试 AI 相关的任务。使用 Convolutional Neural Network 训练一个图像分类器,将猫和狗的照片区分开来。构建一个简单的聊天机器人,通过直接调用 API 并使用记忆缓冲区,使对话保持连贯。这种跨越会感觉很自然,因为你已经知道如何构建代码结构、处理错误以及阅读文档。
真正的核心启示
先掌握逻辑。在尝试教计算机像人类一样思考之前,先学习计算机是如何思考的。扎实的编程基础能将 AI 从一个黑盒变成一个你可以塑造、评判和改进的工具。这才是构建长久职业生涯的地方。理解全栈的构建者,永远比只会写 prompt 的操作员走得更远。
Source: Programming vs AI: Which Skill Should You Learn First?
Join the community: GyaanSetu AI on Telegram
