教你打造一个GPT无法取代的低代码产品!

低代码的未来与挑战

最近,大家都在讨论GPT对低代码产品的影响。这其实是个很有趣的话题。很多人认为,GPT会让低代码产品消失,但实际上,它不仅不会取而代之,反而会为低代码产品的提升带来不少帮助。

目前,我正在研究网易的CodeWave智能开发平台,想和大家分享一下AI与低代码结合的机会。从技术层面来聊聊,CodeWave是如何利用AI来大幅降低低代码开发的门槛,进而提高产品的竞争力。

01 低代码面临的困境

现在,低代码市场已经达到了约50亿的规模,并且以每年30%的速度在快速增长。不得不说,低代码产品成了用户追求降本增效的热门选择。那么,用户在选择低代码产品时,最看重的是什么呢?使用体验又是怎样的呢?

这些问题都值得我们好好思考和讨论。

用户体验:低代码产品的关键因素

在我们做市场调研的时候,发现有70%的用户会把“用户体验”放在首位,他们特别关注低代码产品的使用过程和互动方式,这些都是他们做出购买决定的重要依据。

与此同时,约45.3%的企业用户表示,他们觉得现有的低代码平台并不太好用,其中有70%是来自中小企业的反馈。

这到底是为什么呢?原本说好的降本增效呢?让我们来好好分析一下。

接下来,看看这张图:

听听用户的声音,低代码平台的真实体验

说到 CodeWave 平台的登录逻辑,真是让人头疼。这一过程涉及到多个环节,比如整个登录流程、HTTP的基础知识、日志功能、加密解密等,真是需要对这些都有一定的了解。更别提还要会用低代码平台进行接口调用、赋值、设置请求头、记录日志和解析数据等等。一般来说,一个熟练的低代码教练可能花一天的时间才能搭建好这段逻辑,而对于完全不懂开发的人来说,这简直是天方夜谭。

其实,一个经验丰富的后端开发者可能只需要一个小时就能用代码搞定这段逻辑。这就凸显了低代码平台的一大问题:定制开发的门槛太高,效率也不够理想。要让低代码产品在企业中发挥作用,首先得通过平台完成许多定制化的开发,以便与企业现有的IT设施对接。而这个过程通常需要用户具备一定的编码能力,才能在低代码平台上进行逻辑和流程的编排,门槛实在不低。

CodeWave 平台也常常深入客户现场,听听他们的反馈。在一次调研中,我们发现,关于逻辑编排的问题反馈可真不少。



教你打造一个GPT无法取代的低代码产品!

在逻辑模块的问题中,最常见的反馈是:逻辑阅读的困难(占69%),其次是逻辑编写的挑战(占56%)。

逻辑阅读与编写的挑战

说到逻辑阅读,很多人可能都有这样的感受:在复杂的逻辑场景下,回顾之前的逻辑或者他人的逻辑时,真的是一头雾水。根据我们的调查,竟然有超过九成的用户表示在这方面遇到了麻烦。

  • 而在反馈中,差不多三成的用户提到,发现一个逻辑页面里的有效信息,与他们的期望差距太大,这其实就是信息密度的问题。

接下来聊聊逻辑编写。大家可能会发现,这也是个不小的挑战。

  • 在这里,用户反映最频繁的几个问题依次是:编写和实现复杂逻辑的难度(78%)、调试逻辑时的麻烦(67%),还有如何管理大量复杂逻辑的困扰(56%)。

低代码的挑战与未来

  • 用户们经常提到的一个问题是,系统在执行像 create 或 update 这样的集成功能时,缺少日志和调试工具。一旦出现意外错误,真的是难以找到问题的根源。

所以说,低代码在很多情况下并不那么简单。


还有一个老生常谈的话题就是质量问题。低代码产品真的能支持核心系统的开发吗?其实大多数低代码产品在性能、高可用性、安全性和可监控性等关键的 Web 应用方面考虑得不够全面。而且,由于搭建者的技术水平参差不齐,往往会导致逻辑、SQL、数据建模等设计不够合理,进而影响性能。因此,很多客户使用低代码产品时,往往只是用来做一些他们认为不太重要的内部管理系统或项目管理工具,而真正的核心应用搭建仍然是个难题。


那么,作为有着几十年历史的低代码厂商,他们会坐以待毙吗?当然不会!现在这些厂商正在朝着两个方向努力:

  • 提升效率,想办法让用户能更轻松地上手,使用起来更高效。

  • 提升质量,确保用户搭建的产品能够满足基本开发标准,保证线上稳定。

低代码与人工智能的融合趋势

