0

ChatGPT与码农的机会

 1 year ago
source link: https://www.cnblogs.com/podolski/p/17264634.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

ChatGPT与码农的机会

之前一篇博客已经写了有关AI在博客编写方面的优势与对未来博客的编写方面的思考。这篇文档我继续分享我在开发中的一个案例和相关的感想。

我发现ChatGPT也可以帮助我编写OData,于是我也利用GPT帮助我编程。

  • OData如何将filter与apply字段联合使用?答案如下:
GET /odata/Products?$apply=groupby((Category), aggregate(UnitsInStock with sum as TotalUnitsInStock))&$filter=TotalUnitsInStock gt 100

ChatGPT提供了一个思路,不过这个例子却不能正确运行,因为通过聚合输出的结果已经不能再进行进一步的OData筛选操作了。

于是我继续告诉它这个不对,让他重新编写,却一直得不到令我满意的结果。

那么换一个问题,关于聚合查询的,对应的数据类型,可以看之前的我发的文章,我提问“我需要使用odata查询按照adcode进行归类,统计每个类别下面的attachdeviceinfo数量、deviceinfo数量和attachdevicetype数量”。回答如下:

/odata/DeviceInfos?$apply=groupby((Adcode), aggregate(AttachDevices/$count as NumAttachDevices, $count as NumDeviceInfos, AttachDevices/AttachDeviceType/$countdistinct as NumAttachDeviceTypes))

运行后报错,提示缺少with,于是我定位了问题之后,我重新提问“提示AttachDevices/$count缺少with,请重新修改”

ChatGPT开始给我乱写了:

“这个错误提示是由于count操作需要与一些其他操作一起使用,例如count操作需要与一些其他操作一起使用,例如filter或select。您需要将select。您需要将count操作与其中一个操作组合使用才能使其有效。

例如,如果您想要统计满足某个过滤条件的设备数量,您可以使用以下URL:

/AttachDevices?$filter=Property eq 'Value'&$count=true

请注意,在此URL中,count操作需要与count操作需要与filter操作组合使用,并且filter操作必须出现在filter操作必须出现在count操作之前。”

已经开始给我扯东扯西了,然后我继续修改提问的方式,依旧没有得到的我想要的结果。我总结一下:

  • OData相关的资料比较少,数据集相对也较少,所以适配并不好,感觉还是一个冷门的技术....
  • AI提供的思路完全没有问题,但是具体实现的语法上并不符合OData的规范。
  • prompt的方式或许也需要改进,提供更多的上下文或者辅助信息,帮助AI更好地解决问题。

最后,我想到如果$count不行,那么使用实体的具体属性用于统计是否可以?改成以下就OK了。

odata/attachdeviceinfos?$apply=groupby((deviceinfo/Adcode), aggregate($count as NumAttachDevices, deviceinfo/deviceid with countdistinct as NumDevices, attachdevicetype/id with countdistinct as NumTypes))

在整个过程中,AI做了大多数工作,但是我依然是那个临门一脚的角色。所以,AI时代提供给现在程序员的机会:

  • 依然需要掌握一些相对冷门,或者较为复杂的技术,这样在AI给的解决方案错误的情况下,不至于完全抓瞎。
  • 掌握快速Troubleshooting的技巧,遇见AI也不能解决的问题时,通过文档和相关经验迅速给出符合场景要求的方案。

所以,请警惕完全依赖AI时,它可能无法提供答案或者是错误答案。我想起了一个很久之前的电影《机械公敌》,人类在AI背叛的时候一时束手无策。。。希望我们未来不会这样。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK