← 返回知识库

AI 工作流

让它改一处,它顺手改了五处:改代码前先把边界分成四档

范围说不清,AI 就会顺手把任务做大。把这段任务单发给它,让它先给自己的改动定档、写清不许碰什么,再动手。

本文目录 按章节阅读

导读

让 AI 改一处代码,最常出现的麻烦是它顺手改多了。样式一起调了,数据结构一起动了,最后连原本没问题的地方也要重新检查一遍。

还有更麻烦的一种。要改的东西其实在别的地方,它要么硬塞进原来的位置,要么闷头把范围扩大,两种情况都不好收场。

下面这段整块发给你的 AI,让它先把这次改动的边界定下来,再动手。

把这段话整段发给你的 AI

复制下面整块,原样发给它:

左右滑动查看完整代码

我要改一处代码,你先不要动手。请你先把这次改动的边界写清楚,我确认之后再改。

我要改的是:(一句话说清要解决的问题,以及现在是什么现象)

请按下面四档,判断这次改动属于哪一档,并写清依据。
第一档:只动一个文件里的局部逻辑。
第二档:要动同一个模块里的多个文件,但对外部行为没有影响。
第三档:要改数据结构、存储格式或配置文件。
第四档:要改对外的接口、页面地址、收费或权限。

定档之后再做三件事。
一、列出你预计要改的文件,逐个写一句为什么。
二、按档位给出验证方式。第一档跑什么,第三档怎么证明老数据还能用。
三、写清这次不要改什么,至少包括无关页面、依赖版本、以及我没提到的任何对外行为。

如果你检查之后发现要改的东西在约定范围之外,停下来告诉我:为什么必须扩大、扩大了会影响什么。不要为了把改动塞进原范围,把代码放到不合适的位置。

交付时不要只说“已完成”。按四行给我:改了哪些文件、每处改了什么、跑了哪些检查及结果、哪部分没有验证。

它把边界和证据格式交回来,你看过再让它动手。

需要你亲手做的三件事

  • 定下“不要改什么”。它列的禁止项是按常识猜的。哪块不能碰,只有你知道:付款流程、登录、别人正在改的文件。
  • 第三档和第四档要你点头。改动到数据结构或对外行为,成本不只是多跑一次测试,是老数据、老链接、老流程都要能继续用。
  • 交付后自己走一遍最常用的路径。它跑的是它自己写的测试,你用的是你平时那套操作。

附:四档边界怎么分

  • 第一档,一个文件。改的是显示顺序、文案、一个判断条件这类。跑这个文件相关的检查,再打开页面看一眼。
  • 第二档,一个模块。几个文件要一起改,外部看不到变化。多确认一件事:有没有别的模块在依赖你要改的内部结构。
  • 第三档,数据结构。数据库字段、存储格式、配置文件都算。这一档要老数据仍然读得出来,还要有回退办法:改坏了怎么退回去。
  • 第四档,对外的东西。接口、页面地址、收费、权限。这一档要通知相关的人,还得留一段旧版本仍可用的过渡时间。

档位的作用是定下来之后守住它。真正的风险是它一边说“就改一处”,一边把数据库动了。

附:它说改完了,怎么核

  • 先看它交的那四行,跟它开工前列的“预计要改的文件”逐条对。多出来的文件,逐条问为什么。
  • 再看有没有你没提过的对外变化。心里没底,就打开自己的站点或后台看一遍。
  • 会用 git 的话,看一遍改动清单和 diff。不会也至少把改之前能用的功能重新点一遍。
  • 结果不对,把失败现象补进原来那段任务单里,针对这一处继续查。别顺手追加别的活。

把用得上的方法,分享给需要的人

如果身边有人也遇到类似问题,可以把这篇文章发给他,一起参考文中的步骤。

接下来怎么做?

可以先按文中的步骤自己试一遍。遇到具体问题,再决定是否需要协助。

继续看知识库 ↗