随着人工智能技术的不断进步,许多低代码平台的公司开始积极探索如何将AI技术融入他们的产品,以应对一些长期存在的挑战。

02 低代码与AI的行业动态

Mendix与Outsystems这两家公司作为低代码领域的先锋,早在2018年就开始在他们的低代码平台中加入AI元素。Mendix在推出10版时,首次引入了“人工智能增强应用开发”这一概念。简单来说,他们的理念是用人工智能来辅助开发,这意味着他们将来会把生成式人工智能技术应用于新的产品开发中。此外,生成式AI的融入将会进一步降低低代码和无代码开发的使用门槛,或许还会催生出新的智能开发技术。

Mendix:让 AI 成为编程好帮手

说到 Mendix,他们的核心理念就是让人工智能来辅助编程。简单来说,他们的目标是利用 AI 技术来提升产品开发的效率。想象一下,未来他们会把生成式人工智能应用到新的产品创作中,这样一来,低代码和无代码开发的门槛就会变得更低,甚至可能引发新的智能开发方式。

举个例子,Mendix 拥有一个非常强大的集成开发环境(IDE)。他们的 AI 助手功能主要是为了提升用户在编辑器中的体验。大家可能都遇到过在众多组件和逻辑中选择合适的那种烦恼吧?所以,Mendix 从用户体验出发,借鉴了代码补全和推荐的方式,创新性地推出了节点推荐的功能,帮助用户更快地找到所需。


这种方式真的是解决了不少人的选择困难症。AI 通过分析用户的上下文,智能推荐所需的内容,并根据权重进行排序,这个过程和搜索引擎的工作原理非常相似。同时,知名的数据可视化工具 Tableau 也有类似的功能,叫做 Show Me。


让数据可视化变得简单的 AI 助手

这个 Show Me 功能就像一个聪明的助手,通过分析用户的需求,自动推荐合适的图表,帮助那些在数据可视化时常常犹豫不决的人。真的是为“选择困难症”提供了绝佳的解决方案。


对于一些新兴的产品,比如 OutSystems,它们从质量出发,推出了 OutSystems AI Mentor System。


教你打造一个GPT无法取代的低代码产品!

这个系统的独特之处在于,它通过提供建议和改进来帮助用户提高应用的质量,从而让低代码开发变得更加顺畅。


这种产品的理念更贴合开发者的需求,最关键的是能显著提高他们所开发产品的质量。AI Mentor System 会自动分析项目中的技术负担,并提出改进建议,关注的方面包括性能、安全性、可维护性以及架构设计等。同时,它还能扫描代码,检查是否存在不合理之处。


CodeWave 产品的智能检查与 D2C 技术的进展

目前,CodeWave 的语言服务器提供了一些很有用的检查功能。通过对代码进行全面的扫描和规则验证,它帮助用户避免构建不合理的代码和架构问题,进而提升企业的IT能力,真是个不错的助手。

03 D2C 技术的发展

近年来,随着低代码建设和日常编码的普及,D2C 技术也在不断进步。以往,我们通常会将设计稿中的 DSL 解析转换为代码,但这方法问题不少,比如有些边界条件需要手动标注,导致应用不够广泛。
教你打造一个GPT无法取代的低代码产品!

2017年,有篇论文提出了 Pix2Code 的概念,首次利用深度学习来实现从 UI 截图生成 UI 结构描述,这算是人工智能与前端结合的一次重大突破,也标志着“前端一丝论”的诞生。接下来,2018年微软的 AI Lab 发布了开源工具 Sketch2Code,2019年阿里巴巴也推出了 Imgcook,这些都是智能技术快速发展的体现。

04 大模型的热潮:AIGC 技术

自从2022年3月,openai悄悄推出了它们的开放API,接着9月份Stable Diffusion横空出世,最后在12月chatGPT的发布引发了轰动。这个过程中,程序员们经历了技术的飞速发展,同时也难免感到被替代的恐慌。AIGC技术的关键在于通过自然语言来提升人与机器之间的互动,主要是为了降低使用门槛、减少出错几率以及降低学习成本。因此,AIGC的应用可以分为几个主要的方向:

轻松办公与创意生成

说到办公协同,大家可能会想起一些热门工具,比如 Office Copilot,还有国内的 WPS、飞书和葡萄城等。这些工具通过自然语言来驱动,简化了办公软件的操作,帮助我们更高效地完成工作。而在内容创作方面,像 Stable Diffusion 和 Jasper 这样的产品则利用自然语言生成文本、音频和视频。虽然这些工具大家都比较熟悉,但今天我们主要聚焦于另一个领域:AIGC 技术中的 AI 代码生成和智能编程技术。

