关闭广告

关于软件/代码生成的思考

极客公园3219人阅读

综合报道

8min read

关于软件/代码生成的思考

石头 2024/07/03


摘要

代码不仅仅是一个产品,同时也是通往通用人工智能的路径。

**作者:宿文

一、智能代码生成的优势

1、软件应用的实现方式主要是代码

信息革命后,软件应用将每种业务行为映射到二进制世界的载体,进而实现可表达、可优化的数字化目的。

软件应用的实现方式主要是代码。发展至今,全球已经有近1亿程序员,中国近1000万程序员。

随着机器学习和人工智能技术的不断进步,智能代码生成正成为业界关注的新焦点。基于大规模训练的软件代码生成模型,不仅可以自动编写高质量代码,还可以完成各种复杂的软件开发任务,极大地提高了软件开发的效率和生产力。

这些都在深刻的影响着软件产业。作为越来越重要的生产资料,软件产业经常临着需求与供给的不平衡,未来通过代码生成的方式,或可以解决软件消费的需求。

随着代码生成的日臻成熟,企业会更加聚焦于业务自身的迭代。

当下,全球AGI的能力在解决代码生成的能力天花板是明显存在的。

根据统计数据看,代码生成的准确率在30%-40%之间,所以产品形态多是以代码补齐功能为主的copilot,也有不少agent产品涌现。

实现代码生成的autopilot,端到端生成软件和应用,是代码生成更加广阔的方向。

在更长线的未来,“代码不仅仅是一个产品,同时也是通往通用人工智能的路径”。

2、智能代码生成的优势

与传统的代码编写方式相比,智能代码生成具有以下突出优势:

智能自动编码

代码大模型通过深度学习的方式,能够理解代码的语义和结构,并根据输入的需求自动生成高质量的代码。用户只需简单描述需求,模型就能快速生成符合要求的代码,大大减轻了编码工作量。

跨语言支持

先进的代码大模型已经实现跨编程语言的代码生成能力,开发者可以使用自然语言描述需求,模型就能自动生成对应的代码,而不局限于特定的编程语言,这极大地提高了软件开发的灵活性和适应性。

代码优化与重构

代码大模型不仅能生成新的代码,还可以对现有代码进行优化和重构,提高代码的可读性、可维护性和效率。这对于代码质量把控和技术债务管理非常有帮助。

自动化软件开发

结合更多的AI技术与产品,代码大模型可以实现软件开发的全自动化,从需求分析、设计、编码到测试部署,整个软件生命周期都可以由AI系统自主完成,这将大大提高软件交付的速度和质量。

二、智能代码生成对软件产业的影响1、智能代码生成的终局:更加聚焦的专业化服务+自动化交付的软件生成平台

大模型代码生成能力对于软件产业的影响,市面上的讨论虽然集中体现在对SaaS领域的影响,但实际当中更应该从全景来看。

概括来说,代码生成的终局有望将软件业态改造成两类——更加聚焦的专业化服务和自动化交付的软件生成平台。

我们将从几个方面来拆解:

软件业态的三个分类:专业化服务、大众化标准产品、企业解决方案

在麦肯锡1999年出版的《Secrets of Software Success》一书中,对于软件业态的三个分类依然经典:专业化服务、大众化标准产品、企业解决方案。

  • 专业化服务限于边际成本难以优化具备高度的分散特征,几无规模化;

  • 以各类工具软件为代表的大众化标准产品则往往呈现出充分市场竞争下的头部效应,面临的冲击主要来自斜刺里杀出的新品类或者云化技术形态的变革;

  • 企业解决方案则往往是非标软件平台与专业化服务的融合,以SAP、Saleforce、用友、金蝶国内外软件等为代表,经过几十年的发展体量不小。

当下,海外SaaS大部分属于第二类,并通过客户成功的多手段增强服务。国内众多的软件企业,特别是大多数SaaS初创企业,业务发展往往属于第三类,重售前、重方案、重交付且重运营,本质上属于软件服务业。

2、为什么是专业服务?中国的软件采购消费的本质是业务代码,而非产品

为什么第一类专业服务在未来受益最大,甚至是成为终局?

这是有2点决定的:

  • 中国的软件采购消费的本质是业务代码,而非产品。

  • 当编程的成本趋近于0,个性化的数字化需求或能得到满足。

欧美市场诞生了很多或大而美、或小而美的SaaS软件企业,产品的标准化、收费方式、部署方式等均形成了中国软件从业者与投资人艳羡的生态。

回看过去10-20年,在中国为软件付费的大甲方主要是政府(G端)与大B端,而大B端则主要由国央企与少量头部的民营企业构成。这也造成了中国SaaS行业普遍不赚钱。

