现在我的大部分代码,都是和 AI 编程助手一起写的。用得越多,越觉得它像一位能力很强、但第一天入职的同事:执行力很高,但不知道这个项目的规矩。
把隐性规则变成显性文档
刚开始,我会在对话里反复强调「服务之间不要共享代码」「表结构只能通过迁移修改」。后来把这些整理成项目根目录下的一份协作文档:分层规则、命名约定、哪些操作需要格外小心。
规则写下来之后,不只是 AI,半年后的自己也能很快回忆起当初为什么这样设计。
能被检查的规则才可靠
文档会被忽略,检查不会。知识库项目里,这些约束都由工具强制执行:
- 服务内部的分层依赖由 import-linter 和 ESLint 检查,下层引用上层直接报错;
- 跨服务接口在 JSON Schema 契约里定义,有契约测试兜底;
- 业务代码单文件不超过 500 行,超了就拆。
所有检查汇总成一个脚本,AI 改完代码先跑一遍,不通过就不算完成。
让它先读,再写
最常见的问题,不是 AI 写不出代码,而是它在不了解上下文的情况下「另起炉灶」,写出一套和项目风格不一致的实现。所以我习惯先让它去读相关模块、说说自己的理解,确认没有偏差再动手。
判断留给自己
AI 可以在几分钟内给出三种方案,但选哪一种、哪里要妥协、什么时候该停下来,仍然需要自己判断。评审 AI 写的代码,和评审同事的代码一样,要逐行读、要能说清楚每一处为什么这么写。
它让我能尝试更多想法,也让我更清楚哪些事情必须自己想透。