When OpenAI released ChatGPT to the public, it seemed like a game-changer for the coding world. The AI's ability to generate code was so impressive that it led people to believe even those with minimal coding skills could create powerful software. However, after months of research and experience, it's clear that generative AI like ChatGPT can only assist in basic coding tasks. So, should you hang up your coding boots? Not just yet.
The Promise and the Reality
Initially, ChatGPT seemed like a revolutionary tool that could even generate malware, posing a threat to computer networks. But as Naveen Rao, co-founder and CEO of AI startup MosaicML, points out, generative AI can only offer "baby steps" in coding. They can provide scaffolding and some repeatable tasks but can't solve complex problems.
The Research Speaks
Studies by scholars at Texas Tech University and ShanghaiTech University have shown that large language models like GPT-4 perform significantly worse than human coders. For instance, when tested on coding problems from LeetCode, GPT-4 answered only 26% of the questions correctly, compared to 45% for humans. The quality of the code generated by GPT models was also found to be inconsistent.
One of the key issues is that AI struggles with scale. While it may perform well on small tasks, it fails to scale to the complexity of full production applications. Another issue is that the AI often generates code with vulnerabilities, as shown in tests conducted by MITRE.
Despite these limitations, there's hope. New approaches are being developed, such as Google's work in training language models to use internet tools and DeepMind's self-reflexive programming. As Rao suggests, solving the fundamental problems in AI coding may require something deeper than just throwing more data at neural networks.
Can AI like ChatGPT replace human coders?
No, current generative AI can only assist in basic coding tasks and cannot solve complex problems.
How reliable is the code generated by AI?
Studies have shown that the code quality is inconsistent and often contains vulnerabilities.
What are the advancements in AI for coding?
New approaches are being developed to improve AI's coding capabilities, including self-reflexive programming and using internet tools.
While AI has made strides in many fields, coding isn't one where it can replace humans yet. It can be a helpful assistant for simple tasks, but when it comes to complex problems, human expertise still reigns supreme.