夜雨聆风学习资料网

ARTICLE · 1258578

一年半,三个 AI 编程工具:一个交作业,一个写新代码,一个敢动我的电脑

一年半,三个 AI 编程工具:一个交作业,一个写新代码,一个敢动我的电脑

晚上十一点半,群里弹出一条消息:“导出功能今晚能加上吗?客户明天上午要看。”

手上是个 .NET 4.8 的 WinForms 老项目,反编译来的,三百多个文件,解决方案一打开一片红。搁以前,这种深夜突袭我一般回个“明天看”,然后认命地点灯熬到天亮。

那天我没熬。

我把需求原文丢给 WorkBuddy。它把项目读了一遍,圈出十一个跟导出相关的文件,列了三种接法让我挑。我选了最稳的那种。中间它停下来问过两次:一次是某个 dll 找不到引用,要不要从原安装目录拷;一次是导出格式照旧还是重画。改完自己跑编译,把剩下的报错按文件列成清单,七条,三条是它改漏的,四条是老代码本来就有的。

我核完改动,打包,睡觉。凌晨一点。

一年半里,这样的夜晚有十几次。写这篇不是带货,是想说说这套用法的边界,包括它不好使的地方。

先说结论

三个工具不是一回事,也不是替代关系。

Codex 在云上,看不见我的机器。Cursor 在编辑器里,看得见代码,看不见现场。WorkBuddy 在我电脑上,什么都能碰——包括我不希望它碰的。

一句话:Codex 接活,Cursor 写新的,WorkBuddy 救火。

下面大部分篇幅给 WorkBuddy。它最能干,也最容易出事。

Codex:丢作业可以,救火不行

任务描述写清楚,它在自己的沙箱里跑完交结果,顺手还能开个 PR。拆函数、补测试、改文档示例这种边界清楚的活,丢给它最舒服。下班前扔进去,第二天早上收。

但它碰不到我的现场。编译不过的遗留代码、只连内网的库、带 license 的控件,一概摸不着。有次交回来的代码逻辑没问题,但用了个 .NET 6 才有的 API,我的项目是 4.8。这种错它发现不了,它那边根本没有 4.8 的环境。

老工程改造,一半的坑在现场,不在任务描述里。

Cursor:写新代码顺手,翻旧账吃力

新起模块、写工具类、调样式,我基本都用它。手不离键盘,Tab 按下去那一下确实爽。

但我的日常不是写新模块,是搬文件、对调用关系、搞清楚这段代码当年为什么这么写。这种要满屋子翻的活,它的眼界守着打开的那个工程,翻不出去。查一个方法被谁调用,它给我当前方案里的七处,真正出问题的那处在另一个解决方案里,它看不见。

不是它不行,是边界就在那儿。

WorkBuddy:它不守在编辑器里,守着我整台电脑

它跟前面两个最不一样的地方,是上下文自己去翻。

不用我贴报错栈,不用我交代哪个文件是入口。它读目录、搜代码、翻配置、跑脚本查证。第一次用它,我让它给一个不认识的解决方案画地图:哪些项目依赖哪些、哪个 dll 是从外面拷进来的、哪几个文件其实是同一个窗体的三个版本。它跑了七八分钟,给我一张表。那张表我自己摸要两天。

第二不一样的地方,是它敢动手,也会自己收尾。能读写文件、能跑命令、能翻数据库连接串。改完自己编译,把报错读回去再改,再读回来核对。这一点另两个都给不了:一个摸不到机器,一个不敢跑。

第三件事小,但挺值钱:它交活的时候会列清单,哪些做了、哪些没做、为什么没做。这比闷头猜一个结果强得多,我照单验收就行。

所以它最擅长的不是写新功能,是“找”和“通到底”——跨解决方案的调用关系、这个 dll 的来历、一批文件按同一规则改。写新功能我还是开 Cursor,那种活它更快更稳。

不好使的地方

权限大是双刃剑。

它能直接读写文件、跑命令,盯不紧真能出事。我的规矩是改什么、改哪必须先说,等我点头。删文件这条线至今没松过。有一次它要清理临时文件,我没让,自己看了遍清单,里面躺着两个我改到一半的脚本。省事和省心是两回事。

长任务会跑偏。

需求一模糊,它吭哧吭哧干半小时,方向错了全部作废。现在我是切碎:一次说清一件事,做完验收,再说下一件。

它会假装验证过了。

这个最麻烦。有几次它说“已测试通过”,其实只是编译过了,功能根本没跑。现在我要它把命令输出贴出来,看不见输出的“通过”一律不算。

它太顺着你。

你说 A 方案好,它多半说 A 有道理。我故意说错试过,十次有六次它把我的话复述一遍再往下走。现在的习惯是让它先说反对意见。

它不懂你的老规矩。

项目是 4.8、不许引新包、命名有约定,这些它不会自己知道。你不说,它就按通用最佳实践改,改得挺漂亮,合不进去。

我给自己定的五条规矩

一年半踩出来的:

改之前先说改哪几个文件,我点头再动手

删东西一律不执行,清单给我,我自己删

一次只说一件事,做完验收,再说下一件

碰数据库、碰生产环境,我自己来

它说“完成”,我就自己跑一遍

前两条怕出事,后面几条怕返工。

最后

工具再好,替不了你知道自己要什么。

我现在的活法是我出脑子,它出手。需求是我想的,验收是我核的,板是我拍的。它省掉的是搬运、查找、重复劳动,不是判断。

有个朋友听我说完,问:那你不就成了产品经理?

我说对,还是那种没有开发团队的产品经理。

你们平时怎么写代码?纯手写、Copilot 补全、Cursor 深度用户、Codex 派,还是像我这样对话式干活?评论区说说最省事的一个瞬间和最翻车的一个瞬间。

相关学习资料