Behind schedule on a software project? There’s an app for that.
What happened: Language models fine-tuned on computer code proved capable of generating software routines similar to the work of experienced developers — though the results can be hit-or-miss.
Driving the story: AI-powered code generators made their way into large companies, and even small-time developers (and non-developers) gained access to them.
- Ebay started the year by placing low-code tools into the hands of non-engineers, enabling them to build and deploy models without prior knowledge of AI or machine learning.
- In February, DeepMind introduced AlphaCode, a transformer pretrained on 86 million programs in 12 programming languages and fine-tuned on entries to coding contests. At inference, it generates a million possible solutions and filters out the bad ones. In this way, it retroactively beat more than half of contestants in 10 coding competitions.
- In June, GitHub opened access to Copilot, an autocomplete system that suggests code in real time. Users pay a subscription fee, though students and verified open-source developers get free access.
Behind the news: Users of OpenAI’s GPT-3 language model showed that it could generate working code as early as mid-2020. A year later, OpenAI introduced a fine-tuned version known as Codex, which serves as the foundation for GitHub's Copilot.
Yes, but: The widely available versions of this technology aren’t yet able to write complex programs. Often their output looks right at first glance but turns out to be buggy. Moreover, their legal status may be in jeopardy. A class-action lawsuit against GitHub, OpenAI, and Microsoft claims that the training of Codex violated open source licensing agreements. The outcome could have legal implications for models that generate text, images, and other media as well.
Where things stand: AI-powered coding tools aren’t likely to replace human programmers in the near future, but they may replace the tech question-and-answer site Stack Overflow as the developer’s favorite crutch.