AI编程技术拆解(10月26日)|同事十分钟改完,你改乱三个文件,多干半天

封面

昨天下午,同事老周给后台系统加防重复提交,一句话交差:"只改订单页那个保存按钮,点一次就灰掉,别的文件别动。"十分钟后他交了改动,1 个文件,4 行。

我嫌那句话啰嗦,只说"保存按钮点一次要灰掉"。它回得很快,说改好了。第二天财务说,客户资料页的保存按钮也灰了,灰了还不回来。

我去看改动记录:4 个文件,我指的订单页只占 1 个。当时我以为,它根本没看懂我的项目。

一句话原理

AI 改错地方,不是认错了代码,是它只看见你递给它的那一块。没递过去的同名代码,在它眼里不存在。

它读文件是一个一个读的。读进来多少,就能看见多少。

打个比方。一栋楼有 4 个长得一样的电闸箱,你只带师傅看了三楼那个。他说"找到了",一把拉下,停的是四楼那家的电。

粗算一下:带他把 4 个都看一遍,多花 20 分钟。不看,四楼那家停一晚上,第二天你陪物业跑一趟,一上午没了。

一个具体例子

假设一个中型后台项目,三四十个文件。其中有 3 个文件都有一段叫 handleSave 的代码,名字一样,里面八成也像。

handleSave 就是"保存"这个动作在代码里的名字。名字是人起的,两个人起重了很常见。

人说的:订单页的保存按钮,点一次就灰掉。

工具看到的:只给它订单页那个文件,它看到 1 个 handleSave;给它整个项目,它看到 3 个。

它改的:按名字找、按写法找,挑一个最像的。挑中哪个,看它读文件的顺序,也看哪段更像"订单"。

怎么证明改对了:改完它会给你一份 diff。diff 是改动对照,删了哪行、加了哪行,一行一行列出来。

所以别听它说"改好了",看 diff 里的文件路径。路径是订单页,对了;路径是客户资料页,就是改错了地方。

看一遍 diff 30 秒。跳过这一步,第二天有人替你查两小时。

一个小闭环

这五步走顺了,改错地方的次数会明显少下来。缺哪一步,活就退回你身上。

  1. 说清需求。输入是一句话。动作是说清哪个页面、哪个按钮、点完变成什么样。输出是一句能验收的话。少了这步,它只能猜"保存"是哪一个。
  2. 圈范围。输入是项目目录。动作是把该改的文件指给它,把明显不该动的目录排除掉。输出是一份候选清单。少了这步,它全项目乱找,撞名就撞车。
  3. 它改代码。输入是需求加范围。动作是定位、替换、生成改动对照。输出是一份能看的 diff。少了这步,只剩聊天,代码还得你自己搬。
  4. 人核清单。输入是 diff。动作是先数文件数,再看路径对不对,最后才看那几行。输出是一句"可以"或者"退回"。少了这步,改错的文件会跟着一起上线。
  5. 跑那条路径。输入是改完的代码。动作是把订单页保存点一遍,再点一遍灰按钮,顺手点一下客户资料页。输出是过或没过。少了这步,你手上只有它一句"改好了"。

闭环图

三条技术确认点

上手前,先确认三件事。

  1. 它能不能搜整个项目。只能读你粘贴那一段的,别处的同名代码它一辈子看不见。
  2. 动手前给不给你一份"打算改哪几个文件"的清单。先给清单的,你能在改之前拦住;直接动手的,只能事后翻。
  3. 能不能把范围圈死,指定到文件或目录。能圈的,找的面小、撞车少;不能圈的,每次都全项目翻一遍。

常见误区

看起来是"它不懂我的业务",其实是"它没看见那三行上下文"。

看起来是"模型越强越不容易改错",其实是"范围没缩,手越快,改错的面积越大"。

看起来是"多问两遍它总能找对",其实是"范围不变,问十遍还是同一个猜法"。

回到开头

回到财务那句"按钮灰了不回来"。

它不是没看懂我的项目,是只看到了我递给它的那一块。我那句话里,少了"只改订单页"这几个字。

老周比我多说了十来个字,省了一整天。

所以 AI 改错地方,多半不是你问得不够漂亮,是它看到的范围比你以为的小。

把范围说小,比把话说漂亮有用。Codex、Claude Code、Trae、Qoder 这类工具都吃这一条。

Token工厂:贰号token工厂
Codex、Claude Code、Trae、Qoder 要用的模型 token,统一接入、统一计费。
点这里看详情 →

https://huitongdao.doc.huizhidata.com/docs/

文档与在线试用 →

https://huitongdao.doc.huizhidata.com/docs/

Last Updated: 2026/10/26 07:23:37
Codex技术拆解(10月26日)|同一个问题,你还得自己贴回去 Token工厂技术拆解(10月26日)|不直接找官方,这笔钱到底花在哪
OωO 取消
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)
  •  ̄﹃ ̄
  • (/ω\)
  • →_→
  • (ノ°ο°)ノ
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ
  • ╮(╯▽╰)╭
  • (。•ˇ‸ˇ•。)
  • >﹏<
  • ( ๑´•ω•)
  • "(´っω・`。)
  • "(ㆆᴗㆆ)