Vibe Coding
Vibe coding is building software by describing it to an AI model and accepting the generated code without reading it, a term coined in 2025.
Vibe coding is building software by describing what you want to an AI model in plain language and accepting the code it writes without reading it, judging the result only by whether the program appears to work. Andrej Karpathy, a founding member of OpenAI and former director of AI at Tesla, named the practice in February 2025 as "a new kind of coding" in which "you fully give in to the vibes, embrace exponentials, and forget that the code even exists." He described talking to Cursor's Composer by voice, clicking "Accept All" without reading the diffs, and pasting error messages back with no comment, and called the approach "not too bad for throwaway weekend projects." Within months the term spread far beyond programmers, and Collins Dictionary named "vibe coding" its Word of the Year for 2025. Coding agents such as Cursor, Claude Code, and Replit Agent, and app builders such as Lovable, Bolt, and v0, let people with no programming experience go from a prompt to a deployed web app.
How Vibe Coding Works#
The person describes behavior and tests the result, and an AI agent writes, edits, and debugs the code. Each round either works, produces an error the person pastes back, or looks wrong and gets a new description:
The approach works because large language models (LLMs), and especially reasoning models trained on code, now produce working programs for common stacks such as web front ends and Python scripts, and because the agent harness of a coding tool can run the program and read its errors without help. It suits prototypes, internal tools, and personal software whose only user is its author, where a bug costs little and speed matters most.
Vibe Coding vs. Related Practices#
- AI-assisted programming: Using an LLM to write code that a developer then reviews and understands. Simon Willison drew the line in his post Not all AI-assisted programming is vibe coding: code an LLM wrote that you then reviewed, tested thoroughly, and could explain to someone else is software development.
- Agentic coding: Coding agents carrying out tasks from start to finish, the same tools vibe coders use. Professional teams keep code review, tests, and continuous integration (CI) in the loop.
- Low-code and no-code platforms: Visual builders that let non-programmers assemble apps from prebuilt components. Vibe coding instead produces ordinary source code in any language or framework.
- Generative AI: The broader technology that creates text, images, and code. Vibe coding is one way of working with it.
Vibe Coding Computer Vision Apps#
Computer vision prototypes are popular vibe-coding projects because a short script can already detect, count, or track objects in a webcam feed. Generated code is only as current as the model's training data, so an agent working from memory can suggest outdated model weights or arguments. Ultralytics Agent Skills give Claude Code, Codex, Cursor, and other compatible agents procedures for choosing models, preparing datasets, training, inference, and export, grounded in catalogs pinned to an ultralytics release, and tell the agent to trust the installed package's yolo checks and yolo cfg output wherever the two disagree. A request such as "train a YOLO26 detector on my dataset and export it to ONNX" then follows the training and export procedures the skills document instead of the model's memory of older releases.
Risks of Unreviewed Code#
Karpathy noted that the code "grows beyond my usual comprehension," so later changes and fixes depend on the model too, and technical debt accumulates where no one looks. Agents with shell access can delete files or run destructive commands, so coding tools run them in an agent sandbox and ask before risky actions, and a dependency or web page the agent reads can carry a prompt injection. Security flaws ship the same way: Veracode's 2025 test of more than 100 LLMs on 80 coding tasks found that the generated code introduced a security vulnerability in 45% of cases, with failure rates above 70% for Java and between 38% and 45% for Python, C#, and JavaScript.










