日常工作就是面向 google/ 百度编程,除了给变量命名是手动输入,大多时候就是通过搜索引擎拷贝别人的代码,或者找到旧项目一段代码拷贝过来使用。这无疑是开发人员的真实写照;然而,通过搜索引擎搜索答案,无疑是粪堆里淘金子,遇到简单的问题,一次搜索点三个连接找到答案,复杂的问题可能要反复调整 搜索的关键字,分别有在 百度 和 google 尝试查找,甚至 还要用 bing 碰碰运气。
大语言模型(LLM)的好处是让寻求答案的过程更加的直接,精确的描述问题,可以直接得到答案,比起从搜索引擎从几十上千万条结果中找答案好太多了(当然,大多时候很少翻到第二页的答案)。
所以,最近一直尝试用 New Bing 的聊天来代替 搜索引擎的使用。刚好前几天收到了 通义千问的邀请码;尝试体验了一番。
使用场景
我的日常工作是编程,涉及到的技术栈。
- python/go
- JavaScript/Vue
- MySQL
- linux/docker/k8s
go语言没那么熟悉,时常会问一些比较基础的问题。比如:实现一个函数判断list 包含功能。
我还需要进一步给出调用函数的例子。
MySQL虽然无脑用了多年,手写SQL还是有些费劲,所以基本上都是随用随查。
稍微复杂一点的联表查询。
docker/k8s 也会时长用到,一些常用的命令会通过 utools 的备忘存下来,随时粘贴。这里用过LLM提问也可快速给出例子。
定时任务 偶尔也会用到,每次用到复杂的定时,都要找个crontab的在线工具调试一下才能使用。
javascrip 语言比较简单,逻辑不复杂都是无脑写,很少有查用法的(下面的提问给的结果不太正确)。
聊点个人看法
我这里不评价各个LLM的好坏,当然,从网上各种评价来看,chat GPT4是最强的。不管用哪个LLM 都不能 每次100%的得到想要的正确答案,就像google公认最好的搜索引擎,但有时某类问题我用百度更容易找到结果。
从LLM 替代 搜索引擎的过程中,我个人的体验,目前至少 50% 的问题可通过LLM 替代,而且答案质量很高(至少答案的格式简洁明了,例子清晰可用,很多人写的技术文章,包括大量转载的技术文档像一坨xx)。
我不太理解利用 LLM 生成一个网站的代码,这种需求场景,如果是非开发人员,完全不懂代码的人,首先,不懂开发就很难描述自己的开发需求,生成的代码就很难100%贴合自己的需求,其次,他没有能力鉴别代码的质量,更无力做出任何修改;最后,当然也无法将这份代码部署甚至是运行起来。或者,在这个过程当中,需要大量的提问来填补基础知识,所以,对于不懂代码的人生成的网站代码是无意义的。如果是一个经验丰富的开发,可能不需要生成一个网站的代码,他只需要 LLM 生成关键代码即可,自己快速调试、拼装、实现需求。
人的工作和学习是建立在自己知识边界上的,假如我学会了数字,我可以进一步学习加、减法;如果我连数字都不认识的人,就算LLM可以生成了微积分的结果,我仍然不懂微积分!看不懂推导过程,更无法判断结果的正确性,显然这个结果对我毫无意义。
站在这个角度,我觉得 LLM 无疑提升了工作效率,至于提升多少,完全取决于使用的人有多少的知识储备,以及工作中有多少工作可以交给LLM完成。目前来看 LLM 对我个人的工作效率有所提升,但提升是有限的, 当LLM这阵风刚刮来的时候,我想大家都比较焦虑,认为很快自己的工作将会被替代,10个人的工作马上1个人都能干了。显然,太过高估了LLM的能力了,也太过忽视了人的重要性了。
当然,随着 LLM 能力的指数级增长,我毫无怀疑AI 可以提高工作效率,改变我们的生活;显然,这并不是一夜之间可以完成的;我们有时间拥抱他,使用他!
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!