Strangely, there is one domain in which the ambition of the new AI is limited: software development. The expectations are low. They fall far short of what is already being done today in Portugal.
Ask GPT itself. The answer will be, “AI can assist, complete a line, document, suggest corrections, format, and even write blocks of code…”. However, validation must be done by a human, block by block.
A human can write up to 3 characters per second. With a code assistant, you can multiply that productivity by 20 times. Surely, it’s good. But is it ideal? The machine continues to adjust its pace to that of humans when it should be the other way around.
Imagine robots, each in front of their computers, writing code through their respective keyboards. Although it may seem futuristic, it is not logical. Robots do not need to interact with machines in the same way humans do. They can communicate directly and much more rapidly, without the need for keyboards.
To broaden horizons, note that there are two types of generative AI: conversational AI, like GPT, and knowledge-based AI which uses logical rules and inference, and is an extension of the second wave of AI. From models, it writes two million characters per second on a regular computer in a single interaction. That is the rhythm of the machines.
We can thus leverage the advantages of each generative AI in software creation.
Let’s build a house. Before that, we make a plan: how many rooms, where will the doors and windows be, what materials will we use, should it have a garden? The beginning of software development is similar: planning what it should do and how it should function. A model is to software what an architect’s blueprint is to a house.
This phase is where conversational generative AI, GPT, comes in handy. If we want a cozy house with lots of natural light, GPT suggests materials to use or the position of windows. In software, GPT does something similar: it explores the scope, organizes ideas, and provides suggestions.
After the project, what remains is to actually build the house. Lay the foundations, raise the structure, lay bricks, install windows, plumbing… In software, it’s transforming the model into code.
During this phase, AI should not improvise. Imagine if the tools used to build the house suddenly acquire a will of their own and start making changes without anyone validating them. Perhaps the hammer decides we need a larger window, or the saw thinks of placing the door in a different spot. Chaotic, isn’t it? Similarly, when building software, we don’t want the tools that transform the model into code to make random decisions. We want them to follow a set of traceable and well-defined rules for executing the project accurately, without errors or surprises.
In summary, GPT is useful for creating the design, but when it comes to implementation, it’s better for AI to rely on logical inference and explicit knowledge rather than trying to “learn” or make changes on its own.
Combining both generative AIs is the formula for the software of the future.