AI代码生成与智能体编程技术

AI代码生成的竞争格局

在AI代码生成领域,有很多开源和闭源的代码模型,其中国外比较知名的有 Code Llama、StarCoder 等,国内的代表产品则有 Codegeex、PanGu-Coder 等。这样的技术竞争可谓相当激烈,甚至有官方的排名(sota humaneval)来评判优劣。提到知名产品,大家肯定不会陌生的就是 Github Copilot 以及网易的 Codemaker 。
标题:智能体编程的崭新世界:从概念到应用

说到智能体编程,大家可能会觉得这个词有点高大上。其实,这个概念在6月23日的时候,由OpenAI的专家们首次提出了《LLM Powered Autonomous Agents》。他们将智能体的基本架构给解释得明明白白。不过,得注意的是,LLM可不是万能的,所以通过一些插件来增强大语言模型的能力,渐渐变得很流行。你可以把结合了LLM和工具的系统称为“智能体”,或者说是语言代理。

基于智能体的编程框架最近也是风生水起。这种框架可以理解需求,还能利用一系列代码生成的插件。你只需要输入一句需求,智能体就能够生成一整套可运行的全栈代码和项目。2023年,这种智能体框架发展迅猛,借助一些Prompt技巧,让LLM具备了任务调度的能力,展现出令人惊叹的效果,甚至有人称之为AGI(通用人工智能)的曙光。
### AI代码生成能否替代程序员?

教你打造一个GPT无法取代的低代码产品!

随着代码生成技术和智能体编程的崛起,大家开始热议“程序员要失业了”。不少人认为,自己每天的工作就是依赖 copilot 来辅助编程,再等着 xxxGPT 来取代自己。作为 GitHub Copilot 的使用者,我也感受到这个工具显著提高了我的工作效率。然而,大家不禁发问:既然代码生成技术如此先进,低代码平台和程序员还有什么用呢?难道只要扔出一个需求,整个软件就能自动生成?其实,这种想法只是客户们的真实疑虑,有点搞笑,但也反映了现在的趋势。

那么,为什么 AI 代码生成和 copilot 的能力不能完全替代低代码平台甚至程序员呢?我觉得主要有几个原因:


首先,程序设计语言是人和计算机沟通的桥梁,是一种精确的指令协议。而自然语言则是我们日常交流的工具,模糊性是它的本质,往往难以明确表达具体需求。想象一下,你怎么用日常语言来描述一个复杂的界面呢?
### 软件开发的复杂性与AIGC的挑战

在如今的软件开发领域,事情变得越来越复杂,光靠写代码已经不够了。我们需要通过组件和服务来封装底层细节,才能让整个开发过程更顺畅。同时,了解业务背景知识也是必不可少的,才能准确构建出符合需求的产品。

可能你会问,AIGC(人工智能生成内容)能不能解决这个问题呢?其实,AIGC依赖于大模型,但它缺乏记忆功能,也没有现成的IT资产或行业知识作为参考,因此很难在高度封装的环境中启动开发。

这一点其实很容易理解。就算现在有了RAG技术(检索增强生成),我们也很难把领域知识或自己的代码库完全输入到模型中,让它生成我们真正需要的代码。通常来说,代码生成技术只能处理一些基础的代码,而无法按照我们的需求逐步进行封装,这与现代软件开发的理念是相违背的。

系统稳定运行的挑战与AIGC的局限性

为了让一个系统稳定地运行,我们其实需要很多辅助设施,比如中间件、存储和运维等等。说到AIGC技术,现在它能解决的代码生成问题还是相当有限的。你可能会问,代码写完就完事了吗?当然不是的,看看下面这张图就明白了。


教你打造一个GPT无法取代的低代码产品!


根据各种评测结果,AIGC在处理复杂和专业的编码任务时仍然显得力不从心,甚至在一些简单的场景下表现也不尽如人意。举个例子,我之前在医疗行业工作,问它一些专业知识,结果让人哭笑不得。回到我们之前提到的智能体技术,从下图中某个开源智能体框架的评测来看,只有极少数的简单场景能够通过智能体编程来实现,稍微复杂一些的功能就完全不行,甚至被评价为还不如直接复制粘贴来的效果。


教你打造一个GPT无法取代的低代码产品!

构建软件其实没那么简单

其实啊,写一个软件从来都不是轻而易举的事。就算是让人工智能来“编程”,也绝非易事。我们看看下面这张图:


教你打造一个GPT无法取代的低代码产品!


