LowCode低码时代LowCode低码时代
  • 首页
  • 低代码/零代码动态
    低代码/零代码动态
    厂商融资信息、行业新闻、招投标、技术研究等动态
    Show More
    Top News
    AIGC点燃低/零代码市场
    3年 ago
    万字长文 | 低代码vs.传统开发:一个全面的比较
    2年 ago
    西门子Mendix低代码高级架构师卢春霖,将出席“低代码开发推动制造业数字化变革”线上研讨会
    2年 ago
    Latest News
    重磅!OpenAI开源首个Agent SDK,反击Manus
    1年 ago
    云计算巨头AI战略分化:谁将定义企业级AI的未来规则?
    1年 ago
    DeepSeek创造历史!登顶全球AI应用第2名,豆包排名第10
    1年 ago
    2025“赋能开发者”高峰论坛即将启幕,诚邀您报名参加!
    1年 ago
  • 市场研究
    市场研究Show More
    《Market Insight:中国低代码/零代码市场发展洞察 ( 2023 )》报告正式发布 | LowCode低码时代
    3年 ago
    国产大模型顶流「讯飞星火」:图片生成、代码生成,支持插件等重磅上线
    3年 ago
    报告 | 金现代:效能提升+内质跃迁,重塑电力IT领导者
    3年 ago
    Gartner:低代码的颠覆性力量
    3年 ago
    Gartner:什么是超级应用程序?
    3年 ago
  • 人物观点
    人物观点Show More
    原力CEO赵锐:ToDesk是国内唯一适合高精远程办公需求的解决方案
    2年 ago
    央视财经对话汪源:低代码最核心的是降低对写代码的人的要求
    3年 ago
    干货文章 | 低代码真的有价值吗?
    3年 ago
    壹沓科技融资近2亿元之后:以通用大语言模型赋能,构建数字机器人超级大脑
    3年 ago
    专访中银金科:数字营销成为新的增长引擎,未来业务转化是关键
    3年 ago
  • 活动
    活动
    最新活动,包含线上研讨会、技术预测峰会、线下峰会、…
    Show More
    Top News
    ISIG中国产业智能大会品牌介绍
    4年 ago
    炎黄盈动金融行业高级顾问张自刚,受邀出席“2022金融科技超自动化论坛”
    3年 ago
    超自动化·智启高效运营|艺赛旗2023年春季产品发布会成功举办
    3年 ago
    Latest News
    2024第五届ISIG产业智能大会,四大科技峰会共掀数字化创新浪潮
    1年 ago
    参赛者必看 | 拯救者杯OPENAIGC开发者大赛最全攻略指南来啦~
    2年 ago
    2024第四届ISIG产业智能大会(RPA超级自动化、AIGC大模型、低代码/零代码、流程挖掘)
    2年 ago
    超自动化·智启高效运营|艺赛旗2023年春季产品发布会成功举办
    3年 ago
  • 关于低码时代
    • LowCode原创研究
Reading: 万字长文 | 低代码大模型的架构与CodeGPT的落地
Share
Notification Show More
Latest News
30部佳作突围!2025 AI视听创作嘉年华晋级名单揭晓,总决赛11月25日启幕
未分类
《2025 AI 大模型开发生态白皮书》正式发布 | 算泥社区
未分类
“AI幻想·未来亦城”2025AI视听创作嘉年华作品征集来了!
未分类
120万奖池,寻找最具想象力的AI创意开发者!2025骁龙人工智能创新应用大赛正式启动!
未分类
2025-10-21
未分类
Aa
LowCode低码时代LowCode低码时代
Aa
  • 低代码/零代码动态
  • 最新市场研究
  • 活动
  • 人物观点
  • 首页
  • 低代码/零代码动态
  • 最新市场研究
  • 人物观点
  • 活动
  • 关于低码时代
Have an existing account? Sign In
  • LowCode低码时代
Copyright©2015-2022 北京企智未来科技有限公司 All Rights Reserved.
LowCode低码时代 > Blog > 低代码/零代码动态 > 万字长文 | 低代码大模型的架构与CodeGPT的落地
低代码/零代码动态

万字长文 | 低代码大模型的架构与CodeGPT的落地

LowCode低码时代
Last updated: 2024/02/23 at 12:30 下午
LowCode低码时代 2年 ago
Share
SHARE

作为一个从事14年低代码研发者甚至倡导者,在ChatGPT席卷全球的形式下,度过了纠结困惑的一年。

Contents
01低代码的模型   2、概念的深入分析   2.1.图形化开发   2.3.大量的预制  2.4.应用的范围  3、低代码的开发模型  02认识大模型在开发上的作用   1、大模型的实现机制2、大模型的基本能力  3、大模型在开发辅助上的作用  03低代码面对大模型的挑战   1、低代码的瓶颈  2、大模型与低代码的对比  04低代码大模型的架构   1、自然语言生成页面示例  2、修改页面字段及功能   05CodeGPT落地   1、页面创建  2、页面控件修改  4、脚本生成/修改  5、Sql语句生成  8、研发智能问答  9、操作手册生成             10、需求文档生成页面  11.脚本实时续写  12.脚本注释生成  13.脚本解释  14.脚本优化/修复: 15.页面测试生成  06结束语   

