
很多人对人工智能进入软件行业的理解,仍然停留在代码补全、自动生成函数、提高开发效率这些层面。Copilot、Cursor、Claude Code、各种 AI IDE 的出现,让越来越多的程序员感受到生产效率的提升。但如果将这一轮变化仅仅理解为工具升级,可能低估了一件正在发生的大事。
软件开发正在经历一次底层范式的变化。
过去几十年,程序员一直在思考如何用更优雅的方式表达逻辑。从机器语言、汇编语言、高级语言,到结构化编程、面向对象、微服务、云原生,每一次技术革命都在提高抽象层级,让人能够用更少的细节描述更复杂的系统。而今天,大模型的出现第一次让自然语言开始参与软件系统的构建过程。越来越多开发者发现,自己每天花费时间最多的事情,已经不再是敲代码,而是在描述需求、设计 Prompt、组织上下文、维护知识库、配置 Agent、定义工具调用规则以及不断调试智能体行为。
如果说过去的软件工程是在告诉计算机应该如何一步一步执行,那么今天的软件开发越来越像是在告诉 AI 希望达到什么目标。代码开始从唯一的表达方式变成实现路径之一,而自然语言正在成为新的系统接口。
这意味着,软件开发可能正在进入一个新的时代。

软件发展的历史,本质上是一部不断提高抽象层级的历史
回顾过去七十年的软件发展,会发现一个有趣的规律。整个行业一直在做同一件事,那就是让程序员离机器越来越远。
最初的软件开发需要直接面对机器指令,一个简单的计算都需要使用复杂的二进制编码。后来出现汇编语言,人们开始使用助记符替代机器码。随后,Fortran、C、Pascal、Java、Python 等高级语言诞生,开发者终于不需要再关注寄存器和内存地址,而能够直接使用变量、函数和数据结构表达问题。
再后来,面向对象成为主流,开发者开始围绕对象和抽象构建系统。互联网时代到来以后,系统规模急剧扩大,SOA、微服务、Serverless、云原生架构相继出现。每一次技术演进,本质上都是在隐藏更多复杂度,提高表达效率。
今天的大模型技术,其实延续了这一规律。
自然语言本身就是最高层级的抽象。过去,需求需要经过架构设计、代码实现和编译执行才能转化为系统能力;而现在,需求开始通过 Prompt、上下文和 Agent 直接作用于模型,模型再进一步生成代码、调用工具、完成任务。
需求与实现之间,多出了一层新的智能抽象。
这或许意味着,自高级语言出现以来,软件开发第一次迎来了新的表达层。

Prompt 正在从输入框里的几句话演变成新的编程接口
很多人对 Prompt Engineering 存在误解,认为所谓 Prompt 无非就是一句“请帮我写一个 Python 函数”,或者在末尾加上一句“Think step by step”。
这样的理解已经无法描述今天复杂 AI 系统中的 Prompt。
在真正的生产环境里,一个 Prompt 往往包含角色定义、任务描述、输出格式、工具调用规范、安全约束、上下文注入、记忆机制、状态管理、多轮推理规则以及异常处理逻辑。许多企业内部 Agent 的 Prompt 文件已经达到数千行甚至上万行,其复杂程度并不亚于一段业务代码。
OpenAI、Anthropic、Google 和微软构建的智能体系统,本质上都是 Prompt、Memory、Tool 和 Planning 的组合。Prompt 不再只是对话输入,而开始承担描述系统行为、定义约束条件、组织执行流程的重要职责。
这种变化让 Prompt 逐渐具备了编程语言的特征。
传统程序强调过程控制,开发者需要明确告诉计算机每一步如何执行;而 Prompt 更像一种声明式语言,开发者关注的是目标和结果,而中间的执行过程交由模型完成。
这种思想与 SQL 出现时非常相似。开发者不再告诉数据库如何遍历数据,而是直接描述需要得到什么结果。优化和执行策略由数据库内部完成。
Prompt 正在让软件开发进入类似的阶段。
软件工程正在从确定性时代进入概率时代
传统软件最大的特点是确定性。
相同输入一定产生相同输出。程序逻辑可以被精确预测,因此整个软件工程体系都建立在确定性的基础上。单元测试、静态分析、类型系统、覆盖率、持续集成、形式化验证,这些技术的目标都是保证系统行为稳定。
而大模型天然具有概率属性。
同一个问题,多次执行可能得到不同答案。模型输出会受到上下文、温度参数、历史对话、知识检索结果、工具状态以及模型版本变化的影响。系统行为不再像传统程序那样完全可预测。
这种变化对软件工程提出了新的挑战。
过去关注的问题是代码是否正确,现在关注的问题变成结果是否符合预期。过去强调算法逻辑的绝对正确性,现在更加关注整体任务成功率和用户体验。

