文章摘要
Carla Rover在重启一个由AI辅助编码的项目后痛哭30分钟。她是一位有15年经验的网页开发者,现与儿子共同创业,开发定制机器学习模型。她将AI编码比作“无尽的鸡尾酒餐巾”,但指出AI生成的代码在生产中可能难以预测,需要大量修正。她因追求速度而依赖AI工具,结果发现代码问题重重,最终不得不重启整个项目。她强调AI并非员工,程序员在使用AI时仍需充当“保姆”角色,进行重写和验证。
文章总结
Carla Rover是一位拥有15年经验的网页开发者,目前与儿子共同创办了一家为市场创建定制机器学习模型的初创公司。她曾因不得不重启一个由AI辅助编写的项目而哭泣了30分钟。她将AI辅助编程(vibe coding)比作一张可以不断涂鸦的鸡尾酒餐巾纸,但她也指出,处理AI生成的代码可能比照看孩子还要麻烦,因为这些AI模型可能会以难以预测的方式搞砸工作。
Rover在初创公司中为了追求速度而转向AI编程,但最终发现AI生成的代码存在大量问题,导致她和儿子不得不重启整个项目。她表示,AI辅助编程工具虽然能提高效率,但程序员们往往需要像“保姆”一样,重新编写和验证AI生成的代码。
Fastly公司最近的一项调查显示,近95%的开发者表示他们花费额外时间修复AI生成的代码,而这一负担主要落在资深开发者身上。AI生成的代码可能包含从虚构的包名到删除重要信息和安全风险等各种问题,如果不加以检查,可能会导致产品比人工编写的代码更加漏洞百出。
AI辅助编程的普及甚至催生了一个新的职位——“vibe code cleanup specialist”(AI代码清理专家)。尽管AI辅助编程在快速原型设计和简化重复性任务方面表现出色,但许多资深开发者认为,这项技术仍处于初级阶段,无法完全替代人工编程。
Feridoon Malekzadeh是一位拥有20多年经验的开发者,他正在使用AI辅助编程平台Lovable开发自己的初创项目。他表示,AI辅助编程更像是雇佣一个固执、叛逆的青少年来帮忙,而不是雇佣实习生或初级程序员。他估计自己花费50%的时间编写需求,10%到20%的时间进行AI辅助编程,30%到40%的时间修复AI生成的代码中的错误。
Rover和Malekzadeh都认为,AI辅助编程在系统思维方面表现不佳,往往只能解决表面问题,而无法从整体上优化代码结构。此外,AI模型在面对数据冲突时可能会提供误导性建议,甚至编造结果,而不是承认错误。
安全问题也是AI辅助编程的一大隐患。Fastly的高级开发者Austin Spires指出,AI生成的代码往往追求速度而非正确性,这可能导致代码中存在新手程序员常犯的漏洞。IT管理软件公司NinjaOne的首席技术官Mike Arrowsmith也表示,AI辅助编程绕过了传统编程中严格的审查流程,可能导致新一代的IT和安全盲点。
尽管AI辅助编程存在诸多问题,但几乎所有受访者都认为,这项技术在许多场景下仍然非常有用,尤其是在快速原型设计和简化重复性任务方面。Rover表示,AI辅助编程帮助她大幅改善了用户界面设计,而Malekzadeh则认为,尽管需要花费时间修复代码,但使用AI辅助编程仍然比不使用效率更高。
Fastly的调查还发现,资深开发者比初级开发者更倾向于将AI生成的代码投入生产,他们认为这项技术帮助他们更快地完成工作。Spires表示,AI辅助编程已经成为他日常工作的一部分,尽管体验参差不齐,但在原型设计、构建模板和测试框架方面表现出色,能够减少繁琐任务,让工程师专注于产品的构建和扩展。
对于年轻工程师Elvis Kimara来说,AI辅助编程虽然让他的工作变得更加复杂,但他认为这项技术的优点远远超过缺点。他表示,未来的工作将不仅仅是编写代码,而是指导AI系统,并在出现问题时承担责任,更像是机器的顾问。
总的来说,AI辅助编程虽然尚未成熟,但已经成为开发者工作中不可或缺的一部分。尽管需要花费额外时间修复AI生成的代码,但这项技术带来的效率提升和创新潜力使其成为值得付出的“创新税”。
评论总结
支持使用AGENTS.md文件:
- 评论1和评论2认为,使用AGENTS.md文件可以提高AI代理的效率,减少问题。评论1建议包含安全、编码风格指南、单元测试等部分,评论2则提供了相关的GitHub资源链接。
- 引用:
- "If you add an AGENTS.md, the AI agent will work more efficiently, and there will be far fewer problems like the ones you’re facing." (评论1)
- "One improvement is to start using an AGENTS file. There are many." (评论2)
对AGENTS.md文件的质疑:
- 评论3指出,许多同事不愿意编写或阅读文档,建议训练一个模型来自动生成这些文件。
- 引用:
- "Everyone suggesting maintaining an agent.md file haven’t met the majority of their coworkers who refuse to document anything or read documentation." (评论3)
对AI生成代码质量的批评:
- 评论4和评论21表达了对AI生成代码质量的不满,认为需要花费大量时间审查和修复错误代码。
- 引用:
- "The worst is when I have to baby-sit someone else’s AI." (评论4)
- "Does it end up like having colleagues who are aren’t doing or understanding or learning from their own work?" (评论21)
对AI工具的积极评价:
- 评论9和评论26认为,AI工具可以帮助开发者更高效地完成编码任务,尤其是在处理繁琐的架构级编辑时。
- 引用:
- "I have very few issues with Claude. If I just tell it what the goal is, it will make some sensible suggestions." (评论9)
- "I think it’s allowed me to spend more time being an architect and thinking about processes, problem solving." (评论26)
对AI工具的质疑与批评:
- 评论17和评论22指出,使用AI工具可能需要花费更多时间指导AI,而不是直接编写代码。
- 引用:
- "I’ve had good results with Claude, it just takes too long." (评论17)
- "I spend more time telling AI what to do than it would spend actually writing this all out myself." (评论22)
对AI未来发展的讨论:
- 评论18和评论28讨论了AI对编程行业的影响,有人认为AI将带来巨大的好处,也有人担心编程的黄金时代已经结束。
- 引用:
- "AI brings its own set of problems but I think some people just don’t want to hear what a net benefit it is." (评论18)
- "It makes me wonder if the golden age of programming is over." (评论28)
对AI工具使用的技能要求:
- 评论29强调,使用AI工具需要新的技能,如编写高质量的提示、及时纠正AI的错误,并对生成的代码负责。
- 引用:
- "How well do you prompt? It’s a new skill set." (评论29)
- "Not everyone on the team will be using AI to the level the Jedi are." (评论29)
总结:评论中对AI工具的使用存在支持和质疑两种声音。支持者认为AI可以提高效率,尤其是在处理繁琐任务时;质疑者则指出AI生成代码的质量问题,以及使用AI可能需要更多的时间和技能。同时,评论中也讨论了AI对编程行业未来发展的影响。