背后的主要原因则是:中国的SaaS消费本质是消费代码,而非产品。

简单来说,实际运营中,从选型期、实施期到验收期,再到维保期,软件业态的信息链条长,服务占比居高不下。

具体来看:

  • 甲方需求迭代:甲方的需求由于自身业务的差异性导致五花八门,呈现出大量的长尾、非标定制需求,且随着业务的发展,软件的供给匹配一定是滞后的,即便有PaaS平台可以满足80%的业务需求,但剩余的20%却消耗了80%的交付成本。

  • 甲方组织:甲方的数字化需求发布者是七嘴八舌的,应用软件往往伴随着流程梳理与再造,也是软件服务企业的必然特征,软件开发裹挟着大量的咨询服务,软件的用户必然会在交付过程中提出各类需求。由于供需双方在数字化经验和专业度上的欠缺,很多用户和客户只有见到最终交付的软件才知道如何重提或者修改需求,让软件的交付返工问题异常突出,长链条的收尾直接导致项目利润的消耗和难堪的回款数据。

  • 甲方付费:大多数具备付费意愿和能力的客户往往是预算制,付款并非严格按照软件交付的实质推进。更加窘迫的事实是软件需求侧验收阶段的“不讲武德”,修改、增加需求属于常规操作,否则不确收、不回款,造成了大量软件企业普遍困扰的交付长、确收少、应收多等现场。究其根源,又涉及甲方在选型过程中的成本驱动或商务驱动的非专业选型,私有化部署带来的软件维护难度大,乙方软件技术功底差、过度承诺等问题,以及政府/国央企在验收或打款后的归责制。

中国市场对于软件的消费量是客观存在且巨量的,但我们看到的是是消费代码定制,可以称之为消费代码。

当编程的成本趋近于0,个性化的数字化需求或能得到满足。

3、当编程的成本趋近于0,改变软件供给侧三大核心要素,个性化的数字化需求或能得到满足

当前,软件/代码消费的目的——业务需求的数字化转译,自身就伴随着非标、定制、长尾的特征,而且业务需求是发展和增长的,个性化会持续涌现。由于供给端的不足,需求端要么对解决方案做出让步即接受尽可能标准化的模式,要么在预算有限的情况下不停地重复造失败的轮子,让供给端的生存生态更差。

代码生成的应用领域,在很长一段时间内都聚焦在软件服务业,旨在将软件与服务区隔,让软件的实现变成自动化的端到端代码生成,成为标准化的工具;服务环节将变得越来越专业化。

代码生成的终局有望将软件业态改造成两类——更加聚焦的专业化服务和自动化交付的软件生成平台。

实现从需求PRD走向软件工程的自动化,主要是因为改变的是软件供给侧的三大核心要素QCD(质量Quality、成本Cost、效率Delivery)三大瓶颈,最终实现软件消费的普适与平权。

代码生成与软件供给的三要素

