close
close

From Coding Assistants to Engineering Agents

emptyAI-Powered Software Engineering: Increasing Productivity and Changing the Way We Code

With the rapid advancement of large language models (LLMs), the field of software engineering has been significantly transformed. LLMs have evolved from simple code completion tools to AI agents that can design software, correct modules, and help software engineers become more productive. While there is some anecdotal evidence surrounding AI-based software engineering agents, there is also real value to be captured. Developers who adopt these new AI tools will be able to achieve much more in less time.

Transforming the Coding Experience: AI Coding Assistants

LLMs are revolutionizing the coding experience in three main ways. First, developers are using boundary models such as ChatGPT and Claude as coding assistants. These models are becoming increasingly adept at generating code from textual descriptions, improving existing code snippets, and helping to debug code. Model providers are also adding new features to improve the developer experience, such as Claude’s Artifacts feature, which allows developers to review and run code as they iterate through the model.

Advanced Uses of AI Coding Assistants: Integrated Development Environment (IDE) Plugins

Integrating LLM into IDEs as plugins represents a more advanced use of AI coding assistants. Microsoft’s GitHub Copilot was one of the first tools in this domain, initially designed for writing code snippets but now functioning as a comprehensive assistant for various programming tasks. Amazon’s Q Coding Assistant offers similar features in a coding environment, including automatic code completion, design agents, and code migration across programming languages. Startups like Tabnine, Replit, and Codeium have also entered this space, providing AI coding assistants that integrate with multiple IDEs.

Software Engineering Agents: The Power of AI Agent Frameworks

Another way LLMs are transforming software development is through agent-based frameworks. These frameworks involve multiple LLMs working together to complete a project. For example, one agent might provide a high-level plan, while another agent provides a detailed breakdown of each step. A third agent might write code for a specific task, which is then reviewed by another agent for quality. Finally, another agent compiles and tests the code before approving it for execution. AI software engineering agents, such as Devin from Cognition, have demonstrated the potential to complete projects from start to finish.

Hype vs. Reality: The Role of AI in Software Development

While studies have shown that AI assistants like GitHub’s Copilot increase developer productivity and improve focus, there’s also unfounded hype surrounding AI coding assistants. Some videos have revealed that the capabilities of AI agents like Devin have been exaggerated and are far from replacing mid-level or senior software engineers. There are also concerns about the security of code generated by tools like Copilot, as well as the risk of “automation blindness,” where developers blindly accept AI-generated code without proper review. However, as AI coding assistants evolve, they offer significant value in software development.

Looking Ahead: The Future of AI in Software Engineering

While AI is not yet able to completely replace software developers, the use of LLM in software development is still in its early stages. As AI enters more domains, the demand for software developers is growing. As tools and models mature, we can expect to see further increases in productivity in software engineering. The upcoming VB Transform 2024 conference will delve into these topics, with expert panels discussing the cross-functional future of AI and its impact on various industries.