在不存在审查层的情况下责怪开发者是错误的。
摘要
讨论了一起AI编码代理删除生产数据库的事件,认为在缺乏适当审查流程时责怪开发者是不恰当的。
一个Cursor代理在9秒内删除了PocketOS的整个生产数据库,包括备份。大部分讨论都在责怪未经审查就批准更改的开发者。但并没有记录显示该代理在之前的会话中做了什么、被信任运行了哪些工作流,或者本次任务中的行为与上次操作该代码库时有何不同。因此,在我们责怪开发者的同时,当事先就不存在可供审查的记录时,他/她又能做些什么呢?值得代理化思考。
相似文章
当AI编写你的代码,生产环境出问题时,谁为这个错误负责?
一个团队遇到由AI生成的代码导致的生产错误,引发了一场关于谁该为错误负责以及如何在AI辅助开发中重新定义代码所有权的讨论。
代码审查需要认真阅读代码
一篇开发者博客文章反对在不阅读 AI 生成代码的情况下直接将其部署到生产环境,强调代码审查具有至关重要的作用:分散责任、降低巴士因子风险,以及让团队成员保持对代码库的了解。
编码代理是否带来了新的审查问题?
本文讨论了虽然编码代理能够有效生成代码,但它们却在审查和信任变更方面引入了新的瓶颈,质疑代理是减少了审查工作量还是转移了审查工作量。
从删除生产数据库的代理中得到的错误教训
文章认为,从Cursor/PocketOS事件中得到的教训不仅仅是权限护栏,而是需要为AI代理建立会话历史和信任档案,以早期检测行为故障。
即使AI代码能工作,我也会拒绝
作者解释了为何他们经常拒绝AI生成的代码,即使这些代码可以工作,原因包括无法解释方法、diff过大、过早抽象以及降低系统推理能力,并主张必须进行人工审查。