拿 Web 应用来说,用户得先掌握 js、java 这些基础语言,然后再去学习前端框架、后端框架、数据定义、数据查询,还有流程引擎等等。这些框架、库和 DSL 知识组合起来,对 AI 来说,要精准掌握可真不容易,更别提要适应特定的框架了。


为什么会这样呢?因为传统的开发方式自由度太高了,背景上下文复杂且不统一,概念繁多,这些都让 AI 难以构建出可控的应用。用户第一次描述需求的时候,往往很模糊,也比较分散,所以一次生成的结果很难完全符合他们的期望。而且 AIGC 的编码产品缺乏所见即所得的功能,这也让用户在修改需求时遇到困难。再加上,应用开发本身就很复杂,从需求转化为实际应用需要设计多个模块,而编程者需要具备拆解问题和规划的能力,这对 AI 来说也是个挑战。此外,参与过代码生成模型训练的朋友们应该知道,开发场景不仅依赖于自身的 IDE 知识,还涉及用户导入的接口、扩展库和 SDK 等,知识面广泛,AI 很难做到全方位的掌握。


那有没有什么工具或机制,既能从语言层面保证 AI 生成代码的稳定性和可维护性,又能借助现有的工具与库,完成应用开发到上线的全过程呢?这正是 CodeWave 低代码平台与 AI 结合的实践。

05 CodeWave 的实践 NASL-打造 AI 友好的低代码设计

NASL是网易数帆的 CodeWave 智能开发平台,用于创建 Web 应用的专用语言。它的核心包括两大部分:基础语言和特定于 Web 应用的子语言,比如数据定义、查询、页面设计、流程管理和权限控制等。通过这套基础语言系统(包含类型、常量、变量和表达式等),我们能够涵盖 Web 应用开发的各个方面,简而言之,就是用一门语言就能搞定所有的开发需求。
教你打造一个GPT无法取代的低代码产品!
基于这样的构思,我们只需要搭建一个可以生成 NASL 的低代码平台,然后将生成的 NASL 转换成实际运行时的 Java 和 JavaScript 代码,就能实现从开发到部署的整个过程。因此,CodeWave 提供了五个专门用于生成 NASL 的设计器,并且配备了语言服务器,能够实时进行类型检查,确保用户开发的产品质量。同时,在发布阶段,它还提供翻译器,将 NASL 转换成 Java 和 JavaScript 代码,整体架构如下:
### 用 NASL 打造低代码平台的三大优势

在讨论通过 NASL 来定义编程语言和设计低代码平台的好处时,有三个方面特别值得一提。

首先,产品的上限非常高。借助丰富的表达能力,我们可以轻松应对 Web 开发中的各种场景,比如页面设计、数据查询、逻辑处理和流程管理,甚至还可以根据业务需求来定制翻译功能。

其次,质量控制是有保障的。我们尽量减少那些复杂的专业术语,通过类型检查、静态和动态分析,以及排错手段来降低用户编写低质量代码的风险,这样一来,大家就能更安心地进行开发了。

最后,NASL 很友好于 AI。它通过统一的语言和可扩展的定义,让大模型的训练变得简单,能够直接生成代码,而不需要再让模型适应各种编程语言框架。这其实是 CodeWave 平台与其他低代码平台的一个显著区别,拥有一颗强大的内核。只有架构本身对 AI 友好,才能更好地结合 AIGC 的能力,实现更高效的开发。

打造自然语言生成的全新体验

根据这样的架构,我们推出了一系列强大的 AI 功能:


NL2NASL-自然语言生成 NASL


教你打造一个GPT无法取代的低代码产品!

我们发现,只要把原先的编辑器换成用户输入,就能为低代码平台带来很多自然语言的辅助功能。因此,我们设计了一系列自然语言生成的应用场景:

### 理解自然语言生成的魅力

在之前的调研中,我们发现了一个很有意思的趋势:自然语言生成的需求越来越大。于是,我们决定优先上线这个功能。CodeWave智能开发平台的开发者们在使用低代码工具编写逻辑时,其实是需要对业务逻辑有深入的理解,并将这些复杂的逻辑转化为简单易懂的可视化片段。大家都知道,写逻辑的时候,效率和质量是关键,尤其是那些不太熟悉传统编程的开发者,面对复杂的逻辑时常会觉得无从下手。为了帮助大家更轻松地上手,我们就想出了这个辅助功能,旨在降低逻辑编写的门槛,让开发者们能快速提升他们的效率。

在技术调研的时候,我们也考虑到了像LangChain这样的框架以及Agent框架,最后决定采用基于LangChain(JS/TS版)的方案。这样可以确保我们在实现自然语言生成时,不仅高效,还能兼顾灵活性。

