贾维斯——程序员的强大人工智能

看过《钢铁侠》之后,我从小就梦想做一个人工智能助手:我用 Voice Commander 在 Windows 98 上配好语音控制,让它移动鼠标、启动程序,但看起来很炫,其实并不好用。那时候连语音识别都是一件大事,能对话更是觉得一百年以内都别想。

2024 年到了。
我作为程序员慢慢成熟,学了各种技术栈和框架,也做出自己的模板,用来快速搭起任何项目。我就这样一边做普通的外包,一边慢慢走向创业。

我用 ChatGPT 写了大量代码,明白它能按我的模板来写,只要告诉它整套东西是怎么搭的。

它也能用我的数据库,只要问得巧,并且把权限给它。

琐事很多,GPT 看起来正是终于把它们解决掉的办法。


第一版。这是应用的核心:接收文字,分析任务,问 GPT 还要补什么,然后写出来。实际上就是现在很多 IDE 里加上的那种 Copilot。

写出第一批结果之后,事情清楚了:我手里不是一堆代码文件,而是一个个项目。于是我加上了项目支持。

项目并不只是一个文件夹。我做了文件夹扫描,以及判断这个文件夹里是什么类型的检测器。到这一步,贾维斯有了自己的项目库。遇到不认识的文件夹,它会问这是什么项目、是做什么的,需要写代码时再把这些放进前置提示,这样它对项目了解得更多。

数据库管理。我早就想让它按我的要求自己管数据库,后来做到了,还加上代码是否正确的校验。它不只是能加一个字段,需要的话可以从零建出所有表并填上数据。

同时我让它学会向我提问,并在电脑上像在自己家里一样:它知道正在运行的进程、窗口、文件,以及我眼下在做什么,这样我就不用解释该在哪里做什么。


为了写代码更顺手,我让贾维斯给我写一个 VS Code 插件,轻轻地取信息,再交回给它自己分析。就这样,我对写插件一无所知,也把它做出来了。

这是贾维斯为自己做的。

于是除了输入界面,我还有了和 IDE 的紧密集成。

它从 VS Code 取出文件,自己判断正在运行的项目,抽出表结构,并做本地部署。

但是。有时看不清它具体改了什么。我给它加了 Git,以便看到新内容并快速回退。现在贾维斯会为自己的改动单独开一个分支,成功的就自己提交。


该更贴近我的模板,在几秒内做出需要的东西了。

首先是安装新项目:我把所有安装脚本搬了过来,并在贾维斯的帮助下用 C# 重写。

我加上了 Vue 3 + TypeScript、Yii2、Bash 等等的支持,但最重要的是我那个根据数据表自动重新生成模型的工具。

现在贾维斯不只是能建数据库,还能自己配置模型。一大堆琐事从我肩上卸下来了。还应该让它把迁移也补上。


工作

贾维斯已经进过我的好几个项目,它没碰过、没留下自己 git 分支的地方越来越少,因为实在太方便了。

接下来呢?

走着瞧。