五种AI编程工具,五次生产事故,以及我希望首先拥有的过滤器
摘要
作者基于真实生产事故回顾了五种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编码工具已强大到能真正交付产品,但对学习而言却成问题
一位开发者反思AI编码工具如何提升生产力,但可能阻碍深度学习——用户交付了不完全理解的代码,引发关于技能发展的疑问。
AI辅助编码的四个阶段
对开发者在使用AI辅助编码时经历的各个阶段的反思,从最初的惊叹到平衡的理解,并担忧经验不足的开发者如何在严重依赖AI代理的情况下学会判断代码质量。
您如何构建基于AI编程代理的生产就绪开发环境?
一位网页开发者分享了围绕AI编程代理构建系统的经验,以实现可靠开发,并寻求关于工作流和编排工具的建议。
你现在可以为AI编码代理赋予其自身的高级开发直觉(起草、测试、审查、利用等)。
讨论如何集成 API Doctor、Socket、Semgrep、CodeRabbit、Postman、Playwright、GitHub Actions、Sentry 和 PostHog 等工具,让 AI 编码代理具备资深级别的代码质量、安全性和监控直觉,将关注点从速度转向质量。
AI编程工具是在让开发者变得更好,还是仅仅加速了糟糕的判断?
一篇观点文章探讨了像Claude Code和Copilot这样的AI编程工具是否真正提升了开发者的技能,还是仅仅加速了有缺陷的决策,并强调了需要新的指标来评估工程中的人机协作。