AI 辅助开发最佳实践:从实践经验谈起
虽然我还没有完成一个大型的 AI 辅助开发项目,但我想分享一下到目前为止从与 AI 合作开发中学到的经验。
基本开发方法
在与 AI 合作时,试图一次性实现所有功能可能会导致意外问题和项目停滞。因此,从核心功能开始,一步一步稳扎稳打地构建每个功能是更有效的方法。
现有代码的重要性
这种方法之所以有效,是因为通过核心功能的实现,你可以将你理想中的设计和编码风格具体化为实际代码。向 AI 传达项目愿景的最有效方式就是通过反映你的标准和偏好的代码本身。
从核心功能开始,确保每个功能在进入下一个功能之前都能正常工作,这样整个项目就能保持一致性,使 AI 更容易生成更合适的代码。
模块化方法
将代码分解成更小的模块至关重要。根据经验,将文件限制在 250 行左右的代码使得向 AI 提供清晰的指示更容易,并使试错过程更有效。虽然令牌计数会是更准确的指标,但对人类开发者来说,行数更容易判断,所以我们使用行数作为参考。
这不仅仅是关于前端、后端和数据库等大单元的分离,而是关于更精细层面的功能划分。例如,在一个功能内部,也要将验证、错误处理等具体功能分离成独立模块。
当然,大单元的分离也很重要,逐步实施模块化方法不仅让指令更清晰,也让 AI 能生成更合适的代码。这种方法不仅对 AI,对人类开发者来说也是有效的。
通过测试确保质量
我认为测试在 AI 辅助开发中尤为重要。测试不仅作为质量保证手段,还作为清晰展示代码意图的文档。当要求 AI 实现新功能时,现有的测试代码有效地充当了规范文档。
测试也是验证 AI 生成代码正确性的绝佳工具。例如,当让 AI 为某个模块实现新功能时,预先编写测试用例可以客观评估生成的代码是否符合预期。这与测试驱动开发(TDD)的理念高度契合,在与 AI 协作时特别有效。
规划与实现的平衡
在实现大规模功能之前,建议先与 AI 讨论计划。整理需求并考虑架构可以使后续实现更顺畅。先整理需求,然后在新的对话中进行实现是个好方法。
此外,AI 的输出必须经过人工审查,并在必要时进行调整。虽然 AI 输出的质量通常处于中等水平,但与从头开始编写代码相比,仍然可以提高开发速度。
结语
通过实践这些方法,你可以充分发挥 AI 的优势,同时构建一个连贯的、高质量的代码库。即使项目规模增长,每个部分都能保持清晰定义和易于管理的状态。