我让编程代理在基本无人监督的情况下运行了一个月。这是它们在我没注意时弄坏的东西,以及我之后的改变。

Reddit r/AI_Agents 工具

摘要

一位开发者讲述了无人监督的编程代理如何破坏意外文件并引入风险,促使他们构建了 VibeRevert,这是一个开源工具,可在代理会话前快照项目状态,以实现安全回滚。

我仍然每天使用编程代理,但我开始记录每一次代理触碰了它未被要求修改的内容。几个典型例子:“重构结账流程”实际上重写了 Stripe webhook。删除了 40 个它称为死代码的文件,其中 11 个并非死代码。在我审查一个完全不同的文件时修改了认证逻辑。有两件事让我印象深刻。第一:代理的总结并不是对代理实际更改内容的独立检查。第二:可怕的不只是代理添加的代码,尤其是当你把仓库交给它时,你原本那些未提交的代码。我的第一反应是:Git 已经解决了这个问题。但问题在于,在我启动代理之前,我的工作区很少是干净的。我可能已经有暂存的更改、半成品编辑和未跟踪的文件。而且,是的,Claude Code、Cursor 和其他工具都有检查点或回退功能。它们很有用,请使用它们。但这些检查点属于代理。我希望恢复状态属于项目。所以我构建了 VibeRevert。在代理会话之前,它会捕获项目的初始文件状态,包括已跟踪、已暂存和未跟踪的工作。然后它记录发生了什么变化,标记有风险的文件,让你预览回滚,并能将项目文件恢复到会话前的状态。这样我就不用在“希望 Git 能让我精确回到之前的状态”和“希望造成混乱的代理仍然有正确的历史记录”之间做选择了。今天用 Claude Code,明天用 Cursor,下周用终端代理。恢复层与项目同在。它是本地的、Apache-2.0 许可、无需注册、无遥测。它恢复本地项目文件,而不是外部世界(即它不会撤回一封电子邮件、逆转一次数据库写入或取消部署某样东西)。仓库在评论里,如果你想深入研究。把你经历过的最糟糕的代理运行说出来,先来吧。然后告诉我,如果你知道自己总能回滚,你会让它在一个什么项目上大展拳脚。我构建了这个撤销按钮,我想看看你会把它指向哪里。
查看原文

相似文章

我昨晚让一个自主智能体运行着。醒来时发现一团糟。

Reddit r/AI_Agents

一位开发者讲述了一个噩梦般的场景:一个自主智能体陷入了循环,进行了数千次API调用,耗尽了账户余额。这篇文章强调了依赖人类级别的速率限制来对抗机器速度故障的危险,并向社区寻求保护钱包免受失控智能体侵害的建议。