最后,整体架构(LogicChain)也已经设计完成,期待给大家带来更好的体验!

让我们聊聊如何高效生成代码吧!

用户确认后,我们会根据执行计划和上下文生成的ts代码,结合平台上检索到的相关资产信息(包括扩展逻辑和组件逻辑等),将这些内容整合成一个Prompt,传递给大语言模型。

接下来,大语言模型会根据设定的要求输出ts代码,然后通过ts2nasl的转换器将其解析成nasl json格式。最后,结合用户之前的操作路径,我们在编辑器中把这些内容组合起来。效果真是让人期待呢!

教你打造一个GPT无法取代的低代码产品!

让逻辑编写变得简单轻松的AI助手

最近上线的自然语言生成逻辑功能,真的是让逻辑编写变得高效多了,门槛也大大降低。我们可以用对话的方式来操作,开发者在编写逻辑的时候,可以随时向AI助手提问,详细地表达自己的意图。AI助手会分析这些意图并给出反馈,开发者可以根据这些信息决定是否执行。如果不想执行,还可以继续对话,真是方便极了!而且,AI助手可以随时展开或收起,支持在多个逻辑编辑页面同时使用,让逻辑编写更加高效。
对于那些简单重复的逻辑,现在也不需要复杂的操作啦,生成的逻辑可以直接复制和拖动。至于复杂的逻辑,只要简单地用自然语言描述意图,就能快速生成所需的逻辑,生成的内容还可以根据需求进行修改,灵活性相当高。
CodeWave AIGC能力基础:智能体架构
伴随着大模型技术的飞速发展,AI的需求不断增加,传统的人机交互方式肯定会受到冲击。那些维持多年的存储-领域模型-服务端-客户端的架构,可能也会面临变革。因此,我们迫切需要一个全新的架构来支持AI应用的发展,这就是Agent架构的出现。

### AI代理架构的兴起与发展

今年4月,AI代理在开发者圈子里引起了不小的轰动,AutoGPT一举成为了GitHub上增长最快的项目。你可能会问,为什么会如此火热呢?其实,这是因为Agent的理念为我们描绘了一个全新的软件时代:如今的大语言模型(LLM)在推理能力上日益强大,而AI代理架构则为这些模型提供了更有条理的思考方式。可以说,软件生产正在进入一个像“3D打印”一样的新时代,能够根据用户的具体需求进行个性化的定制,Agent框架也成为了知识工作者们可靠的AI助手。

到了6月23日,OpenAI的专家们推出了《LLM Powered Autonomous Agents》的概念,正式把Agent智能体架构推到了舞台中央。这一举动标志着我们在AI领域又迈出了重要一步。

相较于早期基于LLM的应用,Agent有几个明显的不同之处。首先,合作机制让多模型和多Agent之间的分工与互动变得更加灵活,能够实现复杂的工作流程。比如在编程的场景中,可能会有需求工程师代理和编码工程师代理相互协作。

代理智能的进化:更懂你的助手

· 灵活互动的环境适应能力:这些代理智能很清楚自己的短板,遇到麻烦时就会主动寻找外部工具来帮忙。比如,现在很多代理都能直接查询搜索引擎的信息。

· 个性化记忆的智能助手:它们能够记住你的喜好和工作习惯,随着时间的推移变得越来越了解你。现在流行的RAG技术就是用来提升这种记忆能力的。

· 主动决策的能力:这些代理可以在虚拟环境中进行探索和试验,还能不断迭代。现在的这种能力大多依赖于一些提示技巧,比如cot、reAct、plan & solve等。

考虑到低代码平台需要根据用户的意图来选择合适的代码生成能力,我们也使用了代理架构来搭建自己的低代码平台。在这个过程中,我们进行了相应的技术调研,涉及提示工程(如FewShot、CoT、ReAct、Agent等技术)、LangChain和代理框架等,最终决定采用基于LangChain(JS/TS版本)的方案。

智能对话分析助手的搭建

我们创建了一个可以和用户对话的需求分析智能体(AnalyzerAgent),它的职责是理解用户的需求,并将这些信息传递给界面链(UIChain)或逻辑链(LogicChain)。同时,我们通过使用 nasl 语言的转换,来减少 token 的使用量,从而提升准确性。另外,我们还利用向量数据库来扩展知识库,增强功能,解决了 token 受限的问题。

这个对话式需求分析智能体的架构大概是这样的:
教你打造一个GPT无法取代的低代码产品!