低代码的主张:“降低代码开发量,通过点击配置、图形化拖拽开发应用,人人都是公民开发者”;大模型的主张:“不用代码开发,通过自然语言生成应用,人人都是开发者”。显然后者是降维打击,低代码的方向在哪里?一时间,最好的朋友都劝我,放弃低代码吧,大模型是低代码的终结者。

于是半年多,在大环境的压力下,研究很多大模型技术,从各个角度突破找不到,更加纠结。

然而一年多的时间,事实表明绝大部分应用没有通过大模型的自然语言生成,充分证明大模型并没有替代开发者。

而正在困惑中,这几个月,多款辅助开发的Copilot的产品却大获成功。

终于决定了大模型应用于低代码的技术路线,经过团队的开发实践,最终落地形成产品CodeGPT。

春节之际,静下心来,撰写此文,分享同行,相互交流。        

本文首先重温一下低代码概念并说明笔者认知中低代码模型,然后介绍大模型在开发上的作用,接着提出低代码面对大模型的挑战,并提出低代码大模型的架构,最后介绍CodeGPT产品的落地。   

01

低代码的模型   

我们需要重新认识一下低代码,看看低代码的概念,对概念做深入分析,我们总结一下低代码的模型。

1、低代码的概念

对于我们这个领域来说,低代码概念其实已经非常清楚了,但是,我们还是重新回顾一下,看一下智谱清言给出的定义:

低代码(Low-Code)是一种使用图形界面进行应用程序设计和开发的平台或工具,从而降低了编程的难度,使非专业开发人员也能进行应用开发。低代码平台通常提供拖放式的组件、预制的模型和模板,以及可视化的开发环境,允许开发者通过最小的手工编程来创建应用程序。

使用低代码平台可以大大缩短应用程序的开发周期,提高开发效率,降低成本。这些平台通常支持各种业务流程和数据库集成,并能运行在不同的设备上,如桌面电脑、移动电话和平板电脑等。

低代码开发平台适合快速原型开发、业务流程自动化、以及应用程序的定制开发。它对于希望快速响应市场变化、缺乏充足IT资源的组织特别有用。

在中国,低代码开发也正逐渐被广大企业和开发者接受和应用,与国内的创新发展和产业升级相结合,为各行各业提供数字化转型的新路径。它与中国的社会主义现代化建设同步推进,助力提升生产力,推动经济高质量发展。       

2、概念的深入分析   

智谱清言对于低代码的概念说明基本上比较全面准确,笔者从自身的认知,对其做一下解析:

1、低代码的作用:降低开发难度、开发成本,缩短开发周期;

2、应用的广泛性:目前各行各业已经普遍应用,这是领域的共识了;

3、图形化开发方式:图形化拖拽和点击式配置方式开发;

4、少量手工编码:手工编码没有被完全替代,很多开发平台已经将其转换为脚本开发方式;

5、大量的预制:预制的组件、预制的模型和预制的模板,这里我们统称为预制件;

6、应用的范围:页面、流程、数据等等。

前两项已经是业内的共识了,我重点针对后面4项稍作展开分析。

2.1.图形化开发  

图形化开发方式的说法非常多,我们经常见到的是:
  • 图形化拖拽(拖放)

  • 点击式配置

  • 图形化配置

  • 零代码开发

  • ..

用户输入方式有两种:

  • 鼠标点击拖拽输入

  • 键盘短文本(标签为主)输入

平台实现方式有两种:
  • 预制模版:图形化界面形成参数,替换模板的变量做代码生成;
  • 预制模型:图形化界面形成配置文件,供模型做解释执行;
2.2.少量手工编码

之所以称之为低代码而不是“无代码”,手工编码是无法被图形化开发完全替代的(或者说如果图形化开发完全替代手工编码,图形化开发的复杂度会远远超过编码),少量的手工编码是必须保留的。

而目前,各个低代码开发平台基本上将手工编码的工作转换为脚本编写,同时预制了大量的函数库或接口,来降低学习难度和开发成本。

低代码领域常见的脚本有:

(1)sql,用于数据库查询;

(2)javascript,常用于前端逻辑;

(3)groovy,常用于后端逻辑;

(4)表达式,常用于逻辑分支;

(5)正则表达式,常用于数值验证;

(6)低代码DSL:各个厂家根据领域专业定制语言。          

这里重点说明一下DSL,指的是“领域特定语言”(Domain-Specific Language)。这是一种用于特定问题领域的编程语言或脚本语言,它为某个特定应用领域或问题域提供了一套专门的语法和语义。DSL的设计目的是简化特定领域内软件的开发和维护,使得领域专家能够更加直接地参与软件开发过程,而不需要深入了解通用的编程语言和软件开发技术。DSL的优势包括:   

  • 专注于特定领域:DSL的设计紧密围绕特定领域的概念和需求,使得在该领域内的问题解决更加高效和自然;

  • 简洁明了的语法:DSL通常具有简洁和直观的语法,使得领域专家能够容易地理解和使用。

  • 出错概率更低:与通用语言项目,简洁直观的语法,会大大减少出错概率;

  • 可扩展性:DSL可以被扩展,以适应新的需求和变化,而无需完全重新设计。

  • 易于集成:DSL可以与通用编程语言和工具集成,允许领域专家在不需要深入了解通用编程的情况下构建复杂的软件系统。

特别强调,真正好的低代码开发平台,都是有自己的DSL的,例如容联云的Rscript,用于呼叫中心的业务应用。          

