The rapid advancement of large language models (LLMs) is transforming various fields, including software engineering. In just a few years, LLMs have evolved from advanced code autocomplete tools to AI agents capable of designing software, implementing and correcting entire modules, and enhancing software engineers’ productivity.
While some excitement around AI-powered software engineering agents is overhyped, there is undeniable value for developers who harness these new AI tools to accomplish more in less time. There are three main ways that LLMs are changing the coding experience:
1. Direct Use of LLMs as Assistants
Developers increasingly use chatbots like ChatGPT and Claude as coding assistants. These models are improving at generating code from text descriptions, refining provided code snippets, and assisting with debugging. Recognizing the utility of these tools, providers are enhancing their features to improve the developer experience. For example, Claude’s new Artifacts feature enables viewing and running code iteratively within the model.
2. LLMs Integrated into Development Environments
More advanced AI coding assistants are integrated into integrated development environments (IDEs) as plugins, leveraging project files and codebases to offer more accurate responses and handle complex tasks. Microsoft pioneered this field with GitHub Copilot, which evolved from a code-snippet tool to a full assistant for various development tasks. Amazon’s Q offers similar features, including code autocomplete and cross-language migration. Startups like Tabnine, Replit, and Codeium are also making significant strides, with Tabnine reporting that developers use it to write 30% to 40% of their code.
3. Agentic Frameworks in Software Development
Agentic frameworks involve multiple LLMs working together to complete a project. For instance, one agent might design a high-level plan, another might provide detailed steps, a third might write the code, and a fourth might review and integrate the components. AI startup Cognition’s Devin, branded as “the first AI software engineer,” exemplifies this concept by using LLM agents and various tools to complete projects end-to-end.
Despite the promise of these AI agents, some demonstrations have been criticized for overstating their capabilities. AI agents are still far from replacing mid-level or senior software engineers. Additionally, tools like GitHub Copilot can sometimes produce unsafe code, leading to concerns about “automation blindness,” where developers overly rely on AI-generated code without thorough review.
Multiple studies show that AI assistants like GitHub Copilot increase developer productivity and help them focus on tasks instead of searching for solutions. ChatGPT and Claude are now regular tools for drafting software design ideas, preparing initial code versions, and learning new coding skills.
However, the excitement around AI software development assistants has attracted scrutiny from seasoned engineers. While AI is not yet replacing software developers, the early stages of AI coding assistants show much promise. As these tools and models mature, we can expect further productivity gains in software engineering.
The upcoming VB Transform 2024 conference will explore these themes with expert panels discussing the cross-functional future of AI, featuring industry leaders. We hope to see you there!
By Impact Lab