那天,我的Agent找不到它两周前写的功能
摘要
一个团队分享了他们如何几乎完全通过AI Agent构建产品,却在几个月内导致代码无人阅读、大量重复并陷入混乱,最终迫使他们采用CodeRabbit进行代码审查,并接受更慢、更谨慎的开发节奏。
我们三个人从五月份开始,几乎完全靠Agent开发一款预订产品。第一个月快得不可思议,一个下午就能做完整个功能。第二个月也还行。到了第三个月的某个时候,一切都开始烂透了。我记得最清楚的一刻,是我让Agent修改取消订单的退款逻辑,然后看着它花了二十分钟去找取消功能的代码。那段代码是它自己两周前写的。它在三个文件夹里找到了三个不同的版本,还选错了。团队里没人能说清楚生产环境实际跑的是哪个版本,因为我们谁都没读过那些代码。就是在那一周,我们紧急给仓库接上了CodeRabbit,主要是因为我们需要有人读过代码库,而这个人不可能是我们自己。第一轮审查就返回了200多条评论。大部分都是小问题,但这个数字本身就是一份诚实的报告,告诉了我们三个月不读代码要付出什么代价。我们现在比第一个月慢多了,但我觉得这个速度才是对的。第一个月的速度是借来的。
相似文章
经过一年使用AI代理发布产品,以下仍是它们经常出错的地方
一位开发者分享了使用AI代理编写代码一年后发现的持久性故障模式,包括代码看似正确实则错误、无法维护跨文件架构、对错误决策缺乏质疑、以及安全边缘情况问题。
AI代理是否让构建软件比理解软件更容易?
一位开发者反思了AI编码代理如何能够快速构建和修改软件,但开发者往往失去对代码库架构和决策的理解,从而带来新的工程挑战。
智能体运行完美,团队却悄悄把它扼杀了。
一位开发者为客户构建了一个可用的报告智能体,但它被悄然放弃,因为它威胁到某团队成员的地位和可见度。这个故事揭示了AI自动化项目中常被忽视的人性动态。
AI代理重现了“rockstar developer”问题,只是速度更快
该文章将AI代理与“rockstar developers”进行对比,他们编写巧妙但难以维护的代码,指出AI代理缺乏对自己行为的记忆。它建议使用可见的约定,如AGENTS.md、ADRs和测试,以使AI代理生成的代码对团队来说易于理解。
我的团队一天内上线了一个能处理技术债务的AI代理。最难的部分不是代码,而是把问题定义得足够清晰,让代理能够接手执行。
一个团队构建了AI代理来自动修复技术债务:扫描代码库、自动提交PR。他们发现最困难的是精确定义问题,此外还讨论了多个代理在同一代码库上运行时的冲突问题以及设置防护栏的必要性。