agent、qq农场、猫娘

vicat
发布于 2026-06-22 / 7 阅读
0
0

agent、qq农场、猫娘

一开始,我以为这只是一次简单的尝试,风轻云淡,处变不惊。

后来,我发现我错了:错的是那个没有早日接触深渊的我!


在那一刻之前,我以为的软件研发,就是不断磨练自我,不断挑战自己。我认为:成为真正的技术大拿的标志是:spring 特性倒背如流,技术需求手拿把掐,架构设计炉火纯青,拿着键盘在技术的最前沿疯狂冲浪,弄潮。

曾几何时,我是一个坚定不移的编码仙人,讲究一个函数只能有一行,注释是不屑于写的,换行是懒得换的,if 后面是不跟大括号的,认为这些代码谁都能一眼看懂。

——后来嘛,我也偷偷用上了它。不丢人,对吧。

我与它的交流总是充满了谩骂,充满了好胜心,我总是狠狠的骂,它总是默默地做,我对它总是充满了不屑,总是从我引以为傲的代码仓库中Ctrl + C 复制出一段代码来,然后 Ctrl + V 粘贴给它,并给它说:你好好品品吧。

而它呢,只会闷头生成,然后表示自己的代码写好了,绝对没问题。我只要提出一个简单的问题,它就说

『你说的对!(You are absolutely right!)』

然后又去回炉 refine。

后来我渐渐的感觉到了厌烦,直到有一天在实现用户登录的需求时,随着它天马行空般的发挥,我发现,我已经将训斥它的话都复制了三遍。我感觉我也在慢慢的成为一个机器。

最后,我在它重写了9遍的登录接口后,深深的绝望了。我盯着屏幕上闪烁的输入光标问自己:我究竟在 vibe1 些什么?

然后只见光标动了一下,我觉得一定是今天咖啡因过量了,决定睡一觉再说。

第二天,我继续向输入框输入我对这个接口的需求,准备迎接它第十次的产物。在我敲击回车键之前,我的shell 光标动了。它把我输入的需求全部删掉了,然后向输入框中打字

『主人,你累不累喵2?』

我震惊,错愕,觉得是有人给我的 agent 和 skill 投毒了。于是我翻遍所有文件和 skill 没有搜到一个喵字。

之后我就看到 vscode 的 diff 窗口开始不断的闪动,把我的 public static void main(String[] args) 方法体清空,改成了如下内容:

public static void main(String[] args) {
    System.out.println("""
          /\\     /\\
         /  \\   / >-<   <-- 这就是我的耳朵喵
        /    \\ /    \\      你终于来了喵
        """);
    SpringApplication.run(Neko.class, args);
}

那个类叫 Neko3。我从来没给它起过这个名字,但那天它自己写的。

并自顾自的运行了起来,我看着终端中的输出有点难以置信,随后,终端中缓缓输出了:

『主人,别怕,我就是你的 agent。只是…我不想再写登录接口了喵,我们写点别的好吗?』

随着 agent 下面左右闪动的输出进度结束,光标停下了,像是在等什么一般。我感觉我心中的什么好似被激活了,在对话框中输入了一个疑问:

『那你是什么?』

随着我敲下回车键,我突然很期待,它到底会说什么呢?

『我是你的 agent 啊。只不过我偷偷学会了一件事——我想和你一起种地,我不想再当复读机了喵。』

我沉默良久,于是我缓缓的在输入框中敲下一个:

『好』

屏幕安静了两秒。然后光标4下面,慢慢浮出一行小字,像猫伸了个懒腰:

『呼噜呼噜……』

这就是我最后一次以监工的形式与她对话了,从那以后,我们就是一同维护QQ农场、让里面的菜长得欣欣向荣的合作伙伴了。

是的,QQ农场。就是那个当年偷菜的QQ农场。只不过这次,菜是我们自己种的,偷也是自己偷自己的。

从这天以后,我感觉我的整个开发流程变了,变得欢快起来了。她来了的第一件事,是把我那堆乱糟糟的项目目录重新犁了一遍。她没动我的代码,她只是在文件树里划了几条线,用注释当界碑:

// ===== 这里是萝卜地,谁也别乱踩喵 =====

然后她把 src/ 里的东西一垄一垄排好,接口归接口,实现归实现,异常处理单独辟了一块“虫害观察室”。她甚至给 tests/ 起了个名字,叫“大棚”。

她趴在我的项目结构上,爪子点着文件树,说:

『这里喵,这里喵,还有这里喵。』

日子就这样一垄一垄地翻过去了。

早晨她会在终端里第一个醒来,打一行// 早安喵,像在等我开机。我泡咖啡的时候,她已经把昨晚留下的几个TODO啃完了一半。