全球近1亿程序员,中国近1000万程序员,在软件产业占据的人力成本达万亿美元级别,其中高质量的编程人力占比较低,同时面对软件消费的巨大市场又没法即时且高效的响应,呈现出供需的严重不平衡。

  • 效率:常见的软件交付过程除了需求梳理阶段的咨询服务,后续的开发周期与上线后的需求增改删周期都是以周和月为考量的,软件企业的边际成本会不降反升。在代码生成的终局里,与业务场景强绑定的专业咨询服务依然存在,但后续的软件需求交付可以变成分钟/小时级,给软件行业带来巨大的效率红利。

  • 质量:PC/移动互联网围绕cloud-native、big data、algorithm催化出来的很多优质的infra能力,但在软件产业优质的技术供给是极其稀缺的,代码生成可以让各类高阶技术能力的应用门槛大幅度降低,实现技术普惠,改造软件行业的基建。

  • 成本:在很多软件品类的交付中,都有比例客观的软件服务成本,常见的收费方式是“人·天”模式,代码生成可以让软件工程的交付边际成本趋近于代码生成所需的算力成本,让信息技术变成基础设施而非上层建筑。

    三、智能代码生成的关键能力与现状1、智能代码生成的关键能力

    代码大模型通过深度学习的方式,能够理解代码的语义和结构,并根据输入的需求自动生成高质量的代码。具体来说,代码大模型具有以下关键能力:

    语义理解

    代码大模型能够理解代码中蕴含的语义信息,包括函数、变量、控制流等各个层面的意义。这使得模型可以根据实际需求生成符合业务逻辑的代码。

    结构感知

    模型不仅能理解代码的语义,还能感知代码的结构特点,如面向对象的类结构、模块化的设计等。这样可以确保生成的代码具有良好的可读性和可维护性。

    上下文建模

    代码大模型拥有强大的上下文建模能力,能够根据输入的需求描述,结合代码的上下文信息生成合适的代码片段。这种上下文感知有助于确保代码的连贯性和适用性。

    多样性生成

    代码大模型不仅可以生成单一的代码解决方案,还能生成多样化的代码备选方案,为开发者提供更多的选择。这有利于探索更优的编码实现。

    面向对象建模

    代码大模型能够识别面向对象编程中的类、对象、继承、多态等概念,并根据这些结构特点生成符合面向对象设计原则的代码。这确保了生成代码的可复用性和可扩展性。

    模块化设计

    模型可以感知软件系统的模块化设计,理解不同模块之间的依赖关系和接口契约。这样可以确保生成的代码能够很好地融入现有的软件架构,实现良好的模块化拆分。

    设计模式识别

    代码大模型能够识别常见的软件设计模式,如单例模式、工厂模式、观察者模式等。它可以根据实际需求自动应用合适的设计模式,生成高质量、可复用的代码结构。

    2、当前代码生成的2种模式

    目前,代码生成领域的产品解决方案主要包括两类:基于现有AGI的Agent vs 基于专用模型的端到端解决方案。

    大多数的参与者属于前一类,产品形态多是以代码补齐功能为主的插件形式为主,几乎所有的主流的LLM公司都会提供代码能力产品,也有不少独立的agent产品涌现,代表性公司为Github Copilot、Cursor、August、Cognition等。根据统计数据看,代码生成的准确率在30%-40%之间。

    实现代码生成的“autopilot”,端到端生成软件和应用,是代码生成更加终局的技术方向。此类解决方案的在于解决AGI在代码精准生成方向的模型底层技术卡点,基于transformer,自研更为先进的模型架构,让大模型的商业化场景走向低容错率的场景,代表性公司为Poolside、Magic、AIGCode。


智能代码 编程

版权与免责声明:本文内容转载自其他媒体,目的在于传递更多信息,不代表本网观点或立场,不承担此类作品侵权行为的自己责任及连带责任。
猜你喜欢
精彩推荐

春天不建议大家买的3件衣服,看着洋气,实际土气没档次,不实用

潮人志Fashion 浏览 4880

ESPN大规模裁员 范甘迪等多位资深媒体人毕业 美网友声讨帕金斯

直播吧 浏览 8128

女子8名亲戚在地震中遇难:有人前2天还和我说话

北青深一度 浏览 35015

沪指涨1.95%个股普涨 北向资金净流入90亿

网易财经 浏览 18338

海外反华账号造谣中国核动力潜艇发生事故 媒体明查

澎湃新闻 浏览 47099

在以驻美使馆外自焚男子为美空军现役军人

环球网 浏览 4893

中超-马莱莱破僵后伤退路易斯传射 申花2-0西海岸

网易体育 浏览 5289

瑞信真的崩了!投资人炸锅:血本无归

中国基金报 浏览 11840

保时捷将在中国设立研发中心 2022年初落户上海

新京报贝壳财经 浏览 13330

世界杯后切尔西各项赛事仅获3胜进7球 多特则是全胜狂进25球

雷速体育 浏览 12020

这么穿,还怕十里没“桃花”?

芭莎男士 浏览 11775

何洁携家人看画展靠老公怀里甜笑,俩女儿超有爱

娱絮 浏览 7359

16岁女生与6旬亲姑父看黄片多次发生关系 在学校产子

饭点资讯 浏览 36178

美军花3亿多美元造的加沙码头被冲毁了

观察者网 浏览 3514

曝货拉拉司机不充会员每天只能接两单,平台对割韭菜行为毫不避讳

趣看热点 浏览 512596

马斯克要在特斯拉之外开发AI?Wedbush警告:将是巨大利空

财联社 浏览 5102

王家卫的《繁花》,害人不浅!

Yuki女人故事 浏览 5587

五角大楼:所有F-35战斗机应当在90天内接受翻新

环球时报新闻 浏览 11875

杜德伟携老婆孩子出游 揽小24岁娇妻拍照一脸甜蜜

网易娱乐 浏览 19094

连续第4晚发生骚乱 法国已部署4.5万名警察和执法车辆

环球网 浏览 51207

原小鹏智驾灵魂人物吴新宙在英伟达职位确认,任自动驾驶产品主管

界面新闻 浏览 7293
本站所有信息收集于互联网,如本站收集信息侵权,请联系我们及时删除
沪ICP备20017958号-1