Software is ubiquitous, powering almost every aspect of our lives. The computerised systems in your car alone incorporate tens of millions of lines of code . The increasing digital transformation of our society means that demand for more and better software is likely to continue into the future.
Authors
- Iván Alfonso
Assistant researcher, Luxembourg Institute of Science and Technology (LIST)
- Jordi Cabot
Head of the Software Engineering RDI Unit at LIST. FNR Pearl Chair. Affiliate Professor in CS at University of Luxembourg, Luxembourg Institute of Science and Technology (LIST)
The dilemma is that there are not enough human programmers to build all this software. This means that more and more of the software you use every day is built with the assistance of artificial intelligence (AI).
Software developers are already very familiar with tools such as GitHub Copilot , a kind of ChatGPT for programmers. It works something like a smart autocomplete tool to increase the productivity of human programmers.
But we are now witnessing a more radical revolution, where AI "agents" are poised to carry out many types of development tasks on behalf of human programmers. Agents are programs that use AI to perform tasks and achieve specific objectives for a human user. AI agents can learn and make decisions with some level of autonomy, though they are still under human supervision - for now.
We predict that in a near future, many software apps will be entirely built by AI agents. "Agentic" systems are communities of AI agents cooperating together, each one specialised in solving a specific type of task. With an agentic system, you can generate a software application from a plain English description of what you would like the application to do.
This has potential positive impacts. Agentic systems could empower users without software programming skills to build or adapt software to their needs. There are also potential negatives consequences. Agents are far from perfect and they can easily generate code that is vulnerable to attacks, is not efficient or is biased against certain communities.
For example, an agent building recruitment software might favour male over female candidates because of biases in the data used to train, or improve, the software. Therefore, we need to put mechanisms in place to minimise such risks, as required by AI regulations such as the EU's AI Act .
Researchers are addressing this challenge first by intensively testing the LLMs (Large Language Models) that are at the core of any agent. An LLM is an AI system trained on massive amounts of data. Agents rely on their internal LLM to predict and generate the best response to a user request.
By evaluating all major LLMs against a number of concerns such as accuracy, security vulnerabilities and biases, software developers can choose the best LLM for an AI agent. This would depend on the specific tasks that the agent would be involved in.
This helps ensure a certain amount of ethical behaviour in the agents. But how can we be sure they understand and follow our instructions? Our solution is to start from the blueprints (the designs) of the software to be built.
Broadly speaking, it's possible to understand blueprints of a house even if you're not an architect. Similarly, if we make a blueprint for software as easy to understand as possible, users without advanced software development skills should be able to grasp the concepts and how to make changes to it.
From the user's initial description, the AI agent or agents would propose a detailed blueprint of a potential solution and explain it to the user in plain English. The user could then validate it or request improvements. Only after the final validation would the software application be automatically generated from the blueprint.
This way of building software is known as low-code or no-code development, as most of the code (all of it for some applications) is generated by the computer from the blueprints, instead of being hand written by a human from scratch. Our open source BESSER platform helps you build applications in this way.
As the science fiction author Arthur C Clarke once observed : "Any sufficiently advanced technology is indistinguishable from magic." And soon enough, this magic will be part of our daily lives. We just need to be careful that the magic doesn't turn into sorcery with the potential to disrupt, rather than improve.
We, and many other researchers, are working to put guardrails (mechanisms for preventing potential harms) on the behaviour of AI agents to keep them in check. This would help transform every citizen into a capable developer with the power to autonomously build the ideal software solutions for their companies or other aspects of their lives.
The authors do not work for, consult, own shares in or receive funding from any company or organisation that would benefit from this article, and have disclosed no relevant affiliations beyond their academic appointment.