谁应该学习ChatGPT?

引言

ChatGPT一经推出,火爆全世界。而在我们日常的编程开发中,Copilot 带来的各种便利,也无时无刻的提醒着我们:AI 从来没有离我们这么近,这么接地气。

那么,ChatGPT有啥用?和我有啥关系?我应该学习 ChatGPT吗?现在学习 ChatGPT 还晚吗?

带着这些问题,我们来看一个真实案例,看完后或许你会有答案。

案例背景

作者最近在开发一个数据库脏数据修复脚本,但是由于考虑不全,修复后产生了新的问题,需要对修复数据进行二次处理。

因为公司客户采用私有化部署,所以会有对应的技术支持(售后)专门对接和解决客户问题。

而恰巧对接这个客户问题的技术支持对 Linux 命令、正则这一些文本处理类的技能不太熟练,于是就有了ChatGPT 的用武之地。

要做什么

扫描脚本生成的 SQL 语句文件,大概有 5000 条数据(抛开注释),内容格式为:

sql 复制代码
-- 2653876.docx
update ets.resources_tags set otag='17F57AF9E54044029E8EEAF7CA0B731D' where objectId='00000DFEAE284C389BECAC3C2FE28E57';
-- 8827560.docx
update ets.resources_tags set otag='98F198C57C4E4B8CBE3D37030C7C325D' where objectId='00000A78E9D14058A2DC19780F6F4AAB';
-- 7888598.docx
update ets.resources_tags set otag='E36BCA0E263B4294A8F8A4934D50E9CB' where objectId='00000F87F8C84BD78EECB59E392DDE29';

现在需要对这个文件进行二次处理:

  1. 把这 5000 条数据的 otag 值批量改为 2024
  2. 查询这 5000 条数据中,那些数据造成了二次错误,统计一下有多少条。

任务一可以用任何编辑器,比如 VS Code 查找+替换处理。任务二稍微麻烦一点,需要解析这个文件,然后从 otag 中提取 '' 中的内容,替换到下面 SQL 语句的 in 中:

sql 复制代码
select count(1) from eofs.metadata where objectId in
('ABC3D6FBD5194B4981EA4AE7A804A633', '2A97CA7AA33A45D9AE03158102AA69FF', '4B94D26B88CD4F519B0F413073E5D09C')
and basic_attr=4 and name ='0';

我们看到,这本质上就是一个数据处理的场景,涉及到 Linux命令、正则表达式和 SQL 等技术,于是这位同事绞尽脑汁:

如果是你,你会怎么做?

而我是怎么做的呢?我问了下 ChatGPT,5分钟就解决了上面的2个问题:

  1. 把这 5000 条数据的 otag 值批量改为 2024
  2. 查询这 5000 条数据中,那些数据造成了二次错误,统计一下有多少条。

下面让我们看一下,我是怎么提问的并一步一步解决上面的问题的。

使用 ChatGPT 处理数据

第一步:提取 otag 值

第一个问题,为了把这 5000 条数据的 otag 值批量改为 2024,我需要把文件里面的 otag 值提取出来,以构造下列 SQL 语句:

sql 复制代码
update eet.sresources_tags set otag='2024' where parentId in ('value1', 'value2', ...);

我是这样问的:

使用 sed 命令,从下面的文本中能提取 otag='' 中的值: -- 2653876.docx update ets.resources_tags set otag='17F57AF9E54044029E8EEAF7CA0B731D' where objectId='00000DFEAE284C389BECAC3C2FE28E57'; -- 8827560.docx update ets.resources_tags set otag='98F198C57C4E4B8CBE3D37030C7C325D' where objectId='00000A78E9D14058A2DC19780F6F4AAB'; -- 7888598.docx update ets.resources_tags set otag='E36BCA0E263B4294A8F8A4934D50E9CB' where objectId='00000F87F8C84BD78EECB59E392DDE29';

ChatGPT回答:

我们测试一下,首先准备一个文件,内容如下:

我们把命令贴进去,执行后:

牛逼!你还在查 sed 命令和语法,而我已经下班了。

第二步:合并逗号拼接

上面的格式,同事说还得手动行转列,加逗号拼接,太麻烦:

行,继续问:

