作者:京东科技 赵龙波
“贾维斯,你在吗?”
“随时待命,先生。”
类似《钢铁侠》里的人工智能助理贾维斯,ChatGPT或许是你的随时待命的助手。ChatGPT在大量文本数据上进行了培训,这使它能够理解单词和短语的上下文和含义,并生成高度相关的上下文响应。能完成撰写邮件、视频脚本、文案、翻译、代码等任务,作为一名开发人员,尝试探索一下chatGpt对我们的工作能有哪些帮助。 (由于 ChatGPT对国内禁止访问,以下是通过调用openAI的api接口实现的对话,所以界面与原生有所不同。网上很多种实现方式,不多赘述。)
先来看看chatGPT自己的回答:
每次回答都不一样,但都差不多的意思,这个回答比较抽象,如果再具体一些就好了。下面列出了一些使用场景:
回答一些基础的编程或者计算机问题
这应该对AI来说是小儿科了,但确是比较常用的功能,不懂就问。
生成正则表达式
这两个答案都是准确的。这样使用起来确实比搜索要方便很多
编写脚本
如:shell脚本
这个脚本是正确的,再来一个复杂的:
为了验证这个脚本是否正确,去服务器上运行了一下,是没有问题的,并且nginx路径就是nginx默认的文件夹路径,不用更改:
写sql语句也不在话下:
我这里问的比较口语化,且写错了标点符号,它还是理解了。
shell脚本可能是AI使用它海量内容查询到类似的然后仿造的,但sql语句是它真的理解了问题并结合实际语法创造出来的👍。
文字命名格式转换:
文字格式转换有成熟的各种实现,这也算一种途径。
生成代码
比如:写一个简单获取每月最后一天的公共方法
上面实现不难,再尝试写一个包含多个方法的工具类,并一次生成:
不仅给出了代码,还把注释也打上了👍
甚至可以约定使用的java类版本:
如果你对这个写法不满意,同一个问题再次发问,还能给出其他写法:
项目中经常用到各种各样的工具类,也许下次试试直接说出你要的功能,让AI给你写出来吧
起名字
如:给某个类命名
你正在看的这篇文章标题也是chatGpt起的,这是经常头疼类名应该怎么起的人的福音。
生成伪代码:
在技术方案设计或者讨论的时候如果需要写一些代码,可以尝试。
代码优化
如:代码bug修复:
甚至帮你把代码重写:
依然可以,如果你想把代码用lambda重写,让它来试试。
技术资料翻译:
这是截取的G1英文文档的一段描述,这里面包含了一些G1垃圾回收器的参数信息,翻译时这些应该保留为英文,新生代和老年代这些特有名词也最好用英文表示才更专业,这些细节它都做到了,且它的翻译与中文版本的差别不大,几乎没有错误。
其他功能
如: 算法实现:
以上测试数据都比较偏简单,但依然能看出它的潜力。纯业务场景代码需要结合实际项目,相信如果让它学习训练某一个项目之后,或者他真的可以写出一些业务功能的代码来。google等一系公司也在研究AI编程可能行,足以说明其潜力。
可以在idea里安装NexChatGPT插件,方便随时调用查询。 如果有更好的使用场景idea,欢迎留言讨论。
ps,最后一问: