全球今头条!程序员浅用ChatGPT:替代还很远
(图片来源:
经济观察报 记者 沈怡然 “用JAVA写一个调用RESTfulAPI接口示例”。
一家国内头部人工智能企业的产品工程师李磊(化名)在ChatGPT对话框输入这一指令,十几秒后一串代码回复过来。李磊将其复制到开发环境中,编译了一个具备演示功能的应用程序。
(相关资料图)
作为一种自然语言生成式的模型,ChatGPT具有海量的数据和高效的自然语言处理能力,发布后2个月达到1亿用户,被称为互联网史上增长最快的消费者应用程序。ChatGPT主要应用是实现人机对话,可以用来生成文本,回答问题,完成语言任务。
在绘画、作诗、解释经济学理论等玩法之外,ChatGPT开始在一些科技型企业中扮演出一种工具性的角色——解决一些并不难但琐碎的问题。比如,ChatGPT可以协助用户完成一些基础的编程工作,通过根据给定的输入生成相应的代码输出,ChatGPT推出两个月,一些非研发岗的工程师们,正在自发地使用它来写代码、写脚本。
2月2日,OpenAI在官网推出了付费订阅版ChatGPTPlus,每月收费20美元,还会免费开放原先的ChatGPT。李磊表示自己愿意付费,他曾因工作在国内寻求编程外包服务,一小时做一套代码,收费大约400元。
解决琐碎问题
随着社会更多方面迈入智能化,李磊所在公司的生意从互联网企业做到工厂、社区、高校,从一线城市下沉到三四线城市,跨界所带来的问题之一是沟通和融入对方的过程很漫长。
李磊一年要对接百余名客户,他要帮助意向客户们先了解和测试各种人工智能产品,在业务旺季他需要同时对接十几个客户的技术人员,要消耗大量的精力与不同行业客户进行产品演示和接口对接。
比如将具有AI算法的智能硬件设备要应用到企业内部,需要厂家提供一套API(又称“接口”,用于衔接双方的软件系统),一套API包含上百个功能的衔接,直观上看是一个堆满代码和字符的文档。但客户和集成商只懂自己领域的技术,中间的沟通成本很高。
身在实验室的开发者们无暇顾及这些落地中的小细节,为了给客户衔接一次产品,工程师需要提前花几天时间写一个代码。李磊不是程序员出身,很多代码记不住,为了提升工作效率,李磊尝试借用ChatGPT快速得到这一套代码,将它归整成一个工具软件(本质是一套简单的代码),帮助客户理解并把设备对接好,也一定程度上省去了自己出差和反复的远程教学。
在科技行业,无论是不是研发岗,编程正在成为一种员工的基础能力。一款智能产品的演示、营销、运维过程,需要机器之间的、机器内部功能之间的互动,这些都离不开编程。
不熟悉这些编程语言的人,只能去相关的源代码搜索库或者用搜索引擎去搜索代码,面对大量的代码和各式排列组合,要梳理、比较、判断出哪一种更适合自己,通常要花费他几天的时间,ChatGPT能直接提供给他一整套代码,只需稍加规整就能使用。
可以用,但没必要
一位来自头部互联网公司的程序员李智认为,ChatGPT能解决的问题还是比较有限。
李智多年负责电商页面后端的技术处理,工作的基本流程是听取业务端的需求、技术评审,团队分配任务各自开发编码,然后联调,以确保内部功能可以正常跑起来。当一个项目已经落地,他的工作内容就变成了检修bug,以保证项目流畅运行。
在2022年12月使用ChatGPT前,小冰、Siri都曾引起过他的关注,但后来他发现能解决的问题有限,就没有长期使用。“相比前两者只能一问一答,ChatGPT可以根据你们对话的逻辑发生调整,做到你来我往。”
有一次程序出了问题,李智尝试让ChatGPT查找某一行代码的错误,ChatGPT很快就找到了,但后来他再让ChatGPT帮助解决程序bug却没有成功。
李智猜测,“区别在于,这一次bug源于业务上的问题,是在特定场景下出现的、不通用的,ChatGPT使用的训练物料都是互联网上现成的,它无法实现特定的功能逻辑,给出一些针对性的方案。”
李智对记者表示,ChatGPT的搜索能力对于很多不熟悉代码的人还是有帮助的,面对大量的代码和不同的排列组合,要梳理、比较、判断出哪一种更适合自己,这需要时间。ChatGPT可以代替用户到网上搜索代码并按照恰当的方式组合,“换做程序员,可能几分钟就写出一套代码,即便到社区搜索,也能很快锁定想要的。现在,这两者之间的差距可以通过ChatGPT拉平”。
李智对基本的编程语言滚瓜烂熟。因此不需要这种方式。
李智认为,ChatGPT并不能编写程序员角度的代码,而是从互联网收集庞大信息库并使用它来生成代码,解决问题还是要靠人。
另外,对于软件程序,ChatGPT目前只有通用底层的能力,涉及电商、云服务等业务层面的能力尚有欠缺。比如要写一个小程序,是可以借用ChatGPT来找算法、写代码、写脚本(一个代码的片段),但是业务相关的,比如判断使用者是否登录等没有标准答案但需要较大工作量的部分,ChatGPT却无法回答。
风险和技术预期
来自金融公司的技术人员对记者表示,近期,他所在的公司已明确要求禁用ChatGPT,因为考虑到会侵犯知识产权。
ChatGPT所训练的数据来自互联网上各种文本的数据源,一个争议是ChatGPT所提供的数据是否要以某种方式受到版权保护。
开源代码不一定可以直接使用,通常来说开源社区的源代码涵盖多种法律协议,例如强制用户在使用开源代码的同时开放其修改版本的源代码,或者允许用户使用但不能用于产生商业价值的活动中。包括开发人员自行搜索代码也需要评估和过滤。
英国萨塞克斯大学知识产权法讲师Andres Guadamuz表示,需要弄清楚三点:第一,生成式AI系统的输出是否可以获得版权,版权属于谁;其次,一些受版权保护的作品的所有者,是否可以用作训练模型的输入;此外,是否可以对数据收集施加相关的法律约束。
尽管目前仍存在种种不足和风险,但人工智能在近年取得的快速进展依然让大家难以准确预估其技术潜力。
2022年12月开始,Quora等知识问答社区充斥大量“ChatGPT会取代程序员吗”的标题。CodiumAI公司CEOItamar Friedman公开表示,ChatGPT是一个优秀的多面手会话者,就早期的版本来看,它可以处理一堆任务,但并不适合特定任务。在短期内,ChatGPT将使开发人员能够更快地构建,而不是取代它们。
一些观点认为ChatGPT取代不了人类的独立思考能力和批判性思维。风靡一时的游戏CowClicker创作者Ian Bogost表示,ChatGPT缺乏真正理解人类语言和对话复杂性的能力。它被简单地训练为根据给定的输入生成单词,但它没有能力真正理解这些单词背后的含义。这意味着,它产生的任何反应都可能是肤浅的,缺乏深度和洞察力。
李智认为,更多使用者对ChatGPT的“训练”,会不断扩充一些特定场景和业务的数据,或许未来ChatGPT能解决一些更专业的、场景化的问题。
在Itamar Friedman看来,也许在10到20年内,人工智能系统将使非程序员的创造者能够使用自然语言指令进行零错误的开发。即便如此,我相信仍将需要开发人员,但角色将以难以预测的方式发生变化。
(应采访对象要求,文中李磊、李智为化名)