当前位置: 首页 > news >正文

解决了“错误的问题”:对AI编程热潮的深度反思

  每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/


在AI辅助与AI主导编程逐渐普及的今天,越来越多的从业者沉醉于自动生成代码的惊艳表现。然而,对于经验丰富的软件工程师Uwe Friedrichsen而言,这场“革命”始终带着一种隐隐的不协调感——我们可能正在用一种极其强大的技术,去解决一个根本不是问题的问题。

以下是他对当前AI软件开发热潮的冷静拆解与深刻反思。


一、AI编程的两个版本:辅助者与主导者

Uwe将AI编程分为两个阶段:

  1. AI辅助编程:人类写代码,AI作为助手支持流程。

  2. AI主导编程:AI生成整个解决方案,人类仅在外围观测行为,这种方式被戏称为“vibe coding”。

尤其在第二种场景中,AI生成的代码表现令人惊艳——它能实现复杂逻辑、集成多种功能模块,甚至有“奇才”般的创造力。

但同时,它也像一个注意力极度分散的天才儿童,频繁走神、忘记目标、偏离约束,需人类不断提醒其回归正轨。

更令人困惑的是:AI有时能在整体表现优秀的代码中,突然插入一段完全不合逻辑的错误语句。

即便如此,Uwe承认,AI的技术潜力令人赞叹。但即便放下种种担忧、全力以赴接纳AI,依然存在那种难以言明的不安:我们,真的解决的是“对”的问题吗?


二、LLM的工作原理意味着什么?

LLM(大语言模型)并不是真正意义上的“智能体”:

  • 它基于概率进行响应:对输入进行模式匹配,生成最可能的下一个Token;

  • 它不能进行真正的创造,只能在训练中“见过的知识”范围内进行组合;

  • 所谓的“创新”往往是对既有知识的重新拼接。

这意味着:如果AI生成了可用的代码,那它“看过”类似代码的可能性极高。

Uwe通过一个Rust编程的案例进一步说明了这个问题:

  • 当AI被要求直接生成Rust代码时,它失败了;

  • 但当先生成Python代码再转换为Rust时,它成功了;

  • 原因在于训练数据中Python样本远多于Rust样本;

  • 本质:AI“生成力”的上限 = 它训练数据的质量与广度。


三、AI是在加速“重复造轮子”?

既然AI生成的代码很大概率是“它见过很多次”的代码,那么问题来了:

如果这些代码如此常见,为何它们不早已封装成库、框架,甚至平台服务?
为何AI仍需要一次又一次“重写”这些早已存在的解决方案?

我们是否沉迷于“重复制造轮子”,却忽视了应该抽象的方向?

Uwe的判断是:我们用AI加速生产的是重复性劳动的堆叠,而非对复杂问题的根本解决。


四、“AI让我做出一款iOS App!”——真的是生产力飞跃吗?

Uwe指出,许多对AI编程赞不绝口的“先锋”往往并非专业开发者:

  • 他们不具备语言或生态知识;

  • 他们做出的只是一个简单的玩具或原型;

  • AI只是填补了他们知识上的缺口,而非真的带来“效率革命”。

这种现象掩盖了一个核心问题:AI提升的是对“知识门槛”的穿透力,不是“工程能力”的跃迁。

而真正写生产级代码的开发者,几乎没人说“AI让我的速度提升了10倍”。

他们说的更多是:AI让工作更轻松了,能少做些无聊事。


五、AI生成的代码质量会更好吗?未必。

支持AI编程的一个普遍说法是:反正现在的代码质量也不高,AI生成的“也就那样”,还能更快,不好吗?

Uwe承认,大多数企业软件确实只达到“勉强能用”的水平。

但他指出:

AI的训练数据就是这些低质量代码!
AI从中学习,再反哺生成;这意味着我们在用AI重现我们想摆脱的“问题代码”。

本质问题不是人类开发者效率低,而是整个行业缺乏系统性、工程化、教育投入——AI并不能弥补这些。


六、真正的问题:缺乏教育与持续训练

Uwe揭示了开发行业被忽视的真相:

  • 许多软件开发者并没有接受过正式的计算机科学教育

  • 很多人是“转行”来的,靠培训班上岗,基础薄弱;

  • 公司普遍不重视持续培训,缺乏对“长期能力”的投资;

  • 即使有基础,IT变化太快,不更新技能就会被淘汰

