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

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
2024年AI编程有多强?谷歌工程主管揭秘残酷真相
6865点击    2024-12-31 15:31

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


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


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


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


码农怎么用AI?


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


Bootstrappers


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


从设计或粗略概念开始;


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


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


专注于快速验证和迭代


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


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


Iterators


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


完成代码、提供建议;


执行复杂的重构任务;


生成测试和文档;


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


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


「AI速度」的隐性成本


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


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


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


添加边缘情况处理;


优化类型定义和接口;


添加全面的错误处理;


甚至是质疑AI给出的架构


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


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


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


知识悖论


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


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


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


70% problem


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


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


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


实际情况通常是:


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


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


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


要求AI修复新问题——>


又产生了两个新bug——>


无限循环


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


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


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


学习悖论


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


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


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


2024年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大大减少了花在样板和日常编码任务上的时间,让我们可以专注于有趣的问题。


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


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


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


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


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


Agent兴起


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


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


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


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


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


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


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


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


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


参考资料:


https://addyo.substack.com/p/the-70-problem-hard-truths-about


文章来自微信公众号“新智元”


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

关键词: AI编程 , AI coding , AI , 人工智能
AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI代理

【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。

项目地址:https://github.com/browser-use/browser-use


2
AI工作流

【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。

项目地址:https://github.com/n8n-io/n8n

在线使用:https://n8n.io/(付费)


【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。

项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file



【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。

项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file

在线使用:https://vectorvein.ai/(付费)

3
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md