Vibe Coding 体验
天下事有难易乎?为之,则难者亦易矣。 ——《为学一首示子侄》清·彭端淑
上周,我接触了一下所谓的 Vibe Coding,没有弄什么大项目,只算是浅尝。
起因是 OpenClaw,为了使用龙虾,我烧完了在 Moonshot 上充值的 100 元,对大模型 API 多少有些了解了。听了《津津乐道》的这期播客,也想体验一下朱峰推荐的国外大模型。根据播客里说的,朱峰建议给龙虾配最好的大模型,他的建议是国外的用 Claude,国内的用 GLM。因为好的模型虽然单价贵,但效率高,可以消耗更少的 token 给出更好的结果,比便宜的大模型总体来说会更加节省。
从这里出发,我了解了一下 Anthropic 这家公司的大模型,也研究了一下 Claude Code 这个工具。之前我其实听说过,但一直没有去看看它是什么东西,印象里只是辅助编程用的。近年来我编程的少了,所以对这类工具也不是很上心。看了一下,安装起来挺简单的,于是我就装上了。
虽然我之前在 Anthropic 的网站上了解了,它们对区域检测的很严格,对中国大陆不开放。虽说我用科学上网的方式可以绕过这一项检测,但要购买他们家的大模型,还要验证电话,就很麻烦。我想用 Claude Code 先试试看,结果发现要想使用它,上来需要在里面执行 /login 指令进行登录,因为没有账号,我也没法继续用下去了。后来上网找绕过的方法,找到了 CC Switch 这个工具,挺便利的解决了我的问题。我从 HONGMACC 购买了一个中转订阅,给了我一定额度的 Claude 模型使用额度,这才比较顺利的用上了 Claude Code。
除此之外,我在更之前的一周,用半个下午的时间,通过 VSCode 里自带的 Copilot 工具,构建了一个 Django 项目。我给它描述了需求,它给我生成了代码,经过几轮的完善,我感觉之前曾经构想的实现科技项目的软件应用已经基本完成了构建,这已经让我比较吃惊了,但这次的 Claude Code 让我的体验更进了一步。
进行了少数的测试性质的代码生成之后,我心想手头上也没有正式的项目可以用来体验尝试。然后想到了我前几天想给这个博客加个标签云的页面,上网搜索了一下方法也感觉有些麻烦,既然 Claude Code 这么厉害,为什么不用它来试试呢?我就在我的 Hugo 文件夹里启动了 Claude Code,给它描述了我的需求,它果然把我想要的给我生成好了,我指挥它简单的做些调整,我感觉效果就让我十分满意了。而且做完之后,它还可以帮我提交到 git 仓库里,并把日志写的明明白白。一不做二不休,我又通过这种方法,给博客增加了一个 404 页面,不光是显示 URL 错误的一句话,而是还提供了随机生成的 10 篇文章的链接。一开始生成的 10 篇文章是静态的,我给它提要求,加上一段 js 代码,这里也成了动态的了。
次日,我让它帮我处理 Emacs 启动时的报错。原因是 Org-mode 的版本存在问题,官网上的更新版本的 Org-mode 没有在第一时间引入,结果让 Emacs 自带的老版本 Org-mode 给抢了先,带来了版本冲突的问题。虽说 Emacs 告诉了我解决方案,但我没有手动调整,而是在 Emacs 配置文件目录里启动 Claude Code,让他分析我的全部配置(几年前按照陈斌或者 Purcell 的架构手攒的),给我提出改进意见。Claude 给我提了 10 条,我进行判断后,按照优先级,告诉它先处理第几几几条,修改完成后看看效果,提交 git 仓库,再处理剩下的几条。这么反复迭代几次,问题就解决了。而这次,我也已经把 Claude Code 使用的大模型,从官方的 Claude Sonet 换成了更加便宜的 MiniMax 模型,效果也挺不错的。
这给我的冲击有点大。在没有接触过这方面的时候,我只知道它们可以辅助编程,但没有想到可以做到这种地步。将来都不需要手工敲代码了,有经验的程序员指挥 AI 就可以高效的生成代码,未来只会敲代码的程序员会被淘汰吧。而且这也不局限在编程方面,像 Emacs 的配置,虽说也属于 Emacs Lisp 代码,但配置的意思更大一些。我想不光可以对 Emacs 进行配置,我也可以通过它来探索之前没有搞成功的 dwl、River 等窗口管理器,因为这一切都变得更简单了。