AI 驱动的低代码平台-网易CodeWave 低代码平台 AI 智能化实践

一、实践背景:

随着低代码赛道的蓬勃发展,越来越多的低代码产品如雨后般春笋涌出开始进入市场,面对市场的考验,低代码平台也在面临两大问题

定制开发的使用门槛太高,效率太低。低代码产品进入到企业当中,首先要通过平台完成很多定制开发工作,以便跟企业自身it设施集成,这个过程要求用户在熟悉编码能力的基础上使用平台进行搭建,其使用门槛相当高。

另外则是老生常谈的话题:质量问题。低代码产品并没有考虑性能、高可用、安全、可观测性等核心 Web 应用不可或缺的部分,搭建者的良莠不齐,也无法保证低代码部分设计合理,没有性能问题。因此很多客户只会通过低代码构建不太重要的一些内部管理系统,无法搭建核心应用。

目前市场上的厂商逐步开始往以下这两块方向努力:​

•提升效率,通过一定的机制让用户使用的门槛更低,使用更高效

•提升质量,使用户搭建的产品能够达到基本的开发工程师的质量要求,保证线上不出问题

(前往文档阅读全文:点击跳转)



随着人工智能技术的发展,很多低代码厂商逐步尝试将人工智能技术引入,用于解决问题。

同时代码生成技术以及智能体编程技术出现后,不少公司开始大规模落地AIGC编码技术(ai copilot),但实际落地时发现只能解决线下开发的一部分问题,究其原因有以下的几点:​

1.程序设计语言是人用来指挥计算机干活的,是人与计算机的一种协议。自然语言是人类沟通的媒介,他的特点就是模糊性,很难精确跟需求幂等。​

2.随着复杂度上升,软件开发需要通过组件、服务的封装以屏蔽细节,需要依赖业务背景知识的输入构建逻辑。由于 AIGC 依赖大模型无记忆,缺少现有 IT 资产和领域知识的输入,很难在高度封装的基础上启动开发。

3.需要稳定运行的系统需要很多的周边设施,如中间件、存储、运维等。AIGC 技术目前只能有限的解决一些代码生成问题。​

4.基于各类评测,AIGC 仍然难以完成复杂度高、专业度高的编码工作,甚至在一些简单场景的表现都较差。

究其原因传统开发方式自由度过大,上下文复杂且不标准,概念太多,不利于 AI 构建能够收敛的应用,往往用户第一次描述的需求是模糊和发散的,代码生成无法实现用户最终意图。同时 AIGC 的编码产品缺少所见即所得的能力,也很难让用户进行需求的更改。编码是很复杂的事情,从需求转换成应用本身需要设计很多模块,编码者需要具备的问题拆解和规划能力 AI 是很难具备的。

那如果有什么机制或工具能够快速生成代码,既能够从语言层面保证AI生成代码的收敛和可维护性,又能借助现有的工具和库,还能完成应用从开发到上线托管的全流程,是否就可以解决问题?

——这便是 CodeWave 低代码平台+AIGC 的实践。

二、实践内容:

CodeWave 的低代码平台是一个围绕自研 NASL 语言的智能开发平台。 NASL 是网易数帆 CodeWave 智能开发平台用于描述 Web 应用的领域特定语言。它主要包含两部分:基础语言和 Web 应用特定领域(如数据定义、数据查询、页面、流程、权限等)的子语言集合。他通过一套基础的语言系统(例如类型、常量变量、表达式等)支撑了各种 Web 应用的领域语言,做到了一套语言就可以描述 Web 应用开发的方方面面。





基于这样的设计,我们只需要构建能够生产 NASL 的低代码平台,并将生成的 NASL 转换为应用实际运行时的前后端代码,就可以完成应用从开发到构建部署的全流程了。因此 CodeWave 提供了多种设计器来生产 NASL,并提供了 language server 能力做类型检查,保证用户开发产物的质量,最终通过翻译器,在发布阶段把 nasl 转换为 java 和 js 代码。产品架构如下:





通过 Nasl 来定义编程语言,并以此设计低代码平台架构的优势,主要体现在三点:​

产品上限高。 能够通过丰富的表达能力来表达 Web 开发中的各种场景,包括页面、数据查询、逻辑、流程等,并且可以根据业务的需求定制翻译能力

质量可控。尽可能减少专业概念的数量,通过类型检查、静态、动态分析和排错来降低用户写出低质量代码的可能性。

AI友好。通过统一的 NASL 语言及可扩展的定义,可以方便的对大模型进行训练后让其生成,不需要让大模型生成各种语言框架,这点是 CodeWave 平台区别于其他低代码平台的重要因素:一颗大心脏。只有架构本身对 AI 友好, 才能更好的结合 AIGC 能力。



基于这样的架构设计,我们就推出了一系列的 AI 能力:

自然语言生成NASL(NL2NASL):利用AI生成技术,将用户的自然语言描述转换成产品代码。用户可以通过文字描述,自动化生成页面、逻辑、实体等。

