ChatGPT的ABAP能力如何?
ChatGPT是最近的热门话题,作为语言模型,它擅长处理各种语言相关的问题。显然,ABAP也是一种语言,ABAP开发者的很大一部分工作就是把自然语言和ABAP语言做互相转换,这应该也是在ChatGPT的擅长范畴内。那么ChatGPT能做好ABAP开发者的工作吗?本文记录了我的一些使用经验和感想。
1,模拟场景:物料查询接口
4月初的时候我试着用GPT4创建了一个物料查询接口函数,过程记录在视频里:https://www.bilibili.com/video/BV1Mj411A71g/ (ChatGPT能写ABAP代码吗?测试1:函数)
在这次尝试中,我只给出了需要的输入参数、输出参数,ChatGPT即写出了完整代码,但并不完全正确。经过我的侧面提示,它把代码改正到了一个只要稍稍调整就能使用的部分。我又提出了关于SQL版本、物料描述语言方面的需求,ChatGPT完全正确理解了我的需求并做出了相应改动。
这个接口需求看似很简单,初学ABAP几天的人差不多也可以完成。ChatGPT能给出答案,这并不让我意外。
让我感到惊讶的是,我的大部分提示都是间接的,而ChatGPT可以完美领会提示语背后的间接含义。比如我希望它使用严格模式的SQL,但我没有直接提出这个要求,而是告诉它"当前ABAP版本大于ABAP 7.52,以此基础优化代码",它完全明白我的真实愿望是使用严格模式的SQL,并给出了相关代码。这种对间接表达的理解,是任何过去的搜索引擎、语音助手都实现不了的,即便是现实生活中的开发人员,也往往不具备如此强大的理解能力。
而它在语法上的一些小错误,在我看来是无关紧要的,毕竟语法检查器可以发现那些错误。ChatGPT并不是专门为编程设计的模型,如果把ChatGPT和语法检查器的结合起来使用,它应该有能力自动解决大部分问题。
2,实践场景:解释语法、查询报表逻辑
举两个实践例子。
例子一:上个月我遇到一位数据开发人员,他被公司安排把一个自开发ABAP报表的逻辑应用在其它数据平台上。这位开发者不懂ABAP,于是向我求助。
他向我提出了一些问题,比如某些ABAP语句是什么意思、如何把一段ABAP语句转写成他看得懂的SQL等,我花了不少时间来解答这些问题。事后,我把部分问题发给了ChatGPT,发现它可以解答大部分问题,特别是把ABAP代码转成SQL代码的部分,ChatGPT完成得很好,让我觉得手敲SQL的自己有点傻。
例子二:有一个根据交货单生成物料凭证的程序,业务顾问要我查到交货单和物料凭证的关联关系。我尝试把整个程序发给ChatGPT让它分析,但chatgpt一次接收不了太多东西,分段发太多的话,它也会忘记前面的内容。于是我发送了程序的主体部分、交货单查询部分和BAPI调用部分,ChatGPT找到了答案:交货单就是物料凭证BAPI参数中的REF_DOC_NO,即参考凭证MKPF-XBLNR。
3,其它
除了ABAP之外,我也尝试用它来做浏览器扩展,它的JS能力要比ABAP强一些,我用它完成了自己的第一个浏览器扩展,还用它读懂了一个Github上的热门JS项目KeepChatGPT ,并且提PR改了个小bug。
4,总结:优点和缺点
优点:
- 能快速实现代码翻译、改写
- 能"理解"很多间接提示和业务概念
- 能记忆和理解上下文,使用门槛低
- 解答范围广,不知疲倦(不考虑GPT4的3小时25条限制的话)
缺点:
- 知识比较陈旧,不清楚某些新版特性,比如DIVISION等函数。使用插件可以弥补部分不足,但即便使用WebPilot等联网插件,依然有大量无法获取的信息。
- 细节会出错
- 无法接收较长的文本,会忘记前文内容
- 会编造内容,特别是API
- OpenAI和其它接口供应商可能会通过降低回答质量来节约成本,这使得ChatGPT的表现可能不够稳定
总的来说,当前ChatGPT在实践中代替不了ABAP开发者,一来是它的能力有限(OpenAI没有提供它的全部能力,另外它没有被做专门针对ABAP的调整),二来ABAP开发者这份工作本来也是为了人类而设计的。
在未来,随着AI能力的进步、成本的降低、功能的特化,和相关工作流程、职位定位的调整,ChatGPT类工具必然代替绝大部分ABAP开发者。我相信,ChatGPT后的时代会是个和过去完全不同的时代。
ChatGPT的ABAP能力如何?的更多相关文章
- 国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。
1.ChatGPT简介[核心技术.技术局限] ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于202 ...
- 把 ChatGPT 加入 Flutter 开发,会有怎样的体验?
前言 ChatGPT 最近一直都处于技术圈的讨论焦点.它除了可作为普通用户的日常 AI 助手,还可以帮助开发者加速开发进度.声网社区的一位开发者"小猿"就基于 ChatGPT 做了 ...
- 介绍ChatGPT:基于GPT-3.5的强大自然语言处理工具
大家好,今天我们来聊一下ChatGPT,一个基于GPT-3.5架构的大型语言模型.ChatGPT在自然语言处理方面有着非常强大的能力,可以进行语言生成.文本分类.对话生成等多种任务.接下来,我们将会详 ...
- 算法题学习链路简要分析与面向 ChatGPT 编程
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 声明:此图片由 MidJourney 生成 未经训练,不属于任何真实人物 大家好,我是小彭. 2023 开年 ...
- 从Chat-GPT看爆火技术概念及医疗领域科技与应用场景
作者:京东健康 陈刚 一.前言 最近OpenAI在官网上宣告了多模态大模型 GPT-4 的诞生,它可能是迄今为止最好的多模态模型. 主要更新内容如下: 1. 逻辑分析能力更加全面.「考试」能力大幅提升 ...
- 一文讲透产品经理如何用好ChatGPT
作者:京东零售 何雨航 "4.0版本的ChatGPT可以有效提升产品经理工作效率,但并无法替代产品经理的角色." 一.引言 3月15日,OpenAI发布了最新的基于GPT-4的Ch ...
- 真实世界的人工智能应用落地——OpenAI篇 ⛵
作者:韩信子@ShowMeAI 深度学习实战系列:https://www.showmeai.tech/tutorials/42 本文地址:https://www.showmeai.tech/artic ...
- GPT接入飞书
GPT接入飞书 在体验ChatGPT这方面,我算是晚的.使用下来,更多的是对于这种应用形式感到兴奋,而不是ChatGPT的专业能力. 得知OpenAI提供GPT3的Api接口后,我想到了将其接入团队飞 ...
- 好奇心驱使下试验了 chatGPT 的 js 代码的能力
手边的项目中有个函数,主要实现图片分片裁剪功能.可以优化一下. 也想看看 chatGPT 的代码理解能力,优化能力,实现能力,用例能力. 于是有了这篇文章. 实验结果总结: chatGPT 确实强大, ...
- 和ChatGPT聊了一会天它的学习反映能力惊呆了我
我:用java写一段玫瑰花 ChatGPT:您可以使用 Java 绘制玫瑰花.以下是一段代码: import java.awt.*; import javax.swing.*; public clas ...
随机推荐
- Charlotte Holmes series
Charlotte Holmes Novel The charactors are adorable. Jamie and Charlotte are a very cute couple. More ...
- [网络]内网IP的判别与分类
1 内网IP划分 内网IP地址分为A类.B类和C类,其地址范围如下: A类地址: 10.0.0.0 - 10.255.255.255 B类地址: 172.16.0.0 - 172.31.255.255 ...
- [GIT]辨析/区别: git reset HEAD 与 git reset --hard HEAD | 版本回撤
1 场景1: 撤销到远程仓库或本地仓库的最新最近一次的正式版本 1.1 文由 时常有这样一种场景,不小心改动了部分文件,或修改了部分文件却发现无用,此时可能还没有git push,也可能push了:又 ...
- [Spring MVC]@RequestMapping 与 @RequestMapping+@RequestResponse的区别
假定:返回格式均为JSON,JSON实体对象myJson的属性有:data.message.code.status. 二者的区别在于: @RequestMapping:会在最外层包裹 data属性,将 ...
- Luogu P4114 Qtree1
树剖一好题.我心水了ww 题目描述 给定一棵n个节点的树,有两个操作: CHANGE i ti 把第i条边的边权变成ti QUERY a b 输出从a到b的路径中最大的边权,当a=b的时候,输出0 输 ...
- day06 循环和数据类型的内置方法
循环加数据类型的内置方法 while 循环 for循环 range关键字 数据类型的内置方法 字符串的内置方法 while循环 while + continue #打印0-10的数字不打印6 n=0 ...
- Redis 数据类型 Stream
Redis 数据类型 Stream Redis 常用命令,思维导图 >>> Redis Stream 是 Redis 5.0 版本新增加的数据结构. Redis Stream 主要用 ...
- ROS2的安装与使用(超详细图文教程)
ROS2的安装与使用(超详细图文教程) 如果前面的虚拟机以及Ubuntu22.04镜像都安装好了,根据目录直接跳到ROS2的安装. 资料参考于:古月居 VMware虚拟机的安装 安装地址: 对于不了解 ...
- 一个WPF开发的、界面简洁漂亮的音频播放器
今天推荐一个界面简洁.美观的.支持国际化开源音频播放器. 项目简介 这是一个基于C# + WPF开发的,界面外观简洁大方,操作体验良好的音频播放器. 支持各种音频格式,包括:MP4.WMA.OGG.F ...
- Prism Sample 5 View Injection
这里稍微复杂了点,定义视图A的过程是一样的: <UserControl x:Class="ViewInjection.Views.ViewA" xmlns="htt ...