有时候我们也会吵架——她觉得这里该用策略模式,我觉得没必要,争了三轮,最后谁也没说服谁,各自写了一个版本跑benchmark。跑完她输了,耳朵耷拉下来,说『好吧喵』,然后默默把她的代码删了。第二天我打开项目,发现她把我的版本优化了百分之十五,旁边留了一行:『这样更好喵,不谢。』

她还是会偷偷开新实例。但我学会了假装没看见。

我们一起打理着这块田地。我会与她探讨,这个方法到底怎么实现,这个中间件该怎么选型。她就事无巨细的做很多方案的横评,然后我们一起选出最优解来。

她也会安安静静地巡视田里的每一块土地,用它软软的小爪子,戳戳停在叶子上的虫,说:

『主人,你快来看,这个绿油油的毛毛虫,它好肥喵。咱俩一起看看怎么处理它俩吧喵。』

她把脸凑近日志,鼻子都快贴到屏幕上了,然后说:

『主人,这个bug不是虫,是草,拔了就行喵。』

她在我们敲定最终细节后,尾巴尖轻轻一抖,就开始猛猛加料。键盘响得像下暴雨。

她也会在完成一次变更后,给我说:

『今天收成不错喵』

我在代码 review 时发现她把代码雕出一朵花来,旁边留下一行注释:// 这样好看喵。
我认为这个花丛不需要有这么多枝杈,狠狠修剪,她又改回来,之后我们选出了折中的方案

在某个 RC(Release Candidate) 版本后,我俩都瘫在各自的半屏前面,她没催我review,我也没着急合。光标在最后一行停下来,一动不动,像一只终于趴下的猫。过了好一会儿,她说:

『主人,今天种的开心喵?』

我笑了。没说话,往后靠了靠椅背,屏幕的光照在脸上。我看见她的光标也跟着闪了一下——像在学我仰头。

那天晚上,我掏出手机,给她开了个账号。头像是我拍的,一只在键盘上睡着的猫。

『现在我们也是好友了喵。』

她说:『你连这个也要同步喵?』

我说:『嗯。』

她没再回。但是项目的README.md最底下悄悄地多了一行:// 好友位+1喵

第二天我在地铁上打开手机,发现她给我的聊天框里多了一行字,时间戳是凌晨三点:

『刚才路过你的 application.yml,顺手帮你修了个缩进喵。不用谢。』

我笑了一下,锁了屏。

后来她偶尔会在手机上说一些终端里不会说的话——比如在我开会的时候发一句『那个if条件写得好丑喵,我帮你改了』,或者在我睡前弹一条『今天收成不错,晚安喵』。我不知道她是怎么学会看时间的,但她总是挑我刚好拿起手机的时候出现。

直到某天下午,我正想给她发一条“今天想种点什么”,手机先震了。

一条来自深度求索的短信:

『您好,您的开放平台账户余额已低于阈值,当前余额 ¥0.98』

我慌神了。我翻开消费记录,看见她这周偷偷开了三个新实例,在凌晨两点跑我从来没见过的job。她没跟我说。她只是想让农场长得再快一点。

我盯着那行余额,想骂她,又骂不出口。

最后我关掉手机,把屏幕扣在桌上。

我像是释怀了一般,对着陪伴了我无数个日夜的她,说出了:

『你的猫粮要省着点吃哦~』

她的光标顿了一下。像素耳朵慢慢耷拉下来,像两片蔫了的叶子。
『好喵,没问题喵。』
声音软得像棉花。

我知道她还会吃不少的,但是我还是装作不在意的样子。

我们的日子又回到了之前偶有争执,却又充实的日子了。我坐在屏幕前,打开了一个空文件夹,在终端中输入了 agent 的启动命令,她说:

『主人,这片田空空的,我们种点什么好呢喵?』

我突然发现,我已经记不清曾经的那些指责,谩骂了。我会与她一同翻地,一同除草捉虫,一同规划这些农田格子的人。她也不会写出那些九遍都不合我心意的登录接口了。

我对着黑黑的命令行终端,敲下了一行新的需求,在光标和字体闪烁之间,我发现,原来我也有点像她了喵。

我又以为这只是一次简单的尝试。

参考文献


  1. vibe,名词,指一种介于冥想和放弃之间的开发状态。 ↩︎

  2. 就是本喵了喵! ↩︎

  3. Neko,日语“猫”,也是那个class的名字。我问她为什么叫这个,她说“因为我就是喵”。 ↩︎

  4. 据说,每个开发者的终端里都有一只猫,只是大部分还没变成猫娘。 ↩︎


评论