GoForum › 🌐 V2EX

软件工程不会消失

gitlight · 2026-10-23 14:23 · 0 次点赞 · 2 条回复

– AI 率 0% –

考虑一个软件系统是如何构建和迭代的,它可以被抽象为以下的一个 Loop:

需求建模 A->代码编写 A->需求反馈 A->需求建模 B->代码编写 B->需求反馈 B……

那么,我们如何定义一个完美的系统?给定系统 S ,用户需求的形式化描述为 R,对于所有针对系统的动作 A 的反馈,其不确定性都为 0(预期返回正确),这里可以用条件熵来表示:∑H(R|S(A_i)) = 0 。而需求反馈本身则扮演了优化函数的作用,它的作用本身是引导条件熵 ∑H 向 0 优化,优化的过程则是降低各个流程的不确定性。

编程语言的演化,本质上是不断提高抽象程度,把越来越多的实现细节从程序员转移给编译器,编程语言是一种对于信息的 encoder 。现代语言使程序员用更少的描述表达所需行为,并把更多实现选择交给系统,失去了对底层代码的控制,引入了更多的不确定性(信息熵)。如果要加强对底层的控制,则需要用更底层的语言和更长的描述长度降低不确定性。即便是 AI Coding 也无法违背信息论的规律。程序员对系统的描述越短,系统的不确定性就更高,无法通过建立一个万能的预测器无尽地压缩描述来无损地描述系统本身,其存在一个理论下界,也就是柯氏复杂度;

这一点在需求建模流程也广泛存在着,用户的需求往往是在多轮迭代、描述、交互中产生的,需求方依旧是人,那么需求拆解、编写是一个无法避免的过程。

回过头来表达我的观点:

1.把复杂需求的实现寄希望于许愿式编程是不现实的,消除需求的不确定性和编码的不确定性是一个永恒的问题

2.AI Coding 时代,程序员可能会消失,但软件工程不会因为代码生成变得廉价而消失,反而会更重要。

2 条回复
acx4040110 · 2026-10-23 14:28
#1

软件工程不会消失,只是换了一种形式存在 原先软工中成本最高的环节是编码,现在编码中的重复内容逐渐被 AI 替代 我们只用把控编码中最关键的设计部分,比如整体架构/技术选型/框架设计等等 所以工程师应该更多思考自己的核心价值除了编码,还体现在哪里 我认为是在技术之外的一些内容,比如对价值的判断,对产品的思考,对用户的思考等等

Need4more · 2026-10-23 14:33
#2

@acx4040110 那不又回到了人人都是产品经理的时代了吗哈哈,我觉得相反,以后人人都是老板,老板的技能才是最有价值的。程序员、产品经理都是提供单一技能的岗位,这部分工作都可以被 AI 取代掉。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: gitlight
发布: 2026-10-23
点赞: 0
回复: 0