使用 sed 命令,从下面的文本中能提取 otag='' 中的值,并用 , 拼接: -- 2653876.docx update ets.resources_tags set otag='17F57AF9E54044029E8EEAF7CA0B731D' where objectId='00000DFEAE284C389BECAC3C2FE28E57'; -- 8827560.docx update ets.resources_tags set otag='98F198C57C4E4B8CBE3D37030C7C325D' where objectId='00000A78E9D14058A2DC19780F6F4AAB'; -- 7888598.docx update ets.resources_tags set otag='E36BCA0E263B4294A8F8A4934D50E9CB' where objectId='00000F87F8C84BD78EECB59E392DDE29';

测试:

第三步:加单引号

到这里,这位同事发现 ChatGPT 好用了,于是主动让我再问一下:

来,改问题:

使用 sed 命令,从下面的文本中提取 otag 的值,并用 , 拼接逗号拼接,并且前后增加单引号括起来。 -- 2653876.docx update ets.resources_tags set otag='17F57AF9E54044029E8EEAF7CA0B731D' where objectId='00000DFEAE284C389BECAC3C2FE28E57'; -- 8827560.docx update ets.resources_tags set otag='98F198C57C4E4B8CBE3D37030C7C325D' where objectId='00000A78E9D14058A2DC19780F6F4AAB'; -- 7888598.docx update ets.resources_tags set otag='E36BCA0E263B4294A8F8A4934D50E9CB' where objectId='00000F87F8C84BD78EECB59E392DDE29';

测试:

小结

到这里,我们喝着茶,聊着天,敲了几次键盘,就完成了一个数据处理任务,不需要查 sed 命令、正则表达式语法。

我们把这种文件:

sql 复制代码
-- 2653876.docx
update ets.resources_tags set otag='17F57AF9E54044029E8EEAF7CA0B731D' where objectId='00000DFEAE284C389BECAC3C2FE28E57';
-- 8827560.docx
update ets.resources_tags set otag='98F198C57C4E4B8CBE3D37030C7C325D' where objectId='00000A78E9D14058A2DC19780F6F4AAB';
-- 7888598.docx
update ets.resources_tags set otag='E36BCA0E263B4294A8F8A4934D50E9CB' where objectId='00000F87F8C84BD78EECB59E392DDE29';

通过向 ChatGPT 提问:使用 sed 命令,从下面的文本中提取 otag 的值,并用 , 拼接逗号拼接,并且前后增加单引号括起来。

不费吹灰之力,转换成了我们想要的SQL:

从此,又多了一个粉丝:

批量转换为 2024

小伙伴尝到了甜头,奈何没有梯子,于是又委托我:

小 case,上 GPT:

使用 linux 命令,把下面文本中的 otag='' 的值统一替换为 2024: -- 2653876.docx update ets.resources_tags set otag='17F57AF9E54044029E8EEAF7CA0B731D' where objectId='00000DFEAE284C389BECAC3C2FE28E57'; -- 8827560.docx update ets.resources_tags set otag='98F198C57C4E4B8CBE3D37030C7C325D' where objectId='00000A78E9D14058A2DC19780F6F4AAB'; -- 7888598.docx update ets.resources_tags set otag='E36BCA0E263B4294A8F8A4934D50E9CB' where objectId='00000F87F8C84BD78EECB59E392DDE29';

测试:

优秀。

文心一言

因为没有梯子,百度的大模型刚好又公测了,我想着推荐一波,然而我只能说,还有进步空间:

测试(语法错误😀):

生成一串很长的代码:

总结

所以,谁应该学习 ChatGPT 呢?我的答案是任何人。

特别是和计算机打交道的,软件工程师、测试、技术支持等就不说了,公司另外一个让我印象深刻的一个例子是:老板秘书都在使用 ChatGPT,用来干啥?会议录音,自动转换为文字,管项目时,让 GTP 解释 SQL。


作者简介:一线Coder,公众号《Go和分布式IM》运营者,开源项目: CoffeeChatinterview-golang 发起人 & 核心开发者,终身程序员。

相关推荐
gb421528724 分钟前
springboot中Jackson库和jsonpath库的区别和联系。
java·spring boot·后端
程序猿进阶25 分钟前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
颜淡慕潇1 小时前
【K8S问题系列 |19 】如何解决 Pod 无法挂载 PVC问题
后端·云原生·容器·kubernetes
AIGC大时代1 小时前
如何使用ChatGPT辅助文献综述,以及如何进行优化?一篇说清楚
人工智能·深度学习·chatgpt·prompt·aigc
haibo21448 小时前
GPT-Omni 与 Mini-Omni2:创新与性能的结合
gpt
向前看-8 小时前
验证码机制
前端·后端
hunteritself10 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
超爱吃士力架10 小时前
邀请逻辑
java·linux·后端
AskHarries12 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端