乐于分享
好东西不私藏

AI 工具越多,开发越快吗?

AI 工具越多,开发越快吗?
这两年,AI 编程工具多得让人有点跟不上。

编辑器里有代码补全,终端里有能读项目、改文件、跑测试的 Agent。新工具一出来,下载安装、配置模型、比较效果,几乎成了一套固定动作。

可工具换了一轮,项目未必做得更快。

AI 几分钟就能生成几百行代码,人却要花更久理解和返工;一个页面刚改好,另一个模块悄悄出了问题;同样的坑在上个项目踩过,换个项目又来一次。

很多返工,其实在 AI 写下第一行代码前就埋下了。任务没说清,执行过程没有护栏,解决过的问题也没有留下。模型再强,也只能在这些缺口上猜。

把这三件小事做好,通常比再换一个工具管用。


一句“做个用户系统”,够 AI 忙很久

下面这条指令很常见。

帮我做一个用户系统。

人看到它,往往会继续追问。用账号密码还是手机号?需要注册和找回密码吗?用 Session 还是 JWT?数据库能不能改?做到什么程度才算完成?

AI 通常会直接开工。它根据当前上下文和常见做法补齐空白,很快交付一套看起来颇为完整的代码。麻烦也出在这里——它补上的细节,未必符合项目需要。

把任务改成这样,结果会稳定许多。

在现有项目中增加账号密码登录接口,使用项目已有的 JWT 工具。只修改 src/auth 和对应测试,不改数据库结构,不增加注册、短信验证和第三方登录。登录成功返回 access token,密码错误返回 401,完成后通过 auth 模块全部测试。

后一种写法没有什么提示词技巧,只回答了四个问题:做什么、能改哪里、哪些事情不做、怎样算完成。

AI 得到的自由度少了一些,返工空间也跟着小了。


能自动干活,也得知道什么时候停

任务说清之后,AI 仍可能在执行途中做出局部合理、全局危险的决定。

为了消除一个报错,它也许会升级核心依赖;为了通过类型检查,它可能用默认值盖住异常数据;改动一个业务模块时,又“顺手优化”了公共函数。每一处单独看都有理由,合在真实项目里,很容易变成隐蔽的回归。

我现在更看重四道护栏。

先让 AI 给出改动计划,列清准备修改的文件和可能影响。一个任务只处理一类变化,不把框架升级、组件重写和工具函数整理捆在一起。每一步完成后运行现有的格式检查、类型检查和测试。涉及依赖升级、数据库修改、文件删除或公共 API 变更时,必须停下来等待确认。

计划无法保证结果正确,但能让方向错误更早暴露。小步修改也不一定更快,出了问题却容易定位和撤回。

Agent 可以自主工作,不等于应该拥有无限的修改权限。它需要知道哪些事情可以直接做,哪些事情必须把决定交还给人。


别把经验锁在聊天记录里

使用 AI 一段时间后,很容易出现另一种浪费。

每次打开新会话,都要重新介绍技术栈和目录结构;同一种需求,重新组织一遍 Prompt;刚解决过的兼容性问题,隔一阵又查一次。有用的信息散在几十段聊天里,想找时已经记不起关键词。

聊天记录适合保存过程,不适合直接复用。值得留下来的内容大致有三类。

第一类是经过验证的 Prompt 模板。除了 Prompt 原文,还要写清适用场景、需要提供哪些输入、最后如何验收。

第二类是项目规则。技术栈、目录约定、命名规范、测试命令和禁止事项,都可以放进项目文档。以后每次开启新会话,AI 都从同一套事实出发。

第三类是踩坑记录。最省事的格式只有四项:症状、原因、解决办法、适用版本。再遇到相似问题时,先查自己的记录,几分钟就能知道是否走过这条弯路。

这些东西攒得越多,每次与 AI 协作的起点就越高。工具会更新,模型会替换,留下来的项目知识还在。


一张能直接复制的 AI 任务卡

下次把开发任务交给 AI 前,可以先花两分钟填完这张卡。

【任务目标】要解决什么问题?完成后给谁使用?【允许范围】可以读取和修改哪些目录、文件或模块?【明确边界】这次不做什么?哪些接口、依赖或行为不能改变?【实现约束】需要遵守哪些技术栈、版本、风格和安全要求?【执行方式】先给出计划;小步修改;高风险操作执行前等待确认。【验收标准】必须通过哪些测试?应该得到什么可观察结果?【交付内容】说明修改了什么、如何验证、还存在哪些风险。

它不会让模型突然变聪明,作用只是把容易产生歧义的地方提前写下来。等 AI 交付时,也有一套清楚的标准判断结果能不能用。


我为什么开始写「AI开发手记」

AI 领域每天都有新消息。发布会摘要和工具榜单已经不少,我更想把开发过程写出来。

一个 AI 功能怎样从想法走到上线,代码生成之后如何测试和维护,工具在真实项目里省下了什么、又带来了什么,那些演示里看不见但开发时绕不开的坑,都会成为这里的内容。

我也会尽量在每篇文章里留下一份能直接带走的东西。可能是一段代码、一份 Prompt、一张检查清单,也可能只是一个经过验证的结论。

工具一直会变。把任务交代清楚,控制住执行过程,再把解决过的问题留下来,这些习惯不会很快过时。

如果你也在用 AI 写代码,欢迎在评论区说说目前最头疼的问题。我会挑一个有代表性的问题,写成下一篇可以照着操作的实战文章。

相关学习资料