2.3.大量的预制  

“预制”是一个精准的词,预制是低代码存在的根本,为了方便表述,我们统称为“预制件”。

“预制”行业内不同厂家的说法有:

  • 封装

  • 继承

  • 沉淀

  • 积累

低代码开发平台预制的三个方面:

1、预制前端组件;

2、预制业务模型;

3、预制行业模板。   

而预制的水准直接决定了低代码开发平台在降低学习、开发成本,缩短开发周期方面的表现,很容易理解,预制需要提前预测未来客户需求是什么、可能的变化。

同时,预制的成果是一个低代码开发平台的资产,以容联的CodeGPT为例,沉淀了15年的呼叫中心相关UI组件、数据模型、行业模板,是这个低代码的核心价值。

2.4.应用的范围  

根据阿里宜搭低代码的分类,低代码主要的分成以下几个方面:

1、可视化页面搭建:最常见的,就是画布做页面;

2、可视化模型设计:很多厂家的元数据、数据模型等等;

3、可视化业务流程设计:最常见的是工作流等等;

4、可视化报表分析:最常见的是各种报表工具或BI工具;

5、可视化角色权限设计:角色权限的开发往往是各种业务系统的难点,可视化的难度也是很大的。

3、低代码的开发模型  

笔者认为,低代码就是利用预制组件、预制模型和预制模板,通过图形化开发和少量手工编码代替硬编码。

低代码的模型如下图:   

从上图可以看出,低代码应用,就是基于预制件(预制组件、预制模型、预制模板),由图形化开发+少量手工编码,通过可视化页面搭建、可视化模型设计、可视化业务流程设计、可视化报表及分析和可视化角色权限设计完成的。

02

认识大模型在开发上的作用   

我们重新整理一下大模型的概念、能力,进而了解一下大模型在开发上的作用,最后,说明一下国内的大模型开发辅助方面领先的产品。          

1、大模型的实现机制

大模型(LLM)是指使用大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。近期研究表明,特定领域的大模型应用可以通过检索增强生成和微调等方法进一步提升性能,为特定行业如农业等创造有价值的知识资源。

大模型的实现上主要包括以下几个方面:

  • 数据训练:大模型通常需要使用大量的文本数据进行训练,这些数据可以从互联网、书籍、文章等多种来源获取。通过这些数据的训练,模型可以学习到语言的语法、语义、上下文关系等特征。

  • 深度学习:大模型通常采用深度学习技术,如循环神经网络(RNN)、长短时记忆网络(LSTM)、Transformer等,来实现对语言数据的建模。这些深度学习模型能够处理长距离的依赖关系,并捕捉语言中的复杂特征。 
  • 语言生成:在接收到输入文本后,大模型会基于概率分布生成接下来的词语或句子。这个过程可以通过采样或贪婪解码等方式实现。模型的生成能力使其能够创作文章、回答问题、翻译文本等。
  • 注意力机制:注意力机制是一种能够使模型关注输入数据中重要部分的技术。在大模型中,注意力机制可以帮助模型更好地捕捉到上下文关系,提高生成的文本质量。
  • 多任务学习:大模型通常采用多任务学习技术,同时训练多个任务,如语言建模、文本分类、机器翻译等。这有助于提高模型的泛化能力和性能。
总之,大模型的实现原理是通过大量的数据训练、深度学习技术、注意力机制和多任务学习等方法,使计算机能够理解和生成自然语言。这种技术在人工智能领域具有广泛的应用前景。          

2、大模型的基本能力  

大模型的主要能力体现在以下几个方面:

1. 语言理解:大模型通过训练可以理解和解释自然语言文本,能够回答问题、提供解释、理解指令和上下文含义等。

2. 语言生成:模型能够根据输入的上下文信息生成连贯、流畅的文本,例如撰写文章、生成对话、创作诗歌或故事等。

3. 文本摘要:大模型可以提取文本的关键信息,生成摘要,使得用户能够快速了解长篇文章或报告的主要内容。

4. 机器翻译:模型可以将一种语言翻译成另一种语言,帮助跨语言交流和理解。

5. 文本分类:大模型可以对文本进行分类,例如判断邮件是否为垃圾邮件、识别文本的情感倾向等。

6. 问答系统:模型可以用于构建问答系统,回答用户提出的问题,如在线客服、智能助手等。   

7. 对话系统:大模型可以用来构建对话系统,与用户进行自然语言交流,如聊天机器人、虚拟助手等。

8. 语音识别:结合语音处理技术,大模型可以用于语音识别,将语音转换为文本。

9. 自动摘要:模型可以自动从长篇文章或视频中提取关键信息,生成摘要。

10. 文本生成:大模型可以生成各种类型的文本,如新闻报道、产品描述、电子邮件等。

这些能力使得大模型在许多实际应用中具有广泛的应用价值,如搜索引擎、推荐系统、自动化写作、智能客服、教育辅导等。随着技术的发展和模型的不断优化,大模型的性能和应用范围还将进一步扩大。

3、大模型在开发辅助上的作用  

从大模型的实现机制上看,系统经过海量的数据训练,而数据中,代码的规范性、准确性是最高的,很多大模型学习了几十亿行代码,效果自然是最好的。同时,自然语言理解的突出优势,让大模型在软件开发辅助上可以发挥多种作用,提高开发效率和质量。以下是一些主要应用:

