| Part of a series on |
| Artificial intelligence (AI) |
|---|
AI-assisted software development is the use of artificial intelligence (AI) to augment software development. It uses large language models (LLMs), natural language processing, intelligent agents and other AI technologies to assist software developers. It helps in a range of tasks of the software development life cycle, from initial code generation to subsequent debugging, testing and documentation. [1] Agentic coding denotes the use of more autonomous AI agents for software development. [2]
LLMs that have been trained on source code repositories are able to generate functional code from natural language prompts. Such models have knowledge of programming syntax, common design patterns and best practices in a variety of programming languages. [3]
AI agents using pre-trained and fine-tuned LLMs can predict and suggest code completions based on context, going beyond simple keyword matching to infer the developer's intent and picture the broader structure of the developing codebase. An analysis has shown that such use of LLMs significantly enhances code completion performance across several programming languages and contexts, and the resulting capability of predicting relevant code snippets based on context and partial input boosts developer productivity substantially. [4]
AI is used to automatically generate test cases, identify potential bugs, and suggest fixes. LLMs trained on historical bug data can enable prediction of likely failure points in generated code. Similarly, AI agents are used to perform static code analysis, identify security vulnerabilities, suggest performance improvements and ensure adherence to coding standards and best practices. [1]
Beyond detection, researchers have explored using LLMs for automated program repair, where models propose candidate patches for buggy code. Off-the-shelf LLMs have been reported to repair some security-relevant defects in a zero-shot setting (i.e., without task-specific fine-tuning), including issues categorized by the Common Weakness Enumeration (CWE), [5] being comparable to contemporary, non-AI bug fixing tools. These approaches build on LLMs’ code-generation capability and the resulting patches still require validation through software testing, static program analysis, and human code review. [5] [6]
The incorporation of AI tools has introduced new ethical dilemmas and intellectual property challenges. The ownership of AI-generated code is unclear: who is responsible for the generated end-product? Also unclear are the ethical responsibilities of generated code. [7] Changes in the role of software engineers are inevitable. [8] [9]
The outputs from AI-assisted software development require to be validated through a combination of automated testing, static analysis tools and human review, creating a governance layer that acts as a safeguard ensuring quality and accountability. [10]
Technology sector leaders have highlighted the transformative potential of AI-assisted software development. In an 'Unlocking AI Potential' session of 'Advancing AI 2025' hosted by AMD Developer Central, Andrew Ng and Lisa Su emphasized the strategic and operational implications of integrating AI tools into development workflows. Ng noted that AI systems are increasingly capable of "helping programmers focus on higher-level problem solving", while Su framed the shift as "an opportunity to redefine performance and productivity across industries." [11]
In computer programming, vibe coding is a software development practice assisted by artificial intelligence (AI) and based on chatbots (programs that simulate conversation). The software developer describes a project or task in a prompt to a large language model (LLM), which generates source code automatically. Vibe coding typically involves accepting AI-generated code without closely reviewing its internal structure, instead relying on results and follow-up prompts to guide changes. [12] [13]
The term was listed in March 2025 by Merriam-Webster as a "slang & trending" expression. [14] It was named the Collins English Dictionary Word of the Year for 2025. [15] [16]
Advocates of vibe coding say that it allows even amateur programmers to produce software without the extensive training and skills required for software engineering. [17] [18] Critics point out a lack of accountability, maintainability, and the increased risk of introducing security vulnerabilities in the resulting software. [12] [18]
The technique, enabled by large language models (LLMs) from companies like OpenAI and Anthropic, has attracted attention for potentially lowering the barrier to entry for software creation. But questions remain about whether the approach can reliably produce code suitable for real-world applications, even as tools like Cursor Composer, GitHub Copilot, and Replit Agent make the process increasingly accessible to non-programmers.
Karpathy's "vibe coding" is a recognition of how sophisticated AI systems have evolved. In describing on X (formerly Twitter), he added that LLMs, like the Cursor Composer with Sonnet, are advancing to a degree that nearly eliminates the use of traditional coding mechanisms. Describing his own experience, Karpathy explained how he converses with AI tools almost in a passive manner—merely talking to them and having the AI handle the rest. This method eliminates manually typing code as well as keeping track of all the minute information in the program.
Vibe coding (also written as vibecoding) (Vibecode/Vibecoder) is a recently-coined term for the practice of writing code, making web pages, or creating apps, by just telling an AI program what you want, and letting it create the product for you. In vibe coding the coder does not need to understand how or why the code works, and often will have to accept that a certain number of bugs and glitches will be present. The verb form of the word is vibe code.