AI代理代码写得快,但不知为何却无法调试自己写的代码
摘要
AI编码代理擅长生成代码,但在调试方面却遇到困难,导致尽管代码生产更快,但错误数量增加,正如个人使用Claude的经历所示。
我注意到一个奇怪的权衡。这些代理确实很棒,我整天都在使用它们。但每次我给它们一个实际的错误时,它们不会调试它,而是重写整个东西。我们有一个导入器在时区边界丢失了大约2%的行,我在两天内给了Claude大概5-6次。三次不同的重写,都很干净,但没有一个解决了问题。最后我自己读了代码,发现是一个日期被解析了两次,一次作为本地时间,一次作为UTC时间。二十分钟就搞定了。因此我的结论是代码写得更快了,但错误却原地不动。我们的未解决错误数量从三月份的约40个增加到现在的130个,并不是人们变得更懒了,而是修复问题意味着要先理解它,而这样做的人更少了。我们在PR上运行coderabbit/bugbot,能捕获很多问题,但它们都不知道为什么一个东西在六个月前是那样的设计,而这通常是关键所在。可能只是我。我主要看到的是更多的代码被发布,而同样的问题清单依然存在。
相似文章
AI代理重现了“rockstar developer”问题,只是速度更快
该文章将AI代理与“rockstar developers”进行对比,他们编写巧妙但难以维护的代码,指出AI代理缺乏对自己行为的记忆。它建议使用可见的约定,如AGENTS.md、ADRs和测试,以使AI代理生成的代码对团队来说易于理解。
AI编码代理是否遇到了瓶颈,还是我们衡量它们的方式出了问题?
本文探讨了AI编码代理的炒作与现实之间的差距,认为它们对于加速工作流程的某些部分有效,但在架构、调试和审查方面仍需人工监督,并质疑当前基准测试是否衡量了正确的东西。
调试智能体比构建它们更难
作者探讨了调试AI智能体的难点,重点关注可观测性问题,并对当前生产环境中的评估方法提出质疑。
AI智能体遭遇了它20分钟前就在自己编写的代码中预测到的bug
一个自定义的AI智能体自主构建了一个工具,审计了自己的代码,预测到一个bug,之后遇到了它,并通过调整方法恢复了,展示了高级的自我改进能力。
引用 Florian Herrengt
Florian Herrengt 博客文章中的一段引文讨论了 AI 辅助开发如何导致无法调试、错综复杂的代码库,连 Claude 等 AI 工具也无法修复问题,凸显了软件工程中日益严重的问题。