编程的演进:从指令到意图

85 阅读5分钟

022.webp

编程的演进:从指令到意图

我使用 AI 编程工具(比如 Cursor、 Claude Code)已经半年了。它能根据注释,自动生成完整的函数。

这让我产生了一个想法:我们今天所熟知的“编程”——即一行行地编写代码,未来可能将不复存在。

回顾历史可以发现,编程的发展方向,就是不断提升抽象层次,让计算机能直接理解人的意图。

机器指令的时代

023.png _雷军在大学期间写的汇编程序_

计算机的 CPU 只懂机器码,也就是 0 和 1 组成的指令。这是计算机世界最底层的语言。

最早的程序员,必须用二进制 10110000 01100001 这样的形式,直接与机器对话。这无疑是极其痛苦和低效的。

不久,汇编语言诞生了。程序员可以用 MOV AL, 61h 这样的助记符来代替二进制码。这前进了一小步,但没有产生质变。因为程序员依然需要用机器的思维方式思考,关心寄存器、内存地址这些底层细节。

在这个阶段,是**“人去适应机器”**。

翻译官的诞生

024.png _Hello World_

真正的飞跃,始于高级语言的出现。

从 Fortran、C,到后来的 Java、Python,程序员终于可以用 let a = 97; 这样接近人类自然语言的语法来写作。

从此,程序员的角色变成了“翻译官”。我们的工作,就是把人类的商业逻辑和算法思想,“翻译”成计算机能够理解的编程语言。然后,由“编译器”这个自动化工具,再把编程语言翻译成机器指令。

此后的几十年,我们所有的努力,都是为了让“翻译”工作更轻松、更高效。

  • IDE(集成开发环境):提供了一个集成的“翻译工作室”。
  • LSP(语言服务器协议):提供了语法高亮、自动补全等功能,像一个“语法助理”,随时纠正翻译错误。

但是,无论工具如何进化,“翻译”这个行为本身,依然由程序员作为主体来完成。

AI 介入翻译

最近一两年,AI 的出现,正在彻底改变“翻译”这件事。

第一阶段,AI 是“副驾驶”(Copilot)。 它能理解你的上下文,帮你补全代码。你写一个函数名,它写函数体。此时,它像一个初级的翻译,与你合作完成工作。

第二阶段,AI 是“主导者”(AI-Native IDE)。 在 Cursor 这样的环境中,你提出需求,AI 生成代码,你负责审查和修改。此时,程序员从“翻译官”变成了“主编”,主要职责是向下达指令和审核翻译稿。

025.webp _市面上一些较火的 AI 插件或者 AI IDE_

在这个阶段,我们写的代码越来越少,写的“提示”(Prompt)越来越多。如何清晰地描述需求,成了新的核心技能。

编程的终点:意图驱动

沿着这条路走下去,终点是什么?

我认为,“翻译”这个中间环节将被彻底消除。编程将进入**“意图驱动”**的时代。人类只负责提出“做什么”(What),AI 负责完成“怎么做”(How)。

未来的编程,可能是这样一种场景。你的输入不再是代码,而是一系列清晰定义的需求和约束。

人类的输入:

  • 目标: 开发一个在线协作文档工具,类似 Google Docs。
  • 功能: 支持多人实时编辑、评论、版本追溯。
  • 约束: 支撑 10 万人并发,延迟低于 100ms,部署在欧洲。

AI 的输出:

  • 一份完整的技术方案。
  • 全部的源代码和测试用例。
  • 一套基础设施配置文件(IaC)。
  • 一个可以访问的线上原型。

到了那时,程序员的角色,将与产品经理和架构师高度融合,成为“系统需求工程师”或“AI 架构师”。我们的工作,是精确地定义问题,并评估系统的最终产出。

更远的未来,脑机接口技术甚至可能让“意图”的表达也消失了。构建软件,会像我们此刻的思考一样,自然发生。

026.jpg

_马斯克的 Neuralink 项目,将 AI 与脑进行连接,实现“意念”的表达。_

结论

编程的历史,就是一部抽象化的历史,目标是让机器越来越接近人的思想。

这个过程,解放了生产力。我们不再需要关心二进制、寄存器、内存管理,可以专注于业务逻辑。未来,我们甚至可能不再需要关心具体的编程语言、框架和架构,从而专注于产品价值本身。

对于今天的开发者,这意味着两点:

  1. 重复性的、模式化的编码工作,必然会被 AI 取代。
  2. 定义问题、拆解需求、设计系统的能力,将变得空前重要。

编程不会消失,它只是在进化。我们的角色,正在从“代码的编写者”(Coder),进化为“意图的定义者”(Creator)。