用户的应用和互动上下文会通过 json2nasl2ts 转换成大语言模型能理解的 ts 代码,示例如下:
{ “concept”: “IfStatement”, “label”: “条件分支”, “test”: {…}, “consequent”: [ {…} ], “alternate”: […] }

这些信息会被转换为

让AI成为你的编程小助手

如果角色名重复了,系统会提示你“角色名重复哦!”;而如果没有问题,那就继续吧。


通过筛选过的聊天记录,再结合历史经验,我们可以把这些信息整理成一个提示,发给大语言模型。


大语言模型会以 { “plan”: “…”, “text”: “…”, “executable”: “true/false” } 这样的格式返回结果。如果结果的 executable 是 true,用户会看到一个确认执行的按钮。


借助 Agent 架构,系统可以更精准地理解用户的需求,轻松分享上下文和记忆,同时还能大幅提升 AI 应用的扩展性,让你能接入更多有趣的 AI 功能。



AI Coach – AI编程教练


### AI Coach:让编程更轻松的好帮手

说到自然语言生成技术(AIGC),这其实只是我们人工智能能力的一部分。为了帮助大家更好地在平台上构建高质量的应用,我们推出了AI Coach这个功能,里面有不少实用的能力。

解读能力:

依托大模型和自然语言生成技术,AI Coach可以帮助你理解用户和平台生成的代码逻辑、可视化图表等内容,极大地提升工作效率和团队的协作能力。

在CodeWave智能开发平台上,开发者通常都是团队合作,他们不仅需要编写自己的逻辑,还得理解其他人写的内容。可是,阅读这些逻辑成果常常是一大挑战,往往得一步步捋清楚,既耗时又麻烦,有时还可能搞错信息,导致无法更好地复用逻辑和协作开发。即使使用一些折叠、注释等优化手段,也未必见效。因此,开发者们迫切需要一个工具,能快速、准确地理解已有的逻辑,并将其简要概括,帮助其他开发者更好地进行合作。

让数据说话:用对话式逻辑解读提升开发效率

其实呢,当我们需要处理数据的时候,往往得花费不少时间去理清楚逻辑,有时还可能弄错信息,结果反而影响了协作开发的效率。即便是用了折叠和注释这些小技巧,有时候也未必能达到预期效果。所以,开发者们就特别希望能有一个工具,能够迅速、准确地理解现有逻辑,并且简明扼要地概括出来,这样大家在合作时就能更加顺畅了。

我们的灵感其实来源于之前在数据可视化中用到的自然语言生成技术(NLG)。NLG的一个重要应用就是能够解读数据,自动输出结论和观点,真的是太方便了!

我们结合了GPT的强大能力,设计了一种对话式的逻辑解读方式。这种方法可以把低代码的DSL语言转化为大语言模型熟悉的通用语言,从而提高理解的准确性。同时,我们还采用了分段解读的技术,通过注释的方式标记出原来的位置,让大语言模型可以更好地识别。用户的应用和交互上下文会通过json2nasl2ts转换成大语言模型能够理解的ts代码,并在逻辑块里标注原来的nasl块的位置。

在经过反垃圾处理后的聊天记录中,我们还会检索出过去确认的经验,组装成提示信息传递给大语言模型,这样输出的效果更可靠。

大语言模型会根据我们的要求,返回格式为Array的JSON数据,真的是极大地提升了我们的工作效率!

用户体验升级:智能推荐助你轻松导航

当你点击某个内容的解读后,系统会自动帮你跳转到对应的可视化逻辑位置,真是方便极了!

教你打造一个GPT无法取代的低代码产品!

推荐能力:


我们会根据用户的操作背景,给出后续的工作指导,帮助解决“节点、组件太多,我该选哪个”的困惑。


目前,我们的节点推荐有两条主要路线,其中一条是使用N-gram这种统计分析算法来进行推荐。

轻松理解N-gram及其在节点推荐中的应用

说到N-gram,它其实就是一种语言模型。它会把文本中的每一小段称为“gram”,然后统计这些gram出现的频率。接着呢,按照设定的标准过滤掉一些数据,最后形成一个关键gram列表,这个列表就代表了文本的特征空间。每个gram就相当于一个特征向量的维度。这个模型的基本想法是,第N个词的出现只和前面N-1个词有关,而和其他词没有关系。整句话的概率就是这些词出现概率的乘积。你可能会好奇,这些概率是怎么来的?其实是通过统计N个词一起出现的次数得来的。

我们整个逻辑节点用Nasl节点来描述,所以我们可以利用N-gram来预测Nasl节点,从而实现节点推荐的功能。

按照这个思路,AI团队对现有的应用逻辑节点进行了提取和分析。