于是,一套全新的工程体系开始出现。
Eval、Benchmark、Synthetic Data、Reward Model、Human Feedback、Regression Test、Agent Evaluation 等概念越来越频繁地出现在企业内部基础设施中。很多 AI 团队投入大量资源建设评测平台,因为对于智能系统而言,评测已经成为新的测试。
未来的软件工程,很可能不再追求百分之百的确定性,而是追求足够稳定、足够可靠的概率正确。
这意味着,软件开发正在逐渐接近机器学习工程。
程序员真正编写的对象,正在从函数演变为智能体
几十年来,软件工程的基本单位一直在不断变化。
最初是函数,后来是类,再后来是服务、容器和微服务。每一次变化都意味着更高层级的抽象。
而今天,一个新的基本单位正在出现。
Agent。
传统程序遵循固定流程。输入经过函数处理得到输出,整个过程是预定义的。而智能体系统拥有目标驱动能力,它能够自主规划任务、调用工具、分析反馈、修正错误,并决定下一步应该执行什么操作。
输入不再直接对应输出,中间多出了推理、规划和反馈循环。
这意味着开发者关注的重点也在发生变化。
过去关注算法设计和代码逻辑,现在更加关注智能体行为;过去设计 API,现在设计工具生态;过去调试函数,现在调试 Agent;过去编写流程,现在定义能力边界。
越来越多 AI 原生应用内部已经没有复杂业务逻辑代码。核心系统往往由模型、工具和上下文组成,其余部分交由智能体自主完成。
软件系统正在从流程驱动逐渐转向目标驱动。
这是一种完全不同的开发模式。
Prompt 很可能成为未来的软件描述语言
很多人认为 Prompt 只是一个过渡阶段,随着模型能力增强,Prompt Engineering 最终会消失。
历史经验并不支持这种观点。
高级语言出现以后,汇编语言没有消失。数据库诞生以后,文件系统依然存在。云计算普及以后,操作系统的重要性并没有下降。每一次新的抽象层出现,都不是替代底层,而是在更高层屏蔽复杂性。
Prompt 也是如此。
模型能力越强,对上下文组织能力的要求反而越高。复杂系统需要定义角色、约束、知识边界、安全策略、工具权限以及任务规划规则,这些都需要新的表达方式。
因此,Prompt 很可能逐渐演变成一种新的软件描述语言。
未来的软件开发,也许不再围绕代码展开,而是围绕系统意图展开。
开发者维护的核心内容可能包括需求规格、知识库、工具协议、行为规则和评测体系,而代码的生成和维护交由智能体自动完成。
代码的重要性不会消失,但它可能逐渐退居幕后。
真正重要的,将是如何准确表达系统希望完成什么。
Prompt 工程不会取代程序员,程序员的核心能力正在升级
互联网经常出现一种极端观点,认为 Prompt Engineer 将会取代程序员。
这种判断忽略了复杂系统的本质。
技术门槛从来不会凭空消失,它只会转移位置。
模型能力越强,对系统设计能力的要求越高;工具越丰富,对架构能力要求越高;Agent 越智能,对上下文组织能力要求越高。
优秀的 Prompt 从来不是一句神奇咒语。
它背后依赖的是领域知识、业务理解、软件架构、安全设计以及工程经验。
没有代码能力的人,很难构建复杂 Agent,因为智能体调用的数据库、API、消息队列、缓存系统、权限系统依然由代码构成。
未来的软件工程师需要同时理解模型、数据、系统和业务。
单纯写代码的人可能越来越少,而能够驾驭智能系统的人将变得更加重要。
程序员不会消失。
程序员正在进化。
真正发生变化的,是人与计算机之间的关系
如果从更长的历史角度观察,会发现整个计算机发展史都在围绕降低人与机器之间的交流成本展开。
机器语言时代,人类需要学习机器。
高级语言时代,机器开始部分适应人类。
图形界面时代,人与计算机的交互变得更加直观。
互联网时代,人们通过搜索引擎获取知识。
移动互联网时代,触摸成为新的交互方式。
而大模型时代,人类第一次能够直接使用自然语言表达自己的意图。
过去几十年,人一直在学习如何适应计算机。
未来几十年,计算机将持续学习如何理解人。
这种变化看似简单,却可能改变软件开发的根基。
开发者的工作重心开始从实现逻辑转向表达意图,从控制执行转向管理智能,从编写程序转向构建能力系统。
代码仍然存在。
数据库仍然存在。
算法仍然存在。
但软件开发的中心正在悄悄移动。
一场比面向对象革命更深远的变化,也许已经开始
上世纪八十年代,很多程序员无法理解面向对象为什么能够改变软件行业。二十年前,不少开发者也曾质疑云计算和虚拟化技术的价值。后来,容器和 Kubernetes 出现时,同样有大量声音认为它们只是运维工具。
历史告诉我们,真正改变行业的技术,往往不会在诞生之初被所有人理解。
今天围绕 Prompt、Agent、AI Coding 和自主智能体的争论,也许正在重演类似的历史。
很多人仍然把注意力放在 AI 是否会替代程序员上。
但更值得思考的问题在于,未来的软件究竟应该如何构建。
当代码不再是唯一表达方式,当自然语言开始成为新的接口,当 Agent 成为新的执行单元,当系统拥有推理能力和长期规划能力,软件工程本身的定义也可能被重新书写。
多年以后回头再看,人们记住的或许并不是某个模型超过了谁,也不是代码生成能力提高了多少。
真正值得被写入软件发展史的,也许是 2025 年之后,人类第一次开始从编写程序走向管理智能。
从写代码到写 Prompt,看起来只是输入框里的几行文字发生了变化。
但它背后所代表的,很可能是一场自高级语言诞生以来最深刻的软件开发范式革命。

夜雨聆风