Written by: Bill Doerrfeld
Wish you had an AI assistant to code your applications for you? Well, Artificial Intelligence (AI) enabled development is getting us one step closer to that ideal. By utilizing machine learning (ML), low-code platforms are beginning to employ predictive behaviors to understand a programmer’s project and offer guidance and automation throughout the development journey. Low-code could also help democratize access to AI functionality, enabling citizen developers to enhance business logic with cognitive automation.
I recently met with António Alegria, Head of AI at OutSystems, to learn about the role artificial intelligence plays in low-code development. Below, we’ll consider the challenges involved in implementing AI, and see how AI in low-code is enabling more intuitive developer workflows and democratizing high-tech capabilities for more applications.
The State of AI
Lauded with excitement, AI appears positioned to transform many aspects of modern life. Still, where AI’s at now, “it’s very good at very narrow tasks,” says Alegria. “Any task in a business process where there is repetitive work being done is where you can apply AI very affectively.” He singles out business operations such as reviewing insurance claims, reviewing financial statistics, or detecting anomalies.
Instead of replacing human programmers altogether, AI will more likely augment existing engineering processes with intelligent suggestions and code-refactoring opportunities. Lately, this has been referred to as human in the loop (HITL). This hybrid approach could reduce manual processes while offering fallback options for incorrect suggestions.
Challenges to Introducing AI
So, how do we get there? Well, Algeria describes significant challenges to introducing AI-driven workflows. Though many companies want to embed AI into their product offerings to get an edge, research shows only 14.6% of firms have deployed AI in production. For most organizations, adopting AI presents significant impediments, including:
- Lack of AI/ML talent
- Lack of access to data that is affective
- Lack of understanding of the use case at hand
- Lack of integration know-how
Gathering data and training ML models requires both significant upfront investment and expertise describes Algeria. A talent drought and high cost to this emerging tech widen the gap between the AI haves and AI have-nots.
Another cultural hurdle is biased data sets. For example, some machine learning algorithms have been found to carry racial prejudice. “We see biases being propagated,” says Alegria. “Without transparency, this can lead to dangerous outcomes.”
Granted, initiatives like GPT–3 are on course to commodify advanced AI capabilities. Yet, not all technologists are familiar with implementing external bi-directional communication within an application. Plus, price tags for SaaS solutions may discourage potential users.
Instead, Algeria believes low-code presents a unique doorway for AI to benefit every company. So, how could exactly low-code leverage AI?
How AI Enhances Low-Code Development
AI is specifically playing an interesting role within application development. By ingesting the behaviors of many developers using a development platform, machine learning algorithms could construct an “artificial tech lead” that could identify common patterns and make efficiency suggestions.
Algeria separates these patterns into three main areas: guiding, automating, and validating. Like an advanced auto-suggest, An AI tech lead could infer when novice developers are stuck and offer guidance, correlating queues like search history, inaction, or the name of a function to gather context and infer a solution. This could help automate processes, such as setting up an external database or initiating a timer to update a background process. An AI algorithm could also analyze a code base and identify refactoring opportunities, resulting in more lean applications with less technical debt.
However, normalizing programming behaviors is a tricky act. “AI applied to software development is an emerging area,” explains Algeria. “In some ways, this is more challenging to process.” Programmers may use different naming styles, dependencies could be long-running, and the program might call a function defined elsewhere. Thus, all-encompassing templates rarely define project requirements correctly, making editing them more hassle than it’s worth.
Instead, for AI-driven software development to be successful, Algeria stresses the importance of subcomponents and an HITL process. “If the algorithm fails,” he says, “it shouldn’t make the developer slower.” Predictive AI should be introduced step-by-step, relying on human judgment at essential junctures and offering fallback states.
Embedding AI Into Applications
While much of the effort with AI in low-code is going into predictive analysis to streamline a developer’s workflow, there are certainly use cases for baking AI into applications themselves. This could open up advanced cognitive abilities, like image recognition and natural language processing (NLP), to far more problem solvers.
As mentioned above, AI is challenging to build from scratch. Due to constraints, implementers often use pertained models, which are less than ideal, since “you only get the most value when you train these models with your own data,” as Algeria describes. And though there are plenty of cloud services offering sophisticated AI/ML capabilities, such as Nylas, Kairos, or OpenAI, integrating with these APIs presents yet another hurdle for firms unaccustomed to REST API integration.
To open up AI for more application developers, Algeria believes the solution lies in API wrappers for AI cloud services. By abstracting common use cases with UI components, low-code platforms could lower the barrier of entry. For example, a drag-and-drop sentiment analysis UI component could be used to highlight key phrases within a customer support screen. Or, Algeria described how a logistics company used AI within low-code to scan fruits and vegetables and determine shipping locations depending on the quality of each piece of produce.
“As soon as you lower friction of implementing AI, and make integration with app easy, people start implementing,” says Algeria.
The Future of AI in Low-code
Development environments are becoming more predictive, and similarly, user-facing software is becoming more intuitive. Companies will inevitably turn AI/ML to streamline operations and enrich user experiences to compete in this new paradigm. Yet, AI is complex, making it a good candidate for low-code. “We believe AI can help smooth the learning curve, and lower the baseline skill needed,” says Algeria.
Looking to the future, Algeria envisions NLP evolving to understand user intent better and perform more advanced tasks. For AI to improve across the board, we need “better generalization with less data,” said Algeria.
In terms of AI applied to development platforms, he predicts future emphasis on data-driven configurations and defaults, as well as subcomponents that can adapt to data. By detecting more patterns, and feeding runtime data into an ML engine, development platforms will likely further refine the mind of the artificial tech lead. But, imbuing AI within application development must be done intelligently, meeting the human halfway, Algeria reminds.
Related DAC Content
More By Bill Doerrfeld: How Low-Code will Transform Manufacturing