2024年AI编程有多强?谷歌工程主管揭秘残酷真相

OpenCV学堂 2025-01-02 22:47



点击上方↑↑↑OpenCV学堂”关注我

来源:公众号 新智元 授权

【导读】2024年的AI编程到底什么实力?近日,谷歌的工程主管Addy Osmani,为我们揭示了AI辅助编码在一线开发中的真实情况。

2024年,AI编程已然渗透了各行各业,影响着软件的整个生命周期。

那么问题来了,AI coding用过都说好,但我们平时用的软件咋感觉没啥进步呢?

近日,Addy Osmani,谷歌的工程主管,同时也是一位亚马逊畅销书作家,为我们揭示了AI辅助编码在一线开发中的真实情况。

码农怎么用AI?

一般来说,团队利用AI进行开发有两种不同的模式:「引导程序(bootstrappers)」 和 「迭代器(iterators)」。两者都在帮助工程师(甚至是非技术用户)缩小从想法到执行的差距。

Bootstrappers

这一类包括Bolt, v0, 和screenshot-to-code等AI工具,其特点为:

从设计或粗略概念开始;

使用AI生成完整的初始代码库;

能够在几小时或几天内获得工作原型;

专注于快速验证和迭代

这样的工作流令人印象深刻。比如一位独立开发人员可以使用Bolt,在短时间内将Figma设计转变为有效的Web应用程序。尽管达不到生产级别的要求,但用来获得初步的用户反馈绰绰有余。

Iterators

这一类主要负责日常开发工作流程,包括Cursor、Cline、Copilot和WindSurf等工具,效果没有上面那么浮夸,但更加实在,比如:

完成代码、提供建议;

执行复杂的重构任务;

生成测试和文档;

作为解决问题的「结对程序员」

虽然这两种方法都可以大大加快开发速度,但「天下没有免费的午餐」。

「AI速度」的隐性成本

高级工程师使用Cursor或Copilot等AI工具,可以在几分钟内搭建整个功能的基架,并完成测试和文档,就像变魔术一样。

但仔细观察就会发现,在参考AI建议的同时,资深工程师们还会:

将生成的代码重构为更小的模块;

添加边缘情况处理;

优化类型定义和接口;

添加全面的错误处理;

甚至是质疑AI给出的架构

换句话说,他们正在用多年积累的工程智慧,塑造和限制AI的输出。AI负责加速代码实现,但人类的专业知识确保代码的可维护性。

而初级工程师就经常错过这些关键步骤。他们更容易接受AI的输出,从而导致所谓的「纸牌屋代码(house of cards code)」——看起来很完整,但在现实世界的压力下会崩溃。

知识悖论

所以实际上,相比于初学者,AI反而更能帮助有经验的开发人员,——这多少有点反直觉。

高级工程师利用AI快速构建想法的原型(理解)、生成基本实现(可改进)、探索已知问题的替代方法等等;

而初学者却经常接受不正确或过时的解决方案、忽略关键的安全性和性能问题、不知道如何调试AI生成的代码,最终构建了一个自己不完全理解的脆弱系统。

70% problem

使用AI进行编码的非工程师,经常遇到一个窘境:他们可以出人意料地迅速完成70%的工作,但最后的30%就相当痛苦了。

「70% problem」揭示了AI辅助开发的现状,刚开始如有神助,后来被现实按在地上摩擦。

实际情况通常是:

尝试修复一个小错误——>

AI提出了一个似乎合理的更改——>

这个更改破坏了其他一些东西——>

要求AI修复新问题——>

又产生了两个新bug——>

无限循环

这个循环对于非工程师来说尤其痛苦,因为他们缺乏专业知识来理解真正出了什么问题。

有经验的开发人员遇到bug时,可以根据多年的模式识别来推理潜在原因和解决方案。如果没有这个背景,那基本上就是在用自己不完全理解的代码「打地鼠」。

学习悖论

还有一个更深层次的问题:让非工程师使用AI编码工具,实际上可能会阻碍学习。

代码生成了、运行了,但「开发者」不了解基本原理,此时,他错过了学习基本模式、没有培养调试技能、无法对架构决策进行推理,而这份代码又需要维护和扩展。

于是,「开发者」不断返回AI来解决问题,而没有培养自己处理问题的专业能力。

非工程师使用AI编码工具的最好方式可能是「混合模式」:

1. 使用AI进行快速原型设计

2. 花点时间了解生成的代码是如何工作的

3. 学习基本的编程概念以及AI使用

4. 逐步建立知识基础

5. 将AI用作学习工具,而不仅仅是代码生成器

但这需要耐心和奉献精神,与许多人使用AI工具的目标恰恰相反。

「70% problem」表明,当前的AI还不是许多人希望的那个AI。最后30%的工作(使软件可用于生产、可维护等),仍然需要真正的工程知识。

最佳实践

Addy Osmani观察了几十个团队,总结了一些最佳实践方式:

「AI初稿」模式

让 AI 生成基本实现;手动审查和模块化重构;添加全面的错误处理;编写全面的测试;记录关键决策。

「持续对话」模式

为每个不同的任务开始新的AI聊天;保持上下文集中和最小;经常查看和提交更改;保持紧密的反馈循环。

「信任但验证」模式

使用AI生成初始代码;手动审查所有关键路径;边缘案例的自动测试;定期安全审计。

AI的真正前景?

尽管存在这些挑战,但作者对AI在软件开发中的作用持乐观态度。关键是要充分利用AI的真正优势:

加速已知AI擅长帮助实现我们已经了解的模式,就像有一个无限耐心的结对程序员,他可以非常快速地打字。

探索可能性AI非常适合快速构建想法原型和探索不同的方法,就像一个沙箱,我们可以在其中快速测试概念。

自动化例程AI大大减少了花在样板和日常编码任务上的时间,让我们可以专注于有趣的问题。

如果您刚刚开始AI辅助开发,作者的建议是,先从小处着手。

将AI用于非耦合的、定义明确的任务,查看生成的每一行代码,逐渐构建更大的功能。

过程中保持模块化:将所有内容分解为小的重点文件,在组件之间保持清晰的接口,记录模块的边界。

重要的一点是,相信自己的经验:AI用来加速而不能取代你的判断、感觉不对劲时要质疑、时刻维护自己的工程标准。

Agent兴起

随着我们进入2025年,AI辅助开发的格局正在发生巨大变化。虽然当前的工具已经改变了原型设计和迭代方式,但我们正处于更重要转型的风口浪尖:智能体(Agent)软件工程的兴起。

智能体系统不仅可以响应提示,还将以越来越高的自主性规划、执行和迭代解决方案。

比如Anthropic的Claude能够使用计算机,或者Cline自动启动浏览器和运行测试的能力。

在调试过程中,智能体系统不仅给出修复bug的建议,还可以:

主动识别潜在问题、启动和运行测试套件、检查UI元素并捕获屏幕截图、提出并实施修复、验证解决方案是否有效。

下一代工具将可以无缝集成视觉理解(UI 屏幕截图、模型、图表)、口头语言对话和环境交互(浏览器、终端、API)。

未来的AI不是取代开发人员,而是成为一个越来越有能力的协作者,既可以采取主动,又能尊重人类的指导和专业知识。

参考资料:
https://addyo.substack.com/p/the-70-problem-hard-truths-about

OpenCV4系统化学习


深度学习系统化学习

推荐阅读

OpenCV4.8+YOLOv8对象检测C++推理演示

ZXING+OpenCV打造开源条码检测应用

攻略 | 学习深度学习只需要三个月的好方法

三行代码实现 TensorRT8.6 C++ 深度学习模型部署

实战 | YOLOv8+OpenCV 实现DM码定位检测与解析

对象检测边界框损失 – 从IOU到ProbIOU

初学者必看 | 学习深度学习的五个误区


