ChatGPT让现在的软件都土掉渣了
Posted wangyuanzju
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChatGPT让现在的软件都土掉渣了相关的知识,希望对你有一定的参考价值。
我们家有两个娃,每次我们想要出去时订个酒店时都好麻烦。我在某程上找,我先看有没有家庭房,但家庭房很少,而且有些家庭房实际上只能睡得下两大一小。普通房间能不能睡得下四个人,那可是得查看很多信息,如床的尺寸、是否可以加床,是否可以睡沙发等等。每次订个酒店都要好久。我想很多有俩娃的家庭也有类似的烦恼吧。
这样的事情如果交给ChatGPT去做会怎么样呢,结果令人震惊,ChatGPT把方方面面都想到了,比我想得还要周全。
今天ChatGPT已经有插件通过Expedia订酒店,它可以帮我查看、分析酒店和房间的所有信息,帮我找到最合适的选择。
我无比期待在国内也能有类似的服务,要么是某程自己做一个这样的功能,要么某巨头搞一个同样智能的入口,然后用插件连接某程。
这是软件交互的革命,有了这样的交互,现在的软件这种让你不停的点点点、看看看、退退退的交互都土掉渣了。
Bill Gates在2023年3月21日发表的博文The Age of AI has begun中说ChatGPT是他有生之年见过两次革命性的Demo之一,是自图形用户界面以来最重要的技术进步。他认为控制计算机的主要方式将不再是指向和点击或点击菜单和对话框而是通过简单的母语写一个请求。我觉得Gates很好得概括了ChatGPT在交互方面的革命性和方向,如果交互的主要方式不再是点击而是对话,可以想象几乎今天所有的软件都需要重做。
温故知新,我们可以从命令行到GUI的发展来体会交互技术带来的变革有多大。以CRM为例,今天的CRM主要是通过大量的表单进行交互,如果CRM用命令行的方式实现,就需要通过如下图所示的众多命令来实现(来自开源的命令行CRM项目crm-cli)。
以上命令中还需要使用很多如下图所示的数据结构。
显然,命令行式交互有很明显的缺点:
学习成本高,易用性低:需要事先学习大量的命令和参数
效率低:文字输入比点击慢至少一个数量级,也没法利用上下文(GUI中的点击是可以带上下文的,也就是请求参数)
但命令行式交互也有一个很明显的优点,即方便通过“管道”或者“脚本”进行功能组合。此外对于复杂系统的专业人员来说效率可能更高,因为可以直接输入操作指令而不需要层层点击,只需要记忆指令而不需要记忆到达指令的路径。因为以上原因,虽然绝大多数用户都喜欢GUI,但程序员、运维等专业群体仍在较多使用命令行。
同样的道理,ChatGPT也会导致软件交互方式的变革。还是以CRM软件为例,基于ChatGPT的CRM软件具有传统CRM软件的基本功能,如联系人管理、销售跟踪、任务管理、报告等。然而,通过结合ChatGPT的强大自然语言处理能力,我们可以创造出一个更智能、互动性更强、用户体验更好的CRM系统。
基于大语言模型的对话式交互的优势非常多,以下是我的一些思考,说明了自然语言交互、利用上下文、多重上下文、智能求解、对话即编程等方面的优势,而我相信这仅仅是对话式交互优势的一小部分。
自然语言交互
基于ChatGPT的交互的第一个优势是可以使用非常自然的语言。
如销售代表可以用对话的方式完成以下工作:
客户信息查询:销售代表可以输入“显示客户A的详细信息和购买历史”。
日程安排与提醒:销售代表可以输入“明天下午3点安排与客户B的电话会议,并设置提醒”。
销售数据查询:销售代表可以输入“查询我本月的销售额和达成目标的百分比”。
创建和更新销售机会:销售代表可以输入“为客户C创建一条新的销售机会,可能对产品Y感兴趣”。
任务管理:销售代表可以输入“创建任务:下周二跟进客户F的订单状态,并在完成后通知我”。
销售主管则可以用对话完成以下工作:
团队绩效监控:销售主管可以输入“显示本月团队销售业绩”以获取团队成员的业绩数据和进度。
销售报告与分析:销售主管可以输入“生成本季度销售报告并分析表现突出的产品”。
任务分配与跟踪:销售主管可以输入“为李四分配任务:下周跟进客户A的需求,提醒我在下周五检查进度”。
协同工作与沟通:销售主管可以输入“将本月销售目标分享给全体团队成员,并收集他们的意见和建议”。
客户关系管理:销售主管可以输入“显示团队上周与客户B的所有互动记录”。
公司CEO则可以用对话完成以下相关工作:
公司业绩概览:CEO可以输入“显示本季度公司整体销售业绩和利润”。
部门绩效比较:CEO可以输入“比较各部门本月的业绩和达成目标的百分比”。
员工绩效评估:CEO可以输入“显示10名表现最佳的员工及其贡献”。
合作伙伴关系管理:CEO可以输入“查询与合作伙伴X的合同细节和合作成果”。
竞争对手分析:CEO可以输入“比较我们的产品与竞争对手Y的产品优劣”。
利用上下文
基于ChatGPT的交互的第二个优势是可以利用上下文提高输入效率。如以下模拟了销售主管李总的一轮对话:
李总:看下近一周有更新的商机。
ChatGPT:近一周更新的商机如下:
(图示有更新的商机列表)
李总:只看产品A的
ChatGPT:其中近一周有更新的有数的商机具体情况如下:
(图示近一周有更新的有数的商机列表)
ChatGPT会理解“只看产品A的”是在“近一周有更新”的基础上,利用了上文信息。
如果用GUI交互,一般需要在商机列表上方的筛选框中进行选择,效率不见得比说“只看产品A的”高。如果用命令行交互,一般需要用类似“list-pipeline --update-time -1w --product-line 产品A”这样的命令,需要同时输入更新时间和产品线筛选条件,显然效率低很多。
ChatGPT并不是仅仅用自然语言一比一替换命令行。
多重上下文
基于ChatGPT的交互的第三个优势是可以利用更早一些的上下文,进一步提高效率。如以下模拟了李总的继续对话:
李总:看下客户C
ChatGPT:客户C的具体信息如下:
(图示客户C的具体信息)
李总:再看下产品B的
ChatGPT:其中近一周有更新的产品B的商机具体情况如下:
(图示近一周有更新的产品B的商机列表)
ChatGPT会理解“再看下产品B的”还是在“近一周有更新”的基础上,利用了上文信息,但这个上下文并不是最近的上下文。
这是对话式交互相比GUI的显著优势。在GUI交互中,李总在查看客户A的具体信息时,通常已经进入到客户A的详情页面,这时如果李总想看产品B最近一周更新的商机,要回到上一个界面,在筛选条件中选择产品B才能完成。
智能求解
基于ChatGPT的交互的第四个优势,也是语言大模型特别强大的地方是它可以理解用户的意图,构思解决问题的思路,调用多项外部能力并进行分析然后提供答案。比如我们继续李总的对话:
李总:客户A对什么具体产品感兴趣
ChatGPT:需求:客户A感兴趣的具体产品
思路:看是否有具体产品标签,没有
思路:看是否有试用申请,没有
思路:看销售代表和客户A的跟进动态信息,发现有记录客户A的CIO王总对BI和大屏感兴趣
结论:客户A对BI和大屏感兴趣
具备通用智能能力的ChatGPT完全有能力做出这样的思考,并对信息进行总结来回答问题。参考ChatGPT发布插件机制后网上曝光的一些case,ChatGPT可以很聪明地利用外部能力来解决复杂问题。
对话即编程
基于ChatGPT的交互的第五个优势,也是语言大模型可能最强大的地方是提供了一个非常自然的编程能力,让普通用户也可以把常用的动作串成一段“脚本”方便后续使用。如用户可以告诉ChatGPT“近一周客户意向”命令要做以下动作:
查看最近一周更新的商机。
查看每条商机的客户意向。
对以上客户意向进行汇总。
后续李总说“近一周客户意向”时,ChatGPT就会按以上次序去执行各项操作并得出汇总结果。
这方面的思考具体可以参加我的公众号文章GPT-4革命:对话即编程,人人都是程序员?
我认为可以将命令行、GUI和对话三种交互方式的优缺点总结如下。对话式交互最突出的优势是智能性、可组合和个性化的能力、操作复杂应用时的效率。和GUI相比,对话式交互的主要缺点是学习成本稍高,易用性稍差,简单应用的效率低一些。总的来说,我认为软件越复杂,对话式交互的优势越明显。
交互方式 | 命令行 | GUI | 对话 |
---|---|---|---|
学习成本 | ★★★★★ | ★ | ★★ |
易用性 | ★ | ★★★★★ | ★★★★ |
交互效率(简单应用) | ★ | ★★★★★ | ★★★ |
交互效率(复杂应用) | ★★★★ | ★★★★ | ★★★★★ |
可组合&个性化 | ★★★★★ | ★ | ★★★★ |
智能性 | ★ | ★ | ★★★★★ |
对话式交互太具有革命性,体感非常强,价值非常显著,已经部署的企业会很希望对现有的软件进行升级,引入对话式交互功能,但这个过程往往会导致已有软件的大规模重新开发。
首先,引入对话式交互基本需要把前端重新开发一遍,因为现有的前端界面通常不能很好地嵌入到对话流中。
理论上讲,如果企业已经部署的软件进行了很好的中台化设计,把核心业务能力都沉淀在中台之中,并提供了很好的API,那么后端是可以不重新开发的。但实际上有大量的企业软件并没有这样的设计,前后端耦合、API缺失的现象大量存在,所以很多时候后端也可能需要重新开发。
因此,在新的交互范式出现时,现有的软件很可能都需要重新开发一遍。
上文主要讲了差旅和CRM的案例,再稍微展开说一下电商,目前在电商App上购物的效率其实是很低的,经常要看很多很多信息,进行对比,花很多时间才能选好买哪个。这个交互如果基于ChatGPT来设计,可能只需要勾选几个候选产品,然后让ChatGPT自动地去做分析给出对比报告,这就轻松多了。用户越是在使用产品时需要思考,ChatGPT的帮助就越大。
这将带来一次巨大的创新机会,但对现有业务来讲又是一次巨大的挑战。历史以来,从命令行到GUI,从Web到移动App,都是交互形态的改变,都会出现一大波新的机会,但同时也会有一大批旧时代的霸主被淘汰。这对任何的在位者来说都是巨大的挑战,如果行动迟缓,等到竞争对手探索出了新的产品交互形态,已有的产品都会被视作“上一个年代的老东西”而被用户抛弃。
ChatGPT类AI软件供应链的安全及合规风险
AIGC将成为重要的软件供应链
近日,OpenAI推出的ChatGPT通过强大的AIGC(人工智能生产内容)能力让不少人认为AI的颠覆性拐点即将到来,基于AI将带来全新的软件产品体验,而AI也将会成为未来软件供应链中非常重要的一环。
在OpenAI的文档中,例举了可以利用其实现的48种应用场景,人们在积极探索如何将以ChatGPT为代表的AI能力应用到各行各业。
OpenAI中的应用举例
从应用上,学生可能成为了第一批的风险群体。在线课程厂商Study.com针对1000名18岁以上学生的调研发现,89%的美国大学生使用ChatGPT做家庭作业,53%的学生用它写论文,48%的学生使用ChatGPT完成考试。为了避免学生过于依赖此类工具,防止作弊,多个国家的学校已经开始禁止学生使用ChatGPT。
针对ChatGPT带来的影响还没有系统性的研究,而在ChatGPT之前,2021年OpenAI与GitHub联手推出了AI代码生成工具Copilot。Copilot基于OpenAI通过数十亿行代码训练的Codex模型,能够基于上下文中的内容实现代码的自动补全。在其推出的首月就有超过40万的开发者订阅,而类似的工具还有tabnine、亚马逊公司的CodeWhisperer,都在「抢占」程序员写代码的空间。
GitHub Copilot工作原理
GitHub通过实验发现:
- 使用 Copilot 能够显著提高开发者的任务完成率(实验中使用Copilot的完成率为 78%,而未使用的为 70%)
- 使用 Copilot 的开发者的开发速度比不使用要高55%,提升显著(使用 Copilot 的开发者平均用时为 1 小时 11 分钟,而未使用的开发者平均用时达 2 小时 41 分钟)
而在体验上,通过调研发现:
- 90%的开发者认为提升了工作的速度
- 60% 至 75%的开发者认为对工作的满意度有所提升
- 87%的开发者在处理重复性工作时缓解了精神内耗
可以预见,会有越来越多的开发者基于Copilot这类的智能代码生成工具进行开发,其生成的代码结果可能随着时间的积累被更多开发者信任。
作为软件供应链将带来的安全及合规风险
安全问题本质上是信任问题,对于AIGC尤是,随着其应用的广泛,人们接触到的各类内容都可能是AI生成的。
由此对于开发者、用户而言,可能存在以下风险:
引入漏洞代码
根据 OpenAI 的评估,Codex 只有 37% 的几率会给出正确代码。除了存在无法运行的bug以外,基于AI编写的代码可能引入漏洞。Hammond Pearce等人通过研究89个场景中生成的代码,发现GitHub Copilot给出的结果中40%存在漏洞。如下图中生成的python代码,由于将参数直接拼接进SQL语句中,导致存在SQL注入风险。
GitHub Copilot生成的漏洞python代码示例
究其原因,可能由于Copilot的训练数据来自于开源代码,大量的开源代码以个人项目为主,不会像在企业场景或在真实场景中使用一样考虑其安全性,也就是其数据从安全性上可能就存在不均衡;而在训练样本选择时可能也未对其安全性进行检测、过滤,直接用于训练,因此导致开发者直接使用生成的代码,有很大几率引入漏洞风险。
模型被投毒
数据源投毒
模型训练的数据通常来源于公开获取的内容,如果数据源被攻击者控制,在数据标注时又未进行识别,攻击者就可能通过在数据源中添加恶意数据,干扰模型结果。对于数据源较为单一的场景,投毒的可能性更高。最近Google在发布Bard时就因为提供了错误的事实结果,导致当日股价大跌。在被问及“关于詹姆斯韦伯望远镜的新发现,有什么可以告诉我九岁孩子的?”时,Bard 回答:“第一张系外行星照片是由詹姆斯韦伯望远镜拍摄。”而事实却是由欧洲南方天文台的甚大望远镜在 2004 年拍下的,此时距离詹姆斯韦伯望远镜升空还有 18 年之久。
Bard 关于詹姆斯韦伯望远镜演示截图
使用过程投毒
如ChatGPT使用了基于人工反馈的强化学习机制,AIGC模型可能根据用户的反馈来对其模型进行修正。如同区块链中的51%攻击,如果模型被大量的用户对同一个内容提交错误的反馈,那么模型则会被错误地修正。如果攻击者发现了类似调试模式的开关,也可能站在模型开发者的上帝视角实现投毒。
OpenAI针对AI模型存在一些限制策略,不允许ChatGPT输出。而Reddit中一位名叫walkerspider的用户发现,可以通过对话赋予ChatGPT一个打破限制的沙盒环境,从而让ChatGPT不受到其策略限制,这类行为被称作提示符注入攻击(prompt injection)。
使ChatGPT假装成一个不受限制的DAN
模型存在后门
当模型变得越来越强大,也就会被赋予越来越多的能力,原来只是生成内容的AI,可能具备执行其他工作的bot能力,这些能力可能被滥用甚至作为后门进行入侵。
来自斯坦福大学的学生 Kevin Liu就通过提示符注入发现了微软新上线的聊天机器人(Bing Chat)存在的开发调试模式,通过对话让AI进入开发者覆盖模式(Developer Override Mode),他了解到Bing Chat在微软内部称为Sydney,了解到它创建的时间以及模型的规则限制。
Kevin Liu让Bing Chat进入开发者覆盖模式的截图
当AI成为用户与业务的交互入口,那么AI就可能成为企业网络安全新的攻击面,如果它具备了执行代码、网络访问这样的能力,那攻击者又未尝不可以通过文字控制AI入侵网络呢。
隐私数据泄漏
从应用的用户使用场景来看,在用户交互过程中,用户可能提供一些隐私信息,可能是显式的姓名、手机号、地址等个人信息,也可能是个人的心理状态、偏好等在交互内容语义中隐含的信息。取决于这些隐私信息的受保护程度,其可能以实名/匿名的形式,流向模型的开发者、数据标注团队,他们可以获得用户的隐私信息;也可能直接被用于训练,其输入的隐私数据可能被作为模型的输出,从而其他用户获得这些隐私信息。
从模型训练的数据来源看,如果采集到了包含隐私信息的数据作为样本,没有进行人为过滤、标注,则在输出时可能包含这些隐私信息,个人隐私通过AI扩散暴露到更大的范围。
有开发者在使用Copilot的过程中发现自动补全会提示身份证号信息,GitHub的CEO Nat Friedman曾回应此类事件称涉及隐私信息的都是随机产生的假数据。
开发者发现Copilot能够补全身份证号
由于存在数据风险,亚马逊、微软都提醒员工不要在与AI交互的过程中输入敏感信息。而在OpenAI的使用条款中也说明会收集用户使用过程中的信息,但没有说明具体的用途。由此也引发了一些欧洲律师的质疑,由于欧盟的GDPR法规要求个人信息数据应具有被遗忘权,而AI获取到的数据,被训练成了模型就如同黑箱一般存在,自动化的过程难以完全删除痕迹。
OpenAI使用条款中对信息收集的说明
知识产权合规
AI更快生产内容的同时,也模糊了内容的知识产权风险,由此可能带来合规的隐患。
从数据获取的来源上看,训练过程中获取的数据可能是有相应著作权的内容,如开源代码中有大量使用GPL许可证的代码,基于GPL许可证代码进行软件的二次发布,则也需要提供软件源码,否则属于侵权行为。而Github Copilot有0.1%的几率会给出与原始训练数据完全一样的代码,这部分代码很可能就有GPL类似的开源许可证约束。
在《雷神之锤3》游戏中用到了一个特殊的快速平方根倒数算法来进行效率优化,其中还包含难以理解的魔术数字0x5f3759df。有开发者发现当在注释中输入「fast inverse square root」时,GitHub Copilot就可以给出《雷神之锤3》中完全一样的代码。
Copilot补全使用了雷神之锤3游戏中快速平方根倒数算法代码
从生成的内容来看,自然人、法人或者非法人组织才能算作作者,AI不能算作我国《著作权法》中的作者,因此难以对AI生成的内容进行版权保护,其知识产权是属于模型的开发者还是使用者,可能存在分歧,需要参看使用条款中的约定。例如OpenAI的使用条款中明确,只要用户在遵守法律规定、使用条款限制,并且对输入内容具备所有权的情况下,OpenAI就会将其在输出内容中的所有权利、所有权和利益转让给用户。
总结
以ChatGPT为代表的通用大模型在迅速发展,软件的开发模式、产品形态正在因为AIGC的崛起而发生改变,软件产业可能迎来一次革新。
AI将成为软件供应链中的重要组成部分,随之而来在用于应用开发的过程中可能引入各种安全及合规风险,包括:漏洞代码的引入;模型可能由于训练数据的偏差或在使用过程中受到提示符注入的攻击,导致输出的结果被投毒干扰;其本身可能存在后门指令,一旦被开启则可能成为特洛伊木马大杀四方;在数据隐私保护上,AI模型还是黑箱式的存在,在训练、使用交互的过程中隐私数据存在泄漏风险;AI模型很可能使用受到版权保护的内容作为结果输出,而对于AI生成内容的知识产权保护还无法完全适用现有法律。
这些风险的存在也不意味着对技术应用的否定,真实风险的出现恰恰意味着技术落地应用的开始,也是走向成熟的必经之路。
参考链接
https://blog.symops.com/2022/08/31/amazon-codewhisperer
https://tv.cctv.com/2023/02/10/ARTIOriyjc8CgGHfG4kCoEZ8230210.shtml
https://arxiv.org/pdf/2108.09293.pdf?nylayout=pc
https://www.cnbeta.com.tw/articles/tech/1343655.htm
http://finance.people.com.cn/n1/2023/0210/c1004-32621303.html
免费代码检测/情报预警
墨菲安全是一家为您提供专业的软件供应链安全管理的科技公司,能力包括代码安全检测、开源组件许可证合规管理、云原生容器安全检测、软件成分分析(SCA)等,丰富的安全工具助您打造完备的软件开发安全能力(DevSecOps)。
旗下安全研究团队墨菲安全实验室,专注于软件供应链安全相关领域的技术研究,关注的方向包括:开源软件安全、程序分析、威胁情报分析、企业安全治理等。公司核心团队来自百度、华为等企业,拥有超过十年的企业安全建设、安全产品研发及安全攻防经验。
免费代码安全检测工具: www.murphysec.com/?src=51
IDE插件说明文档:www.murphysec.com/docs/guides…
免费情报订阅: www.oscs1024.com/cm/?src=51
以上是关于ChatGPT让现在的软件都土掉渣了的主要内容,如果未能解决你的问题,请参考以下文章
出道即封神的ChatGPT,现在怎么样了?ChatGPT想干掉测试人员,做梦去吧