AI Coach-智能编程助手:在用户搭建业务逻辑的过程中,提供智能编程的帮助:

1. 推荐能力:推荐用户合适的逻辑组件

2. 解读能力:将逻辑进行自然语言解读

3. 架构优化能力:提供对制品应用性能、安全、架构等方面的智能分析,帮助用户改善通过低代码平台制作的产品的质量

D2C-设计稿转低代码页面:通过深度学习和计算机视觉等技术,自动识别设计稿元素,将Sketch、Figma和masterGo的设计稿自动生成页面布局和组件

D2C-图片转低代码页面:通过深度学习和计算机视觉等技术,支持对图片格式的设计稿进行智能解析,生成页面布局和组件

AI 知识库:针对客户自有的文档,通过 RAG 技术进行内容检索和摘要,实现智能文档问答



NL2NASL-自然语言生成 NASL

1、产品思路

我们很容易就能够发现,如果把原来的编辑器通过用户输入代替,就能够给低代码平台带来各类自然语言的辅助功能。因此我们直接规划了一系列的自然语言生成的场景:





但根据用户的调研,我们认为用户迫切要解决的,是逻辑的编写和使用效率提升,如下图所示:





根据之前调研的结果,本着 AIGC 真正给用户提效的原则, 我们优先上线了自然语言生成逻辑的功能。CodeWave 智能开发平台的开发者在使用低代码平台编写逻辑时,首先需要深入理解业务逻辑,并将其转化为可视化逻辑片段。他们需要能够高效、高质量地编写逻辑,避免操作复杂、重复编写的问题。有些开发者缺乏传统代码开发经验,因此逻辑开发上手门槛较高,难度较大。为了解决这个问题,我们提供开发辅助,降低逻辑编写门槛,帮助开发者快速上手,提高逻辑开发效率。

在技术调研时我们考虑了 LangChain 和 Agent 框架等,并确定了基于 LangChain(JS/TS版)框架的方案。

代码生成的 AI agent 整体架构如下(LogicChain 为例):





其分为三个阶段:

对话阶段:澄清需求、定位组件、判断操作。大模型根据用户输入的需求做意图识别和任务拆解,用户确认后,将执行计划,上下文生成的 ts 代码,以及通过 RAG 技术检索出的平台资产上下文(包括扩展逻辑和组件逻辑等),组装成 Prompt 传递给大语言模型。

实施阶段:大语言模型按限定要求生成 ts 代码,然后通过 ts2nasl 的 transformer 解析并转换成 nasl json 格式。再结合原来用户操作的上下文路径,在编辑器中组合执行。

优化阶段:对大模型返回的代码进行后处理,修正组件名和页面组件重复,修正不符合要求的接口签名,处理多组件组合情况的一些问题。

采用对话式操作流程,开发者可以在编写逻辑的过程中随时向 AI 助手提问,并通过多轮对话详细描述意图。AI 助手会分析开发者的意图并向开发者反馈,开发者可以根据分析内容选择是否执行,如果不执行,可以持续进行对话。AI 助手可以自由展开或收起,随时提问,随时开启新对话。



因为内容过多,论坛阅读体验不好,感兴趣可以点击前往文档阅读: https://docs.popo.netease.com/lingxi/05e99ffec7134c8c83f43a746fb5e9ae


更多高质量内容获取:扫码关注【网易CodeWave】公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/336098.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS不同图斑设置不同的透明度

对于设置一个图层的整体的透明度,我们在 ArcGIS制作带蒙版的遥感影像地图http://mp.weixin.qq.com/s?__bizMzIzNjM2NTYxMg&mid2247509080&idx1&sn38dccf0a52bb3bb3758f57114ee38b72&chksme8da161bdfad9f0d363da90959a8524dcf2b60d0e8d999f8ebeef0…

操作系统真象还原:编写MBR主引导记录,让我们开始掌权

第2章-编写MBR主引导记录,让我们开始掌权 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 在开机的一瞬间,也就是接电的一瞬间, CPU 的 CS: ip 寄存器被强制初始化为 0XF000: 0XFFF0。由于开机的时候处于实模式&…

橙派探险记:开箱香橙派 AIpro 与疲劳驾驶检测的奇幻之旅

目录 引子:神秘包裹的到来 第一章:香橙派AIpro初体验 资源与性能介绍 系统烧录 Linux 镜像(TF 卡) 调试模式 登录模式 第二章:大胆的项目构想 系统架构设计 香橙派 AIpro 在项目中的重要作用 第三章&#xf…

高级数据结构-并查集

