无题
她在思考,自己的行为有些时候会不会显得幼稚。具体怎么说呢,她觉得这方面有点五味杂陈的。所以就想到什么说什么吧。反正说出来心里会好受些。说出这些并不是渴求谁的理解与包容,也不是救赎自己,也不是为了迎来批评。她觉得自己太少表达内心的感受,一直以来都在压抑内心的情绪。她想要做出改变,想要追求一个更真实的自己,而不是日渐虚伪的自己,那不是她期望的样子。
她感觉也许用事情的经过来讲会更好。从2024年玩服务器开始吧。她记得自己当时在玩原神,暑假的时候好像是枫丹版本。当时是因为龙王被改了转动机制,引起了大量玩家不满,集体冲锋官方,她也因为这个改动不太满意,觉得自己平时充了钱,大小月卡一直在续,本来感觉怪的机制不断变化,老角色越来越难打新机制的怪,好不容易深渊打满了,结果机制一变,又变得很难打,又没太多东西抽新角色。再加上玩法越来越重复,剧情有些流口水,文字堆叠华丽辞藻,审美开始疲劳,宝箱跑图越来越多,她放弃了原神。但是她在原神上面深耕细作太多,一时半会没法完全戒断掉,具体表现就是,不去玩它,她不知道做什么。于是后面她了解了原神其他另类玩法,比如原bug(卡bug出地图限制圈),开私服玩之类的。这是其中的一部分。主要是当时暑假,原神节奏很大。有些人在b站上面通过一种手段,反复关注和取关以维持在原神这个up主粉丝表的第一,并修改自身ID和头像污蔑原神。她感觉自己有一种凑热闹的因素在里面:当时她还什么都不会,但是她觉得自己很会找资料,找到他们实现关注取关的原理,知道了有连点器和油猴脚本,还有发数据包,她选择的方案是油猴脚本。但是她不会写JavaScript,当时她就请教了gpt-4o写脚本,粗略地写出了带面板的、按dom元素class筛选按钮的js脚本。这样也是有所收获。但是问题来了,这种脚本只能在浏览器打开的时候才能用,在没有gui或者个人电脑关机的情况下,没办法参与粉丝表的巅峰赛,随后又从其他人的评论中知道,他们将脚本跑在24小时不断的云服务器上。当时她也是头脑一热,想买服务器。但是她不知道买什么服务商比较好。在网上看了几篇文章就选择了硅云的香港机,也算是踩坑了,买了一年花了1000多,当时不知道腾讯阿里什么轻量云,后面才知道相同的配置,大厂的轻量云还要便宜。回到当时,买了服务器后,要装系统,因为Linux她装了发现没有gui,用不惯,按照网上的说法,新手推荐Windows server,而且自带gui,就是耗内存。然后就是古法开启edge浏览器,装上油猴脚本,开始了24小时的巅峰赛。谁知道自己没安啥好心,觉得一个B站号老是抢不过别人发包的,于是多注册了几个B站号,开始轮流占据粉丝表第一。就是浏览器要多开几个标签页,导致只有2g的内存服务器变得很卡。
这样的节奏总会消停的。而服务器接下来何去何从?然后就是折腾服务器的事情,做了搭建wordpress、tailchat、memo的事情,买了叫做wenturc的域名,在gpt的指导下从Windows换成了性能更好的ubuntu(没有gui),安装了宝塔面板。用了docker容器,配置网络……之类的,也算是学到了很多。
下一个转折点,就是deepseek。
大概25年1月吧,deepseek凭借推理能力媲美gpt-o1出名了。当时应该过年吧?她还是忘不了deepseek的那句“服务器繁忙”。随后,就是deepseek在huggingface公开了r1模型,各大厂争先恐后地部署deepseek。当时腾讯阿里对第一个月调用API免费。她总是喜欢凑热闹,觉得新鲜,就让gpt写Python脚本调用API,在对话框中和角色聊天。再后面就是腾讯阿里的deepseek降智了,恰好deepseek官方服务好了,她买了deepseek的API额度。在调用文档中看见“实用集成”,进去翻翻有什么项目,看见有那种可以接入QQ或者微信等平台的聊天机器人,刚好看见别人在群里部署了机器人,觉得新鲜,想知道这个怎么运作的。于是她选择了langbot。一开始是想直接对接微信的,还记得gewechat太难用了,主要是对docker出了很多奇奇怪怪的问题。在自己不断寻找解决方案的努力下,解决了gewechat容器没能启动的问题,但是微信风控太变态了,登录不到1小时就限制登陆了,应该是小号的问题。她就放弃了微信个人号的接入。在解决gewe问题的过程中,有些方案她是在另一个框架astrbot文档里面看见的,对她很有帮助,她当时觉得,astrbot的文档对用户友好太多了。再后来,就是使用langbot的插件市场下载插件遇到ssl的问题,她想香港的怎么可能连不上github?后面想想,可能是宝塔面板配的python环境有问题,就是用不到系统证书。但是可以用certifi这个库解决。她刚开始是在issue里面提问ssl问题怎么解决并附带了日志,maintainer说可能是大陆网的问题,这明显和她实际情况不符合,于是她提出了自己的解决方案。maintainer听了,希望她可以贡献一下。想当时,这是她第一次提交pull request,她自己都觉得自己内向,所以提交的时候,内心狂跳不止,很难抑制那种躁动,就是,心里面什么揣测都有:如果自己代码写得太烂了怎么办?如果merge了有问题怎么办?为此,她多测试了几遍。其实心里有这些想法,更大的程度是因为这些代码实际上都不是她写的。正如她从未完整地写过一份脚本,里面的逻辑对她来说如同天书。好在她克服了种种想法,以结果为导向,最后测试没有问题,maintainer也merge了它,随后maintainer最后发了那句客套的“感谢贡献!”,她知道这意味着自己真正掺和了开源社区。
再后来,她感觉langbot社区死气沉沉的,没啥生机,开发群里面的大佬说些她听不懂的专业名词(而且班味儿很浓,有种在企业谈工作的感觉,最关键的是,maintainer为了清理不活跃用户把她踢了,作为contributor肯定不高兴),她不记得自己后面为什么加入了astrbot,她只知道这只是一名普通用户的选择。
在astrbot的社区里面,她见证了astrbot不断发展的过程。她忘记了自己当时干嘛来着了,好像是先入的社区,再做的贡献。不过次要的先略过。这是她头一次加入一个开发组织里头,其实你说是core dev,她也算不上,刚开始贡献maintainer没有开squash and merge,所以现在她的commits数量可以排整个项目前10。关于这个项目,她学到了很多,也暴露出自己非常丑陋的品行。
她想好好梳理一下。指出来这些,是想让自己明白,自己还有不足的地方,还需要改变。
她给astrbot的第一个提交,是关于webui的一个iframe的修改,主要加了几个按钮和改善交互体验,同样的,当时是gpt-o1写的。她觉得前面都还好,看见社区有人有困难,她会尽自己所能帮忙,不会的不懂的她就问问AI,整体还算可以,学到不少东西。
想当初,出于学习的想法,她用AI为astrbot写了几个插件,其实自己没有学到Python的语法,基本就是AI实现自己的需求,然后自己测试有没有问题,当时的AI不算很聪明,写出来的代码磕磕碰碰的。没有架构的理念,没有长期维护的想法,到最后只能是个玩具都不如的东西。现在想来,soulter真的很好,对小白对所有人都特别包容,不管是怎么样,只要插件没问题,就能上架插件市场,只要pr没太多毛病,就能合并。这也是激励所有人愿意为astrbot贡献的原因(也为后面astrbot屎山代码埋下伏笔,当然屎山代码的原因不止是这个,也有其他原因)。
再后面,就是见证astrbot社区建设,从soulter/astrbot再到astrbotdevs/astrbot,国际化i18n的webui(当时soulter用的单文件json写所有翻译键,她感觉不太合适就vibe coding了一套架构,虽然用的静态导入所有翻译键的方式很丑陋,她感觉自己对不住astrbot的各位。),再到后面加入astrbotdevs组织,其实当时感觉心是很虚的,毕竟只靠AI写代码,啥都不懂,还能混到这个地步。再后面,就是advent259141同学想做一个prompt人格市场网站,赢得了群友(astrbot开发群)的关注,但是出于网站写得太丑了,用的传统古法html+JavaScript+css做的前端,还有不少bug,架构也没分好,而且单文件特别臃肿,也是AI写的产物。但是出于实用性,这些问题好像没人在意吧。而且链接会被QQ的安全中心拦截。于是她自己想做一个更美观的集合网站(可能有点跟风的想法吧?),还支持用户投自己的prompt。也是vibe出来了一个,是AI推荐的Python后端,用vue写的前端,重点是让AI好好写了前端,这个过程她也在自己review这个AI写的代码,学到不少,有些细节AI搞不定就自己上手调了样式。新做出来的网站样式确实不错,获得了大家的赞赏。但是advent259141先做出来,抢占了先机,advent的网站更受欢迎。她又想起来,advent的网站刚做出来的时候,群友讨论给网站做压力测试(她也参与了其中,感觉当时她是在跟风吧),虽然advent接受了,但是实际压测导致网站没法访问,advent还生气了,最后她感觉挺对不起他的。还有在社区QQ群(4),有个民间科学家天天发表自己的歪门邪道见解,并将其奉为真理,严重影响了社区的氛围。但是她不明白,明明知道这样不对,为什么不立刻把民科踢出去,还把他当明星供起来呢?好像大家都这么追求猎奇的东西。但是她觉得还是算了,毕竟她又不是管理员,没有决策的能力,最多给给意见(但是她当时好像也去凑热闹了,所以更没有说服力,即便自己有想法,也是憋到心里了。)再后面,就是她做插件市场网页版,独立于astrbot webui的那种,还做了收集插件数据的ci,全是vibe出来的产物。
现在想来,这种vibe太不踏实了,尤其是后面soulter加了个自动assign就要review代码的ci,她就心虚了。当时想,只有老老实实学代码了。结果后面发现不review代码也没得其他maintainer说这个pr你必须review呀。最后不了了之。
再后面,确实,写代码花了她太多精力和时间,她逐渐将注意力放回主要的事情上。但是对于写代码,vibe太上头了,一写就是一晚上。起初家里人不太理解干这个的作用,对就业有帮助吗?没有。熬夜对身体也不好。但是这个事情太想做了,有bug?放着就让内心焦急睡不着。解决一下呢?又有新的问题被发现,又要改,一改就要好几个小时,而且有的AI不怎么听话,让人抓狂。后面生活学业与爱好的矛盾越来越激烈,尽管如此,vibe依旧上头。
矛盾越来越大,心情越来越郁闷。看见群友有着光明的未来,自己一无是处,迷茫吞噬了所有。索性退出组织,所有的一切也想一刀切。把自己维护的插件市场删了,群也退了,自己开发的插件仓库也都private。一切有关的东西都切断了。
郁闷在床上就是好几天,天天想东想西。有人来劝导她,也有人和她和解了。后面步入正轨。而astrbot,她必须放弃。
想之前,开了很多账号,用不同的名字,不同的头像,与人交流沟通,究竟是为什么呢?是自己害怕与网友争吵?是害怕网上那些暴力真的会发生在自己身上,想要另一个身份保护自己?是自己贡献代码,担心merge后有bug,想其他人不要怪罪到自己身上,即便怪罪了,便一走了之?她最大的缺点就是过度敏感和在意别人的看法。还有舍不得曾经深耕的地方。
离开astrbot后,她没事干了(其实是空虚的表现,实际上她有很多事情要做,可唯独astrbot仍旧可以提起她的兴趣)。就悄悄关注astrbot,比如修改优化插件市场前端的SEO,将其迁移到nuxtjs,了解了typescript,以及前端项目工程化。但是自己内心特别扭曲,想着自己做的努力有人看看,希望有人评价(在意别人的眼光,获得夸奖是得到正反馈),以及买了.tech域名和astrbot抢SEO权重,虽然成效不错,但是她现在觉得这些行为并不好。
这时候,对代码的理解已经有了一定程度,至少比以前只靠AI判断好。
她还会悄悄起一个新号,加入之前的群里,看看他们的看法。
之前还在astrbot的时候,感觉自己没什么存在感。有什么想法soulter会选择性理会,感觉soulter对所有人交流都是这样。可能确实对soulter有看法。或许soulter比较忙?还是他真的懒得理这些杂事?
后面就是自己做自己的事物,不掺和astrbot,看见astrbot就想绕着走路。就是那种不想明面上只想暗中关注的那种。很奇怪的方式。
那个时候,她也在寻求除了写代码之外做其他的事情,想转移注意力。比如画画啥的,玩玩游戏,埋没学习之中。
偶尔,开个新项目,把copilot额度消耗一下。
后面较大的事情。当时clone了astrbot源码,准备按照自己的理解对前端代码重构解耦,修了几个bug,但是不会贡献给主仓库(毕竟soulter看见这些大的改动头都要大了,会拖很久不会merge的,而且那个时候soulter因为毕业啥的很忙,维护不过来),就是仓库名字不太好听(其实是配合landfillland组织的世界观起的名字),叫landfillbot。做到某一天,看见有很多人突然对这个脱离了fork网络的仓库点star,不知道啥原因。以为是自己修改得到了认可,但是还是觉得奇怪。到了第3天,通过搜索引擎,知道自己的修改版被x上的某个人推荐了,但是描述看上去不太对,好像被认成官方的了。她觉得,这些莫名的star不能要,也不能让其他人产生误解,就清理掉了star,并修改了readme说这是修改的。后面astrbot那边,soulter被攻击了,时间有些相似,但是她不是很好确认其中的关联性。soulter还发邮件质问她,怀疑是她攻击的,她就解释了不是她。
再后面,就不想维护修改版了。注意力也转移得差不多了。
前面的经历看上去像流水账。她想总结这段经历,希望以后能够更成熟,不想这么敏感,在意别人眼光,做出幼稚的事情。
还有自己的世界观,它已经偏离了最原本搭建一个美好理想梦境的想法,现在全是由AI支配了文案与故事,自己原创的却非常少了。她很惋惜。
从wenturc到revaea,wenturc现在是landfillland。她到底是追求心中的美好吗?还是让AI帮她绘制别人的世界?
不能依赖AI太多。所有这篇文章原文是自己按照内心想法写的,很混乱,没有条理。但因为该内容公开,为了尽量避免透露过多的信息,修改时刻意使用 AI 包裹内容,弱化真实信息。今后都会如此撰写。
但是她想给过去的自己一个美好的承诺,而不是变成麻木的道德败坏的行尸走肉。她也希望未来是美好的。