让AI写代码正在越来越流行。今天蚂蚁集团智能研发平台CodeFuse推出了“图生代码”技术,这一技术集成在CodeFuse上,可将网页、App等设计图一键转化成前端代码。不只是蚂蚁,阿里云、百度、360、OpenAI、微软、GitHub、Google等科技巨头均在持续加码代码大模型,探索AI“自编程”。
看似高度专业且极具创造性的编程俨然已成大模型落地的核心领域之一,这听着就好像“机器人制造机器人”一样酷。既然如此,“编程”本身将会被AI如何改变呢?
互联网时代,包括比尔盖茨、乔布斯在内的大佬都曾鼓励人人都要学会编程,特别是儿童。然而前段时间,AI大佬、英伟达CEO黄仁勋却在对孩子的寄语中称,“生成式AI的发展大幅降低了学习编程的重要性。”而英伟达的工作,“就是创造计算技术,让所有人都不需要编程。”
不过黄仁勋并没有否定编程本身的价值,只是他认为AI可以让每个人都能编程:“编程语言可以普及成为人类的语言,现在世界上每个人都是程序员。这就是人工智能的奇迹。”
有了计算机就有了编程的概念。编程语言一直在进化,从最初的二进制,到后来的机器代码,到汇编语言,再到高级语言。这些年,高级语言也在不断革新。而编程语言不断进阶的目的,就是为了让编程难度更低、效率更高。按照这样的路线来看,人人都掌握的自然语言将是“编程语言”进化的终极形态。
(常见编程语言)
不过,这就跟无人驾驶一样:L5自动驾驶终究只是理想,当下智能汽车上商用的却都是L3级辅助驾驶。短期内,“完全自然语言编程”不可能成为现实。但随着AI大模型的发展,AI在编程以及研发中正在发挥日益重要的作用,科技巨头无不在战略布局,实现更加自动化的研发模式。
2020年,OpenAI推出了拥有1.75万亿参数、取得重大突破的GPT-3。21年,OpenAI基于GPT-3模型开发了成功破圈的ChatGPT,与此同时也创建了Codex系统,其可根据程序员的自然语言输入进行简单的代码编写支持,这是AI编程的起点。
Codex的出现,让IT研发界大为震撼:AI可将程序员从重复、繁重、繁琐以及机械的编程工作中解放出来,让他们专注于创造产品本身。正因为此,在AI与研发软件领域均有建树的巨头,如Google、微软、阿里云、蚂蚁、百度、360、华为均竞相研发并推出代码大模型。
微软推出了OpenAI Dall-E驱动的图片设计工具,在低代码应用开发软件Power Apps中推出了支持GPT-3的工具,并根据OpenAI的Codex模型开发了一款代码建议工具GitHub Copilot。
(OpenAI CodeX)
Google在推出PaLM Coder代码大模型的同时,于23年与新晋AI编程独角兽 Replit合作,将其人工智能语言模型和Replit的生成式代码工具Ghostwriter结合。
Replit由Facebook前软件工程师Amjad Masad创办,在打造全球最大的在线IDE(集成开发环境)后,于2022年11月基于AI大模型技术推出Ghostwriter,对标 GitHub Copilot,拥有代码自动生成和补全、进行代码语言转换、支持代码解释和搜索等。
中国科技巨头不遑多让。2022年华为推出代码大模型Pangu-Coder;23年百度智能云推出“Comate”代码助手,第一阶段的主要功能是“辅助代码撰写”,此后将在特定领域场景实现自然语言代码生成,第三阶段将实现全领域的自然语言开发;同一年,蚂蚁“百灵大模型家族”迎来了代码大模型成员CodeFuse,其源自于蚂蚁⾃身的开发场景及代码库沉淀,基于海量⾼质量代码数据和代码领域特⾊词表,和多任务微调技术MFT,在蚂蚁⼀万多内部研发⼈员的⽇常编码、测试、运维等场景中,经过反复验证与迭代。去年中,CodeFuse 及其必要的⼯具链,⾯向技术社区开源开放;10月,CodeFuse推出IDE插件功能,支持多种语言和编程工具。
(蚂蚁CodeFuse)
24年,代码大模型呈现出百花齐放的态势。在蚂蚁CodeFuse推出“图生代码”的同一时期,阿里云迎来了1号AI员工“通义灵码”的上线,其“简历”显示这是一个出生于0101世界、无性别的硅基生命,人格属于INTJ,职位是AI智能编码助手,项目经历是“截至2023年4月,下载量超过200万,每天数百万行代码被程序员采用。”在4月中旬即将召开的百度Create2024大会上,李彦宏也将发布AI编程相关产品更新。
巨头狂卷大模型,而代码大模型更是成了兵家必争之地。
跟一日千里的GPT一样,21年到现在代码大模型正在快速升级。在AI编程上,从最初的行级代码补全,升级到仓库级代码生成,再进化到自然语言描述下的代码生成。在代码生成外,演进出代码语言转换、代码解释和搜索、软件文档撰写、智能编程助理等功能,甚至出现了蚂蚁提出的“AI赋能全生命周期研发”这样的新的研发范式。
编程AI化是计算进化的必然。在通用计算体系下,摩尔定律早已失效。但让人始料未及的是,“摩尔定律”却在AI计算体系中得以延续。Open AI CEO、ChatGPT之父Sam Altman指出,每年LLM参数规模大小增长10X,人工智能运算量每隔18个月翻一番,这被称为“AI摩尔定律”。在AI软件内涵突变之时,低效的传统研发模式难以为继,研发模式的奇点也已到来。
(AI摩尔定律)
AI如何改变研发本身成为业界关注的新焦点。红杉资本则认为,生成式AI将逐渐改变各个行业,但软件开发模式的转型还没完成。红杉提出了“开发工具2.0”,指出这种“Beyond Copilot”的新形态,尚未被定义。
AI大模型率先改变的都是创造性职业,比如文字、图片、视频、音乐等内容的创作均迎来了各自的现象级应用:ChatGPT、Midjourney、Sora、Suno。如今,AI对创造的赋能来到了编程领域,AI编程将是AI大模型技术的下一个“杀手锏场景”。
对科技巨头来说,布局AI编程,既是内在研发提效的刚需,也是布局新兴业务的必要——这跟云计算、to B数字科技“始于内、发于外”的历程一致。
首先,通用大模型要落地离不开“垂直大模型”这一桥梁,而编程则是大模型最有潜力的垂直应用场景,大模型与软件开发工具结合可显著解决技术人员面临的痛点。
最早大规模引入AI编程的GitHub平台曾在一篇调研文章中探讨了GitHub Copilot对程序员效率和幸福感的提升,发现使用工具的程序员完成任务速度快55%,96%的使用者认为自己处理重复性的工作更快了,88%的使用者认为自己可以更加专注于更喜欢的工作上。
百度、阿里云、蚂蚁等布局代码大模型的国内巨头,也是先尝到了甜头。比如在蚂蚁内部,CodeFuse ⽀持40多种编程语⾔,10多个主流IDE平台,现在有超过五成的程序员使用CodeFuse,在这些程序员写的代码里,AI生成代码占比超过了10%,整体采纳率30%,在生成单元测试场景采纳率可达到 60%。以最新发布的“图生代码”技术为例,前端工程师在还原一个中型网页时,如果最终有200 行代码,一人耗时约需1小时,使用CodeFuse一键生成后,只需检查与调整,这大幅提高了前端工程师的效率。
(CodeFuse正在成为越来越多程序员的编程工具)
其次,编程人员群体庞大,研发提效是科技巨头高质量增长的关键一环。
以中国为例,来自Boss直聘的《2023年中国程序员人才发展报告》显示,中国程序员总数约为600万人左右。如果算上需求分析师、设计师、UI/UE/UX、产品经理、IT运维等研发上下游工种,IT研发人才群体更加庞大。
大量的研发人才意味着庞大的研发支出,这从头部互联网企业的研发成本可以窥见,李彦宏日前表示,百度这么多年研发费用占到收入的比重一直是20%以上,以23年1345.98亿元营收计算,研发投入在270亿左右。阿里、腾讯、字节、华为等巨头的研发投入规模更大,且相当部分均在软件研发上。
哪怕代码大模型可提高1%的研发效率(当然,从实践来看提效远不止1%),对科技巨头降本增效也有非凡意义——高质量增长是科技行业的主旋律,降本增效是每家公司的重点。正因为此,所有科技企业都将推动所有软件工程师使用AI编程工具。
最后,程序员以及研发人员具有更强的“AI基础素养”,更乐意利用、更可能用好AI编程辅助工具。
对于非技术类人员来说,即便是使用ChatGPT这样的大众化工具,也需要学习“Prompt(提示词)”等技能,可见真正使用AI大模型来创作对大多数人来说是有门槛的,且普通人无法适应当前大模型技术结果的不确定性、不可靠。
对技术人才来说,以上问题不存在,因为他们是最善于使用工具、也乐于探索新工具的人群。程序员是“终身学习职业”职业,他们一直在学习更先进的编程语言、寻觅更先进的工具、应用最先进的方法来提高工作效率与质量。在代码大模型驱动下,AI编程工具如雨后春笋出现,对应的研发体系、协作流程、管理方法、设计模式都将剧变,就算企业不推动,研发人员也会自主去探索和学习AI研发工具。
(CodeFuse IDE插件的代码生成功能(部分))
Gartner发布的2024年十大战略技术趋势也指出:到2028年,75%的企业软件工程师将使用AI编程助手。放眼未来,在助力企业研发板块“降本增效”的同时,代码大模型将更大程度地解放技术人员,让他们专注于更高维度的创造工作。
从当前的AI编程实践来看,代码大模型正沿着两个方向演进。
一条路是不断提高代码生成能力,做好程序员编程智能辅助工具。代码生成、补全、解释与转换能力,从行级到片段到仓库级不断进化。在生成代码时,支持多轮对话式需求理解,支持自然语言、语音、图生代码等多模态指令理解,这也是包括GitHub Copilot在内的AI编程平台在主攻的方向,它们基于云提供SaaS服务或插件工具,着重于助力程序员提高代码编写的效率和质量。
另一条路则是让AI渗透到研发的全生命周期,重构研发体系。
软件开发涉及到需求分析、编程开发、测试与构建、发布与运维、数据洞察等链路。每一个链路都需要使用大量的专业工具,且与上下游研发链路进行协作。理论上来说,所有研发工具都可以被AI重做一遍,软件研发范式(包括工具链、协作流程、项目管理方法、设计模式等等)都将被重构。
在国内,蚂蚁CodeFuse 是AI全⽣命周期研发的首倡者和积极探索者。在内部,蚂蚁已将⼤模型技术应⽤在研发的全链路环节,在CodeFuse的版图中,在需求阶段,Project Copilot提供多场景开发助手,提供需求/设计文档智能生成等服务;在开发、测试、运维和数据环节,分别提供Code Copilot(IDE插件)、Test Copilot、Ops Copilot、Data Copilot等AI研发工具,大幅提高对应环节研发人员的工作效率。CodeFuse 在蚂蚁内部被大规模应用在工业化生产场景,经过反复验证与迭代后再以开发助手、IDE插件、AI Native IDE、Open API、开源等形式开放给行业,同时也针对小程序开发等特殊场景定制了AIGC方案。
(蚂蚁CodeFuse探索AI全⽣命周期研发范式)
第二种路线可被简单地理解成企业研发的数智化升级,这将是科技类企业数智能升级中不容忽视的一环。自动驾驶技术不只是改变了车辆驾驶方式,也将重构出行、物流、道路、交管、法规等交通体系。同理,AI大模型不只是会提升程序员个体的工作效率,也将缔造全新的研发范式。大部分的AI编程工具强调通用性,不大可能面向前端工程师提供“图生代码”这样的细化服务,因此目前更多是影响个人开发者。但在AI大模型重构研发体系时,开发团队更需要去做全生命周期的AI研发的顶层布局,在每一个链路中使用AI研发工具且采取全新的协作模式、管理方法。
回到开篇的问题:编程到底会不会消亡?
看上去,随着AI编程技术的发展,人人都可用自然语言来编程,程序员确实将成为不复存在的职业。
但事实并非如此。
一方面,程序员的核心价值是“创造”,创造本身不可能被机器取代。自然语言编程只是降低了编程的“交互门槛”,但编程的根本是抽象思维、逻辑思维、系统思维、算法思维以及创造思维,特别是对物理世界的认知、理解与抽象,这些并非AI所长。
另一方面,产品研发不只是编程。正如前文所言,研发涉及到需求分析等等环节,同时需要与产品运营、市场推广、商业化等环节密切配合,这些更是AI不可能做好的事情,比如AI就不可能洞察到用户有在手机上收发红包这样的细微需求,更不可能做出网络红包这样的创新产品——当然,有了AI编程工具,网络红包的开发会更敏捷,更高效。蚂蚁“2024支付宝五福节”的游戏中心项目代码,就有30%由AI提交。
受过软件开发专业训练的人都知道,编程不等于写代码,项目管理、软件测试、需求分析、算法、数据结构等等全链路研发技能也是所有计算机软件类专业的必修课。正因为此,技术人员要尽可能地用好AI编程工具提升个体工作效率,同时增强复合型能力,当重复性等工作大幅减少可用更多时间“创造”,强化用户需求分析、创意设计、业务理解、项目管理等能力。
正如蚂蚁集团CodeFuse负责人所言:“AI的普及不仅可以减少开发人员的工作压力,让他们有更多精力投入到更有创造力的工作中去。”而AI研发范式的变革,并不代表“人”在研发场景的角色会消失,反而对AI和人如何协同提出了更高的要求。“AI目前主要集中在辅助编程(code copilot),编程要从copilot走向co-worker,甚至替代人,还有很多未解决的问题,而整个研发生命周期的AI自动化,还有很长的路要走。”
AI不会取代任何旧的职业,但会淘汰思维陈旧的人。长期来看,AI将成为人类的助手,⼈机协同是AI发展的终局,这一点会在研发特别是编程场景率先体现。对于企业来说,研发是根基,其本质是用技术解决问题和创造产品,这将是硅基文明基础生产方式。2024年的一个显著趋势是,编程以及研发本身,正在被AI大模型技术重构。所有技术人员必须拥抱AI研发的全新理念,适应新的研发协作模式。
是时候重新出发了。