例题1: Alice和Bob玩了一个古老的游戏:首先画一个 𝑛𝑛 的点阵(下图 n3 )。 接着,他们两个轮流在相邻的点之间画上红边和蓝边: 直到围成一个封闭的圈(面积不必为 1&#…

Vue3使用Composition API实现响应式

title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: 前端开发 tags: Vue3CompositionRefsReactiveWatchLifecycleDebugging 1. 介绍 Composition API是Vue.js 3中新增的一组API,用于在组件中组…

【3.vi编辑器使用(上)】

一、vi编辑器的三种模式及切换命令 1、vi是linux中最基本的编辑器。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。 2、vi编辑器的三种模式:命令行模式、插入模式、底行模式。 (1)命令行模式:用户在用vi编辑文件…

Spring OAuth2:开发者的安全盾牌!(下)

上文我们教了大家如何像海盗一样寻找宝藏,一步步解锁令牌的奥秘,今天将把更加核心的技巧带给大家一起学习,共同进步! 文章目录 6. 客户端凭证与密码模式6.1 客户端凭证模式应用适用于后端服务间通信 6.2 密码模式考量直接传递用户…

《Effective Objective-C 2.0》读书笔记——熟悉Objective-C

目录 第一章:熟悉Objective-C第1条:了解Objective-C语言的起源第2条:在类的头文件中尽量少引入其他头文件第3条:多用字面量语法,少用与之等价的方法第4条:多用类型常量,少用#define预处理指令第…

研发设计管理、研发设计管理系统有哪些

研发设计管理系统种类繁多,每种系统都有其特定的功能和用途。以下是一些常见的研发设计管理系统及其主要功能: PLM(产品生命周期管理)研发管理系统: 功能:管理产品从概念、设计、开发、制造、销售到维护的…

对比方案:5款知识中台工具的优缺点详解

知识中台工具为企业和组织高效地组织、存储和分享知识,还能提升团队协作的效率。在选择搭建知识中台的工具时,了解工具的优缺点,有助于企业做出最佳决策。本文LookLook同学将对五款搭建知识中台的工具进行优缺点的简单介绍,帮助企…

docker-file 网络

docker挂载 1.绑定挂载(Bind Mounts):绑定挂载是将主机上的文件或目录挂载到容器中。 docker run -v /host/path:/container/path image_name 2.卷挂载(Volume Mounts):卷挂载将 Docker 数据卷挂载到容器中…

OpenMv图片预处理

本博客讲述的是获取一张图片首先对图像进行处理,比如畸形矫正,图像滤波等操作。 1.histeq()自适应直方图均衡 # 自适应直方图均衡例子 # # 此示例展示了如何使用自适应直方图均衡来改善图像中的对比度。 #自适应直方图均衡将图像分割成区域,然后均衡这些区域中的直方图,…

前端项目开发,3个HTTP请求工具

这一小节,我们介绍一下前端项目开发中,HTTP请求会用到的3个工具,分别是fetch、axios和js-tool-big-box中的jsonp请求。那么他们都有哪些小区别呢?我们一起来看一下。 目录 1 fetch 2 axios 3 js-tool-big-box 的 jsonp 请求 …

操作系统复习-操作系统概述

操作系统概述 操作系统的基本功能 操作系统统一管理着计算机资源: 处理器资源IO设备资源存储器资源文件资源 操作系统实现了对计算机资源的抽象: 用户无需向硬件接口编程IO设备管理软件,提供读写接口文件管理软件,提供操作文…

2.1.2 基于配置方式使用MyBatis

文章目录 实战目标实战步骤1. 创建Maven项目2. 添加项目依赖3. 创建用户实体类4. 创建用户映射器配置文件5. 创建MyBatis配置文件6. 创建日志属性文件7. 测试用户操作8. 运行测试方法 预期结果实战方法结论 实战目标 本实战的目标是演示如何使用MyBatis框架来操作数据库。通过…

磁带存储:“不老的传说”依然在继续

现在是一个数据指数增长的时代,根据IDC数据预测,2025年全世界将产生175ZB的数据。 这里面大部分数据是不需要存储的,在2025预计每年需要存储11ZB的数据。换算个容易理解的说法,1ZB是10^18Bytes, 相当于要写5556万块容量18TB的硬盘…

五种不寻常的身份验证绕过技术

身份验证绕过漏洞是现代web应用程序中普遍存在的漏洞,也是隐藏最深很难被发现的漏洞。 为此安全防护人员不断在开发新的认证方法,保障组织的网络安全。尽管单点登录(SSO)等工具通常是对旧的登录用户方式的改进,但这些技术仍然可能包含严重的…

Spring Cloud Gateway 集成 Nacos、Knife4j

目录 1、gateway网关配置1.1 pom 配置2.2 配置文件1.3 yaml 配置 2、其他服务配置2.1 pom 配置2.2 配置文件2.3 yaml 配置 3、界面访问4、其他 官方文档地址:Spring Cloud Gateway集成Knife4j 官方完整源码:https://gitee.com/xiaoym/swagger-bootstrap-…

景源畅信电商:抖音开店步骤是什么?

随着社交媒体的兴起,抖音已经成为一个不可忽视的电商平台。许多人都希望通过抖音开店来实现自己的创业梦想。那么,抖音开店的具体步骤是什么呢?接下来,我们将详细阐述这一问题。 一、明确回答问题抖音开店的步骤主要包括:注册账号…