之前一篇博客已經寫了有關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背叛的時候一時束手無策,,,希望我們未來不會這樣,
除非特殊說明,本作品由podolski創作,采用知識共享署名 4.0 國際許可協議進行許可,歡迎轉載,轉載請保留原文鏈接~喜歡的觀眾老爺們可以點下關注或者推薦~轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/548419.html
標籤:其他
上一篇:具有FTP、FTPS和sftp功能的文本編輯器——EditPlus功能介紹
下一篇:14.Windows權限維持