OpenCV学堂 专注计算机视觉开发技术分享,技术框架使用,包括OpenCV,Tensorflow,Pytorch教程与案例,相关算法详解,最新CV方向论文,硬核代码干货与代码案例详解!作者在CV工程化方面深度耕耘15年,感谢您的关注!
评论
  • 影像质量应用于多个不同领域,无论是在娱乐、医疗或工业应用中,高质量的影像都是决策的关键基础。清晰的影像不仅能提升观看体验,还能保证关键细节的准确传达,例如:在医学影像中,它对诊断结果有着直接的影响!不仅如此,影像质量还影响了:▶ 压缩技术▶ 存储需求▶ 传输效率随着技术进步,影像质量的标准不断提高,对于研究与开发领域,理解并提升影像质量已成为不可忽视的重要课题。在图像处理的过程中,硬件与软件除了各自扮演着不可或缺的基础角色,有效地协作能够确保图像处理过程既高效又具有优异的质量。软硬件各扮演了什么
    百佳泰测试实验室 2025-01-03 10:39 82浏览
  • 前言近年来,随着汽车工业的快速发展,尤其是新能源汽车与智能汽车领域的崛起,汽车安全标准和认证要求日益严格,应用范围愈加广泛。ISO 26262和ISO 21448作为两个重要的汽车安全标准,它们在“系统安全”中扮演的角色各自不同,但又有一定交集。在智能网联汽车的高级辅助驾驶系统(ADAS)应用中,理解这两个标准的区别及其相互关系,对于保障车辆的安全性至关重要。ISO 26262:汽车功能安全的基石如图2.1所示,ISO 26262对“功能安全”的定义解释为:不存在由于电子/电气系统失效引起的危害
    广电计量 2025-01-02 17:18 190浏览
  • 【工程师故事】+半年的经历依然忧伤,带着焦虑和绝望  对于一个企业来说,赚钱才是第一位的,对于一个人来说,赚钱也是第一位的。因为企业要活下去,因为个人也要活下去。企业打不了倒闭。个人还是要吃饭的。企业倒闭了,打不了从头再来。个人失业了,面对的不仅是房贷车贷和教育,还有找工作的焦虑。企业说,一个公司倒闭了,说明不了什么,这是正常的一个现象。个人说,一个中年男人失业了,面对的压力太大了,焦虑会摧毁你的一切。企业说,是个公司倒闭了,也不是什么大的问题,只不过是这些公司经营有问题吧。
    curton 2025-01-02 23:08 217浏览
  • 本文继续介绍Linux系统查看硬件配置及常用调试命令,方便开发者快速了解开发板硬件信息及进行相关调试。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。查看系统版本信息查看操作系统版本信息root@ido:/# cat /etc/*releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=20.04DISTRIB_CODENAME=focalDIS
    Industio_触觉智能 2025-01-03 11:37 94浏览
  • 车身域是指负责管理和控制汽车车身相关功能的一个功能域,在汽车域控系统中起着至关重要的作用。它涵盖了车门、车窗、车灯、雨刮器等各种与车身相关的功能模块。与汽车电子电气架构升级相一致,车身域发展亦可以划分为三个阶段,功能集成愈加丰富:第一阶段为分布式架构:对应BCM车身控制模块,包含灯光、雨刮、门窗等传统车身控制功能。第二阶段为域集中架构:对应BDC/CEM域控制器,在BCM基础上集成网关、PEPS等。第三阶段为SOA理念下的中央集中架构:VIU/ZCU区域控制器,在BDC/CEM基础上集成VCU、
    北汇信息 2025-01-03 16:01 129浏览
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 108浏览
  • 在快速发展的能源领域,发电厂是发电的支柱,效率和安全性至关重要。在这种背景下,国产数字隔离器已成为现代化和优化发电厂运营的重要组成部分。本文探讨了这些设备在提高性能方面的重要性,同时展示了中国在生产可靠且具有成本效益的数字隔离器方面的进步。什么是数字隔离器?数字隔离器充当屏障,在电气上将系统的不同部分隔离开来,同时允许无缝数据传输。在发电厂中,它们保护敏感的控制电路免受高压尖峰的影响,确保准确的信号处理,并在恶劣条件下保持系统完整性。中国国产数字隔离器经历了重大创新,在许多方面达到甚至超过了全球
    克里雅半导体科技 2025-01-03 16:10 79浏览
  • 国际标准IPC 标准:IPC-A-600:规定了印刷电路板制造过程中的质量要求和验收标准,涵盖材料、外观、尺寸、焊接、表面处理等方面。IPC-2221/2222:IPC-2221 提供了用于设计印刷电路板的一般原则和要求,IPC-2222 则针对高可靠性电子产品的设计提供了进一步的指导。IPC-6012:详细定义了刚性基板和柔性基板的要求,包括材料、工艺、尺寸、层次结构、特征等。IPC-4101:定义了印刷电路板的基板材料的物理和电气特性。IPC-7351:提供了元件封装的设计规范,包括封装尺寸
    Jeffreyzhang123 2025-01-02 16:50 174浏览
  • 物联网(IoT)的快速发展彻底改变了从智能家居到工业自动化等各个行业。由于物联网系统需要高效、可靠且紧凑的组件来处理众多传感器、执行器和通信设备,国产固态继电器(SSR)已成为满足中国这些需求的关键解决方案。本文探讨了国产SSR如何满足物联网应用的需求,重点介绍了它们的优势、技术能力以及在现实场景中的应用。了解物联网中的固态继电器固态继电器是一种电子开关设备,它使用半导体而不是机械触点来控制负载。与传统的机械继电器不同,固态继电器具有以下优势:快速切换:确保精确快速的响应,这对于实时物联网系统至
    克里雅半导体科技 2025-01-03 16:11 123浏览
  • 在测试XTS时会遇到修改产品属性、SElinux权限、等一些内容,修改源码再编译很费时。今天为大家介绍一个便捷的方法,让OpenHarmony通过挂载镜像来修改镜像内容!触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓派卡片电脑设计,支持开源鸿蒙OpenHarmony3.2-5.0系统,适合鸿蒙开发入门学习。挂载镜像首先,将要修改内容的镜像传入虚拟机当中,并创建一个要挂载镜像的文件夹,如下图:之后通过挂载命令将system.img镜像挂载到sys
    Industio_触觉智能 2025-01-03 11:39 84浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 123浏览
  • Matter加持:新世代串流装置如何改变智能家居体验?随着现在智能家庭快速成长,串流装置(Streaming Device,以下简称Streaming Device)除了提供更卓越的影音体验,越来越多厂商开始推出支持Matter标准的串流产品,使其能作为智能家庭中枢,连结多种智能家电。消费者可以透过Matter的功能执行多样化功能,例如:开关灯、控制窗帘、对讲机开门,以及操作所有支持Matter的智能家电。此外,再搭配语音遥控器与语音助理,打造出一个更加智能、便捷的居家生活。支持Matter协议
    百佳泰测试实验室 2025-01-03 10:29 102浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