ChatGPT 初体验
2023-04-03 ChatGPT
概述
ChatGPT
从 2 月份热度一直持续到现在,并且在接下来的一段时间内,热度还会持续下去。笔者从 3 月初开始慢慢接触,从最初的在 搜索引擎
和 ChatGPT
之间来回切换并验证,
到目前的简单搜索场景 80%
的时间都是直接用 ChatGPT
的,本文总结下这一个月的时间,笔者用到的最多的 4 个功能。
文档查询
开发者在日常工作者经常需要在服务器或容器内运行各种命令,熟练掌握并记住每个命令的的使用方法显然不现实也没必要,换做以前,常规的做法是通过 搜索引擎
或者直接去 官方文档
查找,
但是这种方式相比 ChatGPT
来说,效率还是低很多。
场景
查询当前服务器上所有的镜像以及每个镜像所有的标签。
如果用 搜索引擎
查找的方式,大概需要这样一个流程:
- 输入关键词,点击查询
- 从搜索结果列表中选取页面
- 点击 3 - 5 个 (平均值) 页面后,查找到自己需要的内容
但是,如果换做 ChatGPT
的话,只需要一步即可完成上述工作 (前提是 提示词
要设置正确),下面是 ChatGPT
返回的结果:
生成单元测试
这个功能可以帮助开发者省去很多编写 重复代码
的工作量。
场景
使用代码实现一个函数,求两个整数的除法运算,要求编程语言为 Golang
并且附带单元测试,下面是 ChatGPT
返回的结果:
ChatGPT
实现的函数中,基本上边界条件都考虑到了,健壮性很高,代码实现也很 优雅
,当然了,这个功能太过常见,应该是 ChatGPT
学习数据里面的基础库了。
不过从这两个简单的例子中,有两个方面启发到了笔者:
- 在定制化的业务场景中,通过
ChatGPT
快速建模并给出海量机器学习库训练后的代码,为我们自己的实现提供参考 - 通过上传自己的实现代码,通过
ChatGPT
完成代码优化、代码质量检查、自动化测试等工作
ChatGPT
给出了很 “专业” 的 表驱动测试法
。
自动化文档
这个功能可以帮助开发者省去很多编写 文档注解
的工作量。
r.GET("/ping", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
})
上面是一段接口示例代码,要求 ChatGPT
自动为其生成注解,下面是 ChatGPT
返回的结果:
ChatGPT
不仅生成了注解,而且给出了一套 “傻瓜式” 操作指令,而且针对每个步骤以及生成的注解参数给出了详细的说明。
Github 找项目
如果我们想知道某个细分技术领域下的技术栈或开源项目,可以不用专门去 Github
搜索查找,让 ChatGPT
帮助我们完成即可,毕竟两者的数据是互通的 (因为微软?)。
下面随便举几个小的例子,来看看 ChatGPT
返回的结果:
这里的数据有些滞后,因为笔者使用的不是最新版本 ChatGPT
。
小结
以上就是笔者目前经常使用 ChatGPT
辅助开发的 4 个功能,后面如果有更好的工作辅助方式,再总结分享。