1. 代码补全:大模型可以预测开发者输入的代码序列,帮助快速完成代码编写。这可以减少开发者的输入时间,降低犯错率。

2. 代码审查:通过分析代码的风格和潜在错误,大模型可以帮助开发者识别代码中的问题,提供改进建议。

3. 错误诊断和修复建议:当软件出现问题时,大模型可以根据错误信息提供可能的故障原因和修复方案。

4. 文档生成:大模型可以自动生成代码的文档,包括API说明、代码注释等,帮助开发者理解和维护代码。   

5. 自动化测试:大模型可以生成测试用例和测试代码,帮助开发者进行自动化测试,提高测试覆盖率和效率。

6. 代码搜索和重构:大模型可以理解代码的意图和结构,帮助开发者搜索特定的代码段或模式,并建议重构代码以提高可读性和可维护性。

7. 智能对话系统:大模型可以用于构建智能对话系统,帮助开发者与软件系统进行自然语言交互,获取信息、解决问题或进行反馈。

8. 需求分析和自动化代码生成:大模型可以理解自然语言描述的需求,自动生成相应的代码结构,减少手动编码工作。

9. 知识库构建和问答系统:大模型可以帮助开发者构建知识库,并提供自然语言查询支持,使得开发者能够通过提问获取所需信息。

10. 代码风格统一和规范检查:大模型可以识别代码中的风格不一致之处,并提供统一的风格建议,帮助维护代码规范。

大模型的这些应用可以显著提高软件开发的效率,减少人为错误,提升代码质量,同时也为开发者提供更多的智能化辅助工具。随着技术的不断进步,大模型在软件开发中的作用将会更加广泛和深入。          

4、大模型开发辅助的领先产品   

令人惊讶的是,国内大模型辅助开发的产品已经商业化了,请看下面的表格:   

其中,百度的Comate在收费上非常有自信,没有免费版本,和阿里的通义灵码一样,支持更多的语言类型。

从功能上来讲,包含如下内容:          

注意,这里在实时续写方面,只支持行级/函数级,距离类级、模块级、应用级还差得很多很多。

03

低代码面对大模型的挑战   

2021年到2023年,低代码概念和厂商真是风光无限,提出的口号是“无需开发,拖拽生成应用”,?得到无数投资方和客户的追捧。

然而,2023年的ChatGPT的发力,提出了“无需开发,说说就可以生成应用”,对低代码形成了降维打击。   

低代码作为硬开发的终结者,马上要被大模型终结了。

1、低代码的瓶颈  

问题来了,既然低代码开发平台只需要点击式配置和脚本编写就可以完成一个应用的开发,已经比硬开发降低太多的成本了,为什么还要改进呢?

低代码在构建的初期,往往业务复杂度较低,配置逻辑简单,需要的脚本也非常少,然而,经过一段时间的发展,客户应用复杂度的增加,导致低代码变得越来越复杂,表现在两个方面:

1.配置复杂度过高

现在的应用,配置项越来越多,菜单配置、权限配置、页面配置、控件配置、样式配置、接口配置、数据项配置、验证配置、逻辑配置…,虽然都是点击拖拽,在配置项过多的情况下,往往学习成本还是非常高的,不但要搞清楚每一个配置的作用,还要熟悉配置之间的关联,不是一个很简单的技能;

2.脚本复杂度过高

正如javascript在初期只是很小的集合,非开发人员就可以使用,只是配合前端展示的小脚本;然而,随着客户需求的不断提升和厂家之间竞争的日益加剧,javascript变得非常庞杂,react、vue等多种框架随之产生,很专业的开发人员才能掌握。

3.更低门槛的需求

低代码零代码门槛的不断降低,促使众多产品经理甚至最终非IT的用户需要参与到软件开发中。需求的驱动,让人们不能满足仅仅减少对硬编码开发者的依赖,而是要公民开发者能够主导软件的开发。   

4.更敏捷的需求

在众多领域中,瀑布式开发彻底被抛弃,客户无法等到你通过各种文档确认需求,他需要通过微信文本甚至语音沟通表达自己的需求,很短的时间内就看到软件的效果。即使是少量的脚本也无法满足客户的这种及时性需求。

5.大模型的环境驱动

面对各行各业的IT技术的迅猛发展,更快、更易的人机交互模式不断提升,车载终端的语音交互已经普遍被接受,为什么我们就不能通过自然语言完成开发。

无论是ChatGPT,还是微软的Copilot,都能通过自然语言进行开发,不断向低代码提问:自然语言开发什么时候能可以用?          

2、大模型与低代码的对比  

抛开炒作的话题,仔细分析低代码面临的困境,我们冷静的分析一下这个挑战,总的来说挑战是很大的,但是离终结低代码太远了。

现在我们做一个对比分析,如下图:

具体来说:

1、预制组件/模型/模板:这是低代码的核心资产,是大量人工实现的,包括行业专家的分析、客户的分析整理、程序员开发调试、测试工程师的查错、用户的使用改进;这些都是大模型无法达到的;   

2、自然语言输入:这个是大模型的绝对优势,包括自然语言语义理解、基本推理能力等等,与低代码的鼠标键盘输入,学习成本自然极大降低;

3、丰富的代码参考:使用者在开发过程中,可以参考到全世界最优秀的同类代码,大模型可以预测你要写什么代码,确实能大幅提升效率,这一点低代码完全不能相比;