· 我们总共有11155个工程的json文件,最后随机抽取了200个文件进行分析。

· 根据画布名称的出现次数,我们对每个工程文件中的所有画布进行了筛选。

抽取策略的生动示例

其实呢,咱们来聊聊抽取策略的具体例子。首先,AI团队对现有的应用逻辑节点进行了提炼和分析,以此来实现节点推荐的功能。
说到这儿,我们一共有11155个工程的json文件,最后挑选了200个文件进行深入分析。通过观察画布名称的出现频率,我们对每一个工程文件里的画布进行了仔细筛选。
经过一番调试,最终的效果相当不错!
教你打造一个GPT无法取代的低代码产品!
### 新的推荐方式探讨

目前我们已经得到了不错的效果,来看看具体是什么样子的吧!

不过呢,现有的节点推荐方式有一点小问题,就是它只能给出节点层面的建议,无法深入到内部逻辑。这就意味着,当用户选定一个接口时,你只能推荐到“数据处理”这个层次,却无法直接补充整个数据处理的过程,听起来有点儿不够全面,对吧?因此,我们考虑了另一个方案。

第二种方法是基于nasl的文本补全技术,这种方式与copilot的补全功能类似,能够更加智能地为用户提供建议。这样一来,不仅能提升用户体验,还能让整个过程变得更加流畅!
### 让我们聊聊nasl的那些事儿

教你打造一个GPT无法取代的低代码产品!

其实呢,nasl本身就是代码,所以如果把它交给代码模型去“学习”,就能实现整段逻辑的智能补全,然后再把这些补全的逻辑转成可视化的节点,听起来是不是很有趣?


不过,这个方案也不是没有问题:


  1. 你知道吗?用户在WebIDE做可视化编程的时候,实际上要传给LLM的语言是什么呢?是json格式的nasl?还是文本化的nasl?又或者是ts或java?
  1. 理论上,json格式的nasl可能太庞大了,token很容易超出限制,这样上下文就不完整了,想想是不是有点儿麻烦?
  2. 而如果我们想把nasl文本化,那就需要先建立一套新的nasl语法,并且还得准备很多样本供大模型学习,才能有可能实现,这可不是一件简单的事儿!

如何通过nasl提升我们的编程效率

其实呢,nasl是一种通用语言,它可以帮助我们更好地理解和处理各种复杂的数据和逻辑。我们可以通过这门语言,建立一套系统,从而实现对大型语言模型(LLM)的推荐和语法分析,最终形成nasl的抽象语法树(AST)。

  1. 说到nasl,它里面有不少领域特定语言(DSL),而通用语言可能对它们不太认得。为了解决这个问题,我们可以开发一个eDSL函数库,来建立它们之间的映射关系。

  2. 在数据查询这个子领域,我们可以采用类似“select * from student left join …”这样的语句,这样就能快速获取我们需要的信息。

  3. 然后呢,如果我们把数据查询和逻辑结合起来,就能得到像“List students = select * from Student”这样的结果,这样的组合效果可真不错。

  4. 还有,流程图的推荐也是个不错的思路,这样可以让我们更直观地理解整个过程。

  5. 不过,要注意的是,链路太长会让整个过程变得缓慢,而LLM本身的性能也会是一个大挑战。因此,我们需要建立一种快速编译机制,能够实时将nasl转化为源代码,并且反向操作,这样才能提高效率。

优化架构,提升代码质量

其实,这个方案现在还在不断摸索中。

架构优化能力

尽管 CodeWave 是个低代码平台,但用户还是可能会造出一些难以管理的模块和应用。根据我们的分析,用户创建的这些产品里,有几个地方会影响系统的稳定性:

教你打造一个GPT无法取代的低代码产品!

要解决这些问题,大家首先想到的可能是静态代码分析方案。不过,由于平台的内容是通过 NASL 生成和维护的,传统的静态代码扫描工具(像 SonarQube)就不太适用了。因此,低代码平台就设计了一套基于 NASL 的代码分析引擎,架构图如下:

### 设计稿转 NASL:让创意与技术完美结合

大家可能会想,解决复杂逻辑问题首先就得靠静态代码分析。然而,考虑到我们平台的内容是通过 NASL 来生成和维护的,很多传统的静态代码扫描工具,比如 SonarQube,简直就不适合了。因此,我们特意设计了一种基于 NASL 的代码分析引擎,下面的架构图就能给大家直观的了解。

除了静态分析能处理的内容外,对于用户自己编写的复杂逻辑,平台还会利用大模型的强大能力,帮助用户给出合适的重构方案。这其实跟 AI 的逻辑解读有些类似,唯一的区别就是我们希望大模型能够指出那些不太合理的设计和逻辑。

