Over the past few decades, various movements, paradigms, or technologies promised either to hand a lot of programming grunt work to end users (citizen developers) or automate more of the coding process. UML, CASE tools, object-oriented programming, service-oriented architecture, microservices, cloud services, Platform as a Service, serverless computing, low-code, and no-code all have theoretically taken some of the burdens out of software development.
Matt Welsh, CEO and co-founder of Fixie.ai, for one, predicts that "programming will be obsolete" within the next decade or so. "I believe the conventional idea of 'writing a program' is headed for extinction," he predicts in a recent article published by the Association for Computing Machinery. Indeed, for all but very specialized applications, most software, as we know it, will be replaced by AI systems that are trained rather than programmed.
Moving from Low-code Automation to AI-driven Automation
Within Waylay, developers can craft concise code snippets or leverage existing ones, linking them through logical operators to define intricate automation rules. By interconnecting these rules or embedding one within another, Waylay can facilitate the creation of highly complex automation scenarios.
Waylay envisions that the emerging wave of automated and low-code development solutions will empower IT departments to concentrate on enterprise applications and the construction of complex applications and automations that deliver substantial value to the enterprise. Consider a scenario where we can seamlessly interact with the automation engine using voice or text commands in a natural manner.
This is where Natural Language Processing (NLP) enters the picture. Instead of adhering to the traditional computer interaction method, picture a factory worker asking their machine, "What is the current temperature and pressure of HVAC 5?" or instructing it to "Issue a critical alert if the freezer temperature exceeds -10 degrees and the door is open."
However, achieving this seamlessly isn't a straightforward task. Human-spoken rules often carry inherent ambiguity and necessitate significant intelligence to accurately decode and translate them into Waylay automation rules.
Peeling the Onion of Programming
At Waylay, we believe that our automation technology is the right building ingredient to achieve Natural Automation Interface. Waylay’s rules engine is built on top of causal DAG (Patent US20160125304), where a discrete belief propagation network is abstracted at the level to which humans tend to think about automation problems. If these sets of states or these conditions are met, then, proceed with the next task. This feature enables Waylay automation rules to be explainable to humans in a very simple and intuitive way.
Lacking a comprehensive framework or higher-level abstraction language capable of encapsulating automation intent, it becomes challenging to discern the desired outcome from a program, which ultimately consists of a set of machine instructions delegated to the computer or machine for execution.
Consider, for instance, a scenario where a human wishes to instruct a computer to purchase a flight ticket only under specific conditions such as favorable weather predictions in two weeks, a price drop to a predefined level, and no important meetings scheduled during the intended vacation week.
Alternatively, envision a machine owner needing to communicate to a service provider to dispatch a technician for part replacement, based on the latest machine parameters indicating an impending failure. In both cases, the objective is not only to define and deploy these solutions automatically but also to maintain audit capabilities, enabling a precise understanding of the actions performed by the automation use case, articulated in human terms.
This concept is the essence of what we refer to as a Natural Automation Interface (NAI), an interface capable of bidirectional communication. It can be programmed to execute specific automation scenarios using human language and, crucially, allows for the program's audibility by humans once it's in operation.
Within this context, Waylay's primary objectives in the realm of NLP and automation for the upcoming year can be summarized as follows, commencing with the translation of human intent into machine execution:
Then, going back from the automation towards humans, transitioning from automation to human interaction. Envision a scenario where a machine communicates its intentions to humans in a language we readily understand.
First results using chatGPT bot
In the given instance, our objective was to assess the degree of human interpretability inherent in our automation. The excerpt below showcases a segment of our dialogue with a bot, following approximately two hours of training. In this snippet, the model articulates the rationale behind a specific event, namely the triggering of an alarm due to jitter measurement:
Here is the same use case, but this time the bot is embedded inside the Waylay Console.
It's important to note that the effectiveness of a language model in interpreting automation rules depends on the quality of training data, the complexity of the rules and finally and most importantly, the ability of the rules framework to provide causal information. Additionally, user feedback and ongoing refinement are essential for improving the model's performance in real-world scenarios.
Useful links
Waylay research
Waylay NLP/GPT-3/Automation research, Presentation given to the UGent students of AI master course
Waylay NLP Hackathon Panel Discussion
NLP use case by Priya and Omkar
Almost no data and no time? Unlocking the true potential of GPT3, a case study
Some other useful links
https://openai.com/blog/chatgpt
https://github.com/features/copilot
About the Author
Veselin Pizurica is the COO and co-founder of Waylay. Throughout his career, Veselin worked in the fields of cloud computing, semantic web, artificial intelligence, signal and image processing, spherical lattice coding, pattern recognition, home networking, MPLS routing, xDSL troubleshooting, and optical networks. Veselin holds 12 patents in the domain of artificial intelligence, xDS, home networks, and cloud computing. He has been the driving force behind the creation and finetuning of the digital twin concept in the IoT developer community.