“生成式人工智能(AIGC)将在三年内终结编程。”
——Matt Welsh,前哈佛大学计算机科学教授、Google 工程主管
GPT-4 也许还不完美,但智能开发时代真的来了
美国时间3月14日,OpenAI 正式发布 GPT-4,在 ChatGPT(GPT-3.5)的基础上,进一步升级了图像识别功能和高级推理技能,单词处理能力达到25000个,是 GPT-3.5 的8倍,并可以使用几乎所有流行的编程语言编写代码。
仅仅一周之内,OpenAI 的最大股东微软先后宣布将用 GPT-4 武装升级 Bing 搜索引擎、Edge 浏览器和 Office 全家桶,其旗下代码托管平台 GitHub 更是发布重磅“炸弹”:推出 Copilot X 计划,将 GPT-4 集成到 IDE。在 Copilot X 中,用户只需“动动嘴”,机器就能写出代码,也能帮助用户解释代码片段,还能直接完成 Debug 工作。
在人们惊叹于 AIGC 编程强大能力的同时,软件从业者也陷入了对于“饭碗”的深深担忧:当 GPT 比人更会写代码,程序员还能干什么?在 Matt Welsh 看来,由于 GPT-4 大模型的出现,编程正处于从人类工作转变为机器人工作的转折点,程序员这一职业很快将被人工智能所取代。
回顾软件工程的发展历程,技术进步持续推动了软件开发的范式革命,今天的 GPT-4 将成为软件工程进入智能开发时代的催化剂。
上世纪中叶,《人月神话》所描述的软件危机迫使人们努力寻找危机的内在原因和解决方案,1968年 NATO 在联邦德国召开会议,正式提出了“软件工程”这一概念,希望用工程化方法构建和维护有效、实用和高质量的软件,标志着软件开发正式成为一门工程学科并得以持续发展(软件工程1.0)。
进入21世纪,受到互联网、开源软件运动影响,人们对于软件工程的认识和理解不断加深,2001年发布的《敏捷宣言》正式提出了以人为中心的软件开发方法,进而形成了建立在 Cloud 、SaaS、敏捷开发模式之上的软件工程2.0版本。
今天,GPT-4 的出现让人们真正开始认识到智能开发时代即将到来,未来的软件开发将会使用自然语言作为交流方式,让人工智能理解开发者交待的任务并自主完成软件开发,如理解需求、自动生成 UI、自动生成代码、自动生成测试脚本等。随着开发方式的改变,开发者的使命也将发生根本性变化,软件工程3.0版本即将正式开启。
Matt Welsh 对于程序员前途的预言引发了软件开发行业的震动,但现在就断言 AIGC 编程将全面取代程序员仍然为时尚早,对于复杂的企业级应用开发而言,具备了强大编程能力的 GPT-4 也还存在相当严重的局限性。
首先,大模型基于公开数据集完成训练,缺乏企业级应用所必需的行业和业务 know-how。众所周知,企业级应用的开发极为复杂,除了需要开发者具备良好的编程能力,更要求开发者能够形成对于行业和业务场景的深入理解,从而建立业务和代码之间的有机连接,这部分知识是公开数据集所无法囊括的。今天包括 GPT-4 在内的大模型均基于公开数据集(主要包括维基百科、书籍、期刊、Reddit 链接、Common Crawl、GitHub 开源代码等)进行训练,这就意味着无法有效建立行业和业务 know-how,以致于难以应对面向企业级应用的复杂开发需求。
其次,AI 编程依赖于提示词(Prompt),代码质量存在极大的不确定性。与传统编程过程中通过编程语言调用特定的 API 不同,AI 编程需要开发者通过提示词让大模型理解开发需求,这就像产品经理与程序员之间的沟通一样,信息量越丰富,对方的理解就越深入。百度 CEO 李彦宏曾经谈及提示词和智能涌现,“大模型本身的能力放在那,谁能把它用好完全靠提示词来决定。提示词写得越好,智能涌现的能力就越多,反馈的结果就更有价值。提示词不好,出来的东西就是一本正经胡说八道。”这种代码质量的不确定性显然与追求结果确定性和计算准确性的企业级应用背道而驰。
更重要的,具备开放特性的大模型难以满足企业级应用对于安全性的要求。3月下旬,据 SBS 等韩媒报道:三星刚引入 ChatGPT 还不到20天,就发生了3起机密数据泄漏事件,其中涉及三星半导体设备测量资料、产品良率等信息。根据 OpenAI 官网关于 ChatGPT 的 FAQ,其确实指出与 ChatGPT 的对话可能会用作训练数据。三星事件让摩根大通、花旗集团、高盛、德意志银行等越来越多的企业因担心机密数据外泄而禁止员工访问 ChatGPT,意大利个人数据保护局也在3月31日宣布从即日起禁止使用 ChatGPT,并限制 OpenAI 处理意大利用户信息。
诚然,今天的 GPT-4 仍存在着这样那样的局限,但其当下已经展现出的能力和快速迭代的脚步已经足够让人们对于其前景满怀期待,智能开发的浪潮正在不可逆转地奔涌而来。
只知道 GPT-4?智能开发时代不止一个主角
从蒸汽机到电力,从计算机到互联网,任何一次新的技术浪潮,往往能够让生产力得到极大程度的解放,突破固有的效率瓶颈,解决过去难以调和的矛盾,推动社会的持续发展。互联网时代,软件已成为社会发展的重要基础设施,然而随着业务需求的快速迭代,软件开发行业正面临着越来越难以调和的矛盾和痛点:
- 项目成本高——一线城市稍有经验的工程师动辄三、五十万的年薪,成本高不说,一旦碰上团队核心成员出走,轻则让项目延期,重则导致苦心研发的产品中途流产。
- 开发周期长——开发周期过长,带来一系列的问题,尤其是大型项目,开发测试环节多、测试耗时长,过程中各项成本需要持续投入、交付慢回款也就慢,公司现金流捉襟见肘。
- 代码质量低——技术选型依赖开发人员,而他们通常只会选择自己擅长的,而不是最适合公司需求的技术栈,一旦出现错误,对业务的影响是灾难性的。再加上每个人写代码的水平参差不齐,极易导致开发和检查效率低下,经常一个环节出问题,导致整个项目延迟交付。
- 团队管理难——现在的开发主要还是依赖人力,突然接到大项目,来不及第一时间招到合适的人来做,而且每个人水平背景参差不齐,在流程、技术、安全规范各方面总是出现各种各样的问题。
GPT-4 能够引起软件开发从业者如此程度的关注,背后恰恰反映出今天软件开发行业所面临的挑战是多么严峻,进而催生出整个行业对于软件开发范式变革的迫切需求。人们一方面热切期盼 GPT-4 能够改变传统工作流,给生产效率带来10倍、100倍的提升,另一方面也开始担忧行业生产力的提升将改变固有的生产关系,也正是 Matt Welsh 提出的程序员“饭碗”问题。
时代车轮滚滚向前,唯一不变的只有变革本身。在软件开发行业,引起程序员对于“饭碗”担忧的,GPT-4 并不是第一个,也绝对不会是最后一个,近年来方兴未艾的低代码平台、全栈式全自动开发都曾是此类话题的焦点。
低代码平台、全栈式全自动开发与 GPT-4 的愿景相通,均立足于通过技术创新为软件开发团队带来生产力提升,从而改变传统的软件开发范式,解决行业当前面临的诸多痛点。但从产品能力而言,全栈式全自动开发与更为人们所熟知的低代码平台存在不小的差异:
- 应用场景——大部分低代码平台基于 BPM 流程引擎实现,本质上只能解决简单的工作流,以设计表单为驱动,无法实现复杂功能和逻辑;全栈式全自动开发则不仅支持不同业务场景下定制化的小型应用开发,还能够支持如电商平台等复杂的大型应用系统开发。
- 流程覆盖——低代码平台大多基于脚本类语言设计,提供表单、流程、报表,供用户拖拽式生成应用,核心解决前端开发的可视化;全栈式全自动开发则提供基于 Java 语言的可视化开发能力,能够覆盖前端+后端的可视化+配置化,同时支持全自动测试和全自动运维,实现软件开发流程的全栈式覆盖。
- 质量安全——使用低代码平台构建的应用通常与平台绑定,导致很多特性需要依托于特定的低代码平台才可以实现,用户对系统质量、安全和知识产权的掌控无法得到保证;全栈式全自动开发则将开发成果的“所有权”完全交给用户,解决客户对于安全性和知识产权的担忧,同时提供系统质量保证。
通过对比不难发现,相较传统低代码平台,全栈式全自动开发更加适合应用架构复杂、涉及众多流程环节、对系统质量和安全均有极高要求的企业级应用开发场景。与此同时,与当下火热的 AIGC 编程相比,全栈式全自动开发在 GPT-4 的核心局限性问题上也能够给出令人满意的答案。
- 专业性方面,除了全栈式全自动开发厂商提供的通用性组件和模型,用户和厂商可以共同基于自身长期积累的大量行业和业务 know-how,搭建个性化组件和模型并进行持续迭代,从而产出最贴近业务需求的应用。
- 可靠性方面,相比于具备高度不确定性的 GPT-4,全栈式全自动开发的重要特性即是现实软件开发的标准化,从“人治”到“法治”,对人为变量进行最大限度约束,确保产品质量高度可靠。
- 安全性方面,全栈式全自动开发厂商允许客户根据需求灵活选择代码的存储和部署方式,私有化部署的支持能够从根本上打消客户对于安全性和知识产权的顾虑。
用实战说话,全栈式全自动开发让智能开发照进现实
智能开发因为此次 ChatGPT 热潮而备受瞩目,但其实早在数年之前,低代码平台、全栈式全自动开发等一系列对智能开发的探索就已经开始。
自2014年 Forrester Research 提出“低代码”概念后,低代码平台的发展快速起步,除 OutSystems 和 Mendix 等低代码厂商外,微软、谷歌等巨头也纷纷开始布局低代码。2015年前后,低代码概念进入中国,奥哲、ClickPaas 等一批本土低代码品牌迅速崛起,阿里、腾讯、金蝶、用友等云厂商和传统软件厂商也先后入局。基于对近30个本土低代码产品和上百个应用实践案例的评估,爱分析认为国内的低代码产品仍处于发展早期阶段,但许多厂商已经具备了比较完整的产品项目和成功的实际应用案例落地,根据 IDC 数据,预计到2025年中国低代码市场规模将超过10亿美元。
低代码平台和 GPT-4 起源于西方,而全栈式全自动开发的概念则来自于中国企业的自主创新,飞算科技就是其中的杰出代表。飞算科技于2020年发布了全球首款全栈式全自动开发工具——SoFlu 软件机器人,通过自动化、标准化和工具化,改变传统软件工程生产范式,帮助企业实现全链条 IT 生产力提升。
SoFlu 软件机器人基于“业务即图,图即代码”的核心理念打造,提供 Java 可视化开发及执行日志、丰富的组件库、仿真测试等核心技术工具,帮助开发者自动完成包括前端开发、后端开发、测试、运维在内的全栈式软件开发工作,真正实现“软件开发,十倍提效”,大大降低企业开发成本。
SoFlu 软件机器人的能力已经在金融、医疗、高端制造、区块链等八大行业的上百次企业级应用项目实战中得到验证。在中石油旗下大型电商平台重构项目中,中石油开发一个大型电商平台时由于开发人员有限,他们聘请了外部厂商进行开发,但系统上线后,随着用户数量的增加和具有企业特色的功能需求不断提出,原有的平台架构在功能、性能和扩展性方面已经不能满足商城的发展需求,同时系统改造还依赖于外部厂商进行开发,庞大的投入支出和不断延长的开发周期给中石油信息化团队带来了很大的困扰。如果要进行商城的重构,传统模式下至少需要27人,开发300多天才能完成。中国石油信息化团队在使用了SoFlu软件机器人后,9人小团队在5个软件机器人的协助下,仅用45天就完成了商城的重构及上线,并且在保障系统强壮度和安全性的同时从源头上降低系统维护难度。中石油的项目负责人事后感叹,团队利用 SoFlu 做到了以前无法想象的事情。
据了解,以“打造中国原创、全球领先的软件工程共创平台”为使命愿景的飞算科技,下一步会持续构建开发者生态,吸引更广泛的开发者贡献高质量组件,覆盖企业业务需求的“最后一公里”。同时,借鉴 GPT-4 创新理念,SoFlu 软件机器人也已初步完成产品 AI 能力的搭建,“自然语言生成需求表述”、“自动绘制流程图”、“代码实时生成”等产品能力将成为开发者提升效率的强大助力。
回到 Matt Welsh 所关心的问题,SoFlu 软件机器人的目标绝不是让程序员丢掉“饭碗”,而是将开发者从日常简单重复的“写代码”中抽离出来,能够有时间站在更高的角度深入思考问题,从“程序员”变成“架构师”,从“写代码”变成“设计程序”,彻底释放每个开发者的创新潜能。
结语
正如英伟达 CEO 黄仁勋所说,GPT-4 开启了人工智能领域的 iPhone 时刻,无数行业将因为 AIGC 技术发生改变甚至颠覆。作为信息化时代的重要基础设施,软件工程领域在这场变革中首当其冲,智能开发浪潮蓄势已久,现在正由 GPT-4 将它推向台前。文章来源:https://uudwc.com/A/vM8O
长期以来,中国在软件工程等基础学科领域的创新步伐一直落后于西方,而过去几年发生的中美贸易战、科技战再次让我们认识到基础学科创新的必要性与紧迫性。无论是奥哲、ClickPaas 等低代码平台,还是以 SoFlu 为代表的全栈式全自动开发工具,以及百度“文心一言”、阿里云“通义千问”等 AI 大模型,无不是中国科技企业面向智能开发的奋力尝试与探索。与此同时,软件工程的自主创新离不开政策的大力扶持、用户的积极采纳以及社会各界的广泛关注,相信在所有国人的共同努力下,智能开发将不仅仅是软件开发的又一次技术变革,更将成为中国软件工程崛起的重要契机。文章来源地址https://uudwc.com/A/vM8O