译者 | 李睿
审校 | 重楼
将人工智能技术集成到低代码和无代码开发中,可以利用自动代码生成和智能助手等功能加速应用程序的创建。
大型语言模型(LLM)的出现导致人们争相将人工智能(AI)技术集成到每个有意义的产品中,甚至包括许多毫无意义的产品。但有一个领域,人工智能已经被证明是一个强大而有用的补充:低代码和无代码的软件开发。
以下将介绍人工智能如何以及为什么使构建应用程序更快、更容易,尤其是使用低代码和无代码工具。
人工智能在应用程序开发中的作用
首先讨论人工智能在简化和加速开发过程中最常见的两个角色:
- 代码生成器
- 充当智能助手
人工智能代码生成器和智能助手使用经过大量代码库训练的LLM,教会它们编程语言的语法、模式和语义。这些模型预测完成提示所需的代码,就像聊天机器人通过训练来预测句子中的下一个单词一样。
自动生成代码
人工智能代码生成器根据输入创建代码。这些提示采用自然语言输入或集成开发环境(IDE)中或命令行中的代码的形式。代码生成器将程序开发人员从编写重复的代码中解放出来,从而加快了编程速度。它们还可以减少常见错误和排版错误。但是,与用于生成文本的LLM类似,人工智能代码生成器需要仔细检查,并且可能会犯错误。开发人员在接受人工智能生成的代码时需要小心谨慎,他们不仅要测试它是否构建,还要测试它是否按照用户的要求执行。
GPT-Engineer 是一个开源的人工智能代码生成器,它接受自然语言提示来构建整个代码库。它可以与ChatGPT或Llama等自定义LLM配合使用。
智能开发助手
智能助手在开发人员工作时为他们提供实时帮助。它们是一种人工智能代码生成器,但可以自动完成,提供在线文档,并接受专门的命令,而不是使用自然语言提示。这些助手可以在Eclipse和Microsoft的VS Code、命令行或这三种编程工具中工作。
这些工具提供了许多与代码生成器相同的好处,包括更短的开发时间、更少的错误和更少的错别字。它们还可以作为学习工具,因为在开发人员工作时为他们提供编程信息。但像任何人工智能工具一样,人工智能助手也不是万无一失的——它们需要密切而仔细的监控。
GitHub的Copilot是一个很受欢迎的人工智能编程助手。它使用建立在公共GitHub存储库上的模型,因此它支持各种各样的语言,并插入所有最流行的编程工具。微软的Power Platform和亚马逊的Q Developer是两个流行的商业选择,而Refact.ai是一个开源的替代方案。
人工智能与低代码和无代码开发的完美结合
低代码和无代码开发是响应那些允许新手和非开发人员快速定制软件以满足其需求的工具的需求而产生的。人工智能将此向前推进了一步,使将想法转化为软件变得更加容易。
民主化开发
人工智能代码生成器和智能助手通过使编码更易于访问、提高生产力和促进持续学习,使软件开发民主化。这些工具降低了编程新手的入门门槛。新手开发人员可以通过在工作中学习来使用它们快速构建工作应用程序。例如,Microsoft Power Apps包括Copilot,它可以生成应用程序代码,然后与开发人员一起完善。
人工智能如何增强低代码和无代码平台
人工智能增强低代码和无代码平台有几种重要的方法,人工智能具有从自然语言提示或代码编辑器中的场景生成代码片段的能力。开发人员可以使用像ChatGPT和Gemini这样的LLM来为许多低代码平台生成代码,而像AppSmith和Google AppSheet这样的无代码平台则使用人工智能来基于描述想要集成的内容的文本生成集成。
开发人员也可以使用人工智能来自动准备、清理和分析数据。这使得集成和处理大型数据集变得更加容易,这些数据集在适合与模型一起使用之前需要进行调优。像Amazon SageMaker这样的工具使用人工智能来摄取、排序、组织和简化数据。一些平台使用人工智能来帮助创建用户界面和填充表单。例如,微软的Power Platform采用人工智能使用户能够通过与Copilot的对话互动来构建用户界面,并实现流程自动化。
所有这些特性都有助于使低代码和无代码更快地开发,包括在可扩展性方面,因为更多的团队成员可以参与开发过程。
低代码和无代码如何促进人工智能开发
虽然人工智能在生成代码方面是无价的,但它在低代码和无代码应用程序中也很有用。许多低代码和无代码平台允许开发人员构建和部署支持人工智能的应用程序。它们抽象了在应用程序中添加自然语言处理、计算机视觉和AI API等功能的复杂性。
用户希望应用程序提供语音提示、聊天机器人和图像识别等功能。即使对于经验丰富的开发人员来说,“从头开始”开发这些功能也需要时间,因此许多平台提供的模块使添加这些功能变得很容易,只需采用少量代码或不需要代码。例如,微软公司有一些低代码工具用于在Azure上构建Power Virtual Agents(现在是其Copilot Studio的一部分)。这些代理可以插入Azure服务支持的各种技能,并使用聊天界面来驱动它们。
亚马逊公司的SageMaker和谷歌公司的Teatable Machine等低代码和无代码平台管理着准备数据、训练自定义机器学习模型和部署人工智能应用程序等任务。Zapier将亚马逊Alexa的语音转换为文本,并将输出定向到许多不同的应用程序。
图1采用构建块构建低代码的人工智能应用程序
人工智能驱动的低代码和无代码工具的示例
表1包含广泛使用的低代码和无代码平台列表,这些平台支持人工智能代码生成、支持人工智能的应用程序扩展或两者兼而有之:
应用程序 | 类型 | 主要用户 | 关键特性 | 人工智能/机器学习的能力 |
Amazon CodeWhisperer | 人工智能代码生成器 | 开发人员 | 实时代码建议,安全扫描,广泛的语言支持 | 机器学习驱动的代码建议 |
Amazon SageMaker | 完全托管的机器学习服务 | 数据科学家,机器学习工程师 | 构建、训练和部署ML模型的能力;完全集成的IDE;支持mMLOps | 预训练模型,自定义模型训练和部署 |
GitHub Copilot | 人工智能配对程序员 | 开发人员 | 代码建议,多语言支持,场景感知建议 | 生成式人工智能代码建议模型 |
Google Cloud AutoML | 没有代码的人工智能 | 数据科学家、开发人员 | 高质量的自定义机器学习模型可以用最少的努力训练;支持各种数据类型,包括图像、文本和音频 | 自动化机器学习模型训练和部署 |
Microsoft Power Apps | 低代码应用开发 | 业务用户、开发人员 | 可以构建定制的商业应用程序;支持许多不同的数据源;自动化工作流 | 用于应用程序增强的人工智能构建器 |
Microsoft Power Platform | 低代码平台 | 业务分析师、开发人员 | 商业智能,应用开发,应用连接,机器人流程自动化 | 用于增强应用程序和流程的人工智能应用程序构建器 |
表1人工智能驱动的低代码和无代码工具
使用人工智能进行开发的陷阱
人工智能具有改进低代码和无代码开发的强大能力,但也带来了一些风险。使用的任何人工智能技术都需要适当的训练和全面的治理。LLM对提示的答案产生“幻觉”的倾向也适用于代码生成。因此,尽管人工智能工具降低了新手开发人员的入门门槛,但在将代码部署到生产环境之前,仍然需要有经验的程序员来审查、验证和测试代码。
- 开发人员通过提交提示和接收响应来使用人工智能。根据项目的不同,这些提示可能包含敏感信息。如果模型属于第三方供应商,或者没有得到正确的保护,那么开发人员可能泄露这些信息。
- 当它工作时,人工智能会建议可能满足它正在评估的提示的代码。虽然代码是正确的,但并不一定是最好的解决方案。因此,严重依赖人工智能生成代码可能导致代码难以更改,并带来大量的技术债务。
人工智能已经为民主化编程和加速低代码和无代码开发做出了重要贡献。随着LLM的逐步完善,用于创建软件的人工智能工具只会变得更好。即使这些工具有所改进,IT领导者仍然需要谨慎行事。虽然人工智能提供了强大的力量,但这种力量伴随着巨大的责任。任何使用人工智能的行为都需要全面的治理和完整的保障措施,以保护组织免受错误、漏洞和数据丢失的影响。
结论
将人工智能集成到低代码和无代码开发平台中已经彻底改变了软件开发。它使高级编码的访问民主化,并使非专业人员能够构建复杂的应用程序。
人工智能驱动的工具和智能助手减少了开发时间,提高了开发可扩展性,并有助于最大限度地减少常见错误。但这些强大的能力也伴随着风险和责任。如果开发人员和IT领导者想要安全地利用人工智能的全部潜力,就需要建立健全的治理、测试制度和验证系统。
人工智能技术和模型不断改进,它们很可能成为创新、高效和安全软件开发的基石。因此,需要了解人工智能如何通过低代码和无代码工具帮助组织扩大开发工作。
原文标题:The Role of AI in Low- and No-Code Development,作者:Eric Goebelbecker
链接:https://dzone.com/articles/ai-role-low-no-code-development。