原标题:2024年AI编程有多强?谷歌工程主管揭秘残酷
文章来源:新智元
内容字数:5158字
AI辅助编码的2024:机遇与挑战
谷歌工程主管Addy Osmani近日揭示了AI辅助编码在实际开发中的真实情况,指出AI已渗透软件开发的整个生命周期,但其应用并非一帆风顺。
AI编程的两种模式
团队主要采用两种模式利用AI:引导程序(Bootstrappers)和迭代器(Iterators)。引导程序类工具(如Bolt、v0)擅长从设计或概念生成完整的初始代码库,快速构建原型,适用于验证想法。迭代器类工具(如Cursor、Copilot)则用于日常开发,辅助代码编写、重构、测试和文档生成。
“AI速度”的隐性成本
AI能够显著加速开发,但高级工程师仍需对AI生成的代码进行重构、优化、添加错误处理等,确保代码质量和可维护性。而初级工程师容易忽略这些步骤,导致代码质量低下,形成所谓的“纸牌屋代码”。
知识悖论:经验者的优势
AI更能帮助经验丰富的开发者,他们能利用AI快速构建原型、探索解决方案,并有效地筛选和改进AI的输出。初学者则容易接受错误的解决方案,缺乏调试能力,最终构建出不理解的脆弱系统。
70%问题:AI的瓶颈
许多开发者,特别是经验不足的开发者,会遇到“70%问题”:AI能快速完成大部分工作,但最后的30%(确保软件可用于生产、可维护等)却异常困难,甚至陷入无限循环的bug修复中。这主要是因为缺乏专业知识来理解和解决复杂问题。
学习悖论:AI可能阻碍学习
非工程师使用AI编码工具可能阻碍学习。代码虽能生成,但开发者未理解其原理,无法培养调试技能和架构决策能力,最终过度依赖AI,阻碍自身专业能力的提升。
最佳实践建议
Osmani总结了三种最佳实践:“AI初稿”模式(AI生成代码,人工审查和重构);“持续对话”模式(为每个任务开启新的AI对话,保持上下文集中);“信任但验证”模式(AI生成代码,人工审查关键路径和边缘案例)。
AI的真正前景:协作而非取代
AI的优势在于加速已知模式的实现、探索可能性和自动化例程。未来,AI将作为更强大的协作者出现,智能体(Agent)系统的兴起将进一步提升AI的自主性和能力,实现更高级的代码生成、调试和测试。
建议:从小处着手,保持模块化
建议开发者从小处着手使用AI,将AI用于非耦合的、定义明确的任务,仔细审查代码,保持模块化,并始终相信自己的经验,将AI作为辅助工具,而非代码生成的唯一来源。
联系作者
文章来源:新智元
作者微信:
作者简介:智能+中国主平台,致力于推动中国从互联网+迈向智能+新纪元。重点关注人工智能、机器人等前沿领域发展,关注人机融合、人工智能和机器人对人类社会与文明进化的影响,领航中国新智能时代。