28 分•作者: EGreg•6 个月前
我一直想把这件事写下来,因为它具有惊人的可重复性,而且我希望有人能早点告诉我。<p>在过去一年左右的时间里,我的开发速度相对于我自己在 2019 年左右的基线,轻松提高了 20 倍,有时甚至更多。这并不是因为我打字更快,或者因为我偷工减料,而是因为我改变了使用 AI 的方式。<p>简而言之:我不在编辑器中使用 AI。我在浏览器中并行使用两个 AI,并提供完整的上下文。<p>以下是设置。<p>我打开两个标签页:<p>一个 AI 充当“构建者”。它获得大量上下文并承担繁重的工作。<p>一个 AI 充当审阅者。它只查看差异并尝试查找错误。<p>就是这样。没有插件,没有特殊工具。只有浏览器标签页和一个终端。<p>重要的是上下文。我没有要求提供代码片段,而是粘贴整个文件或模块并解释目标。我要求 AI 首先解释方法,包括权衡,然后再编写代码。这迫使我保持对架构的控制,而不是接受一个我不理解的 blob。<p>一个典型的流程如下所示:<p>1. 粘贴几个相关文件(通常跨语言)。<p>2. 描述我想要的更改,并要求解释选项。阅读并总结概念、维基百科等。<p>3. 选择一种方法。就权衡、概念、对抗性安全等进行广泛的对话。寻找操作系统允许的做事方式。<p>4. 让 AI 在所有文件中实现它。<p>5. 将差异复制到第二个 AI 中,并要求它查找回归、缺失参数或细微的破坏。<p>6. 修复它找到的任何内容。<p>发布。<p>第二个 AI 捕获了许多我快速移动时会错过的东西。比如“你更改了这个调用签名,但没有更新一个调用者”或“这个默认值微妙地改变了行为”。<p>让我惊讶的是跨堆栈工作变得有多快。过去由于跨越边界(Swift → Obj-C → JS,或后端 → 前端)而停滞的事情变得简单了,因为 AI 可以同时推理所有这些。<p>我特意对“外科手术式编辑”保持严格。除非明确要求,否则我不允许 AI 重写文件。我要求添加或更改确切的行。这使得差异保持较小且可审查。<p>这与自动完成风格的工具非常不同。这些工具非常适合本地编辑,但它们仍然让你成为跨文件的集成者。这种方法颠覆了这一点:你保持架构师和审阅者的身份,AI 完成集成工作,第二个 AI 进行健全性检查。<p>总共花费我大约 40 美元/月。真正的成本是纪律:始终提供上下文,始终审查差异,并且从不粘贴你不理解的代码。<p>我分享这一点是因为它对我来说是一个真正的变革,而不是一个噱头。很乐意回答有关限制、故障模式或此方法失效之处的问题。<p>以下是我为我们团队的开发人员编写的维基式概述:
https://community.intercoin.app/t/ai-assisted-development-playbook-how-we-ship-faster-without-breaking-things/2950