会用ChatGPT≠工程师,谷歌资深员工发文,揭秘AI编程不为人知的真相

OpenCV学堂 2025-01-24 23:11



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

来源:公众号 新智元 授权

【导读】苏格拉底曾提到的门诺悖论(Meno's paradox)认为,人只能学会自己已经知道的事情;而关于AI辅助编程,谷歌资深工程师最近的一篇博客告诉我们,类似的知识悖论同样存在。

尽管程序员们纷纷反馈用上AI辅助之后,工作效率提升,但我们用到的软件中bug依旧不少。

针对这一现象,前谷歌产品经理Peter Szalontay,以及现任的谷歌Chrome的工程团队领导Addy Osmani都给出了自己的分析,并提供了一些如何使用AI辅助编程的建议。

AI编码工具的黑暗真相

1月7日,前谷歌产品经理Peter Szalontay发推,并配上了一个令人惊心动魄的标题:「无人谈论的AI编码工具的黑暗真相」。

「在华丽的demo和病毒式推文的背后,隐藏着半途而废的项目和破碎的承诺。」

Peter Szalontay表示,作为Lazy AI的首席执行官,他在18个月的时间的时间中目睹了超过10万名开发人员的苦苦挣扎,因此要为所有构建AI项目的开发者提供几条建议。

Peter Szalontay本科毕业于加州大学洛杉矶分校,修读了数学/经济学和软件工程专业,2016年-2019年期间曾担任谷歌产品经理,领导着一支由1000多名员工组成的团队,并推出了响应式搜索广告(Responsive Search Ad)。

2023年3月,Szalontay成立初创公司Lazy AI并担任CEO,旨在帮助用户通过无代码或低代码的方式构建全栈Web应用程序。

1/ 智能体编码≠万金油

「50%的AI编写的代码都毫无价值」。如果你试过Bolt、v0、Replit等工具来构建登录页面以外的东西,一定对这句话深有感触。

因为每次代码更改时,都有可能因prompt引入一些bug或不需要的行为。如果LLM每次对代码进行5项更改,那么代码完成时,可能会出现许多个你自己都不知道怎么会触发的bug。

Lazy AI采取的方式是按照工程师的方式进行构建:发送prompt、测试更改,然后发送另一个prompt。这是获得有效成果的唯一途径。

2/ 「通用编码器」是一个谎言

如果一家公司站出来说他们已经开发了一款产品,可以让你只用prompt在任何框架中构建任何应用程序......冷静点,这种说法很可疑。

Lazy AI首次尝试同时支持Python和JavaScript编码时,让AI在JS文件中编写Python,结果它混淆了依赖关系,甚至弄混了两种语言的注释语法。

最终确实有方法让AI在两种语言中都能可靠地工作——但只有为编程语言构建特定的修复程序,并验证模型的每个响应之后才能做到。

3/ 不要把授权交给LLM

你可以在任何AI编码工具中尝试这个简单的提示:「构建一个谷歌登录页面,并跳转到显示我的详细信息的个人资料页面。」

之后你就会看到层出不穷、千奇百怪的错误和bug:被破坏的OAuth流程,重定向URI错误,以及在Google Cloud Console中无休止地打转以获取API密钥。

4/ LLM无法访问数据库

几乎每个想法的实现都需要一个数据库,但构建项目时,又总是需要更改数据库。如果AI编码工具按提示收费,那么准备好迎接下面这些不断重复的场景:

你更改了数据库,AI Agent混乱了......

你修改了了代码,数据库混乱了......

你需要迁移,结果AI编写了有缺陷的迁移代码......

5/ 现在付款,但永远没法成功

下面这些AI常见的智障错误,不知道你是否眼熟:

- 要求AI构建新功能时,AI却删除了一部分之前的内容

- AI复制了你的部分代码 

- 你明确指示执行X操作,AI却正在执行Y 

- AI因为无法修复自己创建的bug而卡住

当你现在为AI编码工具付费时,期待模型在未来「变得更好」是不够的,一个放错位置的括号可能会破坏整个页面。在一个没有从头开始准备的平台上构建现实世界中的应用程序,就是在浪费钱。

以上这些推文的内容或许过于简明扼要,而且倾向性过强。如果要想更全面、更深入地探究AI辅助编码的利弊,以及最佳的使用方法,谷歌Chrome工程团队领导Addy Osmani的这篇博客则更加有用。

原文链接:https://addyo.substack.com/p/the-70-problem-hard-truths-about

AI辅助编程——菜鸟和老手的差距

对AI辅助编程工具的使用,存在两种模式,第一种可以称为「自举模式」(bootstrapper),也就是使用诸如Bolt之类的工具,根据截图产生代码,使得程序员能够在AI协助下完成初始代码库,从而在数小时或数天而非数周的时间,生成最小可用原型。

相比于从零开始,程序员更熟悉的方式是如下描述的「迭代模式」,即使用Cursor、Copilot等工具进行日常开发工作流程。

例如,使用人工智能进行代码补全、进行复杂重构任务、生成测试和文档,或是将AI智能体当作「小助手」,咨询编程中遇到的问题,并寻求代码改进建议。

在迭代模式下,新手和老油条看似都能在几分钟之内使用AI工具完成代码搭建,但细看下来,资深程序员对AI的使用更加智慧。

他们不仅仅是接受AI的建议,而是试图让AI重构代码,生成更小、更专业化的模块。资深程序员还会增加AI遗漏的意外情况的处理模块,同时对AI给出的建议保持质疑。

相反,新手则会盲从AI的建议,这样生成的代码会如同海边的沙堡,看似坚固,但一遇到现实中的意外案例,就会崩溃。

这是由于,「菜鸟」会接受AI给出的错误或过时的代码,忽略关键的安全性和性能考虑,也没有对AI生成的代码进行调试,从而构建出一个他们不完全理解的脆弱系统。

以上的差异可以说明,AI工具对经验丰富的开发者帮助大于初学者。这似乎有些反直觉——AI不应该使编程变得更加人人可及吗?

知识悖论——只有知道怎么用才能用好

事实上,当前的AI,就像是在团队中有一个工作积极性爆棚的初级开发者。他们可以快速编写代码,但需要不断的监督和纠正。你知道的越多,就能更好地引导他们。

不止是在程序员群体之中,非工程师使用AI进行编码时,也会遇到类似的问题,即发现自己遇到了令人沮丧的瓶颈。AI工具能出人意料地迅速完成70%的任务,但在最后、最难完成、最令人沮丧的30%上,却只会收益递减。

可以举一个小例子来理解这个现象。比如,你试图让AI修复程序中的一个小bug,智能体给出一个看似合理的建议,但这个补丁破坏了其他部分。

接着,用户会继续要求AI修复新出现的问题,这又产生了更多的bug,从而使得局面变得更糟。这意味着最后的30%——使软件准备进入生产、可维护和健壮的部分——仍然需要真正的工程知识。

人工智能并没有使我们的软件显著改进,因为软件质量可能从未主要受限于编码速度。软件开发中的难点——理解需求、设计可维护的系统、处理意外情况、确保安全和性能——仍然需要人类的判断。

AI所做的,是让我们能够更快地进行迭代和实验,通过更快的探索,可能带来更好的解决方案。但前提是程序员必须保持工程规范,将AI作为工具,而不是替代良好软件实践的替代品。

记住:目标不是更快地编写更多代码。而是构建更好的软件。如果使用得当,人工智能可以帮助我们做到这一点。但最终,我们仍需知道「更好」的含义以及如何实现它。

当下对AI辅助编程滥用的背后,还有一个更深层次的问题:AI工具让编码变得人人可行的实质,是代替你处理了程序的复杂性。从另一个角度来看,这实际上可能会阻碍新手的学习与成长。

AI只是把代码放在你面前,并不能让你理解其背后的原理时。由于新手缺少调试经验,而这会反过来导致了一种对AI工具的依赖。他们需要不断回到AI那里去修复问题,而不是培养自己处理这些问题的专业知识。

如何使用AI编程——几条建议

有鉴于AI辅助编程中的「知识悖论」,当前的人工智能工具最好被用于快速验证想法,并用来生成最小可用的原型,或者作为有助于编程学习的辅助工具。

对于如何用好这些工具,作者给出了如下建议:

1. 从原型做起,使用AI进行快速原型设计

2. 使用人工智能处理孤立、定义明确的任务,逐步构建更大的功能

3. 花时间理解生成的代码是如何工作的,并审核每一行代码

4. 保持「模块化」,将代码分拆为功能单一的模块和小文件,保持组件之间的清晰接口,记录模块的边界

5. 在应用AI辅助编程的同时,学习基本编程概念,逐步建立知识基础

6. 将人工智能作为学习工具,加速学习,而不仅仅是代码生成器

7. 最重要的是,相信自己的判断力,利用人工智能加速,而非取代判断力


但以上这些都需要耐心和努力——这与许多人最初希望通过AI工具实现的目标正好相反。

具体来说,在编程时,有益的AI工具使用可分为三种模式:

一是「AI初稿」模式:即让AI生成一个基础版代码库,之后程序员手动审查和重构以提高模块化程度,并增加全面错误处理、撰写详尽的测试,同时记录关键决策。

第二种是是恒定对话模式,即为每个不同的任务启动新的AI聊天,在对话时保持语境集中且简洁,程序员经常审查代码并提交更改,在此过程中保持紧密的反馈回路。

第三种被称为「信任但核实」模式,程序员使用AI进行初始代码生成,对所有关键路径进行手动审查,同时对可能的异常案例进行自动化测试,并定期进行安全审核。

展望未来——AI对程序员意味着什么

尽管存在由于知识悖论带来的挑战,对人工智能在软件开发中的作用,我们应持乐观态度。这其中的关键在于,理解AI真正擅长的是什么:

人工智能擅长帮助实施我们已理解的模式。它就像有一个无限耐心的、打字速度极快的程序员搭子,非常适合快速原型设计和探索不同的方法;也像一个沙盒,可以用于快速测试概念。

此外,AI还显著缩短了处理模板和常规编码任务所需的时间,并能自动处理日常事务,使程序员能够专注于有趣的问题。

人工智能辅助开发的格局在2025年将发生巨大变化。尽管当前的工具已经改变了原型设计和迭代方式,但我们正站在一个更加重大变革的边缘:即AI智能体软件工程的兴起。

未来的辅助编程系统,不仅仅是响应提示,它们还能规划、执行并不断迭代解决方案。

当前工具大多等待程序员的指令,但看看像Anthropic在Claude中实现的计算机使用,或Cline自动启动浏览器和运行测试的新功能。这些不仅仅是美化版的自动补全——它们实际上是在理解任务并主动解决问题。

而自主编程AI不仅仅是提出修复方案,它还可以主动识别潜在问题,启动并运行测试套件,检查UI元素并捕获屏幕截图,提出并实施修复方案以及验证解决方案是否有效。

下一代辅助工具可能不仅限于与代码协同工作——它们可能实现无缝集成:视觉理解(UI截图、原型、图表)与语言交互(浏览器、终端、API)。

这种多模态能力意味着,AI工具可以像人类一样理解和处理软件——全面地,而不仅仅是代码层面。

从使用这些工具的工作中,我们应意识到:未来并非关于 AI 取代开发者——而是 AI 成为一个越来越有能力的合作伙伴,它可以在尊重人类指导和专业知识的同时采取主动。

这种对开发工具交互方式的根本转变,意味着在自然语言中清晰思考和精确沟通的能力正变得与传统编码技能一样重要。

具体来说,2025 年最有效的团队需要学会如下四点:

1. 明确为他们的 AI 智能体设定边界和指南

2. 建立强大的架构模式,使智能体能够在其中工作

3. 构建人类与AI能力之间的有效反馈循环

4. 保持人工监督的同时利用AI的自主性

这些都要求程序员提升技能,具备更强的系统设计和架构思维,更优的需求规范和沟通,更多关注质量保证和验证,并提升人机协作能力。

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

OpenCV4系统化学习


推荐阅读

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

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

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

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

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

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

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


OpenCV学堂 专注计算机视觉开发技术分享,技术框架使用,包括OpenCV,Tensorflow,Pytorch教程与案例,相关算法详解,最新CV方向论文,硬核代码干货与代码案例详解!作者在CV工程化方面深度耕耘15年,感谢您的关注!
评论 (0)
  • UNISOC Miracle Gaming奇迹手游引擎亮点:• 高帧稳帧:支持《王者荣耀》等主流手游90帧高画质模式,连续丢帧率最高降低85%;• 丝滑操控:游戏冷启动速度提升50%,《和平精英》开镜开枪操作延迟降低80%;• 极速网络:专属游戏网络引擎,使《王者荣耀》平均延迟降低80%;• 智感语音:与腾讯GVoice联合,弱网环境仍能保持清晰通话;• 超高画质:游戏画质增强、超级HDR画质、游戏超分技术,优化游戏视效。全球手游市场规模日益壮大,游戏玩家对极致体验的追求愈发苛刻。紫光展锐全新U
    紫光展锐 2025-05-07 17:07 208浏览
  • Matter协议是一个由Amazon Alexa、Apple HomeKit、Google Home和Samsung SmartThings等全球科技巨头与CSA联盟共同制定的开放性标准,它就像一份“共生契约”,能让原本相互独立的家居生态在应用层上握手共存,同时它并非另起炉灶,而是以IP(互联网协议)为基础框架,将不同通信协议下的家居设备统一到同一套“语义规则”之下。作为应用层上的互通标准,Matter协议正在重新定义智能家居行业的运行逻辑,它不仅能向下屏蔽家居设备制造商的生态和系统,让设备、平
    华普微HOPERF 2025-05-08 11:40 107浏览
  • 2024年初,OpenAI公布的Sora AI视频生成模型,震撼了国产大模型行业。随后国产厂商集体发力视频大模型,快手发布视频生成大模型可灵,字节跳动发布豆包视频生成模型,正式打响了国内AI视频生成领域第一枪。众多企业匆忙入局,只为在这片新兴市场中抢占先机,却往往忽视了技术成熟度与应用规范的打磨。以社交平台上泛滥的 AI 伪造视频为例,全红婵家人被恶意仿冒博流量卖货,明星们也纷纷中招,刘晓庆、张馨予等均曾反馈有人在视频号上通过AI生成视频假冒她。这些伪造视频不仅严重侵犯他人权
    用户1742991715177 2025-05-05 23:08 92浏览
  • 多功能电锅长什么样子,主视图如下图所示。侧视图如下图所示。型号JZ-18A,额定功率600W,额定电压220V,产自潮州市潮安区彩塘镇精致电子配件厂,铭牌如下图所示。有两颗螺丝固定底盖,找到合适的工具,拆开底盖如下图所示。可见和大部分市场的加热锅一样的工作原理,手绘原理图,根据原理图进一步理解和分析。F1为保险,250V/10A,185℃,CPGXLD 250V10A TF185℃ RY 是一款温度保险丝,额定电压是250V,额定电流是10A,动作温度是185℃。CPGXLD是温度保险丝电器元件
    liweicheng 2025-05-05 18:36 284浏览
  • 5小时自学修好BIOS卡住问题  更换硬盘故障现象:f2、f12均失效,只有ESC和开关机键可用。错误页面:经过AI的故障截图询问,确定是机体内灰尘太多,和硬盘损坏造成,开机卡在BIOS。经过亲手拆螺丝和壳体、排线,跟换了新的2.5寸硬盘,故障排除。理论依据:以下是针对“5小时自学修好BIOS卡住问题+更换硬盘”的综合性解决方案,结合硬件操作和BIOS设置调整,分步骤说明:一、判断BIOS卡住的原因1. 初步排查     拔掉多余硬件:断开所有外接设备(如
    丙丁先生 2025-05-04 09:14 119浏览
  • ‌一、高斯计的正确选择‌1、‌明确测量需求‌‌磁场类型‌:区分直流或交流磁场,选择对应仪器(如交流高斯计需支持交变磁场测量)。‌量程范围‌:根据被测磁场强度选择覆盖范围,例如地球磁场(0.3–0.5 G)或工业磁体(数百至数千高斯)。‌精度与分辨率‌:高精度场景(如科研)需选择误差低于1%的仪器,分辨率需匹配微小磁场变化检测需求。2、‌仪器类型选择‌‌手持式‌:便携性强,适合现场快速检测;‌台式‌:精度更高,适用于实验室或工业环境。‌探头类型‌:‌横向/轴向探头‌:根据磁场方向选择,轴向探头适合
    锦正茂科技 2025-05-06 11:36 401浏览
  • 文/郭楚妤编辑/cc孙聪颖‍相较于一众措辞谨慎、毫无掌舵者个人风格的上市公司财报,利亚德的财报显得尤为另类。利亚德光电集团成立于1995年,是一家以LED显示、液晶显示产品设计、生产、销售及服务为主业的高新技术企业。自2016年年报起,无论业绩优劣,董事长李军每年都会在财报末尾附上一首七言打油诗,抒发其对公司当年业绩的感悟。从“三年翻番顺大势”“智能显示我第一”“披荆斩棘幸从容”等词句中,不难窥见李军的雄心壮志。2012年,利亚德(300296.SZ)在深交所创业板上市。成立以来,该公司在细分领
    华尔街科技眼 2025-05-07 19:25 192浏览
  • 这款无线入耳式蓝牙耳机是长这个样子的,如下图。侧面特写,如下图。充电接口来个特写,用的是卡座卡在PCB板子上的,上下夹紧PCB的正负极,如下图。撬开耳机喇叭盖子,如下图。精致的喇叭(HY),如下图。喇叭是由电学产生声学的,具体结构如下图。电池包(AFS 451012  21 12),用黄色耐高温胶带进行包裹(安规需求),加强隔离绝缘的,如下图。451012是电池包的型号,聚合物锂电池+3.7V 35mAh,详细如下图。电路板是怎么拿出来的呢,剪断喇叭和电池包的连接线,底部抽出PCB板子
    liweicheng 2025-05-06 22:58 379浏览
  • 后摄像头是长这个样子,如下图。5孔(D-,D+,5V,12V,GND),说的是连接线的个数,如下图。4LED,+12V驱动4颗LED灯珠,给摄像头补光用的,如下图。打开后盖,发现里面有透明白胶(防水)和白色硬胶(固定),用合适的工具,清理其中的胶状物。BOT层,AN3860,Panasonic Semiconductor (松下电器)制造的,Cylinder Motor Driver IC for Video Camera,如下图。TOP层,感光芯片和广角聚焦镜头组合,如下图。感光芯片,看着是玻
    liweicheng 2025-05-07 23:55 122浏览
  • 某国产固态电解的2次和3次谐波失真相当好,值得一试。(仅供参考)现在国产固态电解的性能跟上来了,值得一试。当然不是随便搞低端的那种。电容器对音质的影响_电子基础-面包板社区  https://mbb.eet-china.com/forum/topic/150182_1_1.html (右键复制链接打开)电容器对音质的影响相当大。电容器在音频系统中的角色不可忽视,它们能够调整系统增益、提供合适的偏置、抑制电源噪声并隔离直流成分。然而,在便携式设备中,由于空间、成本的限
    bruce小肥羊 2025-05-04 18:14 246浏览
  • 二位半 5线数码管的驱动方法这个2位半的7段数码管只用5个管脚驱动。如果用常规的7段+共阳/阴则需要用10个管脚。如果把每个段看成独立的灯。5个管脚来点亮,任选其中一个作为COM端时,另外4条线可以单独各控制一个灯。所以实际上最多能驱动5*4 = 20个段。但是这里会有一个小问题。如果想点亮B1,可以让第3条线(P3)置高,P4 置低,其它阳极连P3的灯对应阴极P2 P1都应置高,此时会发现C1也会点亮。实际操作时,可以把COM端线P3设置为PP输出,其它线为OD输出。就可以单独控制了。实际的驱
    southcreek 2025-05-07 15:06 250浏览
  • 想不到短短几年时间,华为就从“技术封锁”的持久战中突围,成功将“被卡脖子”困境扭转为科技主权的主动争夺战。众所周知,前几年技术霸权国家突然对华为发难,导致芯片供应链被强行掐断,海外市场阵地接连失守,恶意舆论如汹涌潮水,让其瞬间陷入了前所未有的困境。而最近财报显示,华为已经渡过危险期,甚至开始反击。2024年财报数据显示,华为实现全球销售收入8621亿元人民币,净利润626亿元人民币;经营活动现金流为884.17亿元,同比增长26.7%。对比来看,2024年营收同比增长22.42%,2023年为7
    用户1742991715177 2025-05-02 18:40 214浏览
  • 随着智能驾驶时代到来,汽车正转变为移动计算平台。车载AI技术对存储器提出新挑战:既要高性能,又需低功耗和车规级可靠性。贞光科技代理的紫光国芯车规级LPDDR4存储器,以其卓越性能成为国产芯片产业链中的关键一环,为智能汽车提供坚实的"记忆力"支持。作为官方授权代理商,贞光科技通过专业技术团队和完善供应链,让这款国产存储器更好地服务国内汽车厂商。本文将探讨车载AI算力需求现状及贞光科技如何通过紫光国芯LPDDR4产品满足市场需求。 车载AI算力需求激增的背景与挑战智能驾驶推动算力需求爆发式
    贞光科技 2025-05-07 16:54 154浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