我们创造了一个机制,它产出的是劣质代码;现在,我们又指望用AI更快地产出更多劣质代码。


七、“业务需要更多功能!”——真的吗?

Uwe指出一个被广泛忽视的问题:我们是否真的需要那么多功能?

他总结了企业中常见的恶性循环:

  1. 需求提出:业务说“我们需要更多功能”;

  2. 功能上线:但实际并未带来业务提升;

  3. 误判根因:领导层认为“功能不够多”,继续提出更多需求;

  4. 再开发、再失败,循环加剧。

这导致:

  • 大量无用功能堆积在代码库中;

  • 软件复杂度(尤其是意外复杂度)飞速增长;

  • 开发效率越来越低;

  • AI介入后,只是加速这个恶性循环罢了。


八、讽刺的是:AI要求我们重视的,正是我们一直忽视的

最后一击讽刺性极强:

为了让AI写出高质量代码,必须提供明确的需求和良好的架构设计。
而这正是过去几十年人类开发者不断请求却被拒绝的东西。

企业一边无视人类开发者对“设计时间”的需求,另一边却愿意为AI去写更好的文档。

这无疑反映出一种对技术的非理性崇拜,以及对人类工程能力的轻视


总结:我们正在用AI解决“错的问题”

Uwe总结了他的“nagging feeling”来自哪里:

  • LLM的能力本质上是组合训练数据的重构;

  • 大量AI粉丝其实只是缺乏知识而获得了一种“捷径”;

  • 经验开发者并未显著加速,AI带来的只是便利;

  • 系统性教育缺失才是“代码质量差”的根源;

  • 企业急功近利、低投入培训,反而指望AI治愈一切;

  • 功能膨胀、需求盲目,导致了软件系统的崩溃;

  • 我们几十年来都忽视了设计与文档,现在却为了AI去认真对待这些;

  • 而所谓的“AI解决方案”,根本不曾触及以上任何核心问题。


Uwe的结语:

“LLM 是令人惊叹的技术。但如果我们只是盲目地将它们应用于一切,我担心它最终只会巩固现有弊病,并放大软件开发中已有的问题。”

真正令人兴奋的不是“AI可以写代码”,而是如果我们先解决已有问题,再使用AI,那才是真正的飞跃。

我们不需要用AI制造更多废料,我们需要的是彻底重新思考问题本身。


AI本身并非错误,但把AI用在错误的问题上,是。

http://www.dtcms.com/a/516643.html

相关文章:

  • 【回眸】嵌入式软件面试题背诵版
  • FreeRTOS主要寄存器说明及面试题
  • 怎么写公司网站的文案做360手机网站
  • 涿州网站制作wordpress选中改变字体颜色
  • 企业如何进行海外营销?
  • 【sqlite】WAL初探
  • 制作网站的顺序是海南网上报名系统
  • 做网站都需要哪些知识珠海市住房和城乡建设局网站
  • MySQL分组查询GROUP BY
  • 数组——双指针:75.颜色分类
  • LLD文档核心:从模块设计到落地开发
  • 雄安做网站深圳出台科技支持政策
  • 网站域名能更该吗怎样用模板建网站
  • proc文件系统入门到精通教程
  • 点积、内积与哈达玛积详解
  • 杭州模板建站2022注册公司取名
  • 政务网站建设论文西地那非片吃了多久会硬起来
  • 金融杠杆全解析:从铁矿期货保证金计算到期权盈亏分析
  • 【工具变量】绿色金融改革创新试验区DID数据集(2000-2024年)
  • Prometheus:从概述到部署
  • 32.768khz音叉式圆柱型贴片晶振CMR200T
  • ROS2创建Python与C++功能包指南以及什么是节点(ros2第一章)
  • wordpress可以建网站吗电子商务网站建设 教案
  • vr中xr射线长度调整
  • 怎样做微信挂机平台网站建设公司的网站首页
  • 【Go】P11 掌握 Go 语言函数(二):进阶玩转高阶函数、闭包与 Defer/Panic/Recover
  • 无奈!我用go写了个MySQL服务
  • 重庆网站建设业务招聘网站推广方式主要通过
  • GaussDB 数据集成方案:ETL 工具如何简化企业上云过程
  • 如何解决 pip install 安装报错 externally-managed-environment(PEP 668)问题