五种AI编程工具,五次生产事故,以及我希望首先拥有的过滤器

Reddit r/AI_Agents 新闻

摘要

作者基于真实生产事故回顾了五种AI编程工具,并提出了一个过滤器,以安全地将它们集成到开发工作流中。

我以vibecoding为生,使用不同AI工具后,以下是我的发现。在选择工具前,你应了解我的过滤器:它必须能集成到现有工作流中,而不强迫我们重写开发方式。它不能悄无声息地引入逻辑变更(如安全默认值、测试意识)。它应尊重现有架构,将架构决策留给人类。这些标准源于事故。我们曾合并一个PR,其中代理移除了关键错误边界,导致诸多问题,教会我们永远不要信任自动驾驶,只信任自动补全。现在按使用频率大致排序介绍工具。 Cursor。最适合VS Code中的TypeScript团队,但需要.cursorrules护栏,否则会覆盖架构。我们的工具错误使用unstable_cache,导致三小时陈旧数据。一个生成的路由绕过了我们的权限中间件。 GitHub Copilot。在多语言代码库上表现良好,自信到足以引入微妙的异步bug。一个接受的建议用裸Promise.all替换了我们的错误处理,并禁用了Sentry警报。在绿地项目搭建上强大,但在遗留代码上会产生API幻觉。 Windsurf。能跨20个文件保持上下文,这是其优势也是问题。它在无关包中自动修复类型。增强了类型良好的TypeScript,但使类型松散的代码不稳定。 Continue。适合需要本地部署和开放模型的团队。通过Ollama本地运行,风格对齐性强,但1到3秒的延迟让我们放弃。 Aider。将CRUD任务的周期时间减半,但需人工审查参与。重构遗留代码时,引入了竞态条件,花了两小时修复。 未入选的有:Devin、Amazon Q和Tabnine,基于成本模型、生态系统锁定和定价。这些都不是默认安全的。真正有效的是测试覆盖和严格审查。任何包含AI生成提交的PR都需两人审查,包括一次手动QA测试,加上快照测试以捕获意外API变更。这些比任何lint规则都更能阻止回归。如果你使用AI编程工具,你的过滤器是什么?我怀疑我的过于保守,我宁愿被告知而不是慢慢发现。
查看原文

相似文章

AI辅助编码的四个阶段

Reddit r/AI_Agents

对开发者在使用AI辅助编码时经历的各个阶段的反思,从最初的惊叹到平衡的理解,并担忧经验不足的开发者如何在严重依赖AI代理的情况下学会判断代码质量。