4、低代码配置项过多:虽然配置比开发简单很多,但是,当配置项多到一定程度、配置项之间的关联越来越多的时候,配置绝对不是一件简单的事情,学习成本还是很高的;

5、低代码的脚本开发难度:虽然脚本比代码简单,但是,有大模型辅助开发的时候,脚本就比代码难度大了,写个正则表达式看看,相信大多数程序员都会搜索一阵儿,更何况低代码开发者呢;

6、大模型还是开发,工作量还是大很多很多;

7、大模型生成代码,还是行级和函数级的,几乎无法形成一个页面,但是低代码完全可以完成一个CRUD页面的生成。

通过分析,大模型替代终结低代码,路还很远,不必恐慌。

但是,大模型的发展势头是让每一个人焦虑的,我们依然需要将大模型利用起来,为低代码提供有力地支撑,怎么做呢?

04

低代码大模型的架构   

根据上面的分析,低代码的优势在于预制组件/模型/模板,大模型的优势在于自然语言理解、基本推理、海量代码的积累。   

再分析,低代码更专业化,大模型更通用化。

从本质上来讲,低代码是对硬编码的转换,转换为行业的预制组件/模型/模板、脚本、操作指令,为了使用大模型硬编码的能力,我们将低代码专用的预制件、脚本、操作转换为硬编码,让大模型处理,大模型回应的硬编码的结果再转换回低代码的预制件、脚本、操作转换。

可以完美整合在一起,架构如下:

明确两个术语:

  • 低代码提示词:用户在低代码开发平台输入的提示词;

  • 大模型提示词:低代码开发平台向大模型发送的提示词。

现在对架构做一下简要说明:

1、大模型能力:大模型具备的能力包括自然语言理解、代码生成操作手册、需求文档生成页面、代码实时续写、代码注释生成、代码解释、代码优化/修复、单元测试生成;

2、通用语言:大模型的以上能力都是基于通用语言的,包括Java、Javascript、Python、Sql、Json等等;   

3、低代码能力:低代码具备的能力包括可视化页面搭建、可视化模型设计、可视化业务流程设计、可视化报表及分析、可视化角色权限设计;

4、低代码输入输出:低代码是基于专用预制件(预制组件、预制模型、预制模板)、图形化开发、少量脚本实现低代码开发的;

5、LLTranslator:LLM&LowCode Translator是一个翻译器,是整个低代码大模型架构的核心,翻译器是双向的:

(1)To大模型:将预制组件、预制模型、预制模板和脚本翻译成通用语言,如javascript;

(2)To低代码:将通用语言翻译成基于预制组件、预制模型、预制模板的指令或脚本;

为了说明这个模型,我以智谱清言大模型举两个例子。    

1、自然语言生成页面示例  

低代码开发者接到做一个请假单页面的任务,没有产品经理,他求助于大模型。过程如下:

1、用户在低代码开发平台通过自然语言输入需求,如下:  

低代码提示词:请为我生成一个请假单界面,字段不超过5个。

2、硬编码转换:LLTranslator将硬编码语言和库的说明添加,转换为以下的大模型提示词:          

大模型提示词:请为我生成一个请假单界面,字段不超过5个。用Python的基于TKInter实现,只需要代码,不用任何其它说明。

3、大模型返回如下代码:      

import tkinter as tkclass LeaveRequestGUI:    def __init__(self, root):        self.root = root        self.root.title("请假单填写界面")        self.create_widgets()    def create_widgets(self):        # 姓名        self.name_label = tk.Label(self.root, text="姓名:")        self.name_label.grid(row=0, column=0, sticky="e")        self.name_entry = tk.Entry(self.root)        self.name_entry.grid(row=0, column=1, sticky="we")        # 学号/工号        self.id_label = tk.Label(self.root, text="学号/工号:")        self.id_label.grid(row=1, column=0, sticky="e")        self.id_entry = tk.Entry(self.root)        self.id_entry.grid(row=1, column=1, sticky="we")        # 请假日期        self.date_label = tk.Label(self.root, text="请假日期:")        self.date_label.grid(row=2, column=0, sticky="e")        self.date_entry = tk.Entry(self.root)        self.date_entry.grid(row=2, column=1, sticky="we")        # 请假原因        self.reason_label = tk.Label(self.root, text="请假原因:")        self.reason_label.grid(row=3, column=0, sticky="e")        self.reason_text = tk.Text(self.root, height=5, width=40)        self.reason_text.grid(row=3, column=1, sticky="we")        # 提交按钮        self.submit_button = tk.Button(self.root, text="提交", command=self.submit_leave_request)        self.submit_button.grid(row=4, column=1, pady=10)    def submit_leave_request(self):        # 这里可以添加提交请假单的逻辑        messagebox.showinfo("提交成功", "您的请假单已成功提交。")if __name__ == "__main__":    root = tk.Tk()    leave_request_gui = LeaveRequestGUI(root)    root.mainloop()

4、转换为专用指令:LLTranslator通过语法分析,我们可以识别出代码中的关键信息,

6、低代码平台执行指令形成页面即脚本。

这里,核心技术难点就是将通用的Python语法转换为低代码的专用语法。    

2、修改页面字段及功能   

低代码开发者接到修改请假单页面的任务,需要在请假单上添加审批的需求,他求助于大模型。过程如下:

