编写让 AI 在旧代码库中运行的游标规则
人工智能编码助手在遗留项目中行为不当,因为他们不知道你的限制。一个简短的规则文件修复了一半的错误差异。
我在四年前的代码库中进行代理驱动开发的第一周生成了漂亮的代码,但它违反了我们几个月来一直争论的三个团队约定和一个架构决策。修复并没有更好的提示;它正在写宪法。
好的规则文件应该简短且消极。我的列出了代码库绝对不能做的事情:没有新的状态管理库,日期是 dayjs 而不是 Date,每个 API 路由都使用现有的 zod 模式进行验证,并且永远不要在没有询问的情况下触摸 Legacy/ 下的文件。改变模型行为的是约束,而不是愿望。
意想不到的胜利是在一个子句中记录每条规则的原因。知道上一季度发生迁移的模型会编写比仅仅告诉要小心的更谨慎的迁移代码。上下文将规则从遵守转变为理解,而理解的规则会泛化到您未列出的情况。
为每个目录保留第二个规则文件以用于本地约定,我的组件文件夹有自己的规则文件,并且抵制膨胀全局规则的冲动。我将初稿从四十行削减到十二行,差异变得更好,因为你添加的每一行都会淡化重要的行。
六周后,可测量的结果是:违反约定的差异从大约三分之一下降到很少,代码审查评论从风格转向逻辑。规则文件是我雇佣过的最便宜的高级工程师。