Design2NASL-设计稿转 NASL

D2C 技术在我们公司内部的研究可不少,比如云音乐的海豹 D2C 就是个很棒的例子,这里就不多说了。不过,随着大模型技术的飞速发展,传统 D2C 技术也可以借助大模型的力量得到强化。接下来,我会介绍 CodeWave 如何结合传统 D2C 技术进行设计。
### D2C技术的优化:CodeWave如何利用大模型

说到 D2C 技术,其实它的核心在于设计稿和代码之间的互联互通。可能你会觉得有点复杂,实际上最大的挑战在于页面的布局和排版。设计的时候,内容是平铺开来的,而当我们转到编码阶段(比如 HTML 和 CSS),这些元素往往会变得嵌套,关系错综复杂。为了处理这个问题,通常需要编写大量的边界案例。

那么,CodeWave 是如何与传统 D2C 技术结合的呢?他们的做法与其他团队有所不同,利用了大模型的强大能力,来优化转换的效果。这意味着,大模型会分析哪些元素需要在编码时进行分组处理,这样可以让整个过程更高效。

低代码文档检索的革新:RAG技术带来的新体验

说到低代码产品,文档的作用可真是举足轻重。不过,传统的关键词搜索方法常常让人失望,不仅检索准确率低,而且找出的内容通常只能在一份文档里查看。如果用户需要跨多个场景的信息,老旧的搜索方式就显得力不从心了。
为了应对这个挑战,我们引入了AI团队的Chat Document服务,背后的核心技术就是当下流行的RAG(检索增强生成)技术。
这个方案的运作方式是这样的:我们将文档进行切片,然后把这些片段转化为向量,存进向量数据库。用户在搜索时,系统首先会在这个数据库中查找相似度高的内容,然后再交给大模型进行加工和总结,最终呈现出简洁明了的答案。这一过程不仅提升了搜索的效率,还让用户更容易理解文档的核心内容。

未来企业私有化知识库的解决方案

我们计划与 AI 团队合作,推出一个企业私有化知识库的搭建方案,让所有公司都能轻松用低代码来打造自己的智能助手。

06 CodeWave 低代码与 AI 的核心理念

我们在结合低代码与 AI 的过程中,为了提升用户的使用感受,确保 AI 的介入不会让人感觉突兀,努力做到自然流畅,因此总结了一些核心原则:

· 统一产品理念。对于聊天类 AI 产品,重要的是能够维持对话的上下文,用户需要专注于交互。但在生产力工具中,AI 的功能必须与现有使用体验紧密结合,确保一切都能自然融入。

让 AI 更贴心,操作更简单

· 降低用户操作的难度。其实,生成式 AI 的核心就是通过自然语言来改善人机互动,最终目的是帮助大家提高效率。如果 AI 的使用反而让操作变得更加复杂,那这产品的设计就完全失去了意义。
· 推广最佳的使用方法。AI 的智慧不仅体现在高级模型的零样本能力上,更要结合目前产品所积累的数据和技术优势,这样才能真正体现出企业的技术实力。
· 规避不必要的风险。在设计 AIGC 产品时,我们得小心可能出现的内容失控、冗余或用户绕过问题。因此,必须明确边界,确保内容质量,以免 AI 生成的内容影响系统的稳定性,带来更大的不可控风险。

07 展望未来

早在今年七月,我就在公开的演讲里提到过,其实大模型最重要的价值并不是各种 AIGC 的功能,而是能够让 AI 更加易于使用。我把这称作 AI 下乡。未来随着技术的发展,AI 技能将逐渐向编程甚至日常生活技能拓展,变成人人都能理解和使用的基础工具。CodeWave 团队将持续关注 AI 技术的动态,不断将新能力融入产品,让低代码产品成为 AI 的实验平台,以此为用户创造更大的价值。
标题:未来的科技,让AI走进每个人的生活

随着技术的不断进步,AI技能不仅限于编程,甚至会逐渐渗透到我们的日常生活中,变成人人都能轻松掌握的基本工具。CodeWave团队也在不断关注AI技术的发展动态,他们希望把新兴的能力融合到产品中,目标是让低代码产品成为AI的试验平台,从而为用户创造更多的价值。

来源:百家号
原文标题:如何做一个GPT干不掉的低代码产品
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

《教你打造一个GPT无法取代的低代码产品!》有19条评论

  1. 对于低代码平台的用户体验,确实要多下功夫。逻辑复杂程度直接影响使用感受,希望能有更直观的界面!

    回复

发表评论