1、开发者在低代码开发平台中打开并选中请假单页面,如下图:      

    

2、低代码开发者询问大模型,提示词如下:

低代码提示词:请增加两个字段,用于输入和显示审批过程。

3、LLTranslator将将低代码页面转换为Python代码,然后叠加低代码提示词形成大模型提示词:   

以下代码,请增加两个字段,用于输入和显示审批过程。

import tkinter as tkclass LeaveRequestGUI:    def __init__(self, root):        self.root = root        self.root.title("请假单填写界面")        self.create_widgets()    def create_widgets(self):        self.name_label = tk.Label(self.root, text="姓名:")        self.name_label.grid(row=0, column=0, sticky="e")        self.name_entry = tk.Entry(self.root)        self.name_entry.grid(row=0, column=1, sticky="we")        self.id_label = tk.Label(self.root, text="学号/工号:")        self.id_label.grid(row=1, column=0, sticky="e")        self.id_entry = tk.Entry(self.root)        self.id_entry.grid(row=1, column=1, sticky="we")        self.date_label = tk.Label(self.root, text="请假日期:")        self.date_label.grid(row=2, column=0, sticky="e")        self.date_entry = tk.Entry(self.root)        self.date_entry.grid(row=2, column=1, sticky="we")        self.reason_label = tk.Label(self.root, text="请假原因:")        self.reason_label.grid(row=3, column=0, sticky="e")        self.reason_text = tk.Text(self.root, height=5, width=40)        self.reason_text.grid(row=3, column=1, sticky="we")        self.submit_button = tk.Button(self.root, text="提交", command=self.submit_leave_request)        self.submit_button.grid(row=4, column=1, pady=10)    def submit_leave_request(self):        messagebox.showinfo("提交成功", "您的请假单已成功提交。")if __name__ == "__main__":    root = tk.Tk()    leave_request_gui = LeaveRequestGUI(root)    root.mainloop()

4、大模型的收到提示词后回应如下,其中,红色的为新增的两个字段,并且增加了审核的按钮。

