AI Advances Herald Coding Changes
The future of software development and AI integration raises many questions, including their full potential and the impact on human roles.
5 minutes
7th of August, 2024
This article was originally published in Thinkers & Makers, a magazine from Akkodis featuring the smartest minds and innovative projects that are driving the future of technology and engineering.
The recent high-profile launch of the world’s first AI software engineer could mark the start of AI and software convergence, said Danny Hucke, team lead and software engineer at Akkodis Germany. But it also raises many questions.
Hucke has a PhD in theoretical computer science from the University of Siegen, Germany, and a keen interest in AI—both theoretical and hands-on. He is well placed to assess the potential of the tool Devin, launched by Silicon Valley start-up Cognition AI in March.
Hucke’s role includes creating and implementing AI solutions. He also acts as a point of contact between Akkodis and the world of academic research, which helps him stay informed about theoretical developments.
The Devin launch caught his attention – and that of the entire coding community. For now though, it is difficult to assess the full potential of the AI tool’s coding capability, Hucke said. In any case, Cognition AI is far from alone: AI-powered software agents are emerging left, right, and center. They are the future. But the future is now.
Making Problems Smaller
Cognition AI’s focus on reasoning, rather than simple coding, is fascinating, Hucke said. The focus on reasoning in this context is defined as a system’s ability to reflect on a problem and divide it into smaller sub-tasks that are easier to solve.
“Coding is a very pure application of reasoning, compared to the complexity of talking to humans and solving real-world problems. When it comes to coding, there is a precise definition of the problems you must solve. Therefore, coding is the company’s initial approach to tackling the broader issue of performing reasoning with AI systems.”
The system also needs the ability to find and fix mistakes it makes. He compares the LLM (Large Language Model) inside the system to raw intelligence. The concept of reasoning is akin to building a brain around the intelligence for it to work properly.
Daniel Hucke, Team Lead and Software Engineer, Akkodis Germany
Is This AGI?
That sounds like the definition of Artificial General Intelligence (AGI). This is a type of AI that can perform on par with or better than humans on various cognitive tasks. Many scientists say AGI is generations away, but Hucke is not so sure.
“We really don’t know. The pace is so incredibly fast that nobody can make reasonable assumptions about the future of AI anymore. In two years, we might see AI hitting the roof and not going anywhere until there is a new breakthrough. Or we might never achieve it at all.”
On the other hand, he said: “It could also be that we're having AGI systems in a couple of years. We just don't know.”
Magic Ingredient
Hucke is not crowning Devin the new king of coding—not yet, at least. It has one magic ingredient: agents or software programs designed to receive data from their environments and take actions based on that data.
Agent systems can divide problems into smaller parts and work on them separately, learning from their mistakes before putting everything together to solve the initial problem. This sets them apart from ChatGPT-style systems, which immediately address the issue.
Agent systems can also use tools, such as a browser searching the Internet for information about the problem it is asked to solve. They can also write code and execute it. If an agent system is not running properly, it can find and fix mistakes.
Several open-source projects are working on similar solutions. Improvements in the field come from both closed companies like Cognition AI and the open-source community, not to mention giants like Microsoft and Google.
AGI aside, the potential for narrow AI agents focused on specific tasks to outperform humans at tasks such as coding is enormous. Hucke says this is a much closer prospect than was expected even a few years ago.
News of the Devin launch came as a surprise. “As a software engineer and AI enthusiast, I’m prepared for what’s coming, but that news kept me on my toes,” Hucke said.
In the future, programmers will focus more on the high-level stuff. On top of that, we need people with other skill sets, like philosophers, linguists, and logicians.
Daniel Hucke, Team Lead and Software Engineer, Akkodis Germany
Change is Coming
The details of the system have yet to be made public. Although it is very good at solving particular types of problems, it cannot solve complex problems autonomously. So, it is too early to declare Devin the Holy Grail of AI software engineering. But Hucke is convinced that his job and that of many other software engineers are bound to change profoundly.
“In the future, humans will work with a team of bots or agents. We will do the planning and the architecture and talk with stakeholders. The big picture will be our responsibility, and AI agents will perform the coding tasks.”
Humans will be there to review and correct, but their coding role will shrink, Hucke said. “In the future, programmers will focus more on the high-level stuff. On top of that, we need people with other skill sets, like philosophers, linguists, and logicians. I read that in the future, the most profitable university degree will be a master's in English because we communicate with these AI models via language. I’m not sure that’s true, but there might be something in it.”
Teamwork Evolves
Hucke does not suggest that every developer should go back to school to earn an advanced English Language degree. Still, he believes profound change is coming to software development teams everywhere. The nature of teamwork will change. People will have to adapt to using AI coding tools and tackle problems differently.
“My approach to that challenge is to use AI tools as much as possible, even if I know I could finish a task faster. If I only use it for problems I'm uncomfortable with, I cannot say how good it really is. When I know the exact output, I can better evaluate what the AI did well and where it performed less well. That gives me the opportunity to learn how to make the AI perform even better.”