过去一年我用 AI 编码助手做了不少"重复但需要判断"的活:批量改文案、迁移旧脚本、补单元测试、写 SQL 助手。把这些经验沉淀下来之后,工作流的形状慢慢稳定下来——本文分享目前跑得最顺的一套轻量实践。
把 AI 当成"懂上下文的同事"
最浪费时间的用法是把 AI 当万能搜索框:丢一个问题进去,对答案惊喜或失望。实际上更有效的用法是先告诉它"你是谁、你在哪个项目里、约束是什么",再让它做事。我会写一段固定的"项目说明",每次新会话开头粘进去:
| |
这一段不长,但对回答质量的提升非常明显:模型知道"先讲思路再贴代码",而不是一上来就吐一堆片段。
提示词的三个层次
我把提示词分成三层,按场景切换:
- 直接问题:API 怎么用、某个错误码怎么排查——一句话就能问完。
- 模板化任务:补一个单元测试、把一段代码翻译到另一个语言——我会维护一组 Markdown 模板,每条模板只填空就好。
- 半开放协作:重构一段旧代码、写一个内部工具——这时我会附上相关文件、跑得起来的最小复现脚本,并明确"先列改动点,等我确认再贴 patch"。
第三种情况最容易失控,所以我会坚持"两轮回复原则":第一轮只让 AI 写思路,验证完方向再让它真正动代码。
复用检查清单
每次和 AI 协作结束,我都会在文档末尾补一段"今天学到的":
- 这个需求里有没有以前重复踩过的坑?
- 有没有可以抽出来的脚本 / Make 目标?
- 提示词模板要不要再迭代一条规则?
举个例子:第一次让 AI 改 SQL,它每次都忘了贴 DDL;第二次我直接在模板里写"先贴 schema,再贴查询",问题就消失了。这种小迭代累积起来,省下来的时间远超预期。
踩过的坑
- 过度抽象:让 AI 一步到位写"可扩展的通用框架",结果产出一堆空接口。原则是先做能跑的简单版,再让 AI 帮忙重构。
- 幻觉依赖:AI 经常编造不存在的 API。用法是让它先输出"我假设这些 API 存在",再由我对照真实文档核对。
- 忽视测试:让它补测试时,它倾向只覆盖 happy path。我把"happy + 边界"写进提示词模板,才显著改善。
写在最后
AI 编码助手最有价值的不是"替你写代码",而是"在你已经想清楚的前提下,加速中间那段最无聊的工作"。把它当成一个有耐心但需要明确上下文的同事,效率提升会稳定很多。
相关
- 《AI 编程助手整理》——工具对比
- 《工具箱 / AI》——DSH、Ollama
顺带一提:深夜跑 Agent 的活,吵的是自己——机械键盘怎么选里静音轴那节就是给这种场景准备的。