为了增加两个字段用于输入和显示审批过程,我们可以添加两个新的标签和文本框用于输入审批人的姓名和审批意见,以及一个按钮用于显示审批结果。以下是修改后的代码:
```pythonimport tkinter as tkfrom tkinter import messageboxclass LeaveRequestGUI:    def __init__(self, root):        self.root = root        self.root.title("请假单填写界面")        self.create_widgets()        def create_widgets(self):        # 姓名        # 学号/工号        # 请假日期        # 请假原因        # 审批人姓名        self.approver_label = tk.Label(self.root, text="审批人姓名:")        self.approver_label.grid(row=4, column=0, sticky="e")        self.approver_entry = tk.Entry(self.root)        self.approver_entry.grid(row=4, column=1, sticky="we")        # 审批意见        self.approval_label = tk.Label(self.root, text="审批意见:")        self.approval_label.grid(row=5, column=0, sticky="e")        self.approval_text = tk.Text(self.root, height=5, width=40)        self.approval_text.grid(row=5, column=1, sticky="we")        # 提交按钮                # 审批结果按钮        self.approval_result_button = tk.Button(self.root, text="查看审批结果", command=self.show_approval_result)        self.approval_result_button.grid(row=7, column=1, pady=10)        def show_approval_result(self):        # 这里可以添加显示审批结果的逻辑        # 例如,从数据库中查询审批结果并显示在审批意见文本框中        # 这里只是一个简单的示例,实际应用中需要根据实际情况实现        approval_result = "审批结果:请假批准"        self.approval_text.delete(1.0, tk.END)        self.approval_text.insert(tk.END, approval_result)if __name__ == "__main__":    root = tk       

5、LLTranslator收到大模型回应后,将Python代码通过语法树分析,转换为专用指令,专用指令如下:

action=createControl,controlType="textbox",controlName="name",label="审批人姓名",action=createControl,controlType="textarea",controlName="approval_text",label="审批意见:",action=createControl,controlType="button",controlName="show_approval_result",text="查看审批结果",event=buttonClick,script=’cm,”approval_text”,delete,1,-1’

这里核心技术在于将专用脚本转换为通用语言。          

05

CodeGPT落地   

笔者主导的CodeGPT已经实现落地,系统功能架构图如下:          

如上图,包括以下功能:

1)页面创建:自然语言创建页面,包括页面布局和页面功能脚本;

2)页面控件修改:自然语言修改页面控件的布局、风格、属性等等;   

3)页面字段增加:自然语言请求大模型给出建议字段;

4)脚本生成:自然语言请求生成一段脚本实现特定功能;

5)脚本修改:给出原有的脚本,自然语言描述修改需求,大模型做脚本修改;

6)Sql生成:自然语言生成Sql;

7)正则表达式生成:自然语言生成正则表达式;

8)闲聊意图识别:拒绝开发辅助以外的提问;

9)研发智能问答:针对研发的开发问题的问答;          

在发展的路径上,CodeGPT将继续完成以下功能:

1)操作手册生成:选择正在使用的低代码页面,大模型生成操作手册;

2)需求文档生成页面:向大模型提供需求文档,自动生成页面;

3)脚本实时续写:实时续写脚本,基本可以达到行级续写和函数级续写;

4)脚本注释生成:理解脚本,为脚本添加注释,提升脚本可读性;

5)脚本解释:理解脚本,并根据上下文,解释代码的逻辑、功能;

6)脚本优化/修复:优化和修复脚本;

7)页面测试生成:RPA整合,形成页面测试脚本;     

1、页面创建

 

自然语言创建页面,包括页面布局和页面功能脚本。

实现方式是用户自然语言输入需求,低代码开发平台通过翻译器将其转换为特定语言(如javascript或Python)的请求,大模型返回代码,翻译器将代码转换为低代码专用指令和脚本,形成页面。   

如下图:

2、页面控件修改  

自然语言修改页面控件的布局、风格、属性等等。

大模型可以通过自然语言理解,提取出操作对象、操作属性、属性的各种参数,对控件进行各种形式的修改。

常见的包括:

1)增加姓名文本框的宽度;

2)将身份证号码输入框调到证件类型控件后面;

3)为电话号码输入框增加验证条件;

4)在地址输入框前面增加必填标识;

5)网格列表的第三个标题修改为“工单当前状态”;

6)…          

3、页面字段增加   

在低代码开发者已经完成了一个页面的开发,客户认为需要丰富输入字段项目,以便于满足更多的需求,低代码开发者可以通过自然语言请求大模型给出建议字段。   

实现方式如下:

1)平台将低代码页面转换为通用语言页面,如javascript;

2)将javascript代码与提示词做格式化整个,提交给大模型;

3)大模型返回增加的代码表示的字段;

4)低代码将代码转换为低代码专用语言;

5)最终,增加字段在页面和脚本上。

4、脚本生成/修改  

自然语言请求生成一段脚本实现特定功能。

实现过程如下:

1)用户输入文本描述需要的脚本功能;

2)平台将现有页面的布局和脚本转换为通用语言;

3)平台将用户输入文本和通用语言进行格式化整合,发送给大模型;

4)大模型返回通用语言代码;

5)平台将通用语言转换为低代码脚本;

6)用户复制或插入操作完成。   

5、Sql语句生成  

低代码平台的sql语句生成应该与其它的Copilot的sql语句生成方式更优化,分成以下步骤:

1)用户输入文本,描述需要生成的Sql语句的功能;

2)平台将文本输入大模型提取意图;

3)平台根据意图推荐多个数据库表供用户选择;

4)用户选择数据库表后,平台将数据库表结构和用户输入文本进行格式化整合后,发送到大模型;

5)大模型返回Sql语句,用户复制或插入到平台中。

6、正则表达式生成   

正则表达式的生成,是每一个程序员经常用到的功能,但是使用过程还是比较繁琐的。

在低代码平台的实现过程如下:   

1)用户输入文本描述正则表达式的需求;

2)平台组织提示词,发送到大模型提取意图;

3)平台根据意图检索低代码平台内置正则表达式(内置正则表达式准确性更高);

4)平台将内置正则表达式和用户输入文本组织新的提示词到大模型;

5)大模型返回正则表达式;

6)用户插入或复制使用。          

7、闲聊意图识别   

闲聊是我们经常遇到的,对于每一个Chat类的应用都是一样的。因此,需要对闲聊类的提示词,我们需要进行判断,如果是闲聊,做拒绝处理。

这一点虽然对于我们开发辅助的作用不大,但是是必备的,也是考验系统完整性的必要功能。

8、研发智能问答  

研发智能问答是非常重要的,低代码开发平台中,很多研发的知识都不具备,例如,使用者经常会问一些Sql问题、存储问题,甚至接口问题,这些通用研发知识在切换到百度操作就非常繁琐了。                    

9、操作手册生成             

(1)程序简介

本程序是一款用于填写请假单的图形用户界面(GUI)程序。用户可以通过该程序填写姓名、学号/工号、请假日期和请假原因等信息,并提交请假单。   

(2)操作步骤

打开程序:运行程序后,会出现一个名为“请假单填写界面”的窗口。

填写信息:

姓名:在“姓名”文本框中输入您的姓名。

学号/工号:在“学号/工号”文本框中输入您的学号或工号。

请假日期:在“请假日期”文本框中输入您的请假日期。

请假原因:在“请假原因”文本框中输入您请假的原因。

提交请假单:

点击“提交”按钮,程序会弹出一个提示框,显示“提交成功”,说明您的请假单已成功提交。

(3)注意事项

请确保您填写的信息真实、准确,以便程序能够正确处理您的请假单。

提交请假单后,请留意程序的提示框,以便了解请假单的处理情况。

若需修改请假单,可以重新打开程序,并输入相关信息进行修改。          

10、需求文档生成页面  

界面概览:程序界面分为上方菜单栏和下方操作区域。上方菜单栏包含文件、编辑、查看、工具和帮助等选项。下方操作区域分为多个标签页,包括客户信息、通话记录、销售机会等。客户信息:在客户信息标签页中,可以查看、添加和编辑客户的基本信息,如姓名、证件类型、证件号码、性别、出生日期、QQ、邮箱、微信、联系电话1、联系电话2、传真、邮编和地址等。来电号码和呼叫类型:在下方操作区域,有两个文本输入框,用于输入来电号码和选择呼叫类型。通话小结:在下方操作区域,有一个文本输入框,用于输入通话小结。保存和查询:在下方操作区域,有两个按钮,分别为”保存”和”查询”。点击”保存”按钮,可以保存当前输入的客户信息和通话记录。点击”查询”按钮,可以查询客户信息和通话记录。退出程序:点击菜单栏中的”文件”选项,然后选择”退出”,可以退出程序。注意:本程序仅作为示例,实际应用中可能需要根据具体需求进行修改和扩展。

输入你的需求

11.脚本实时续写  

实时续写脚本,基本可以达到行级续写和函数级续写。

整体功能可以参考现有的四个国内辅助开发工具的能力。

实现方式上来讲,基本上是将低代码脚本转换成通用语言,大模型续写成通用语言,然后转换回低代码。

12.脚本注释生成  

理解脚本,为脚本添加注释,提升脚本可读性。

整体功能可以参考现有的四个国内辅助开发工具的能力。

实现方式上来讲,基本上是将低代码脚本转换成通用语言,大模型为通用语言添加注释,平台将注释添加到低代码脚本中。

13.脚本解释  

理解脚本,并根据上下文,解释代码的逻辑、功能。

整体功能可以参考现有的四个国内辅助开发工具的能力。

实现方式上来讲,基本上是将低代码脚本转换成通用语言,大模型对通用语言的代码进行解释,即对低代码脚本进行解释。

14.脚本优化/修复: 

整体功能可以参考现有的四个国内辅助开发工具的能力。

实现方式上来讲,基本上是将低代码脚本转换成通用语言,大模型对通用语言的代码进行优化或修复,平台对优化修复过的通用代码转换成低代码。   

15.页面测试生成  

页面测试的流程比较复杂,可以基于Selenium库,进行RPA自动化测试开发。过程如下:

1、用户输入测试需求;

2、平台将低代码页面翻译成通用语言代码如vue页面;

3、平台将用户测试需求叠加通用语言代码发送给大模型;

4、大模型生成基于Selenium的RPA测试脚本;

5、执行脚本RPA脚本完成测试。

06

结束语   

正如2023年罗振宇跨年演讲中的观点:“AI是一群博闻强记、不知疲倦、执行力很强的985、211的实习生,他需要有领导力的人去分解任务、描述清楚任务、检查任务结果”。低代码要使用大模型,就需要将任务分解、翻译、纠错。

从本质上看,低代码就是对硬编码的基于专业领域的封装抽象;大模型已经学习了几亿几十亿通用代码,可谓博大精深;构造一个双向翻译器,就可以将大模型的知识广度、分析深度引入到专业低代码领域;低代码开发者只需要提高领导力,就能大幅提升产能。

本文为投稿文章,作者/黄河



– END –

大佬观点


西门子低代码-王炯 | 西门子低代码-阮铭 | 微软-李威 | 微软-徐玉涛 | 葡萄城-李佳佳 | 葡萄城-宁伟 | SAP-陈泽平 | 华为-周明旺 | 华为云-董鑫武 | 钉钉宜搭-邵磊 | 轻流-严琦东 | 腾讯云微搭-骆勤 | 网易数帆-陈谔、严跃杰 | 百特搭-姜楠

用友-刘鑫 |  数睿数据-张超 |  奥哲-朱鹏喜 | 炎黄盈动-汤武 | 普元信息-孟庆余 | 得帆-李健达 | 瀚码技术-钟惟渊 | iVX-孟智平

Treelab-何浚炫 | 阿里-汪凤震 | 明道云-薛晨 | 上海斯歌-傅正斌




公众号后台回复【加群】
可受邀进入【无代码&低代码技术应用研讨群】
欢迎各位从业者/应用者/关注者加入


You Might Also Like

重磅!OpenAI开源首个Agent SDK,反击Manus

云计算巨头AI战略分化:谁将定义企业级AI的未来规则?

DeepSeek创造历史!登顶全球AI应用第2名,豆包排名第10

2025“赋能开发者”高峰论坛即将启幕,诚邀您报名参加!

LowCode低码时代 2024-02-23
Previous Article Mendix | 2024技术趋势:未来是怎样的?
Next Article 低代码厂商Pega股价大涨14%,第四季度财报超预期
Leave a comment

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

about us

关注中国低代码(LowCode)无代码/零代码领域,包括行业研究、市场报告、技术选型和媒体报道,推进低代码的技术普及、生态建设发展和产业应用,重塑IT开发和自动化的未来。

  • 最新市场研究
  • 人物观点
  • 低代码/零代码动态
  • 活动
  • 联系我们
  • RPA中国
  • 数字金融网
  • 信创中国
  • Xverse元宇宙

最新专家访谈

原力CEO赵锐:ToDesk是国内唯一适合高精远程办公需求的解决方案
央视财经对话汪源:低代码最核心的是降低对写代码的人的要求
干货文章 | 低代码真的有价值吗?
壹沓科技融资近2亿元之后:以通用大语言模型赋能,构建数字机器人超级大脑
专访中银金科:数字营销成为新的增长引擎,未来业务转化是关键
实现技术普惠 网易数帆轻舟低代码的差异化竞争之道
LowCode低码时代LowCode低码时代

Copyright©2015-2022 北京企智未来科技有限公司 All Rights Reserved.
京ICP备19023145号-8

  • LowCode低码时代
订阅最新动态!

订阅最新低代码/零代码市场报告、研究咨询、分析师趋势以及市场活动

Zero spam,可随时取消订阅.

Removed from reading list

Undo
欢迎回来!

登录你的账号

Lost your password?